diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml
index e0361a32ce57..06e31ec105ad 100644
--- a/common/config/rush/pnpm-lock.yaml
+++ b/common/config/rush/pnpm-lock.yaml
@@ -93,6 +93,7 @@ specifiers:
'@rush-temp/arm-purview': file:./projects/arm-purview.tgz
'@rush-temp/arm-quota': file:./projects/arm-quota.tgz
'@rush-temp/arm-recoveryservices': file:./projects/arm-recoveryservices.tgz
+ '@rush-temp/arm-recoveryservices-siterecovery': file:./projects/arm-recoveryservices-siterecovery.tgz
'@rush-temp/arm-rediscache': file:./projects/arm-rediscache.tgz
'@rush-temp/arm-relay': file:./projects/arm-relay.tgz
'@rush-temp/arm-resourcehealth': file:./projects/arm-resourcehealth.tgz
@@ -307,6 +308,7 @@ dependencies:
'@rush-temp/arm-purview': file:projects/arm-purview.tgz
'@rush-temp/arm-quota': file:projects/arm-quota.tgz
'@rush-temp/arm-recoveryservices': file:projects/arm-recoveryservices.tgz
+ '@rush-temp/arm-recoveryservices-siterecovery': file:projects/arm-recoveryservices-siterecovery.tgz
'@rush-temp/arm-rediscache': file:projects/arm-rediscache.tgz
'@rush-temp/arm-relay': file:projects/arm-relay.tgz
'@rush-temp/arm-resourcehealth': file:projects/arm-resourcehealth.tgz
@@ -871,7 +873,7 @@ packages:
resolution: {integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ==}
engines: {node: '>=8.0.0'}
dependencies:
- '@azure/core-http': 1.2.3
+ '@azure/core-http': 1.2.6
'@azure/core-tracing': 1.0.0-preview.9
'@azure/logger': 1.0.3
'@azure/msal-node': 1.0.0-beta.6_debug@4.3.3
@@ -1581,6 +1583,7 @@ packages:
/@opentelemetry/node/0.24.0_@opentelemetry+api@1.0.4:
resolution: {integrity: sha512-Sy8QooZFOeVUcJIKetw5xsq15/1ivZovWg0RnKWtzURMQrcOxmQ3bGrXPORklOJxOtf5snDHgT37Y7dBgr+c+g==}
engines: {node: '>=8.0.0'}
+ deprecated: Package renamed to @opentelemetry/sdk-trace-node
peerDependencies:
'@opentelemetry/api': ^1.0.1
dependencies:
@@ -3167,7 +3170,7 @@ packages:
resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==}
deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
dependencies:
- ms: 2.1.1
+ ms: 2.1.3
dev: false
/debug/3.2.7:
@@ -3389,7 +3392,7 @@ packages:
dependencies:
semver: 7.3.5
shelljs: 0.8.5
- typescript: 4.2.4
+ typescript: 4.5.4
dev: false
/ecdsa-sig-formatter/1.0.11:
@@ -7988,7 +7991,7 @@ packages:
/wide-align/1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
dependencies:
- string-width: 1.0.2
+ string-width: 4.2.3
dev: false
/word-wrap/1.2.3:
@@ -10703,6 +10706,31 @@ packages:
- supports-color
dev: false
+ file:projects/arm-recoveryservices-siterecovery.tgz:
+ resolution: {integrity: sha512-EBkO6RaB4EcC8TLQGcknrs30L8MMErsgnvsZJLQjNWqWR1uA8WFluvCRq3iBGqQEJAUMSJazALip9KhCBMUytw==, tarball: file:projects/arm-recoveryservices-siterecovery.tgz}
+ name: '@rush-temp/arm-recoveryservices-siterecovery'
+ version: 0.0.0
+ dependencies:
+ '@azure-tools/test-recorder': 1.0.2
+ '@microsoft/api-extractor': 7.19.4
+ '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1
+ '@rollup/plugin-json': 4.1.0_rollup@1.32.1
+ '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1
+ '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1
+ cross-env: 7.0.3
+ mkdirp: 1.0.4
+ mocha: 7.2.0
+ rimraf: 3.0.2
+ rollup: 1.32.1
+ rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1
+ tslib: 2.3.1
+ typescript: 4.2.4
+ uglify-js: 3.14.5
+ transitivePeerDependencies:
+ - encoding
+ - supports-color
+ dev: false
+
file:projects/arm-recoveryservices.tgz:
resolution: {integrity: sha512-sayWHw8UlhCOoi85eGj/ezg4y7v7v/WZrbgg6TFaa7BBTpfvLRgF5ltp06oANYStYTAS3wDhnukvq2/MtB2MGw==, tarball: file:projects/arm-recoveryservices.tgz}
name: '@rush-temp/arm-recoveryservices'
@@ -13414,7 +13442,7 @@ packages:
dev: false
file:projects/mixed-reality-remote-rendering.tgz:
- resolution: {integrity: sha512-hNcaPrF32vXLQPXiiq18w1YIubvGFUSVLYev1qB5zfymANd614dSqEXA08Phgoa1hEGXpBkmI0CsMHhIpDIogg==, tarball: file:projects/mixed-reality-remote-rendering.tgz}
+ resolution: {integrity: sha512-vOjHZKRI9p5fRC/SWGUFtXP7WjM+GmC//lp7NEL1ntYJl+JHChkFgyCFGuUr+gyXWJ3ZBKqT5ZfSImaFovx55w==, tarball: file:projects/mixed-reality-remote-rendering.tgz}
name: '@rush-temp/mixed-reality-remote-rendering'
version: 0.0.0
dependencies:
diff --git a/rush.json b/rush.json
index d175b19a1fcf..2fc72a071fbe 100644
--- a/rush.json
+++ b/rush.json
@@ -1380,6 +1380,11 @@
"packageName": "@azure/arm-commitmentplans",
"projectFolder": "sdk/machinelearning/arm-commitmentplans",
"versionPolicyName": "management"
+ },
+ {
+ "packageName": "@azure/arm-recoveryservices-siterecovery",
+ "projectFolder": "sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery",
+ "versionPolicyName": "management"
}
]
-}
+}
\ No newline at end of file
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md
new file mode 100644
index 000000000000..26d2af4b7cc0
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Release History
+
+## 4.0.0 (2022-01-20)
+
+The package of @azure/arm-recoveryservices-siterecovery is using our next generation design principles since version 4.0.0, which contains breaking changes.
+
+To understand the detail of the change, please refer to [Changelog](https://aka.ms/js-track2-changelog).
+
+To migrate the existing applications to the latest version, please refer to [Migration Guide](https://aka.ms/js-track2-migration-guide).
+
+To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart).
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/LICENSE b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/LICENSE
new file mode 100644
index 000000000000..5d1d36e0af80
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2022 Microsoft
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md
index 5aa057274ef3..a4f4cd0427c7 100644
--- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md
@@ -1,99 +1,98 @@
-## Azure SiteRecoveryManagementClient SDK for JavaScript
+# Azure SiteRecoveryManagement client library for JavaScript
-This package contains an isomorphic SDK for SiteRecoveryManagementClient.
+This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure SiteRecoveryManagement client.
+
+
+
+[Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery) |
+[Package (NPM)](https://www.npmjs.com/package/@azure/arm-recoveryservices-siterecovery) |
+[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-recoveryservices-siterecovery) |
+[Samples](https://github.com/Azure-Samples/azure-samples-js-management)
+
+## Getting started
### Currently supported environments
- [LTS versions of Node.js](https://nodejs.org/about/releases/)
-- Latest versions of Safari, Chrome, Edge, and Firefox.
+- Latest versions of Safari, Chrome, Edge and Firefox.
-### How to Install
+### Prerequisites
-```
+- An [Azure subscription][azure_sub].
+
+### Install the `@azure/arm-recoveryservices-siterecovery` package
+
+Install the Azure SiteRecoveryManagement client library for JavaScript with `npm`:
+
+```bash
npm install @azure/arm-recoveryservices-siterecovery
```
-### How to use
+### Create and authenticate a `SiteRecoveryManagementClient`
-#### nodejs - Authentication, client creation and list operations as an example written in TypeScript.
+To create a client object to access the Azure SiteRecoveryManagement API, you will need the `endpoint` of your Azure SiteRecoveryManagement resource and a `credential`. The Azure SiteRecoveryManagement client can use Azure Active Directory credentials to authenticate.
+You can find the endpoint for your Azure SiteRecoveryManagement resource in the [Azure Portal][azure_portal].
-##### Install @azure/ms-rest-nodeauth
+You can authenticate with Azure Active Directory using a credential from the [@azure/identity][azure_identity] library or [an existing AAD Token](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token).
-```
-npm install @azure/ms-rest-nodeauth
-```
+To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package:
-##### Sample code
-
-```ts
-import * as msRest from "@azure/ms-rest-js";
-import * as msRestAzure from "@azure/ms-rest-azure-js";
-import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
-import { SiteRecoveryManagementClient, SiteRecoveryManagementModels, SiteRecoveryManagementMappers } from "@azure/arm-recoveryservices-siterecovery";
-const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
-
-msRestNodeAuth.interactiveLogin().then((creds) => {
- const client = new SiteRecoveryManagementClient(creds, subscriptionId);
- client.operations.list().then((result) => {
- console.log("The result is:");
- console.log(result);
- });
-}).catch((err) => {
- console.error(err);
-});
+```bash
+npm install @azure/identity
```
-#### browser - Authentication, client creation and list operations as an example written in JavaScript.
+You will also need to **register a new AAD application and grant access to Azure SiteRecoveryManagement** by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions).
+Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`.
-##### Install @azure/ms-rest-browserauth
+For more information about how to create an Azure AD Application check out [this guide](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal).
+```javascript
+const { SiteRecoveryManagementClient } = require("@azure/arm-recoveryservices-siterecovery");
+const { DefaultAzureCredential } = require("@azure/identity");
+const subscriptionId = "00000000-0000-0000-0000-000000000000";
+const client = new SiteRecoveryManagementClient(new DefaultAzureCredential(), subscriptionId);
```
-npm install @azure/ms-rest-browserauth
-```
-##### Sample code
-
-See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser.
-
-- index.html
-```html
-
-
-
- @azure/arm-recoveryservices-siterecovery sample
-
-
-
-
-
-
-
-
+
+### JavaScript Bundle
+To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling).
+
+## Key concepts
+
+### SiteRecoveryManagementClient
+
+`SiteRecoveryManagementClient` is the primary interface for developers using the Azure SiteRecoveryManagement client library. Explore the methods on this client object to understand the different features of the Azure SiteRecoveryManagement service that you can access.
+
+## Troubleshooting
+
+### Logging
+
+Enabling logging may help uncover useful information about failures. In order to see a log of HTTP requests and responses, set the `AZURE_LOG_LEVEL` environment variable to `info`. Alternatively, logging can be enabled at runtime by calling `setLogLevel` in the `@azure/logger`:
+
+```javascript
+const { setLogLevel } = require("@azure/logger");
+setLogLevel("info");
```
-## Related projects
+For more detailed instructions on how to enable logs, you can look at the [@azure/logger package docs](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/logger).
-- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js)
+## Next steps
+Please take a look at the [samples](https://github.com/Azure-Samples/azure-samples-js-management) directory for detailed examples on how to use this library.
+
+## Contributing
+
+If you'd like to contribute to this library, please read the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/main/CONTRIBUTING.md) to learn more about how to build and test the code.
+
+## Related projects
+
+- [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js)
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Frecoveryservicessiterecovery%2Farm-recoveryservices-siterecovery%2FREADME.png)
+
+[azure_cli]: https://docs.microsoft.com/cli/azure
+[azure_sub]: https://azure.microsoft.com/free/
+[azure_sub]: https://azure.microsoft.com/free/
+[azure_portal]: https://portal.azure.com
+[azure_identity]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity
+[defaultazurecredential]: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/identity/identity#defaultazurecredential
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json
new file mode 100644
index 000000000000..879cf75f2db9
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json
@@ -0,0 +1,7 @@
+{
+ "commit": "665b838376ccbfa77fbcff5b4c1cd4693dddaa40",
+ "readme": "specification/recoveryservicessiterecovery/resource-manager/readme.md",
+ "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/recoveryservicessiterecovery/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220105.1",
+ "repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
+ "use": "@autorest/typescript@6.0.0-alpha.16.20220105.1"
+}
\ No newline at end of file
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/api-extractor.json b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/api-extractor.json
new file mode 100644
index 000000000000..ec30fed98c5d
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/api-extractor.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
+ "mainEntryPointFilePath": "./dist-esm/src/index.d.ts",
+ "docModel": {
+ "enabled": true
+ },
+ "apiReport": {
+ "enabled": true,
+ "reportFolder": "./review"
+ },
+ "dtsRollup": {
+ "enabled": true,
+ "untrimmedFilePath": "",
+ "publicTrimmedFilePath": "./types/arm-recoveryservices-siterecovery.d.ts"
+ },
+ "messages": {
+ "tsdocMessageReporting": {
+ "default": {
+ "logLevel": "none"
+ }
+ },
+ "extractorMessageReporting": {
+ "ae-missing-release-tag": {
+ "logLevel": "none"
+ },
+ "ae-unresolved-link": {
+ "logLevel": "none"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/package.json b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/package.json
index 1376d42c7006..926ddbd64cbf 100644
--- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/package.json
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/package.json
@@ -1,12 +1,20 @@
{
"name": "@azure/arm-recoveryservices-siterecovery",
+ "sdk-type": "mgmt",
"author": "Microsoft Corporation",
- "description": "SiteRecoveryManagementClient Library with typescript type definitions for node.js and browser.",
- "version": "3.2.0",
+ "description": "A generated SDK for SiteRecoveryManagementClient.",
+ "version": "4.0.0",
+ "engines": {
+ "node": ">=12.0.0"
+ },
"dependencies": {
- "@azure/ms-rest-azure-js": "^1.1.0",
- "@azure/ms-rest-js": "^1.1.0",
- "tslib": "^1.9.3"
+ "@azure/core-lro": "^2.2.0",
+ "@azure/abort-controller": "^1.0.0",
+ "@azure/core-paging": "^1.2.0",
+ "@azure/core-client": "^1.0.0",
+ "@azure/core-auth": "^1.3.0",
+ "@azure/core-rest-pipeline": "^1.1.0",
+ "tslib": "^2.2.0"
},
"keywords": [
"node",
@@ -16,41 +24,79 @@
"isomorphic"
],
"license": "MIT",
- "main": "./dist/arm-recoveryservices-siterecovery.js",
- "module": "./esm/siteRecoveryManagementClient.js",
- "types": "./esm/siteRecoveryManagementClient.d.ts",
+ "main": "./dist/index.js",
+ "module": "./dist-esm/src/index.js",
+ "types": "./types/arm-recoveryservices-siterecovery.d.ts",
"devDependencies": {
- "typescript": "^3.1.1",
- "rollup": "^0.66.2",
- "rollup-plugin-node-resolve": "^3.4.0",
- "uglify-js": "^3.4.9"
+ "@microsoft/api-extractor": "^7.18.11",
+ "@rollup/plugin-commonjs": "11.0.2",
+ "@rollup/plugin-json": "^4.0.0",
+ "@rollup/plugin-multi-entry": "^3.0.0",
+ "@rollup/plugin-node-resolve": "^8.0.0",
+ "mkdirp": "^1.0.4",
+ "rollup": "^1.16.3",
+ "rollup-plugin-sourcemaps": "^0.4.2",
+ "typescript": "~4.2.0",
+ "uglify-js": "^3.4.9",
+ "rimraf": "^3.0.0",
+ "@azure/identity": "^2.0.1",
+ "@azure-tools/test-recorder": "^1.0.0",
+ "mocha": "^7.1.1",
+ "cross-env": "^7.0.2"
},
- "homepage": "https://github.com/azure/azure-sdk-for-js/tree/main/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery",
+ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery",
"repository": {
"type": "git",
- "url": "https://github.com/azure/azure-sdk-for-js.git"
+ "url": "https://github.com/Azure/azure-sdk-for-js.git"
},
"bugs": {
- "url": "https://github.com/azure/azure-sdk-for-js/issues"
+ "url": "https://github.com/Azure/azure-sdk-for-js/issues"
},
"files": [
"dist/**/*.js",
"dist/**/*.js.map",
"dist/**/*.d.ts",
"dist/**/*.d.ts.map",
- "esm/**/*.js",
- "esm/**/*.js.map",
- "esm/**/*.d.ts",
- "esm/**/*.d.ts.map",
+ "dist-esm/**/*.js",
+ "dist-esm/**/*.js.map",
+ "dist-esm/**/*.d.ts",
+ "dist-esm/**/*.d.ts.map",
"src/**/*.ts",
+ "README.md",
+ "LICENSE",
"rollup.config.js",
- "tsconfig.json"
+ "tsconfig.json",
+ "review/*",
+ "CHANGELOG.md",
+ "types/*"
],
"scripts": {
- "build": "tsc && rollup -c rollup.config.js && npm run minify",
- "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-recoveryservices-siterecovery.js.map'\" -o ./dist/arm-recoveryservices-siterecovery.min.js ./dist/arm-recoveryservices-siterecovery.js",
- "prepack": "npm install && npm run build"
+ "build": "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api",
+ "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js",
+ "prepack": "npm run build",
+ "pack": "npm pack 2>&1",
+ "extract-api": "api-extractor run --local",
+ "lint": "echo skipped",
+ "audit": "echo skipped",
+ "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log",
+ "build:node": "echo skipped",
+ "build:browser": "echo skipped",
+ "build:test": "echo skipped",
+ "build:samples": "echo skipped.",
+ "check-format": "echo skipped",
+ "execute:samples": "echo skipped",
+ "format": "echo skipped",
+ "test": "npm run integration-test",
+ "test:node": "echo skipped",
+ "test:browser": "echo skipped",
+ "unit-test": "npm run unit-test:node && npm run unit-test:browser",
+ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node",
+ "unit-test:browser": "echo skipped",
+ "integration-test": "npm run integration-test:node && npm run integration-test:browser",
+ "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js",
+ "integration-test:browser": "echo skipped",
+ "docs": "echo skipped"
},
"sideEffects": false,
"autoPublish": true
-}
+}
\ No newline at end of file
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/review/arm-recoveryservices-siterecovery.api.md b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/review/arm-recoveryservices-siterecovery.api.md
new file mode 100644
index 000000000000..ff0fb1e0eeac
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/review/arm-recoveryservices-siterecovery.api.md
@@ -0,0 +1,7219 @@
+## API Report File for "@azure/arm-recoveryservices-siterecovery"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+
+import * as coreAuth from '@azure/core-auth';
+import * as coreClient from '@azure/core-client';
+import { PagedAsyncIterableIterator } from '@azure/core-paging';
+import { PollerLike } from '@azure/core-lro';
+import { PollOperationState } from '@azure/core-lro';
+
+// @public
+export type A2AAddDisksInput = AddDisksProviderSpecificInput & {
+ instanceType: "A2A";
+ vmDisks?: A2AVmDiskInputDetails[];
+ vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+};
+
+// @public
+export type A2AApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ instanceType: "A2A";
+};
+
+// @public
+export type A2AContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & {
+ instanceType: "A2A";
+};
+
+// @public
+export type A2AContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & {
+ instanceType: "A2A";
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ automationAccountArmId?: string;
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+};
+
+// @public
+export type A2ACreateProtectionIntentInput = CreateProtectionIntentProviderSpecificDetails & {
+ instanceType: "A2A";
+ fabricObjectId: string;
+ primaryLocation: string;
+ recoveryLocation: string;
+ recoverySubscriptionId: string;
+ recoveryAvailabilityType: A2ARecoveryAvailabilityType;
+ protectionProfileCustomInput?: ProtectionProfileCustomDetailsUnion;
+ recoveryResourceGroupId: string;
+ primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+ recoveryAvailabilitySetCustomInput?: RecoveryAvailabilitySetCustomDetailsUnion;
+ recoveryVirtualNetworkCustomInput?: RecoveryVirtualNetworkCustomDetailsUnion;
+ recoveryProximityPlacementGroupCustomInput?: RecoveryProximityPlacementGroupCustomDetailsUnion;
+ autoProtectionOfDataDisk?: AutoProtectionOfDataDisk;
+ vmDisks?: A2AProtectionIntentDiskInputDetails[];
+ vmManagedDisks?: A2AProtectionIntentManagedDiskInputDetails[];
+ multiVmGroupName?: string;
+ multiVmGroupId?: string;
+ recoveryBootDiagStorageAccount?: StorageAccountCustomDetailsUnion;
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ recoveryAvailabilityZone?: string;
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+ automationAccountArmId?: string;
+};
+
+// @public
+export type A2ACrossClusterMigrationApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ instanceType: "A2ACrossClusterMigration";
+};
+
+// @public
+export type A2ACrossClusterMigrationContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & {
+ instanceType: "A2ACrossClusterMigration";
+};
+
+// @public
+export type A2ACrossClusterMigrationEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ instanceType: "A2ACrossClusterMigration";
+ fabricObjectId?: string;
+ recoveryContainerId?: string;
+};
+
+// @public
+export type A2ACrossClusterMigrationPolicyCreationInput = PolicyProviderSpecificInput & {
+ instanceType: "A2ACrossClusterMigration";
+};
+
+// @public
+export type A2ACrossClusterMigrationReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "A2ACrossClusterMigration";
+ fabricObjectId?: string;
+ primaryFabricLocation?: string;
+ osType?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ lifecycleId?: string;
+};
+
+// @public
+export type A2AEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ instanceType: "A2A";
+ fabricObjectId: string;
+ recoveryContainerId?: string;
+ recoveryResourceGroupId?: string;
+ recoveryCloudServiceId?: string;
+ recoveryAvailabilitySetId?: string;
+ recoveryProximityPlacementGroupId?: string;
+ vmDisks?: A2AVmDiskInputDetails[];
+ vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+ multiVmGroupName?: string;
+ multiVmGroupId?: string;
+ recoveryBootDiagStorageAccountId?: string;
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ recoveryAvailabilityZone?: string;
+ recoveryExtendedLocation?: ExtendedLocation;
+ recoveryAzureNetworkId?: string;
+ recoverySubnetName?: string;
+ recoveryVirtualMachineScaleSetId?: string;
+ recoveryCapacityReservationGroupId?: string;
+};
+
+// @public
+export type A2AEventDetails = EventProviderSpecificDetails & {
+ instanceType: "A2A";
+ protectedItemName?: string;
+ fabricObjectId?: string;
+ fabricName?: string;
+ fabricLocation?: string;
+ remoteFabricName?: string;
+ remoteFabricLocation?: string;
+};
+
+// @public
+export type A2APolicyCreationInput = PolicyProviderSpecificInput & {
+ instanceType: "A2A";
+ recoveryPointHistory?: number;
+ crashConsistentFrequencyInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+// @public
+export type A2APolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "A2A";
+ recoveryPointThresholdInMinutes?: number;
+ recoveryPointHistory?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus?: string;
+ crashConsistentFrequencyInMinutes?: number;
+};
+
+// @public
+export interface A2AProtectedDiskDetails {
+ allowedDiskLevelOperation?: string[];
+ dataPendingAtSourceAgentInMB?: number;
+ dataPendingInStagingStorageAccountInMB?: number;
+ dekKeyVaultArmId?: string;
+ diskCapacityInBytes?: number;
+ diskName?: string;
+ diskState?: string;
+ diskType?: string;
+ diskUri?: string;
+ failoverDiskName?: string;
+ isDiskEncrypted?: boolean;
+ isDiskKeyEncrypted?: boolean;
+ kekKeyVaultArmId?: string;
+ keyIdentifier?: string;
+ monitoringJobType?: string;
+ monitoringPercentageCompletion?: number;
+ primaryDiskAzureStorageAccountId?: string;
+ primaryStagingAzureStorageAccountId?: string;
+ recoveryAzureStorageAccountId?: string;
+ recoveryDiskUri?: string;
+ resyncRequired?: boolean;
+ secretIdentifier?: string;
+ tfoDiskName?: string;
+}
+
+// @public
+export interface A2AProtectedManagedDiskDetails {
+ allowedDiskLevelOperation?: string[];
+ dataPendingAtSourceAgentInMB?: number;
+ dataPendingInStagingStorageAccountInMB?: number;
+ dekKeyVaultArmId?: string;
+ diskCapacityInBytes?: number;
+ diskId?: string;
+ diskName?: string;
+ diskState?: string;
+ diskType?: string;
+ failoverDiskName?: string;
+ isDiskEncrypted?: boolean;
+ isDiskKeyEncrypted?: boolean;
+ kekKeyVaultArmId?: string;
+ keyIdentifier?: string;
+ monitoringJobType?: string;
+ monitoringPercentageCompletion?: number;
+ primaryDiskEncryptionSetId?: string;
+ primaryStagingAzureStorageAccountId?: string;
+ recoveryDiskEncryptionSetId?: string;
+ recoveryOrignalTargetDiskId?: string;
+ recoveryReplicaDiskAccountType?: string;
+ recoveryReplicaDiskId?: string;
+ recoveryResourceGroupId?: string;
+ recoveryTargetDiskAccountType?: string;
+ recoveryTargetDiskId?: string;
+ resyncRequired?: boolean;
+ secretIdentifier?: string;
+ tfoDiskName?: string;
+}
+
+// @public
+export type A2AProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & {
+ instanceType: "A2A";
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ automationAccountArmId?: string;
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+ scheduleName?: string;
+ jobScheduleName?: string;
+};
+
+// @public
+export interface A2AProtectionIntentDiskInputDetails {
+ diskUri: string;
+ primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+ recoveryAzureStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+}
+
+// @public
+export interface A2AProtectionIntentManagedDiskInputDetails {
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ diskId: string;
+ primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+ recoveryDiskEncryptionSetId?: string;
+ recoveryReplicaDiskAccountType?: string;
+ recoveryResourceGroupCustomInput?: RecoveryResourceGroupCustomDetailsUnion;
+ recoveryTargetDiskAccountType?: string;
+}
+
+// @public
+export type A2ARecoveryAvailabilityType = string;
+
+// @public
+export type A2ARecoveryPointDetails = ProviderSpecificRecoveryPointDetails & {
+ instanceType: "A2A";
+ recoveryPointSyncType?: RecoveryPointSyncType;
+ disks?: string[];
+};
+
+// @public
+export type A2ARemoveDisksInput = RemoveDisksProviderSpecificInput & {
+ instanceType: "A2A";
+ vmDisksUris?: string[];
+ vmManagedDisksIds?: string[];
+};
+
+// @public
+export type A2AReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "A2A";
+ fabricObjectId?: string;
+ readonly initialPrimaryZone?: string;
+ readonly initialPrimaryFabricLocation?: string;
+ readonly initialRecoveryZone?: string;
+ initialPrimaryExtendedLocation?: ExtendedLocation;
+ initialRecoveryExtendedLocation?: ExtendedLocation;
+ readonly initialRecoveryFabricLocation?: string;
+ multiVmGroupId?: string;
+ multiVmGroupName?: string;
+ multiVmGroupCreateOption?: MultiVmGroupCreateOption;
+ managementId?: string;
+ protectedDisks?: A2AProtectedDiskDetails[];
+ unprotectedDisks?: A2AUnprotectedDiskDetails[];
+ protectedManagedDisks?: A2AProtectedManagedDiskDetails[];
+ recoveryBootDiagStorageAccountId?: string;
+ primaryFabricLocation?: string;
+ recoveryFabricLocation?: string;
+ osType?: string;
+ recoveryAzureVMSize?: string;
+ recoveryAzureVMName?: string;
+ recoveryAzureResourceGroupId?: string;
+ recoveryCloudService?: string;
+ recoveryAvailabilitySet?: string;
+ selectedRecoveryAzureNetworkId?: string;
+ selectedTfoAzureNetworkId?: string;
+ vmNics?: VMNicDetails[];
+ vmSyncedConfigDetails?: AzureToAzureVmSyncedConfigDetails;
+ monitoringPercentageCompletion?: number;
+ monitoringJobType?: string;
+ lastHeartbeat?: Date;
+ agentVersion?: string;
+ agentExpiryDate?: Date;
+ isReplicationAgentUpdateRequired?: boolean;
+ readonly agentCertificateExpiryDate?: Date;
+ isReplicationAgentCertificateUpdateRequired?: boolean;
+ recoveryFabricObjectId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ lifecycleId?: string;
+ testFailoverRecoveryFabricObjectId?: string;
+ rpoInSeconds?: number;
+ lastRpoCalculatedTime?: Date;
+ primaryAvailabilityZone?: string;
+ recoveryAvailabilityZone?: string;
+ primaryExtendedLocation?: ExtendedLocation;
+ recoveryExtendedLocation?: ExtendedLocation;
+ readonly vmEncryptionType?: VmEncryptionType;
+ tfoAzureVMName?: string;
+ readonly recoveryAzureGeneration?: string;
+ recoveryProximityPlacementGroupId?: string;
+ autoProtectionOfDataDisk?: AutoProtectionOfDataDisk;
+ recoveryVirtualMachineScaleSetId?: string;
+ recoveryCapacityReservationGroupId?: string;
+};
+
+// @public
+export type A2AReplicationIntentDetails = ReplicationProtectionIntentProviderSpecificSettings & {
+ instanceType: "A2A";
+ fabricObjectId?: string;
+ primaryLocation?: string;
+ recoveryLocation?: string;
+ recoverySubscriptionId?: string;
+ vmDisks?: A2AProtectionIntentDiskInputDetails[];
+ vmManagedDisks?: A2AProtectionIntentManagedDiskInputDetails[];
+ recoveryResourceGroupId?: string;
+ protectionProfile?: ProtectionProfileCustomDetailsUnion;
+ primaryStagingStorageAccount?: StorageAccountCustomDetailsUnion;
+ recoveryAvailabilitySet?: RecoveryAvailabilitySetCustomDetailsUnion;
+ recoveryVirtualNetwork?: RecoveryVirtualNetworkCustomDetailsUnion;
+ recoveryProximityPlacementGroup?: RecoveryProximityPlacementGroupCustomDetailsUnion;
+ autoProtectionOfDataDisk?: AutoProtectionOfDataDisk;
+ multiVmGroupName?: string;
+ multiVmGroupId?: string;
+ recoveryBootDiagStorageAccount?: StorageAccountCustomDetailsUnion;
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ recoveryAvailabilityZone?: string;
+ recoveryAvailabilityType: string;
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ automationAccountArmId?: string;
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+};
+
+// @public
+export type A2AReprotectInput = ReverseReplicationProviderSpecificInput & {
+ instanceType: "A2A";
+ recoveryContainerId?: string;
+ vmDisks?: A2AVmDiskInputDetails[];
+ recoveryResourceGroupId?: string;
+ recoveryCloudServiceId?: string;
+ recoveryAvailabilitySetId?: string;
+ policyId?: string;
+};
+
+// @public
+export type A2ARpRecoveryPointType = string;
+
+// @public
+export type A2ASwitchProtectionInput = SwitchProtectionProviderSpecificInput & {
+ instanceType: "A2A";
+ recoveryContainerId?: string;
+ vmDisks?: A2AVmDiskInputDetails[];
+ vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+ recoveryResourceGroupId?: string;
+ recoveryCloudServiceId?: string;
+ recoveryAvailabilitySetId?: string;
+ policyId?: string;
+ recoveryBootDiagStorageAccountId?: string;
+ recoveryAvailabilityZone?: string;
+ recoveryProximityPlacementGroupId?: string;
+ recoveryVirtualMachineScaleSetId?: string;
+ recoveryCapacityReservationGroupId?: string;
+ diskEncryptionInfo?: DiskEncryptionInfo;
+};
+
+// @public
+export type A2ATestFailoverInput = TestFailoverProviderSpecificInput & {
+ instanceType: "A2A";
+ recoveryPointId?: string;
+ cloudServiceCreationOption?: string;
+};
+
+// @public
+export type A2AUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ instanceType: "A2A";
+ recoveryPointId?: string;
+ cloudServiceCreationOption?: string;
+};
+
+// @public
+export interface A2AUnprotectedDiskDetails {
+ diskAutoProtectionStatus?: AutoProtectionOfDataDisk;
+ diskLunId?: number;
+}
+
+// @public
+export type A2AUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & {
+ instanceType: "A2A";
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ automationAccountArmId?: string;
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+};
+
+// @public
+export type A2AUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ instanceType: "A2A";
+ recoveryCloudServiceId?: string;
+ recoveryResourceGroupId?: string;
+ managedDiskUpdateDetails?: A2AVmManagedDiskUpdateDetails[];
+ recoveryBootDiagStorageAccountId?: string;
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ tfoAzureVMName?: string;
+ recoveryProximityPlacementGroupId?: string;
+ recoveryVirtualMachineScaleSetId?: string;
+ recoveryCapacityReservationGroupId?: string;
+};
+
+// @public
+export interface A2AVmDiskInputDetails {
+ diskUri: string;
+ primaryStagingAzureStorageAccountId: string;
+ recoveryAzureStorageAccountId: string;
+}
+
+// @public
+export interface A2AVmManagedDiskInputDetails {
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ diskId: string;
+ primaryStagingAzureStorageAccountId: string;
+ recoveryDiskEncryptionSetId?: string;
+ recoveryReplicaDiskAccountType?: string;
+ recoveryResourceGroupId: string;
+ recoveryTargetDiskAccountType?: string;
+}
+
+// @public
+export interface A2AVmManagedDiskUpdateDetails {
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ diskId?: string;
+ failoverDiskName?: string;
+ recoveryReplicaDiskAccountType?: string;
+ recoveryTargetDiskAccountType?: string;
+ tfoDiskName?: string;
+}
+
+// @public
+export interface A2AZoneDetails {
+ source?: string;
+ target?: string;
+}
+
+// @public
+export interface AddDisksInput {
+ properties?: AddDisksInputProperties;
+}
+
+// @public
+export interface AddDisksInputProperties {
+ providerSpecificDetails: AddDisksProviderSpecificInputUnion;
+}
+
+// @public
+export interface AddDisksProviderSpecificInput {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type AddDisksProviderSpecificInputUnion = AddDisksProviderSpecificInput | A2AAddDisksInput;
+
+// @public
+export interface AddRecoveryServicesProviderInput {
+ properties: AddRecoveryServicesProviderInputProperties;
+}
+
+// @public
+export interface AddRecoveryServicesProviderInputProperties {
+ authenticationIdentityInput: IdentityProviderInput;
+ biosId?: string;
+ dataPlaneAuthenticationIdentityInput?: IdentityProviderInput;
+ machineId?: string;
+ machineName: string;
+ resourceAccessIdentityInput: IdentityProviderInput;
+}
+
+// @public
+export interface AddVCenterRequest {
+ properties?: AddVCenterRequestProperties;
+}
+
+// @public
+export interface AddVCenterRequestProperties {
+ friendlyName?: string;
+ ipAddress?: string;
+ port?: string;
+ processServerId?: string;
+ runAsAccountId?: string;
+}
+
+// @public
+export type AgentAutoUpdateStatus = string;
+
+// @public
+export interface AgentDetails {
+ readonly agentId?: string;
+ readonly biosId?: string;
+ readonly disks?: AgentDiskDetails[];
+ readonly fqdn?: string;
+ readonly machineId?: string;
+}
+
+// @public
+export interface AgentDiskDetails {
+ readonly capacityInBytes?: number;
+ readonly diskId?: string;
+ readonly diskName?: string;
+ readonly isOSDisk?: string;
+ readonly lunId?: number;
+}
+
+// @public
+export type AgentUpgradeBlockedReason = string;
+
+// @public
+export type AgentVersionStatus = string;
+
+// @public
+export type Alert = Resource & {
+ properties?: AlertProperties;
+};
+
+// @public
+export interface AlertCollection {
+ nextLink?: string;
+ value?: Alert[];
+}
+
+// @public
+export interface AlertProperties {
+ customEmailAddresses?: string[];
+ locale?: string;
+ sendToOwners?: string;
+}
+
+// @public
+export type AlternateLocationRecoveryOption = string;
+
+// @public
+export interface ApplianceCollection {
+ nextLink?: string;
+ value?: ReplicationAppliance[];
+}
+
+// @public
+export interface ApplianceQueryParameter {
+ providerType?: string;
+}
+
+// @public
+export interface ApplianceSpecificDetails {
+ instanceType: "InMageRcm";
+}
+
+// @public (undocumented)
+export type ApplianceSpecificDetailsUnion = ApplianceSpecificDetails | InMageRcmApplianceSpecificDetails;
+
+// @public
+export interface ApplyRecoveryPointInput {
+ properties: ApplyRecoveryPointInputProperties;
+}
+
+// @public
+export interface ApplyRecoveryPointInputProperties {
+ providerSpecificDetails: ApplyRecoveryPointProviderSpecificInputUnion;
+ recoveryPointId?: string;
+}
+
+// @public
+export interface ApplyRecoveryPointProviderSpecificInput {
+ instanceType: "A2A" | "A2ACrossClusterMigration" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMageRcm";
+}
+
+// @public (undocumented)
+export type ApplyRecoveryPointProviderSpecificInputUnion = ApplyRecoveryPointProviderSpecificInput | A2AApplyRecoveryPointInput | A2ACrossClusterMigrationApplyRecoveryPointInput | HyperVReplicaAzureApplyRecoveryPointInput | InMageAzureV2ApplyRecoveryPointInput | InMageRcmApplyRecoveryPointInput;
+
+// @public
+export type AsrJobDetails = JobDetails & {
+ instanceType: "AsrJobDetails";
+};
+
+// @public
+export interface ASRTask {
+ allowedActions?: string[];
+ customDetails?: TaskTypeDetailsUnion;
+ endTime?: Date;
+ errors?: JobErrorDetails[];
+ friendlyName?: string;
+ groupTaskCustomDetails?: GroupTaskDetailsUnion;
+ name?: string;
+ startTime?: Date;
+ state?: string;
+ stateDescription?: string;
+ taskId?: string;
+ taskType?: string;
+}
+
+// @public
+export type AutomationAccountAuthenticationType = string;
+
+// @public
+export type AutomationRunbookTaskDetails = TaskTypeDetails & {
+ instanceType: "AutomationRunbookTaskDetails";
+ name?: string;
+ cloudServiceName?: string;
+ subscriptionId?: string;
+ accountName?: string;
+ runbookId?: string;
+ runbookName?: string;
+ jobId?: string;
+ jobOutput?: string;
+ isPrimarySideScript?: boolean;
+};
+
+// @public
+export type AutoProtectionOfDataDisk = string;
+
+// @public
+export type AzureFabricCreationInput = FabricSpecificCreationInput & {
+ instanceType: "Azure";
+ location?: string;
+};
+
+// @public
+export type AzureFabricSpecificDetails = FabricSpecificDetails & {
+ instanceType: "Azure";
+ location?: string;
+ containerIds?: string[];
+ zones?: A2AZoneDetails[];
+};
+
+// @public
+export type AzureToAzureCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & {
+ instanceType: "AzureToAzure";
+ primaryNetworkId: string;
+};
+
+// @public
+export type AzureToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & {
+ instanceType: "AzureToAzure";
+ primaryFabricLocation?: string;
+ recoveryFabricLocation?: string;
+};
+
+// @public
+export type AzureToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & {
+ instanceType: "AzureToAzure";
+ primaryNetworkId?: string;
+};
+
+// @public
+export interface AzureToAzureVmSyncedConfigDetails {
+ inputEndpoints?: InputEndpoint[];
+ tags?: {
+ [propertyName: string]: string;
+ };
+}
+
+// @public
+export interface AzureVmDiskDetails {
+ customTargetDiskName?: string;
+ diskEncryptionSetId?: string;
+ diskId?: string;
+ lunId?: string;
+ maxSizeMB?: string;
+ targetDiskLocation?: string;
+ targetDiskName?: string;
+ vhdId?: string;
+ vhdName?: string;
+ vhdType?: string;
+}
+
+// @public
+export interface ComputeSizeErrorDetails {
+ message?: string;
+ severity?: string;
+}
+
+// @public
+export interface ConfigurationSettings {
+ instanceType: "HyperVVirtualMachine" | "ReplicationGroupDetails" | "VmmVirtualMachine" | "VMwareVirtualMachine";
+}
+
+// @public (undocumented)
+export type ConfigurationSettingsUnion = ConfigurationSettings | HyperVVirtualMachineDetailsUnion | ReplicationGroupDetails | VMwareVirtualMachineDetails;
+
+// @public
+export interface ConfigureAlertRequest {
+ properties?: ConfigureAlertRequestProperties;
+}
+
+// @public
+export interface ConfigureAlertRequestProperties {
+ customEmailAddresses?: string[];
+ locale?: string;
+ sendToOwners?: string;
+}
+
+// @public
+export type ConsistencyCheckTaskDetails = TaskTypeDetails & {
+ instanceType: "ConsistencyCheckTaskDetails";
+ vmDetails?: InconsistentVmDetails[];
+};
+
+// @public
+export interface CreateNetworkMappingInput {
+ properties: CreateNetworkMappingInputProperties;
+}
+
+// @public
+export interface CreateNetworkMappingInputProperties {
+ fabricSpecificDetails?: FabricSpecificCreateNetworkMappingInputUnion;
+ recoveryFabricName?: string;
+ recoveryNetworkId: string;
+}
+
+// @public
+export interface CreatePolicyInput {
+ properties?: CreatePolicyInputProperties;
+}
+
+// @public
+export interface CreatePolicyInputProperties {
+ providerSpecificInput?: PolicyProviderSpecificInputUnion;
+}
+
+// @public
+export interface CreateProtectionContainerInput {
+ properties?: CreateProtectionContainerInputProperties;
+}
+
+// @public
+export interface CreateProtectionContainerInputProperties {
+ providerSpecificInput?: ReplicationProviderSpecificContainerCreationInputUnion[];
+}
+
+// @public
+export interface CreateProtectionContainerMappingInput {
+ properties?: CreateProtectionContainerMappingInputProperties;
+}
+
+// @public
+export interface CreateProtectionContainerMappingInputProperties {
+ policyId?: string;
+ providerSpecificInput?: ReplicationProviderSpecificContainerMappingInputUnion;
+ targetProtectionContainerId?: string;
+}
+
+// @public
+export interface CreateProtectionIntentInput {
+ properties?: CreateProtectionIntentProperties;
+}
+
+// @public
+export interface CreateProtectionIntentProperties {
+ providerSpecificDetails?: CreateProtectionIntentProviderSpecificDetailsUnion;
+}
+
+// @public
+export interface CreateProtectionIntentProviderSpecificDetails {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type CreateProtectionIntentProviderSpecificDetailsUnion = CreateProtectionIntentProviderSpecificDetails | A2ACreateProtectionIntentInput;
+
+// @public
+export interface CreateRecoveryPlanInput {
+ properties: CreateRecoveryPlanInputProperties;
+}
+
+// @public
+export interface CreateRecoveryPlanInputProperties {
+ failoverDeploymentModel?: FailoverDeploymentModel;
+ groups: RecoveryPlanGroup[];
+ primaryFabricId: string;
+ providerSpecificInput?: RecoveryPlanProviderSpecificInputUnion[];
+ recoveryFabricId: string;
+}
+
+// @public
+export interface CurrentJobDetails {
+ readonly jobId?: string;
+ readonly jobName?: string;
+ readonly startTime?: Date;
+}
+
+// @public
+export interface CurrentScenarioDetails {
+ jobId?: string;
+ scenarioName?: string;
+ startTime?: Date;
+}
+
+// @public
+export interface DataStore {
+ capacity?: string;
+ freeSpace?: string;
+ symbolicName?: string;
+ type?: string;
+ uuid?: string;
+}
+
+// @public
+export type DataSyncStatus = string;
+
+// @public
+export interface DisableProtectionInput {
+ properties: DisableProtectionInputProperties;
+}
+
+// @public
+export interface DisableProtectionInputProperties {
+ disableProtectionReason?: DisableProtectionReason;
+ replicationProviderInput?: DisableProtectionProviderSpecificInputUnion;
+}
+
+// @public
+export interface DisableProtectionProviderSpecificInput {
+ instanceType: "InMage";
+}
+
+// @public (undocumented)
+export type DisableProtectionProviderSpecificInputUnion = DisableProtectionProviderSpecificInput | InMageDisableProtectionProviderSpecificInput;
+
+// @public
+export type DisableProtectionReason = string;
+
+// @public
+export interface DiscoverProtectableItemRequest {
+ properties?: DiscoverProtectableItemRequestProperties;
+}
+
+// @public
+export interface DiscoverProtectableItemRequestProperties {
+ friendlyName?: string;
+ ipAddress?: string;
+ osType?: string;
+}
+
+// @public
+export type DiskAccountType = string;
+
+// @public
+export interface DiskDetails {
+ maxSizeMB?: number;
+ vhdId?: string;
+ vhdName?: string;
+ vhdType?: string;
+}
+
+// @public
+export interface DiskEncryptionInfo {
+ diskEncryptionKeyInfo?: DiskEncryptionKeyInfo;
+ keyEncryptionKeyInfo?: KeyEncryptionKeyInfo;
+}
+
+// @public
+export interface DiskEncryptionKeyInfo {
+ keyVaultResourceArmId?: string;
+ secretIdentifier?: string;
+}
+
+// @public
+export type DiskReplicationProgressHealth = string;
+
+// @public
+export interface DiskVolumeDetails {
+ label?: string;
+ name?: string;
+}
+
+// @public
+export interface Display {
+ description?: string;
+ operation?: string;
+ provider?: string;
+ resource?: string;
+}
+
+// @public
+export interface DraDetails {
+ readonly biosId?: string;
+ readonly forwardProtectedItemCount?: number;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly id?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly name?: string;
+ readonly reverseProtectedItemCount?: number;
+ readonly version?: string;
+}
+
+// @public
+export interface EnableMigrationInput {
+ properties: EnableMigrationInputProperties;
+}
+
+// @public
+export interface EnableMigrationInputProperties {
+ policyId: string;
+ providerSpecificDetails: EnableMigrationProviderSpecificInputUnion;
+}
+
+// @public
+export interface EnableMigrationProviderSpecificInput {
+ instanceType: "VMwareCbt";
+}
+
+// @public (undocumented)
+export type EnableMigrationProviderSpecificInputUnion = EnableMigrationProviderSpecificInput | VMwareCbtEnableMigrationInput;
+
+// @public
+export interface EnableProtectionInput {
+ properties?: EnableProtectionInputProperties;
+}
+
+// @public
+export interface EnableProtectionInputProperties {
+ policyId?: string;
+ protectableItemId?: string;
+ providerSpecificDetails?: EnableProtectionProviderSpecificInputUnion;
+}
+
+// @public
+export interface EnableProtectionProviderSpecificInput {
+ instanceType: "A2ACrossClusterMigration" | "A2A" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMage" | "InMageRcm";
+}
+
+// @public (undocumented)
+export type EnableProtectionProviderSpecificInputUnion = EnableProtectionProviderSpecificInput | A2ACrossClusterMigrationEnableProtectionInput | A2AEnableProtectionInput | HyperVReplicaAzureEnableProtectionInput | InMageAzureV2EnableProtectionInput | InMageEnableProtectionInput | InMageRcmEnableProtectionInput;
+
+// @public
+export interface EncryptionDetails {
+ kekCertExpiryDate?: Date;
+ kekCertThumbprint?: string;
+ kekState?: string;
+}
+
+// @public
+export type EthernetAddressType = string;
+
+// @public
+type Event_2 = Resource & {
+ properties?: EventProperties;
+};
+export { Event_2 as Event }
+
+// @public
+export interface EventCollection {
+ nextLink?: string;
+ value?: Event_2[];
+}
+
+// @public
+export interface EventProperties {
+ affectedObjectCorrelationId?: string;
+ affectedObjectFriendlyName?: string;
+ description?: string;
+ eventCode?: string;
+ eventSpecificDetails?: EventSpecificDetailsUnion;
+ eventType?: string;
+ fabricId?: string;
+ healthErrors?: HealthError[];
+ providerSpecificDetails?: EventProviderSpecificDetailsUnion;
+ severity?: string;
+ timeOfOccurrence?: Date;
+}
+
+// @public
+export interface EventProviderSpecificDetails {
+ instanceType: "A2A" | "HyperVReplica2012" | "HyperVReplica2012R2" | "HyperVReplicaAzure" | "HyperVReplicaBaseEventDetails" | "InMageAzureV2" | "InMageRcm" | "InMageRcmFailback" | "VMwareCbt";
+}
+
+// @public (undocumented)
+export type EventProviderSpecificDetailsUnion = EventProviderSpecificDetails | A2AEventDetails | HyperVReplica2012EventDetails | HyperVReplica2012R2EventDetails | HyperVReplicaAzureEventDetails | HyperVReplicaBaseEventDetails | InMageAzureV2EventDetails | InMageRcmEventDetails | InMageRcmFailbackEventDetails | VMwareCbtEventDetails;
+
+// @public
+export interface EventQueryParameter {
+ affectedObjectCorrelationId?: string;
+ affectedObjectFriendlyName?: string;
+ endTime?: Date;
+ eventCode?: string;
+ eventType?: string;
+ fabricName?: string;
+ severity?: string;
+ startTime?: Date;
+}
+
+// @public
+export interface EventSpecificDetails {
+ instanceType: "JobStatus";
+}
+
+// @public (undocumented)
+export type EventSpecificDetailsUnion = EventSpecificDetails | JobStatusEventDetails;
+
+// @public
+export type ExistingProtectionProfile = ProtectionProfileCustomDetails & {
+ resourceType: "Existing";
+ protectionProfileId: string;
+};
+
+// @public
+export type ExistingRecoveryAvailabilitySet = RecoveryAvailabilitySetCustomDetails & {
+ resourceType: "Existing";
+ recoveryAvailabilitySetId?: string;
+};
+
+// @public
+export type ExistingRecoveryProximityPlacementGroup = RecoveryProximityPlacementGroupCustomDetails & {
+ resourceType: "Existing";
+ recoveryProximityPlacementGroupId?: string;
+};
+
+// @public
+export type ExistingRecoveryResourceGroup = RecoveryResourceGroupCustomDetails & {
+ resourceType: "Existing";
+ recoveryResourceGroupId?: string;
+};
+
+// @public
+export type ExistingRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & {
+ resourceType: "Existing";
+ recoveryVirtualNetworkId: string;
+ recoverySubnetName?: string;
+};
+
+// @public
+export type ExistingStorageAccount = StorageAccountCustomDetails & {
+ resourceType: "Existing";
+ azureStorageAccountId: string;
+};
+
+// @public
+export type ExportJobDetails = JobDetails & {
+ instanceType: "ExportJobDetails";
+ blobUri?: string;
+ sasToken?: string;
+};
+
+// @public
+export type ExportJobOutputSerializationType = string;
+
+// @public
+export interface ExtendedLocation {
+ name: string;
+ type: ExtendedLocationType;
+}
+
+// @public
+export type ExtendedLocationType = string;
+
+// @public
+export type Fabric = Resource & {
+ properties?: FabricProperties;
+};
+
+// @public
+export interface FabricCollection {
+ nextLink?: string;
+ value?: Fabric[];
+}
+
+// @public
+export interface FabricCreationInput {
+ properties?: FabricCreationInputProperties;
+}
+
+// @public
+export interface FabricCreationInputProperties {
+ customDetails?: FabricSpecificCreationInputUnion;
+}
+
+// @public
+export interface FabricProperties {
+ bcdrState?: string;
+ customDetails?: FabricSpecificDetailsUnion;
+ encryptionDetails?: EncryptionDetails;
+ friendlyName?: string;
+ health?: string;
+ healthErrorDetails?: HealthError[];
+ internalIdentifier?: string;
+ rolloverEncryptionDetails?: EncryptionDetails;
+}
+
+// @public
+export interface FabricQueryParameter {
+ biosId?: string;
+ discoveryType?: string;
+ fetchAgentDetails?: string;
+ fqdn?: string;
+ osType?: string;
+ zoneToZoneMappings?: string;
+}
+
+// @public
+export type FabricReplicationGroupTaskDetails = JobTaskDetails & {
+ instanceType: "FabricReplicationGroupTaskDetails";
+ skippedReason?: string;
+ skippedReasonString?: string;
+};
+
+// @public
+export interface FabricSpecificCreateNetworkMappingInput {
+ instanceType: "AzureToAzure" | "VmmToAzure" | "VmmToVmm";
+}
+
+// @public (undocumented)
+export type FabricSpecificCreateNetworkMappingInputUnion = FabricSpecificCreateNetworkMappingInput | AzureToAzureCreateNetworkMappingInput | VmmToAzureCreateNetworkMappingInput | VmmToVmmCreateNetworkMappingInput;
+
+// @public
+export interface FabricSpecificCreationInput {
+ instanceType: "Azure" | "InMageRcm" | "VMwareV2";
+}
+
+// @public (undocumented)
+export type FabricSpecificCreationInputUnion = FabricSpecificCreationInput | AzureFabricCreationInput | InMageRcmFabricCreationInput | VMwareV2FabricCreationInput;
+
+// @public
+export interface FabricSpecificDetails {
+ instanceType: "Azure" | "HyperVSite" | "InMageRcm" | "VMM" | "VMware" | "VMwareV2";
+}
+
+// @public (undocumented)
+export type FabricSpecificDetailsUnion = FabricSpecificDetails | AzureFabricSpecificDetails | HyperVSiteDetails | InMageRcmFabricSpecificDetails | VmmDetails | VMwareDetails | VMwareV2FabricSpecificDetails;
+
+// @public
+export interface FabricSpecificUpdateNetworkMappingInput {
+ instanceType: "AzureToAzure" | "VmmToAzure" | "VmmToVmm";
+}
+
+// @public (undocumented)
+export type FabricSpecificUpdateNetworkMappingInputUnion = FabricSpecificUpdateNetworkMappingInput | AzureToAzureUpdateNetworkMappingInput | VmmToAzureUpdateNetworkMappingInput | VmmToVmmUpdateNetworkMappingInput;
+
+// @public
+export type FailoverDeploymentModel = string;
+
+// @public
+export type FailoverJobDetails = JobDetails & {
+ instanceType: "FailoverJobDetails";
+ protectedItemDetails?: FailoverReplicationProtectedItemDetails[];
+};
+
+// @public
+export interface FailoverProcessServerRequest {
+ properties?: FailoverProcessServerRequestProperties;
+}
+
+// @public
+export interface FailoverProcessServerRequestProperties {
+ containerName?: string;
+ sourceProcessServerId?: string;
+ targetProcessServerId?: string;
+ updateType?: string;
+ vmsToMigrate?: string[];
+}
+
+// @public
+export interface FailoverReplicationProtectedItemDetails {
+ friendlyName?: string;
+ name?: string;
+ networkConnectionStatus?: string;
+ networkFriendlyName?: string;
+ recoveryPointId?: string;
+ recoveryPointTime?: Date;
+ subnet?: string;
+ testVmFriendlyName?: string;
+ testVmName?: string;
+}
+
+// @public
+export interface GroupTaskDetails {
+ childTasks?: ASRTask[];
+ instanceType: "InlineWorkflowTaskDetails" | "RecoveryPlanGroupTaskDetails" | "RecoveryPlanShutdownGroupTaskDetails";
+}
+
+// @public (undocumented)
+export type GroupTaskDetailsUnion = GroupTaskDetails | InlineWorkflowTaskDetails | RecoveryPlanGroupTaskDetailsUnion;
+
+// @public
+export interface HealthError {
+ creationTimeUtc?: Date;
+ customerResolvability?: HealthErrorCustomerResolvability;
+ entityId?: string;
+ errorCategory?: string;
+ errorCode?: string;
+ errorId?: string;
+ errorLevel?: string;
+ errorMessage?: string;
+ errorSource?: string;
+ errorType?: string;
+ innerHealthErrors?: InnerHealthError[];
+ possibleCauses?: string;
+ recommendedAction?: string;
+ recoveryProviderErrorMessage?: string;
+ summaryMessage?: string;
+}
+
+// @public
+export type HealthErrorCategory = string;
+
+// @public
+export type HealthErrorCustomerResolvability = string;
+
+// @public
+export interface HealthErrorSummary {
+ affectedResourceCorrelationIds?: string[];
+ affectedResourceSubtype?: string;
+ affectedResourceType?: string;
+ category?: HealthErrorCategory;
+ severity?: Severity;
+ summaryCode?: string;
+ summaryMessage?: string;
+}
+
+// @public
+export interface HyperVHostDetails {
+ readonly id?: string;
+ readonly marsAgentVersion?: string;
+ readonly name?: string;
+}
+
+// @public
+export type HyperVReplica2012EventDetails = EventProviderSpecificDetails & {
+ instanceType: "HyperVReplica2012";
+ containerName?: string;
+ fabricName?: string;
+ remoteContainerName?: string;
+ remoteFabricName?: string;
+};
+
+// @public
+export type HyperVReplica2012R2EventDetails = EventProviderSpecificDetails & {
+ instanceType: "HyperVReplica2012R2";
+ containerName?: string;
+ fabricName?: string;
+ remoteContainerName?: string;
+ remoteFabricName?: string;
+};
+
+// @public
+export type HyperVReplicaAzureApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ instanceType: "HyperVReplicaAzure";
+ primaryKekCertificatePfx?: string;
+ secondaryKekCertificatePfx?: string;
+};
+
+// @public
+export interface HyperVReplicaAzureDiskInputDetails {
+ diskEncryptionSetId?: string;
+ diskId?: string;
+ diskType?: DiskAccountType;
+ logStorageAccountId?: string;
+}
+
+// @public
+export type HyperVReplicaAzureEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ instanceType: "HyperVReplicaAzure";
+ hvHostVmId?: string;
+ vmName?: string;
+ osType?: string;
+ vhdId?: string;
+ targetStorageAccountId?: string;
+ targetAzureNetworkId?: string;
+ targetAzureSubnetId?: string;
+ enableRdpOnTargetOption?: string;
+ targetAzureVmName?: string;
+ logStorageAccountId?: string;
+ disksToInclude?: string[];
+ targetAzureV1ResourceGroupId?: string;
+ targetAzureV2ResourceGroupId?: string;
+ useManagedDisks?: string;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ licenseType?: LicenseType;
+ sqlServerLicenseType?: SqlServerLicenseType;
+ targetVmSize?: string;
+ targetProximityPlacementGroupId?: string;
+ useManagedDisksForReplication?: string;
+ diskType?: DiskAccountType;
+ disksToIncludeForManagedDisks?: HyperVReplicaAzureDiskInputDetails[];
+ diskEncryptionSetId?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ seedManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+};
+
+// @public
+export type HyperVReplicaAzureEventDetails = EventProviderSpecificDetails & {
+ instanceType: "HyperVReplicaAzure";
+ containerName?: string;
+ fabricName?: string;
+ remoteContainerName?: string;
+};
+
+// @public
+export type HyperVReplicaAzureFailbackProviderInput = PlannedFailoverProviderSpecificFailoverInput & {
+ instanceType: "HyperVReplicaAzureFailback";
+ dataSyncOption?: string;
+ recoveryVmCreationOption?: string;
+ providerIdForAlternateRecovery?: string;
+};
+
+// @public
+export interface HyperVReplicaAzureManagedDiskDetails {
+ diskEncryptionSetId?: string;
+ diskId?: string;
+ replicaDiskType?: string;
+ seedManagedDiskId?: string;
+}
+
+// @public
+export type HyperVReplicaAzurePlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & {
+ instanceType: "HyperVReplicaAzure";
+ primaryKekCertificatePfx?: string;
+ secondaryKekCertificatePfx?: string;
+ recoveryPointId?: string;
+};
+
+// @public
+export type HyperVReplicaAzurePolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "HyperVReplicaAzure";
+ recoveryPointHistoryDurationInHours?: number;
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ replicationInterval?: number;
+ onlineReplicationStartTime?: string;
+ encryption?: string;
+ activeStorageAccountId?: string;
+};
+
+// @public
+export type HyperVReplicaAzurePolicyInput = PolicyProviderSpecificInput & {
+ instanceType: "HyperVReplicaAzure";
+ recoveryPointHistoryDuration?: number;
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ replicationInterval?: number;
+ onlineReplicationStartTime?: string;
+ storageAccounts?: string[];
+};
+
+// @public
+export type HyperVReplicaAzureReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "HyperVReplicaAzure";
+ azureVmDiskDetails?: AzureVmDiskDetails[];
+ recoveryAzureVmName?: string;
+ recoveryAzureVMSize?: string;
+ recoveryAzureStorageAccount?: string;
+ recoveryAzureLogStorageAccountId?: string;
+ lastReplicatedTime?: Date;
+ rpoInSeconds?: number;
+ lastRpoCalculatedTime?: Date;
+ vmId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ initialReplicationDetails?: InitialReplicationDetails;
+ vmNics?: VMNicDetails[];
+ selectedRecoveryAzureNetworkId?: string;
+ selectedSourceNicId?: string;
+ encryption?: string;
+ oSDetails?: OSDetails;
+ sourceVmRamSizeInMB?: number;
+ sourceVmCpuCount?: number;
+ enableRdpOnTargetOption?: string;
+ recoveryAzureResourceGroupId?: string;
+ recoveryAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ useManagedDisks?: string;
+ licenseType?: string;
+ sqlServerLicenseType?: string;
+ readonly lastRecoveryPointReceived?: Date;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ seedManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+ protectedManagedDisks?: HyperVReplicaAzureManagedDiskDetails[];
+};
+
+// @public
+export type HyperVReplicaAzureReprotectInput = ReverseReplicationProviderSpecificInput & {
+ instanceType: "HyperVReplicaAzure";
+ hvHostVmId?: string;
+ vmName?: string;
+ osType?: string;
+ vHDId?: string;
+ storageAccountId?: string;
+ logStorageAccountId?: string;
+};
+
+// @public
+export type HyperVReplicaAzureRpRecoveryPointType = string;
+
+// @public
+export type HyperVReplicaAzureTestFailoverInput = TestFailoverProviderSpecificInput & {
+ instanceType: "HyperVReplicaAzure";
+ primaryKekCertificatePfx?: string;
+ secondaryKekCertificatePfx?: string;
+ recoveryPointId?: string;
+};
+
+// @public
+export type HyperVReplicaAzureUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ instanceType: "HyperVReplicaAzure";
+ primaryKekCertificatePfx?: string;
+ secondaryKekCertificatePfx?: string;
+ recoveryPointId?: string;
+};
+
+// @public
+export type HyperVReplicaAzureUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ instanceType: "HyperVReplicaAzure";
+ recoveryAzureV1ResourceGroupId?: string;
+ recoveryAzureV2ResourceGroupId?: string;
+ useManagedDisks?: string;
+ diskIdToDiskEncryptionMap?: {
+ [propertyName: string]: string;
+ };
+ targetProximityPlacementGroupId?: string;
+ targetAvailabilityZone?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ targetManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+ sqlServerLicenseType?: SqlServerLicenseType;
+ vmDisks?: UpdateDiskInput[];
+};
+
+// @public
+export type HyperVReplicaBaseEventDetails = EventProviderSpecificDetails & {
+ instanceType: "HyperVReplicaBaseEventDetails";
+ containerName?: string;
+ fabricName?: string;
+ remoteContainerName?: string;
+ remoteFabricName?: string;
+};
+
+// @public
+export type HyperVReplicaBasePolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "HyperVReplicaBasePolicyDetails";
+ recoveryPoints?: number;
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ compression?: string;
+ initialReplicationMethod?: string;
+ onlineReplicationStartTime?: string;
+ offlineReplicationImportPath?: string;
+ offlineReplicationExportPath?: string;
+ replicationPort?: number;
+ allowedAuthenticationType?: number;
+ replicaDeletionOption?: string;
+};
+
+// @public
+export type HyperVReplicaBaseReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "HyperVReplicaBaseReplicationDetails";
+ lastReplicatedTime?: Date;
+ vmNics?: VMNicDetails[];
+ vmId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ initialReplicationDetails?: InitialReplicationDetails;
+ vMDiskDetails?: DiskDetails[];
+};
+
+// @public
+export type HyperVReplicaBluePolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "HyperVReplica2012R2";
+ replicationFrequencyInSeconds?: number;
+ recoveryPoints?: number;
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ compression?: string;
+ initialReplicationMethod?: string;
+ onlineReplicationStartTime?: string;
+ offlineReplicationImportPath?: string;
+ offlineReplicationExportPath?: string;
+ replicationPort?: number;
+ allowedAuthenticationType?: number;
+ replicaDeletionOption?: string;
+};
+
+// @public
+export type HyperVReplicaBluePolicyInput = HyperVReplicaPolicyInput & {
+ instanceType: "HyperVReplica2012R2";
+ replicationFrequencyInSeconds?: number;
+};
+
+// @public
+export type HyperVReplicaBlueReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "HyperVReplica2012R2";
+ lastReplicatedTime?: Date;
+ vmNics?: VMNicDetails[];
+ vmId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ initialReplicationDetails?: InitialReplicationDetails;
+ vMDiskDetails?: DiskDetails[];
+};
+
+// @public
+export type HyperVReplicaPolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "HyperVReplica2012";
+ recoveryPoints?: number;
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ compression?: string;
+ initialReplicationMethod?: string;
+ onlineReplicationStartTime?: string;
+ offlineReplicationImportPath?: string;
+ offlineReplicationExportPath?: string;
+ replicationPort?: number;
+ allowedAuthenticationType?: number;
+ replicaDeletionOption?: string;
+};
+
+// @public
+export type HyperVReplicaPolicyInput = PolicyProviderSpecificInput & {
+ instanceType: "HyperVReplica2012" | "HyperVReplica2012R2";
+ recoveryPoints?: number;
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ compression?: string;
+ initialReplicationMethod?: string;
+ onlineReplicationStartTime?: string;
+ offlineReplicationImportPath?: string;
+ offlineReplicationExportPath?: string;
+ replicationPort?: number;
+ allowedAuthenticationType?: number;
+ replicaDeletion?: string;
+};
+
+// @public (undocumented)
+export type HyperVReplicaPolicyInputUnion = HyperVReplicaPolicyInput | HyperVReplicaBluePolicyInput;
+
+// @public
+export type HyperVReplicaReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "HyperVReplica2012";
+ lastReplicatedTime?: Date;
+ vmNics?: VMNicDetails[];
+ vmId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ initialReplicationDetails?: InitialReplicationDetails;
+ vMDiskDetails?: DiskDetails[];
+};
+
+// @public
+export type HyperVSiteDetails = FabricSpecificDetails & {
+ instanceType: "HyperVSite";
+ hyperVHosts?: HyperVHostDetails[];
+};
+
+// @public
+export type HyperVVirtualMachineDetails = ConfigurationSettings & {
+ instanceType: "HyperVVirtualMachine" | "VmmVirtualMachine";
+ sourceItemId?: string;
+ generation?: string;
+ osDetails?: OSDetails;
+ diskDetails?: DiskDetails[];
+ hasPhysicalDisk?: PresenceStatus;
+ hasFibreChannelAdapter?: PresenceStatus;
+ hasSharedVhd?: PresenceStatus;
+ hyperVHostId?: string;
+};
+
+// @public (undocumented)
+export type HyperVVirtualMachineDetailsUnion = HyperVVirtualMachineDetails | VmmVirtualMachineDetails;
+
+// @public
+export interface IdentityProviderDetails {
+ aadAuthority?: string;
+ applicationId?: string;
+ audience?: string;
+ objectId?: string;
+ tenantId?: string;
+}
+
+// @public
+export interface IdentityProviderInput {
+ aadAuthority: string;
+ applicationId: string;
+ audience: string;
+ objectId: string;
+ tenantId: string;
+}
+
+// @public
+export interface InconsistentVmDetails {
+ cloudName?: string;
+ details?: string[];
+ errorIds?: string[];
+ vmName?: string;
+}
+
+// @public
+export interface InitialReplicationDetails {
+ initialReplicationProgressPercentage?: string;
+ initialReplicationType?: string;
+}
+
+// @public
+export type InlineWorkflowTaskDetails = GroupTaskDetails & {
+ instanceType: "InlineWorkflowTaskDetails";
+ workflowIds?: string[];
+};
+
+// @public
+export interface InMageAgentDetails {
+ agentExpiryDate?: Date;
+ agentUpdateStatus?: string;
+ agentVersion?: string;
+ postUpdateRebootStatus?: string;
+}
+
+// @public
+export type InMageAzureV2ApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+};
+
+// @public
+export interface InMageAzureV2DiskInputDetails {
+ diskEncryptionSetId?: string;
+ diskId?: string;
+ diskType?: DiskAccountType;
+ logStorageAccountId?: string;
+}
+
+// @public
+export type InMageAzureV2EnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+ masterTargetId?: string;
+ processServerId?: string;
+ storageAccountId?: string;
+ runAsAccountId?: string;
+ multiVmGroupId?: string;
+ multiVmGroupName?: string;
+ disksToInclude?: InMageAzureV2DiskInputDetails[];
+ targetAzureNetworkId?: string;
+ targetAzureSubnetId?: string;
+ enableRdpOnTargetOption?: string;
+ targetAzureVmName?: string;
+ logStorageAccountId?: string;
+ targetAzureV1ResourceGroupId?: string;
+ targetAzureV2ResourceGroupId?: string;
+ diskType?: DiskAccountType;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ licenseType?: LicenseType;
+ sqlServerLicenseType?: SqlServerLicenseType;
+ targetVmSize?: string;
+ diskEncryptionSetId?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ seedManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+};
+
+// @public
+export type InMageAzureV2EventDetails = EventProviderSpecificDetails & {
+ instanceType: "InMageAzureV2";
+ eventType?: string;
+ category?: string;
+ component?: string;
+ correctiveAction?: string;
+ details?: string;
+ summary?: string;
+ siteName?: string;
+};
+
+// @public
+export interface InMageAzureV2ManagedDiskDetails {
+ diskEncryptionSetId?: string;
+ diskId?: string;
+ replicaDiskType?: string;
+ seedManagedDiskId?: string;
+ targetDiskName?: string;
+}
+
+// @public
+export type InMageAzureV2PolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "InMageAzureV2";
+ crashConsistentFrequencyInMinutes?: number;
+ recoveryPointThresholdInMinutes?: number;
+ recoveryPointHistory?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus?: string;
+};
+
+// @public
+export type InMageAzureV2PolicyInput = PolicyProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+ recoveryPointThresholdInMinutes?: number;
+ recoveryPointHistory?: number;
+ crashConsistentFrequencyInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+// @public
+export interface InMageAzureV2ProtectedDiskDetails {
+ diskCapacityInBytes?: number;
+ diskId?: string;
+ diskName?: string;
+ diskResized?: string;
+ fileSystemCapacityInBytes?: number;
+ healthErrorCode?: string;
+ lastRpoCalculatedTime?: Date;
+ progressHealth?: string;
+ progressStatus?: string;
+ protectionStage?: string;
+ psDataInMegaBytes?: number;
+ resyncDurationInSeconds?: number;
+ resyncLast15MinutesTransferredBytes?: number;
+ resyncLastDataTransferTimeUTC?: Date;
+ resyncProcessedBytes?: number;
+ resyncProgressPercentage?: number;
+ resyncRequired?: string;
+ resyncStartTime?: Date;
+ resyncTotalTransferredBytes?: number;
+ rpoInSeconds?: number;
+ secondsToTakeSwitchProvider?: number;
+ sourceDataInMegaBytes?: number;
+ targetDataInMegaBytes?: number;
+}
+
+// @public
+export type InMageAzureV2RecoveryPointDetails = ProviderSpecificRecoveryPointDetails & {
+ instanceType: "InMageAzureV2";
+ isMultiVmSyncPoint?: string;
+};
+
+// @public
+export type InMageAzureV2ReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "InMageAzureV2";
+ infrastructureVmId?: string;
+ vCenterInfrastructureId?: string;
+ protectionStage?: string;
+ vmId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ resyncProgressPercentage?: number;
+ rpoInSeconds?: number;
+ compressedDataRateInMB?: number;
+ uncompressedDataRateInMB?: number;
+ ipAddress?: string;
+ agentVersion?: string;
+ agentExpiryDate?: Date;
+ isAgentUpdateRequired?: string;
+ isRebootAfterUpdateRequired?: string;
+ lastHeartbeat?: Date;
+ processServerId?: string;
+ processServerName?: string;
+ multiVmGroupId?: string;
+ multiVmGroupName?: string;
+ multiVmSyncStatus?: string;
+ protectedDisks?: InMageAzureV2ProtectedDiskDetails[];
+ diskResized?: string;
+ masterTargetId?: string;
+ sourceVmCpuCount?: number;
+ sourceVmRamSizeInMB?: number;
+ osType?: string;
+ vhdName?: string;
+ osDiskId?: string;
+ azureVMDiskDetails?: AzureVmDiskDetails[];
+ recoveryAzureVMName?: string;
+ recoveryAzureVMSize?: string;
+ recoveryAzureStorageAccount?: string;
+ recoveryAzureLogStorageAccountId?: string;
+ vmNics?: VMNicDetails[];
+ selectedRecoveryAzureNetworkId?: string;
+ selectedTfoAzureNetworkId?: string;
+ selectedSourceNicId?: string;
+ discoveryType?: string;
+ enableRdpOnTargetOption?: string;
+ datastores?: string[];
+ targetVmId?: string;
+ recoveryAzureResourceGroupId?: string;
+ recoveryAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ useManagedDisks?: string;
+ licenseType?: string;
+ sqlServerLicenseType?: string;
+ validationErrors?: HealthError[];
+ lastRpoCalculatedTime?: Date;
+ lastUpdateReceivedTime?: Date;
+ replicaId?: string;
+ osVersion?: string;
+ protectedManagedDisks?: InMageAzureV2ManagedDiskDetails[];
+ readonly lastRecoveryPointReceived?: Date;
+ firmwareType?: string;
+ azureVmGeneration?: string;
+ isAdditionalStatsAvailable?: boolean;
+ totalDataTransferred?: number;
+ totalProgressHealth?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ seedManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+ switchProviderBlockingErrorDetails?: InMageAzureV2SwitchProviderBlockingErrorDetails[];
+ switchProviderDetails?: InMageAzureV2SwitchProviderDetails;
+};
+
+// @public
+export type InMageAzureV2ReprotectInput = ReverseReplicationProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+ masterTargetId?: string;
+ processServerId?: string;
+ storageAccountId?: string;
+ runAsAccountId?: string;
+ policyId?: string;
+ logStorageAccountId?: string;
+ disksToInclude?: string[];
+};
+
+// @public
+export interface InMageAzureV2SwitchProviderBlockingErrorDetails {
+ readonly errorCode?: string;
+ readonly errorMessage?: string;
+ readonly errorMessageParameters?: {
+ [propertyName: string]: string;
+ };
+ readonly errorTags?: {
+ [propertyName: string]: string;
+ };
+ readonly possibleCauses?: string;
+ readonly recommendedAction?: string;
+}
+
+// @public
+export interface InMageAzureV2SwitchProviderDetails {
+ readonly targetApplianceId?: string;
+ readonly targetFabricId?: string;
+ readonly targetResourceId?: string;
+ readonly targetVaultId?: string;
+}
+
+// @public
+export type InMageAzureV2SwitchProviderInput = SwitchProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+ targetVaultID: string;
+ targetFabricID: string;
+ targetApplianceID: string;
+};
+
+// @public
+export type InMageAzureV2TestFailoverInput = TestFailoverProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+ recoveryPointId?: string;
+};
+
+// @public
+export type InMageAzureV2UnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ instanceType: "InMageAzureV2";
+ recoveryPointId?: string;
+};
+
+// @public
+export type InMageAzureV2UpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ instanceType: "InMageAzureV2";
+ recoveryAzureV1ResourceGroupId?: string;
+ recoveryAzureV2ResourceGroupId?: string;
+ useManagedDisks?: string;
+ targetProximityPlacementGroupId?: string;
+ targetAvailabilityZone?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ targetManagedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+ sqlServerLicenseType?: SqlServerLicenseType;
+ vmDisks?: UpdateDiskInput[];
+};
+
+// @public
+export type InMageBasePolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "InMageBasePolicyDetails";
+ recoveryPointThresholdInMinutes?: number;
+ recoveryPointHistory?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus?: string;
+};
+
+// @public
+export type InMageDisableProtectionProviderSpecificInput = DisableProtectionProviderSpecificInput & {
+ instanceType: "InMage";
+ replicaVmDeletionStatus?: string;
+};
+
+// @public
+export interface InMageDiskDetails {
+ diskConfiguration?: string;
+ diskId?: string;
+ diskName?: string;
+ diskSizeInMB?: string;
+ diskType?: string;
+ volumeList?: DiskVolumeDetails[];
+}
+
+// @public
+export interface InMageDiskExclusionInput {
+ diskSignatureOptions?: InMageDiskSignatureExclusionOptions[];
+ volumeOptions?: InMageVolumeExclusionOptions[];
+}
+
+// @public
+export interface InMageDiskSignatureExclusionOptions {
+ diskSignature?: string;
+}
+
+// @public
+export type InMageEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ instanceType: "InMage";
+ vmFriendlyName?: string;
+ masterTargetId: string;
+ processServerId: string;
+ retentionDrive: string;
+ runAsAccountId?: string;
+ multiVmGroupId: string;
+ multiVmGroupName: string;
+ datastoreName?: string;
+ diskExclusionInput?: InMageDiskExclusionInput;
+ disksToInclude?: string[];
+};
+
+// @public
+export interface InMageFabricSwitchProviderBlockingErrorDetails {
+ readonly errorCode?: string;
+ readonly errorMessage?: string;
+ readonly errorMessageParameters?: {
+ [propertyName: string]: string;
+ };
+ readonly errorTags?: {
+ [propertyName: string]: string;
+ };
+ readonly possibleCauses?: string;
+ readonly recommendedAction?: string;
+}
+
+// @public
+export type InMagePolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "InMage";
+ recoveryPointThresholdInMinutes?: number;
+ recoveryPointHistory?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus?: string;
+};
+
+// @public
+export type InMagePolicyInput = PolicyProviderSpecificInput & {
+ instanceType: "InMage";
+ recoveryPointThresholdInMinutes?: number;
+ recoveryPointHistory?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+// @public
+export interface InMageProtectedDiskDetails {
+ diskCapacityInBytes?: number;
+ diskId?: string;
+ diskName?: string;
+ diskResized?: string;
+ fileSystemCapacityInBytes?: number;
+ healthErrorCode?: string;
+ lastRpoCalculatedTime?: Date;
+ progressHealth?: string;
+ progressStatus?: string;
+ protectionStage?: string;
+ psDataInMB?: number;
+ resyncDurationInSeconds?: number;
+ resyncLast15MinutesTransferredBytes?: number;
+ resyncLastDataTransferTimeUTC?: Date;
+ resyncProcessedBytes?: number;
+ resyncProgressPercentage?: number;
+ resyncRequired?: string;
+ resyncStartTime?: Date;
+ resyncTotalTransferredBytes?: number;
+ rpoInSeconds?: number;
+ sourceDataInMB?: number;
+ targetDataInMB?: number;
+}
+
+// @public
+export interface InMageRcmAgentUpgradeBlockingErrorDetails {
+ readonly errorCode?: string;
+ readonly errorMessage?: string;
+ readonly errorMessageParameters?: {
+ [propertyName: string]: string;
+ };
+ readonly errorTags?: {
+ [propertyName: string]: string;
+ };
+ readonly possibleCauses?: string;
+ readonly recommendedAction?: string;
+}
+
+// @public
+export interface InMageRcmApplianceDetails {
+ readonly dra?: DraDetails;
+ readonly fabricArmId?: string;
+ readonly id?: string;
+ readonly marsAgent?: MarsAgentDetails;
+ readonly name?: string;
+ readonly processServer?: ProcessServerDetails;
+ readonly pushInstaller?: PushInstallerDetails;
+ readonly rcmProxy?: RcmProxyDetails;
+ readonly replicationAgent?: ReplicationAgentDetails;
+ readonly reprotectAgent?: ReprotectAgentDetails;
+ readonly switchProviderBlockingErrorDetails?: InMageRcmFabricSwitchProviderBlockingErrorDetails[];
+}
+
+// @public
+export type InMageRcmApplianceSpecificDetails = ApplianceSpecificDetails & {
+ instanceType: "InMageRcm";
+ readonly appliances?: InMageRcmApplianceDetails[];
+};
+
+// @public
+export type InMageRcmApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ recoveryPointId: string;
+};
+
+// @public
+export interface InMageRcmDiscoveredProtectedVmDetails {
+ readonly createdTimestamp?: Date;
+ readonly datastores?: string[];
+ readonly ipAddresses?: string[];
+ readonly isDeleted?: boolean;
+ readonly lastDiscoveryTimeInUtc?: Date;
+ readonly osName?: string;
+ readonly powerStatus?: string;
+ readonly updatedTimestamp?: Date;
+ readonly vCenterFqdn?: string;
+ readonly vCenterId?: string;
+ readonly vmFqdn?: string;
+ readonly vmwareToolsStatus?: string;
+}
+
+// @public
+export interface InMageRcmDiskInput {
+ diskEncryptionSetId?: string;
+ diskId: string;
+ diskType: DiskAccountType;
+ logStorageAccountId: string;
+}
+
+// @public
+export interface InMageRcmDisksDefaultInput {
+ diskEncryptionSetId?: string;
+ diskType: DiskAccountType;
+ logStorageAccountId: string;
+}
+
+// @public
+export type InMageRcmEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ fabricDiscoveryMachineId: string;
+ disksToInclude?: InMageRcmDiskInput[];
+ disksDefault?: InMageRcmDisksDefaultInput;
+ targetResourceGroupId: string;
+ targetNetworkId?: string;
+ testNetworkId?: string;
+ targetSubnetName?: string;
+ testSubnetName?: string;
+ targetVmName?: string;
+ targetVmSize?: string;
+ licenseType?: LicenseType;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ targetBootDiagnosticsStorageAccountId?: string;
+ runAsAccountId?: string;
+ processServerId: string;
+ multiVmGroupName?: string;
+};
+
+// @public
+export type InMageRcmEventDetails = EventProviderSpecificDetails & {
+ instanceType: "InMageRcm";
+ readonly protectedItemName?: string;
+ readonly vmName?: string;
+ readonly latestAgentVersion?: string;
+ readonly jobId?: string;
+ readonly fabricName?: string;
+ readonly applianceName?: string;
+ readonly serverType?: string;
+ readonly componentDisplayName?: string;
+};
+
+// @public
+export type InMageRcmFabricCreationInput = FabricSpecificCreationInput & {
+ instanceType: "InMageRcm";
+ vmwareSiteId: string;
+ physicalSiteId: string;
+ sourceAgentIdentity: IdentityProviderInput;
+};
+
+// @public
+export type InMageRcmFabricSpecificDetails = FabricSpecificDetails & {
+ instanceType: "InMageRcm";
+ readonly vmwareSiteId?: string;
+ readonly physicalSiteId?: string;
+ readonly serviceEndpoint?: string;
+ readonly serviceResourceId?: string;
+ readonly serviceContainerId?: string;
+ readonly dataPlaneUri?: string;
+ readonly controlPlaneUri?: string;
+ sourceAgentIdentityDetails?: IdentityProviderDetails;
+ readonly processServers?: ProcessServerDetails[];
+ readonly rcmProxies?: RcmProxyDetails[];
+ readonly pushInstallers?: PushInstallerDetails[];
+ readonly replicationAgents?: ReplicationAgentDetails[];
+ readonly reprotectAgents?: ReprotectAgentDetails[];
+ readonly marsAgents?: MarsAgentDetails[];
+ readonly dras?: DraDetails[];
+ readonly agentDetails?: AgentDetails[];
+};
+
+// @public
+export interface InMageRcmFabricSwitchProviderBlockingErrorDetails {
+ readonly errorCode?: string;
+ readonly errorMessage?: string;
+ readonly errorMessageParameters?: {
+ [propertyName: string]: string;
+ };
+ readonly errorTags?: {
+ [propertyName: string]: string;
+ };
+ readonly possibleCauses?: string;
+ readonly recommendedAction?: string;
+}
+
+// @public
+export interface InMageRcmFailbackDiscoveredProtectedVmDetails {
+ readonly createdTimestamp?: Date;
+ readonly datastores?: string[];
+ readonly ipAddresses?: string[];
+ readonly isDeleted?: boolean;
+ readonly lastDiscoveryTimeInUtc?: Date;
+ readonly osName?: string;
+ readonly powerStatus?: string;
+ readonly updatedTimestamp?: Date;
+ readonly vCenterFqdn?: string;
+ readonly vCenterId?: string;
+ readonly vmFqdn?: string;
+ readonly vmwareToolsStatus?: string;
+}
+
+// @public
+export type InMageRcmFailbackEventDetails = EventProviderSpecificDetails & {
+ instanceType: "InMageRcmFailback";
+ readonly protectedItemName?: string;
+ readonly vmName?: string;
+ readonly applianceName?: string;
+ readonly serverType?: string;
+ readonly componentDisplayName?: string;
+};
+
+// @public
+export interface InMageRcmFailbackMobilityAgentDetails {
+ readonly agentVersionExpiryDate?: Date;
+ readonly driverVersion?: string;
+ readonly driverVersionExpiryDate?: Date;
+ readonly isUpgradeable?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly latestUpgradableVersionWithoutReboot?: string;
+ readonly latestVersion?: string;
+ readonly reasonsBlockingUpgrade?: AgentUpgradeBlockedReason[];
+ readonly version?: string;
+}
+
+// @public
+export interface InMageRcmFailbackNicDetails {
+ readonly adapterType?: string;
+ readonly macAddress?: string;
+ readonly networkName?: string;
+ readonly sourceIpAddress?: string;
+}
+
+// @public
+export type InMageRcmFailbackPlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & {
+ instanceType: "InMageRcmFailback";
+ recoveryPointType: InMageRcmFailbackRecoveryPointType;
+};
+
+// @public
+export type InMageRcmFailbackPolicyCreationInput = PolicyProviderSpecificInput & {
+ instanceType: "InMageRcmFailback";
+ crashConsistentFrequencyInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+};
+
+// @public
+export type InMageRcmFailbackPolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "InMageRcmFailback";
+ appConsistentFrequencyInMinutes?: number;
+ crashConsistentFrequencyInMinutes?: number;
+};
+
+// @public
+export interface InMageRcmFailbackProtectedDiskDetails {
+ readonly capacityInBytes?: number;
+ readonly dataPendingAtSourceAgentInMB?: number;
+ readonly dataPendingInLogDataStoreInMB?: number;
+ readonly diskId?: string;
+ readonly diskName?: string;
+ readonly diskUuid?: string;
+ irDetails?: InMageRcmFailbackSyncDetails;
+ readonly isInitialReplicationComplete?: string;
+ readonly isOSDisk?: string;
+ readonly lastSyncTime?: Date;
+ resyncDetails?: InMageRcmFailbackSyncDetails;
+}
+
+// @public
+export type InMageRcmFailbackRecoveryPointType = string;
+
+// @public
+export type InMageRcmFailbackReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "InMageRcmFailback";
+ readonly internalIdentifier?: string;
+ readonly azureVirtualMachineId?: string;
+ readonly multiVmGroupName?: string;
+ readonly reprotectAgentId?: string;
+ readonly reprotectAgentName?: string;
+ readonly osType?: string;
+ readonly logStorageAccountId?: string;
+ readonly targetvCenterId?: string;
+ readonly targetDataStoreName?: string;
+ readonly targetVmName?: string;
+ readonly initialReplicationProgressPercentage?: number;
+ readonly initialReplicationProcessedBytes?: number;
+ readonly initialReplicationTransferredBytes?: number;
+ readonly initialReplicationProgressHealth?: VmReplicationProgressHealth;
+ readonly resyncProgressPercentage?: number;
+ readonly resyncProcessedBytes?: number;
+ readonly resyncTransferredBytes?: number;
+ readonly resyncProgressHealth?: VmReplicationProgressHealth;
+ readonly resyncRequired?: string;
+ readonly resyncState?: ResyncState;
+ protectedDisks?: InMageRcmFailbackProtectedDiskDetails[];
+ mobilityAgentDetails?: InMageRcmFailbackMobilityAgentDetails;
+ vmNics?: InMageRcmFailbackNicDetails[];
+ readonly lastPlannedFailoverStartTime?: Date;
+ readonly lastPlannedFailoverStatus?: PlannedFailoverStatus;
+ discoveredVmDetails?: InMageRcmFailbackDiscoveredProtectedVmDetails;
+ readonly lastUsedPolicyId?: string;
+ readonly lastUsedPolicyFriendlyName?: string;
+ readonly isAgentRegistrationSuccessfulAfterFailover?: boolean;
+};
+
+// @public
+export type InMageRcmFailbackReprotectInput = ReverseReplicationProviderSpecificInput & {
+ instanceType: "InMageRcmFailback";
+ processServerId: string;
+ runAsAccountId?: string;
+ policyId: string;
+};
+
+// @public
+export interface InMageRcmFailbackSyncDetails {
+ readonly last15MinutesTransferredBytes?: number;
+ readonly lastDataTransferTimeUtc?: string;
+ readonly lastRefreshTime?: string;
+ readonly processedBytes?: number;
+ readonly progressHealth?: DiskReplicationProgressHealth;
+ readonly progressPercentage?: number;
+ readonly startTime?: string;
+ readonly transferredBytes?: number;
+}
+
+// @public
+export interface InMageRcmLastAgentUpgradeErrorDetails {
+ readonly errorCode?: string;
+ readonly errorMessage?: string;
+ readonly errorMessageParameters?: {
+ [propertyName: string]: string;
+ };
+ readonly errorTags?: {
+ [propertyName: string]: string;
+ };
+ readonly possibleCauses?: string;
+ readonly recommendedAction?: string;
+}
+
+// @public
+export interface InMageRcmMobilityAgentDetails {
+ readonly agentVersionExpiryDate?: Date;
+ readonly driverVersion?: string;
+ readonly driverVersionExpiryDate?: Date;
+ readonly isUpgradeable?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly latestAgentReleaseDate?: string;
+ readonly latestUpgradableVersionWithoutReboot?: string;
+ readonly latestVersion?: string;
+ readonly reasonsBlockingUpgrade?: AgentUpgradeBlockedReason[];
+ readonly version?: string;
+}
+
+// @public
+export interface InMageRcmNicDetails {
+ isPrimaryNic?: string;
+ isSelectedForFailover?: string;
+ readonly nicId?: string;
+ readonly sourceIPAddress?: string;
+ readonly sourceIPAddressType?: EthernetAddressType;
+ readonly sourceNetworkId?: string;
+ readonly sourceSubnetName?: string;
+ targetIPAddress?: string;
+ targetIPAddressType?: EthernetAddressType;
+ targetSubnetName?: string;
+ testIPAddress?: string;
+ testIPAddressType?: EthernetAddressType;
+ testSubnetName?: string;
+}
+
+// @public
+export interface InMageRcmNicInput {
+ isPrimaryNic: string;
+ isSelectedForFailover?: string;
+ nicId: string;
+ targetStaticIPAddress?: string;
+ targetSubnetName?: string;
+ testStaticIPAddress?: string;
+ testSubnetName?: string;
+}
+
+// @public
+export type InMageRcmPolicyCreationInput = PolicyProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ recoveryPointHistoryInMinutes?: number;
+ crashConsistentFrequencyInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+ enableMultiVmSync?: string;
+};
+
+// @public
+export type InMageRcmPolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "InMageRcm";
+ recoveryPointHistoryInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+ crashConsistentFrequencyInMinutes?: number;
+ enableMultiVmSync?: string;
+};
+
+// @public
+export interface InMageRcmProtectedDiskDetails {
+ readonly capacityInBytes?: number;
+ readonly dataPendingAtSourceAgentInMB?: number;
+ readonly dataPendingInLogDataStoreInMB?: number;
+ readonly diskEncryptionSetId?: string;
+ readonly diskId?: string;
+ readonly diskName?: string;
+ diskType?: DiskAccountType;
+ irDetails?: InMageRcmSyncDetails;
+ readonly isInitialReplicationComplete?: string;
+ readonly isOSDisk?: string;
+ readonly logStorageAccountId?: string;
+ resyncDetails?: InMageRcmSyncDetails;
+ readonly seedManagedDiskId?: string;
+ readonly targetManagedDiskId?: string;
+}
+
+// @public
+export type InMageRcmProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & {
+ instanceType: "InMageRcm";
+ readonly enableAgentAutoUpgrade?: string;
+};
+
+// @public
+export type InMageRcmRecoveryPointDetails = ProviderSpecificRecoveryPointDetails & {
+ instanceType: "InMageRcm";
+ readonly isMultiVmSyncPoint?: string;
+};
+
+// @public
+export type InMageRcmReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "InMageRcm";
+ readonly internalIdentifier?: string;
+ readonly fabricDiscoveryMachineId?: string;
+ readonly multiVmGroupName?: string;
+ readonly discoveryType?: string;
+ readonly processServerId?: string;
+ readonly processorCoreCount?: number;
+ readonly allocatedMemoryInMB?: number;
+ readonly processServerName?: string;
+ readonly runAsAccountId?: string;
+ readonly osType?: string;
+ readonly firmwareType?: string;
+ readonly primaryNicIpAddress?: string;
+ readonly targetGeneration?: string;
+ licenseType?: string;
+ targetVmName?: string;
+ targetVmSize?: string;
+ targetResourceGroupId?: string;
+ targetLocation?: string;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ targetBootDiagnosticsStorageAccountId?: string;
+ targetNetworkId?: string;
+ testNetworkId?: string;
+ readonly failoverRecoveryPointId?: string;
+ readonly lastRecoveryPointReceived?: Date;
+ readonly lastRpoInSeconds?: number;
+ readonly lastRpoCalculatedTime?: Date;
+ readonly lastRecoveryPointId?: string;
+ readonly initialReplicationProgressPercentage?: number;
+ readonly initialReplicationProcessedBytes?: number;
+ readonly initialReplicationTransferredBytes?: number;
+ readonly initialReplicationProgressHealth?: VmReplicationProgressHealth;
+ readonly resyncProgressPercentage?: number;
+ readonly resyncProcessedBytes?: number;
+ readonly resyncTransferredBytes?: number;
+ readonly resyncProgressHealth?: VmReplicationProgressHealth;
+ readonly resyncRequired?: string;
+ readonly resyncState?: ResyncState;
+ readonly agentUpgradeState?: MobilityAgentUpgradeState;
+ readonly lastAgentUpgradeType?: string;
+ readonly agentUpgradeJobId?: string;
+ readonly agentUpgradeAttemptToVersion?: string;
+ protectedDisks?: InMageRcmProtectedDiskDetails[];
+ readonly isLastUpgradeSuccessful?: string;
+ readonly isAgentRegistrationSuccessfulAfterFailover?: boolean;
+ mobilityAgentDetails?: InMageRcmMobilityAgentDetails;
+ lastAgentUpgradeErrorDetails?: InMageRcmLastAgentUpgradeErrorDetails[];
+ agentUpgradeBlockingErrorDetails?: InMageRcmAgentUpgradeBlockingErrorDetails[];
+ vmNics?: InMageRcmNicDetails[];
+ discoveredVmDetails?: InMageRcmDiscoveredProtectedVmDetails;
+};
+
+// @public
+export type InMageRcmReprotectInput = ReverseReplicationProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ reprotectAgentId: string;
+ datastoreName: string;
+ logStorageAccountId: string;
+ policyId?: string;
+};
+
+// @public
+export interface InMageRcmSyncDetails {
+ readonly last15MinutesTransferredBytes?: number;
+ readonly lastDataTransferTimeUtc?: string;
+ readonly lastRefreshTime?: string;
+ readonly processedBytes?: number;
+ readonly progressHealth?: DiskReplicationProgressHealth;
+ readonly progressPercentage?: number;
+ readonly startTime?: string;
+ readonly transferredBytes?: number;
+}
+
+// @public
+export type InMageRcmTestFailoverInput = TestFailoverProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ networkId?: string;
+ recoveryPointId?: string;
+};
+
+// @public
+export type InMageRcmUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ performShutdown: string;
+ recoveryPointId?: string;
+};
+
+// @public
+export type InMageRcmUpdateApplianceForReplicationProtectedItemInput = UpdateApplianceForReplicationProtectedItemProviderSpecificInput & {
+ instanceType: "InMageRcm";
+ runAsAccountId?: string;
+};
+
+// @public
+export type InMageRcmUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & {
+ instanceType: "InMageRcm";
+ enableAgentAutoUpgrade: string;
+};
+
+// @public
+export type InMageRcmUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ instanceType: "InMageRcm";
+ targetVmName?: string;
+ targetVmSize?: string;
+ targetResourceGroupId?: string;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ targetBootDiagnosticsStorageAccountId?: string;
+ targetNetworkId?: string;
+ testNetworkId?: string;
+ vmNics?: InMageRcmNicInput[];
+ licenseType?: LicenseType;
+};
+
+// @public
+export type InMageReplicationDetails = ReplicationProviderSpecificSettings & {
+ instanceType: "InMage";
+ activeSiteType?: string;
+ sourceVmCpuCount?: number;
+ sourceVmRamSizeInMB?: number;
+ osDetails?: OSDiskDetails;
+ protectionStage?: string;
+ vmId?: string;
+ vmProtectionState?: string;
+ vmProtectionStateDescription?: string;
+ resyncDetails?: InitialReplicationDetails;
+ retentionWindowStart?: Date;
+ retentionWindowEnd?: Date;
+ compressedDataRateInMB?: number;
+ uncompressedDataRateInMB?: number;
+ rpoInSeconds?: number;
+ protectedDisks?: InMageProtectedDiskDetails[];
+ ipAddress?: string;
+ lastHeartbeat?: Date;
+ processServerId?: string;
+ masterTargetId?: string;
+ consistencyPoints?: {
+ [propertyName: string]: Date;
+ };
+ diskResized?: string;
+ rebootAfterUpdateStatus?: string;
+ multiVmGroupId?: string;
+ multiVmGroupName?: string;
+ multiVmSyncStatus?: string;
+ agentDetails?: InMageAgentDetails;
+ vCenterInfrastructureId?: string;
+ infrastructureVmId?: string;
+ vmNics?: VMNicDetails[];
+ discoveryType?: string;
+ azureStorageAccountId?: string;
+ datastores?: string[];
+ validationErrors?: HealthError[];
+ lastRpoCalculatedTime?: Date;
+ lastUpdateReceivedTime?: Date;
+ replicaId?: string;
+ osVersion?: string;
+ isAdditionalStatsAvailable?: boolean;
+ totalDataTransferred?: number;
+ totalProgressHealth?: string;
+};
+
+// @public
+export type InMageReprotectInput = ReverseReplicationProviderSpecificInput & {
+ instanceType: "InMage";
+ masterTargetId: string;
+ processServerId: string;
+ retentionDrive: string;
+ runAsAccountId?: string;
+ datastoreName?: string;
+ diskExclusionInput?: InMageDiskExclusionInput;
+ profileId: string;
+ disksToInclude?: string[];
+};
+
+// @public
+export type InMageTestFailoverInput = TestFailoverProviderSpecificInput & {
+ instanceType: "InMage";
+ recoveryPointType?: RecoveryPointType;
+ recoveryPointId?: string;
+};
+
+// @public
+export type InMageUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ instanceType: "InMage";
+ recoveryPointType?: RecoveryPointType;
+ recoveryPointId?: string;
+};
+
+// @public
+export type InMageV2RpRecoveryPointType = string;
+
+// @public
+export interface InMageVolumeExclusionOptions {
+ onlyExcludeIfSingleVolume?: string;
+ volumeLabel?: string;
+}
+
+// @public
+export interface InnerHealthError {
+ creationTimeUtc?: Date;
+ customerResolvability?: HealthErrorCustomerResolvability;
+ entityId?: string;
+ errorCategory?: string;
+ errorCode?: string;
+ errorId?: string;
+ errorLevel?: string;
+ errorMessage?: string;
+ errorSource?: string;
+ errorType?: string;
+ possibleCauses?: string;
+ recommendedAction?: string;
+ recoveryProviderErrorMessage?: string;
+ summaryMessage?: string;
+}
+
+// @public (undocumented)
+export interface InputEndpoint {
+ // (undocumented)
+ endpointName?: string;
+ // (undocumented)
+ privatePort?: number;
+ // (undocumented)
+ protocol?: string;
+ // (undocumented)
+ publicPort?: number;
+}
+
+// @public (undocumented)
+export interface IPConfigDetails {
+ // (undocumented)
+ ipAddressType?: string;
+ // (undocumented)
+ isPrimary?: boolean;
+ // (undocumented)
+ isSeletedForFailover?: boolean;
+ // (undocumented)
+ name?: string;
+ // (undocumented)
+ recoveryIPAddressType?: string;
+ // (undocumented)
+ recoveryLBBackendAddressPoolIds?: string[];
+ // (undocumented)
+ recoveryPublicIPAddressId?: string;
+ // (undocumented)
+ recoveryStaticIPAddress?: string;
+ // (undocumented)
+ recoverySubnetName?: string;
+ // (undocumented)
+ staticIPAddress?: string;
+ // (undocumented)
+ subnetName?: string;
+ // (undocumented)
+ tfoLBBackendAddressPoolIds?: string[];
+ // (undocumented)
+ tfoPublicIPAddressId?: string;
+ // (undocumented)
+ tfoStaticIPAddress?: string;
+ // (undocumented)
+ tfoSubnetName?: string;
+}
+
+// @public (undocumented)
+export interface IPConfigInputDetails {
+ // (undocumented)
+ ipConfigName?: string;
+ // (undocumented)
+ isPrimary?: boolean;
+ // (undocumented)
+ isSeletedForFailover?: boolean;
+ // (undocumented)
+ recoveryLBBackendAddressPoolIds?: string[];
+ // (undocumented)
+ recoveryPublicIPAddressId?: string;
+ // (undocumented)
+ recoveryStaticIPAddress?: string;
+ // (undocumented)
+ recoverySubnetName?: string;
+ // (undocumented)
+ tfoLBBackendAddressPoolIds?: string[];
+ // (undocumented)
+ tfoPublicIPAddressId?: string;
+ // (undocumented)
+ tfoStaticIPAddress?: string;
+ // (undocumented)
+ tfoSubnetName?: string;
+}
+
+// @public
+export type Job = Resource & {
+ properties?: JobProperties;
+};
+
+// @public
+export interface JobCollection {
+ nextLink?: string;
+ value?: Job[];
+}
+
+// @public
+export interface JobDetails {
+ affectedObjectDetails?: {
+ [propertyName: string]: string;
+ };
+ instanceType: "AsrJobDetails" | "ExportJobDetails" | "FailoverJobDetails" | "SwitchProtectionJobDetails" | "TestFailoverJobDetails";
+}
+
+// @public (undocumented)
+export type JobDetailsUnion = JobDetails | AsrJobDetails | ExportJobDetails | FailoverJobDetails | SwitchProtectionJobDetails | TestFailoverJobDetails;
+
+// @public
+export interface JobEntity {
+ jobFriendlyName?: string;
+ jobId?: string;
+ jobScenarioName?: string;
+ targetInstanceType?: string;
+ targetObjectId?: string;
+ targetObjectName?: string;
+}
+
+// @public
+export interface JobErrorDetails {
+ creationTime?: Date;
+ errorLevel?: string;
+ providerErrorDetails?: ProviderError;
+ serviceErrorDetails?: ServiceError;
+ taskId?: string;
+}
+
+// @public
+export interface JobProperties {
+ activityId?: string;
+ allowedActions?: string[];
+ customDetails?: JobDetailsUnion;
+ endTime?: Date;
+ errors?: JobErrorDetails[];
+ friendlyName?: string;
+ scenarioName?: string;
+ startTime?: Date;
+ state?: string;
+ stateDescription?: string;
+ targetInstanceType?: string;
+ targetObjectId?: string;
+ targetObjectName?: string;
+ tasks?: ASRTask[];
+}
+
+// @public
+export interface JobQueryParameter {
+ affectedObjectTypes?: string;
+ endTime?: string;
+ fabricId?: string;
+ jobName?: string;
+ jobOutputType?: ExportJobOutputSerializationType;
+ jobStatus?: string;
+ startTime?: string;
+ timezoneOffset?: number;
+}
+
+// @public
+export type JobStatusEventDetails = EventSpecificDetails & {
+ instanceType: "JobStatus";
+ jobId?: string;
+ jobFriendlyName?: string;
+ jobStatus?: string;
+ affectedObjectType?: string;
+};
+
+// @public
+export type JobTaskDetails = TaskTypeDetails & {
+ instanceType: "JobTaskDetails" | "FabricReplicationGroupTaskDetails" | "VirtualMachineTaskDetails";
+ jobTask?: JobEntity;
+};
+
+// @public (undocumented)
+export type JobTaskDetailsUnion = JobTaskDetails | FabricReplicationGroupTaskDetails | VirtualMachineTaskDetails;
+
+// @public
+export interface KeyEncryptionKeyInfo {
+ keyIdentifier?: string;
+ keyVaultResourceArmId?: string;
+}
+
+// @public
+export enum KnownA2ARecoveryAvailabilityType {
+ // (undocumented)
+ AvailabilitySet = "AvailabilitySet",
+ // (undocumented)
+ AvailabilityZone = "AvailabilityZone",
+ // (undocumented)
+ Single = "Single"
+}
+
+// @public
+export enum KnownA2ARpRecoveryPointType {
+ // (undocumented)
+ Latest = "Latest",
+ // (undocumented)
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ // (undocumented)
+ LatestCrashConsistent = "LatestCrashConsistent",
+ // (undocumented)
+ LatestProcessed = "LatestProcessed"
+}
+
+// @public
+export enum KnownAgentAutoUpdateStatus {
+ // (undocumented)
+ Disabled = "Disabled",
+ // (undocumented)
+ Enabled = "Enabled"
+}
+
+// @public
+export enum KnownAgentUpgradeBlockedReason {
+ // (undocumented)
+ AgentNoHeartbeat = "AgentNoHeartbeat",
+ // (undocumented)
+ AlreadyOnLatestVersion = "AlreadyOnLatestVersion",
+ // (undocumented)
+ DistroIsNotReported = "DistroIsNotReported",
+ // (undocumented)
+ DistroNotSupportedForUpgrade = "DistroNotSupportedForUpgrade",
+ // (undocumented)
+ IncompatibleApplianceVersion = "IncompatibleApplianceVersion",
+ // (undocumented)
+ InvalidAgentVersion = "InvalidAgentVersion",
+ // (undocumented)
+ InvalidDriverVersion = "InvalidDriverVersion",
+ // (undocumented)
+ MissingUpgradePath = "MissingUpgradePath",
+ // (undocumented)
+ NotProtected = "NotProtected",
+ // (undocumented)
+ ProcessServerNoHeartbeat = "ProcessServerNoHeartbeat",
+ // (undocumented)
+ RcmProxyNoHeartbeat = "RcmProxyNoHeartbeat",
+ // (undocumented)
+ RebootRequired = "RebootRequired",
+ // (undocumented)
+ Unknown = "Unknown",
+ // (undocumented)
+ UnsupportedProtectionScenario = "UnsupportedProtectionScenario"
+}
+
+// @public
+export enum KnownAgentVersionStatus {
+ // (undocumented)
+ Deprecated = "Deprecated",
+ // (undocumented)
+ NotSupported = "NotSupported",
+ // (undocumented)
+ SecurityUpdateRequired = "SecurityUpdateRequired",
+ // (undocumented)
+ Supported = "Supported",
+ // (undocumented)
+ UpdateRequired = "UpdateRequired"
+}
+
+// @public
+export enum KnownAlternateLocationRecoveryOption {
+ // (undocumented)
+ CreateVmIfNotFound = "CreateVmIfNotFound",
+ // (undocumented)
+ NoAction = "NoAction"
+}
+
+// @public
+export enum KnownAutomationAccountAuthenticationType {
+ // (undocumented)
+ RunAsAccount = "RunAsAccount",
+ // (undocumented)
+ SystemAssignedIdentity = "SystemAssignedIdentity"
+}
+
+// @public
+export enum KnownAutoProtectionOfDataDisk {
+ // (undocumented)
+ Disabled = "Disabled",
+ // (undocumented)
+ Enabled = "Enabled"
+}
+
+// @public
+export enum KnownDataSyncStatus {
+ // (undocumented)
+ ForDownTime = "ForDownTime",
+ // (undocumented)
+ ForSynchronization = "ForSynchronization"
+}
+
+// @public
+export enum KnownDisableProtectionReason {
+ // (undocumented)
+ MigrationComplete = "MigrationComplete",
+ // (undocumented)
+ NotSpecified = "NotSpecified"
+}
+
+// @public
+export enum KnownDiskAccountType {
+ // (undocumented)
+ PremiumLRS = "Premium_LRS",
+ // (undocumented)
+ StandardLRS = "Standard_LRS",
+ // (undocumented)
+ StandardSSDLRS = "StandardSSD_LRS"
+}
+
+// @public
+export enum KnownDiskReplicationProgressHealth {
+ // (undocumented)
+ InProgress = "InProgress",
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ NoProgress = "NoProgress",
+ // (undocumented)
+ Queued = "Queued",
+ // (undocumented)
+ SlowProgress = "SlowProgress"
+}
+
+// @public
+export enum KnownEthernetAddressType {
+ // (undocumented)
+ Dynamic = "Dynamic",
+ // (undocumented)
+ Static = "Static"
+}
+
+// @public
+export enum KnownExportJobOutputSerializationType {
+ // (undocumented)
+ Excel = "Excel",
+ // (undocumented)
+ Json = "Json",
+ // (undocumented)
+ Xml = "Xml"
+}
+
+// @public
+export enum KnownExtendedLocationType {
+ // (undocumented)
+ EdgeZone = "EdgeZone"
+}
+
+// @public
+export enum KnownFailoverDeploymentModel {
+ // (undocumented)
+ Classic = "Classic",
+ // (undocumented)
+ NotApplicable = "NotApplicable",
+ // (undocumented)
+ ResourceManager = "ResourceManager"
+}
+
+// @public
+export enum KnownHealthErrorCategory {
+ // (undocumented)
+ AgentAutoUpdateArtifactDeleted = "AgentAutoUpdateArtifactDeleted",
+ // (undocumented)
+ AgentAutoUpdateInfra = "AgentAutoUpdateInfra",
+ // (undocumented)
+ AgentAutoUpdateRunAsAccount = "AgentAutoUpdateRunAsAccount",
+ // (undocumented)
+ AgentAutoUpdateRunAsAccountExpired = "AgentAutoUpdateRunAsAccountExpired",
+ // (undocumented)
+ AgentAutoUpdateRunAsAccountExpiry = "AgentAutoUpdateRunAsAccountExpiry",
+ // (undocumented)
+ Configuration = "Configuration",
+ // (undocumented)
+ FabricInfrastructure = "FabricInfrastructure",
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ Replication = "Replication",
+ // (undocumented)
+ TestFailover = "TestFailover",
+ // (undocumented)
+ VersionExpiry = "VersionExpiry"
+}
+
+// @public
+export enum KnownHealthErrorCustomerResolvability {
+ // (undocumented)
+ Allowed = "Allowed",
+ // (undocumented)
+ NotAllowed = "NotAllowed"
+}
+
+// @public
+export enum KnownHyperVReplicaAzureRpRecoveryPointType {
+ // (undocumented)
+ Latest = "Latest",
+ // (undocumented)
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ // (undocumented)
+ LatestProcessed = "LatestProcessed"
+}
+
+// @public
+export enum KnownInMageRcmFailbackRecoveryPointType {
+ // (undocumented)
+ ApplicationConsistent = "ApplicationConsistent",
+ // (undocumented)
+ CrashConsistent = "CrashConsistent"
+}
+
+// @public
+export enum KnownInMageV2RpRecoveryPointType {
+ // (undocumented)
+ Latest = "Latest",
+ // (undocumented)
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ // (undocumented)
+ LatestCrashConsistent = "LatestCrashConsistent",
+ // (undocumented)
+ LatestProcessed = "LatestProcessed"
+}
+
+// @public
+export enum KnownLicenseType {
+ // (undocumented)
+ NoLicenseType = "NoLicenseType",
+ // (undocumented)
+ NotSpecified = "NotSpecified",
+ // (undocumented)
+ WindowsServer = "WindowsServer"
+}
+
+// @public
+export enum KnownMigrationItemOperation {
+ // (undocumented)
+ DisableMigration = "DisableMigration",
+ // (undocumented)
+ Migrate = "Migrate",
+ // (undocumented)
+ StartResync = "StartResync",
+ // (undocumented)
+ TestMigrate = "TestMigrate",
+ // (undocumented)
+ TestMigrateCleanup = "TestMigrateCleanup"
+}
+
+// @public
+export enum KnownMigrationRecoveryPointType {
+ // (undocumented)
+ ApplicationConsistent = "ApplicationConsistent",
+ // (undocumented)
+ CrashConsistent = "CrashConsistent",
+ // (undocumented)
+ NotSpecified = "NotSpecified"
+}
+
+// @public
+export enum KnownMigrationState {
+ // (undocumented)
+ DisableMigrationFailed = "DisableMigrationFailed",
+ // (undocumented)
+ DisableMigrationInProgress = "DisableMigrationInProgress",
+ // (undocumented)
+ EnableMigrationFailed = "EnableMigrationFailed",
+ // (undocumented)
+ EnableMigrationInProgress = "EnableMigrationInProgress",
+ // (undocumented)
+ InitialSeedingFailed = "InitialSeedingFailed",
+ // (undocumented)
+ InitialSeedingInProgress = "InitialSeedingInProgress",
+ // (undocumented)
+ MigrationFailed = "MigrationFailed",
+ // (undocumented)
+ MigrationInProgress = "MigrationInProgress",
+ // (undocumented)
+ MigrationSucceeded = "MigrationSucceeded",
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ Replicating = "Replicating"
+}
+
+// @public
+export enum KnownMobilityAgentUpgradeState {
+ // (undocumented)
+ Commit = "Commit",
+ // (undocumented)
+ Completed = "Completed",
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ Started = "Started"
+}
+
+// @public
+export enum KnownMultiVmGroupCreateOption {
+ // (undocumented)
+ AutoCreated = "AutoCreated",
+ // (undocumented)
+ UserSpecified = "UserSpecified"
+}
+
+// @public
+export enum KnownMultiVmSyncPointOption {
+ // (undocumented)
+ UseMultiVmSyncRecoveryPoint = "UseMultiVmSyncRecoveryPoint",
+ // (undocumented)
+ UsePerVmRecoveryPoint = "UsePerVmRecoveryPoint"
+}
+
+// @public
+export enum KnownPlannedFailoverStatus {
+ // (undocumented)
+ Cancelled = "Cancelled",
+ // (undocumented)
+ Failed = "Failed",
+ // (undocumented)
+ Succeeded = "Succeeded",
+ // (undocumented)
+ Unknown = "Unknown"
+}
+
+// @public
+export enum KnownPossibleOperationsDirections {
+ // (undocumented)
+ PrimaryToRecovery = "PrimaryToRecovery",
+ // (undocumented)
+ RecoveryToPrimary = "RecoveryToPrimary"
+}
+
+// @public
+export enum KnownPresenceStatus {
+ // (undocumented)
+ NotPresent = "NotPresent",
+ // (undocumented)
+ Present = "Present",
+ // (undocumented)
+ Unknown = "Unknown"
+}
+
+// @public
+export enum KnownProtectionHealth {
+ // (undocumented)
+ Critical = "Critical",
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ Normal = "Normal",
+ // (undocumented)
+ Warning = "Warning"
+}
+
+// @public
+export enum KnownRcmComponentStatus {
+ // (undocumented)
+ Critical = "Critical",
+ // (undocumented)
+ Healthy = "Healthy",
+ // (undocumented)
+ Unknown = "Unknown",
+ // (undocumented)
+ Warning = "Warning"
+}
+
+// @public
+export enum KnownRecoveryPlanActionLocation {
+ // (undocumented)
+ Primary = "Primary",
+ // (undocumented)
+ Recovery = "Recovery"
+}
+
+// @public
+export enum KnownRecoveryPlanGroupType {
+ // (undocumented)
+ Boot = "Boot",
+ // (undocumented)
+ Failover = "Failover",
+ // (undocumented)
+ Shutdown = "Shutdown"
+}
+
+// @public
+export enum KnownRecoveryPlanPointType {
+ // (undocumented)
+ Latest = "Latest",
+ // (undocumented)
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ // (undocumented)
+ LatestCrashConsistent = "LatestCrashConsistent",
+ // (undocumented)
+ LatestProcessed = "LatestProcessed"
+}
+
+// @public
+export enum KnownRecoveryPointSyncType {
+ // (undocumented)
+ MultiVmSyncRecoveryPoint = "MultiVmSyncRecoveryPoint",
+ // (undocumented)
+ PerVmRecoveryPoint = "PerVmRecoveryPoint"
+}
+
+// @public
+export enum KnownRecoveryPointType {
+ // (undocumented)
+ Custom = "Custom",
+ // (undocumented)
+ LatestTag = "LatestTag",
+ // (undocumented)
+ LatestTime = "LatestTime"
+}
+
+// @public
+export enum KnownReplicationProtectedItemOperation {
+ // (undocumented)
+ CancelFailover = "CancelFailover",
+ // (undocumented)
+ ChangePit = "ChangePit",
+ // (undocumented)
+ Commit = "Commit",
+ // (undocumented)
+ CompleteMigration = "CompleteMigration",
+ // (undocumented)
+ DisableProtection = "DisableProtection",
+ // (undocumented)
+ Failback = "Failback",
+ // (undocumented)
+ FinalizeFailback = "FinalizeFailback",
+ // (undocumented)
+ PlannedFailover = "PlannedFailover",
+ // (undocumented)
+ RepairReplication = "RepairReplication",
+ // (undocumented)
+ ReverseReplicate = "ReverseReplicate",
+ // (undocumented)
+ SwitchProtection = "SwitchProtection",
+ // (undocumented)
+ TestFailover = "TestFailover",
+ // (undocumented)
+ TestFailoverCleanup = "TestFailoverCleanup",
+ // (undocumented)
+ UnplannedFailover = "UnplannedFailover"
+}
+
+// @public
+export enum KnownResyncState {
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ PreparedForResynchronization = "PreparedForResynchronization",
+ // (undocumented)
+ StartedResynchronization = "StartedResynchronization"
+}
+
+// @public
+export enum KnownRpInMageRecoveryPointType {
+ // (undocumented)
+ Custom = "Custom",
+ // (undocumented)
+ LatestTag = "LatestTag",
+ // (undocumented)
+ LatestTime = "LatestTime"
+}
+
+// @public
+export enum KnownSetMultiVmSyncStatus {
+ // (undocumented)
+ Disable = "Disable",
+ // (undocumented)
+ Enable = "Enable"
+}
+
+// @public
+export enum KnownSeverity {
+ // (undocumented)
+ Error = "Error",
+ // (undocumented)
+ Info = "Info",
+ // (undocumented)
+ None = "NONE",
+ // (undocumented)
+ Warning = "Warning"
+}
+
+// @public
+export enum KnownSourceSiteOperations {
+ // (undocumented)
+ NotRequired = "NotRequired",
+ // (undocumented)
+ Required = "Required"
+}
+
+// @public
+export enum KnownSqlServerLicenseType {
+ // (undocumented)
+ Ahub = "AHUB",
+ // (undocumented)
+ NoLicenseType = "NoLicenseType",
+ // (undocumented)
+ NotSpecified = "NotSpecified",
+ // (undocumented)
+ Payg = "PAYG"
+}
+
+// @public
+export enum KnownTestMigrationState {
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ TestMigrationCleanupInProgress = "TestMigrationCleanupInProgress",
+ // (undocumented)
+ TestMigrationFailed = "TestMigrationFailed",
+ // (undocumented)
+ TestMigrationInProgress = "TestMigrationInProgress",
+ // (undocumented)
+ TestMigrationSucceeded = "TestMigrationSucceeded"
+}
+
+// @public
+export enum KnownVmEncryptionType {
+ // (undocumented)
+ NotEncrypted = "NotEncrypted",
+ // (undocumented)
+ OnePassEncrypted = "OnePassEncrypted",
+ // (undocumented)
+ TwoPassEncrypted = "TwoPassEncrypted"
+}
+
+// @public
+export enum KnownVmReplicationProgressHealth {
+ // (undocumented)
+ InProgress = "InProgress",
+ // (undocumented)
+ None = "None",
+ // (undocumented)
+ NoProgress = "NoProgress",
+ // (undocumented)
+ SlowProgress = "SlowProgress"
+}
+
+// @public
+export type LicenseType = string;
+
+// @public
+export type LogicalNetwork = Resource & {
+ properties?: LogicalNetworkProperties;
+};
+
+// @public
+export interface LogicalNetworkCollection {
+ nextLink?: string;
+ value?: LogicalNetwork[];
+}
+
+// @public
+export interface LogicalNetworkProperties {
+ friendlyName?: string;
+ logicalNetworkDefinitionsStatus?: string;
+ logicalNetworkUsage?: string;
+ networkVirtualizationStatus?: string;
+}
+
+// @public
+export type ManualActionTaskDetails = TaskTypeDetails & {
+ instanceType: "ManualActionTaskDetails";
+ name?: string;
+ instructions?: string;
+ observation?: string;
+};
+
+// @public
+export interface MarsAgentDetails {
+ readonly biosId?: string;
+ readonly fabricObjectId?: string;
+ readonly fqdn?: string;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly id?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly name?: string;
+ readonly version?: string;
+}
+
+// @public
+export interface MasterTargetServer {
+ agentExpiryDate?: Date;
+ agentVersion?: string;
+ agentVersionDetails?: VersionDetails;
+ dataStores?: DataStore[];
+ diskCount?: number;
+ healthErrors?: HealthError[];
+ id?: string;
+ ipAddress?: string;
+ lastHeartbeat?: Date;
+ marsAgentExpiryDate?: Date;
+ marsAgentVersion?: string;
+ marsAgentVersionDetails?: VersionDetails;
+ name?: string;
+ osType?: string;
+ osVersion?: string;
+ retentionVolumes?: RetentionVolume[];
+ validationErrors?: HealthError[];
+ versionStatus?: string;
+}
+
+// @public
+export interface MigrateInput {
+ properties: MigrateInputProperties;
+}
+
+// @public
+export interface MigrateInputProperties {
+ providerSpecificDetails: MigrateProviderSpecificInputUnion;
+}
+
+// @public
+export interface MigrateProviderSpecificInput {
+ instanceType: "VMwareCbt";
+}
+
+// @public (undocumented)
+export type MigrateProviderSpecificInputUnion = MigrateProviderSpecificInput | VMwareCbtMigrateInput;
+
+// @public
+export type MigrationItem = Resource & {
+ properties?: MigrationItemProperties;
+};
+
+// @public
+export interface MigrationItemCollection {
+ nextLink?: string;
+ value?: MigrationItem[];
+}
+
+// @public
+export type MigrationItemOperation = string;
+
+// @public
+export interface MigrationItemProperties {
+ readonly allowedOperations?: MigrationItemOperation[];
+ readonly currentJob?: CurrentJobDetails;
+ readonly eventCorrelationId?: string;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly lastTestMigrationStatus?: string;
+ readonly lastTestMigrationTime?: Date;
+ readonly machineName?: string;
+ readonly migrationState?: MigrationState;
+ readonly migrationStateDescription?: string;
+ readonly policyFriendlyName?: string;
+ readonly policyId?: string;
+ providerSpecificDetails?: MigrationProviderSpecificSettingsUnion;
+ readonly testMigrateState?: TestMigrationState;
+ readonly testMigrateStateDescription?: string;
+}
+
+// @public
+export interface MigrationItemsQueryParameter {
+ instanceType?: string;
+ sourceContainerName?: string;
+ sourceFabricName?: string;
+}
+
+// @public
+export interface MigrationProviderSpecificSettings {
+ instanceType: "VMwareCbt";
+}
+
+// @public (undocumented)
+export type MigrationProviderSpecificSettingsUnion = MigrationProviderSpecificSettings | VMwareCbtMigrationDetails;
+
+// @public
+export type MigrationRecoveryPoint = Resource & {
+ properties?: MigrationRecoveryPointProperties;
+};
+
+// @public
+export interface MigrationRecoveryPointCollection {
+ nextLink?: string;
+ value?: MigrationRecoveryPoint[];
+}
+
+// @public
+export interface MigrationRecoveryPointProperties {
+ readonly recoveryPointTime?: Date;
+ readonly recoveryPointType?: MigrationRecoveryPointType;
+}
+
+// @public
+export interface MigrationRecoveryPoints {
+ get(fabricName: string, protectionContainerName: string, migrationItemName: string, migrationRecoveryPointName: string, options?: MigrationRecoveryPointsGetOptionalParams): Promise;
+ listByReplicationMigrationItems(fabricName: string, protectionContainerName: string, migrationItemName: string, options?: MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface MigrationRecoveryPointsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type MigrationRecoveryPointsGetResponse = MigrationRecoveryPoint;
+
+// @public
+export interface MigrationRecoveryPointsListByReplicationMigrationItemsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type MigrationRecoveryPointsListByReplicationMigrationItemsNextResponse = MigrationRecoveryPointCollection;
+
+// @public
+export interface MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type MigrationRecoveryPointsListByReplicationMigrationItemsResponse = MigrationRecoveryPointCollection;
+
+// @public
+export type MigrationRecoveryPointType = string;
+
+// @public
+export type MigrationState = string;
+
+// @public
+export type MobilityAgentUpgradeState = string;
+
+// @public
+export interface MobilityServiceUpdate {
+ osType?: string;
+ rebootStatus?: string;
+ version?: string;
+}
+
+// @public
+export type MultiVmGroupCreateOption = string;
+
+// @public
+export type MultiVmSyncPointOption = string;
+
+// @public
+export type Network = Resource & {
+ properties?: NetworkProperties;
+};
+
+// @public
+export interface NetworkCollection {
+ nextLink?: string;
+ value?: Network[];
+}
+
+// @public
+export type NetworkMapping = Resource & {
+ properties?: NetworkMappingProperties;
+};
+
+// @public
+export interface NetworkMappingCollection {
+ nextLink?: string;
+ value?: NetworkMapping[];
+}
+
+// @public
+export interface NetworkMappingFabricSpecificSettings {
+ instanceType: "AzureToAzure" | "VmmToAzure" | "VmmToVmm";
+}
+
+// @public (undocumented)
+export type NetworkMappingFabricSpecificSettingsUnion = NetworkMappingFabricSpecificSettings | AzureToAzureNetworkMappingSettings | VmmToAzureNetworkMappingSettings | VmmToVmmNetworkMappingSettings;
+
+// @public
+export interface NetworkMappingProperties {
+ fabricSpecificSettings?: NetworkMappingFabricSpecificSettingsUnion;
+ primaryFabricFriendlyName?: string;
+ primaryNetworkFriendlyName?: string;
+ primaryNetworkId?: string;
+ recoveryFabricArmId?: string;
+ recoveryFabricFriendlyName?: string;
+ recoveryNetworkFriendlyName?: string;
+ recoveryNetworkId?: string;
+ state?: string;
+}
+
+// @public
+export interface NetworkProperties {
+ fabricType?: string;
+ friendlyName?: string;
+ networkType?: string;
+ subnets?: Subnet[];
+}
+
+// @public
+export type NewProtectionProfile = ProtectionProfileCustomDetails & {
+ resourceType: "New";
+ policyName: string;
+ recoveryPointHistory?: number;
+ crashConsistentFrequencyInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+// @public
+export type NewRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & {
+ resourceType: "New";
+ recoveryVirtualNetworkResourceGroupName?: string;
+ recoveryVirtualNetworkName?: string;
+};
+
+// @public
+export interface Operations {
+ list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface OperationsDiscovery {
+ display?: Display;
+ name?: string;
+ origin?: string;
+ properties?: Record;
+}
+
+// @public
+export interface OperationsDiscoveryCollection {
+ nextLink?: string;
+ value?: OperationsDiscovery[];
+}
+
+// @public
+export interface OperationsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type OperationsListNextResponse = OperationsDiscoveryCollection;
+
+// @public
+export interface OperationsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type OperationsListResponse = OperationsDiscoveryCollection;
+
+// @public
+export interface OSDetails {
+ osEdition?: string;
+ oSMajorVersion?: string;
+ oSMinorVersion?: string;
+ osType?: string;
+ oSVersion?: string;
+ productType?: string;
+}
+
+// @public
+export interface OSDiskDetails {
+ osType?: string;
+ osVhdId?: string;
+ vhdName?: string;
+}
+
+// @public
+export interface OSVersionWrapper {
+ servicePack?: string;
+ version?: string;
+}
+
+// @public
+export interface PlannedFailoverInput {
+ properties?: PlannedFailoverInputProperties;
+}
+
+// @public
+export interface PlannedFailoverInputProperties {
+ failoverDirection?: string;
+ providerSpecificDetails?: PlannedFailoverProviderSpecificFailoverInputUnion;
+}
+
+// @public
+export interface PlannedFailoverProviderSpecificFailoverInput {
+ instanceType: "HyperVReplicaAzureFailback" | "HyperVReplicaAzure" | "InMageRcmFailback";
+}
+
+// @public (undocumented)
+export type PlannedFailoverProviderSpecificFailoverInputUnion = PlannedFailoverProviderSpecificFailoverInput | HyperVReplicaAzureFailbackProviderInput | HyperVReplicaAzurePlannedFailoverProviderInput | InMageRcmFailbackPlannedFailoverProviderInput;
+
+// @public
+export type PlannedFailoverStatus = string;
+
+// @public
+export type Policy = Resource & {
+ properties?: PolicyProperties;
+};
+
+// @public
+export interface PolicyCollection {
+ nextLink?: string;
+ value?: Policy[];
+}
+
+// @public
+export interface PolicyProperties {
+ friendlyName?: string;
+ providerSpecificDetails?: PolicyProviderSpecificDetailsUnion;
+}
+
+// @public
+export interface PolicyProviderSpecificDetails {
+ instanceType: "A2A" | "HyperVReplicaAzure" | "HyperVReplicaBasePolicyDetails" | "HyperVReplica2012R2" | "HyperVReplica2012" | "InMageAzureV2" | "InMageBasePolicyDetails" | "InMage" | "InMageRcmFailback" | "InMageRcm" | "VMwareCbt";
+}
+
+// @public (undocumented)
+export type PolicyProviderSpecificDetailsUnion = PolicyProviderSpecificDetails | A2APolicyDetails | HyperVReplicaAzurePolicyDetails | HyperVReplicaBasePolicyDetails | HyperVReplicaBluePolicyDetails | HyperVReplicaPolicyDetails | InMageAzureV2PolicyDetails | InMageBasePolicyDetails | InMagePolicyDetails | InMageRcmFailbackPolicyDetails | InMageRcmPolicyDetails | VmwareCbtPolicyDetails;
+
+// @public
+export interface PolicyProviderSpecificInput {
+ instanceType: "A2ACrossClusterMigration" | "A2A" | "HyperVReplicaAzure" | "HyperVReplica2012" | "HyperVReplica2012R2" | "InMageAzureV2" | "InMage" | "InMageRcmFailback" | "InMageRcm" | "VMwareCbt";
+}
+
+// @public (undocumented)
+export type PolicyProviderSpecificInputUnion = PolicyProviderSpecificInput | A2ACrossClusterMigrationPolicyCreationInput | A2APolicyCreationInput | HyperVReplicaAzurePolicyInput | HyperVReplicaPolicyInputUnion | InMageAzureV2PolicyInput | InMagePolicyInput | InMageRcmFailbackPolicyCreationInput | InMageRcmPolicyCreationInput | VMwareCbtPolicyCreationInput;
+
+// @public
+export type PossibleOperationsDirections = string;
+
+// @public
+export type PresenceStatus = string;
+
+// @public
+export interface ProcessServer {
+ agentExpiryDate?: Date;
+ agentVersion?: string;
+ agentVersionDetails?: VersionDetails;
+ availableMemoryInBytes?: number;
+ availableSpaceInBytes?: number;
+ cpuLoad?: string;
+ cpuLoadStatus?: string;
+ friendlyName?: string;
+ readonly health?: ProtectionHealth;
+ healthErrors?: HealthError[];
+ hostId?: string;
+ id?: string;
+ ipAddress?: string;
+ lastHeartbeat?: Date;
+ machineCount?: string;
+ readonly marsCommunicationStatus?: string;
+ readonly marsRegistrationStatus?: string;
+ memoryUsageStatus?: string;
+ mobilityServiceUpdates?: MobilityServiceUpdate[];
+ osType?: string;
+ osVersion?: string;
+ psServiceStatus?: string;
+ readonly psStatsRefreshTime?: Date;
+ replicationPairCount?: string;
+ spaceUsageStatus?: string;
+ sslCertExpiryDate?: Date;
+ sslCertExpiryRemainingDays?: number;
+ systemLoad?: string;
+ systemLoadStatus?: string;
+ readonly throughputInBytes?: number;
+ readonly throughputInMBps?: number;
+ readonly throughputStatus?: string;
+ readonly throughputUploadPendingDataInBytes?: number;
+ totalMemoryInBytes?: number;
+ totalSpaceInBytes?: number;
+ versionStatus?: string;
+}
+
+// @public
+export interface ProcessServerDetails {
+ readonly availableMemoryInBytes?: number;
+ readonly availableSpaceInBytes?: number;
+ readonly biosId?: string;
+ readonly diskUsageStatus?: RcmComponentStatus;
+ readonly fabricObjectId?: string;
+ readonly fqdn?: string;
+ readonly freeSpacePercentage?: number;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly historicHealth?: ProtectionHealth;
+ readonly id?: string;
+ readonly ipAddresses?: string[];
+ readonly lastHeartbeatUtc?: Date;
+ readonly memoryUsagePercentage?: number;
+ readonly memoryUsageStatus?: RcmComponentStatus;
+ readonly name?: string;
+ readonly processorUsagePercentage?: number;
+ readonly processorUsageStatus?: RcmComponentStatus;
+ readonly protectedItemCount?: number;
+ readonly systemLoad?: number;
+ readonly systemLoadStatus?: RcmComponentStatus;
+ readonly throughputInBytes?: number;
+ readonly throughputStatus?: RcmComponentStatus;
+ readonly throughputUploadPendingDataInBytes?: number;
+ readonly totalMemoryInBytes?: number;
+ readonly totalSpaceInBytes?: number;
+ readonly usedMemoryInBytes?: number;
+ readonly usedSpaceInBytes?: number;
+ readonly version?: string;
+}
+
+// @public
+export type ProtectableItem = Resource & {
+ properties?: ProtectableItemProperties;
+};
+
+// @public
+export interface ProtectableItemCollection {
+ nextLink?: string;
+ value?: ProtectableItem[];
+}
+
+// @public
+export interface ProtectableItemProperties {
+ customDetails?: ConfigurationSettingsUnion;
+ friendlyName?: string;
+ protectionReadinessErrors?: string[];
+ protectionStatus?: string;
+ recoveryServicesProviderId?: string;
+ replicationProtectedItemId?: string;
+ supportedReplicationProviders?: string[];
+}
+
+// @public
+export interface ProtectableItemQueryParameter {
+ state?: string;
+}
+
+// @public
+export interface ProtectedItemsQueryParameter {
+ fabricObjectId?: string;
+ instanceType?: string;
+ multiVmGroupCreateOption?: MultiVmGroupCreateOption;
+ processServerId?: string;
+ recoveryPlanName?: string;
+ sourceFabricLocation?: string;
+ sourceFabricName?: string;
+ vCenterName?: string;
+}
+
+// @public
+export type ProtectionContainer = Resource & {
+ properties?: ProtectionContainerProperties;
+};
+
+// @public
+export interface ProtectionContainerCollection {
+ nextLink?: string;
+ value?: ProtectionContainer[];
+}
+
+// @public
+export interface ProtectionContainerFabricSpecificDetails {
+ readonly instanceType?: string;
+}
+
+// @public
+export type ProtectionContainerMapping = Resource & {
+ properties?: ProtectionContainerMappingProperties;
+};
+
+// @public
+export interface ProtectionContainerMappingCollection {
+ nextLink?: string;
+ value?: ProtectionContainerMapping[];
+}
+
+// @public
+export interface ProtectionContainerMappingProperties {
+ health?: string;
+ healthErrorDetails?: HealthError[];
+ policyFriendlyName?: string;
+ policyId?: string;
+ providerSpecificDetails?: ProtectionContainerMappingProviderSpecificDetailsUnion;
+ sourceFabricFriendlyName?: string;
+ sourceProtectionContainerFriendlyName?: string;
+ state?: string;
+ targetFabricFriendlyName?: string;
+ targetProtectionContainerFriendlyName?: string;
+ targetProtectionContainerId?: string;
+}
+
+// @public
+export interface ProtectionContainerMappingProviderSpecificDetails {
+ instanceType: "A2A" | "InMageRcm" | "VMwareCbt";
+}
+
+// @public (undocumented)
+export type ProtectionContainerMappingProviderSpecificDetailsUnion = ProtectionContainerMappingProviderSpecificDetails | A2AProtectionContainerMappingDetails | InMageRcmProtectionContainerMappingDetails | VMwareCbtProtectionContainerMappingDetails;
+
+// @public
+export interface ProtectionContainerProperties {
+ fabricFriendlyName?: string;
+ fabricSpecificDetails?: ProtectionContainerFabricSpecificDetails;
+ fabricType?: string;
+ friendlyName?: string;
+ pairingStatus?: string;
+ protectedItemCount?: number;
+ role?: string;
+}
+
+// @public
+export type ProtectionHealth = string;
+
+// @public
+export interface ProtectionProfileCustomDetails {
+ resourceType: "Existing" | "New";
+}
+
+// @public (undocumented)
+export type ProtectionProfileCustomDetailsUnion = ProtectionProfileCustomDetails | ExistingProtectionProfile | NewProtectionProfile;
+
+// @public
+export interface ProviderError {
+ errorCode?: number;
+ errorId?: string;
+ errorMessage?: string;
+ possibleCauses?: string;
+ recommendedAction?: string;
+}
+
+// @public
+export interface ProviderSpecificRecoveryPointDetails {
+ instanceType: "A2A" | "InMageAzureV2" | "InMageRcm";
+}
+
+// @public (undocumented)
+export type ProviderSpecificRecoveryPointDetailsUnion = ProviderSpecificRecoveryPointDetails | A2ARecoveryPointDetails | InMageAzureV2RecoveryPointDetails | InMageRcmRecoveryPointDetails;
+
+// @public
+export interface PushInstallerDetails {
+ readonly biosId?: string;
+ readonly fabricObjectId?: string;
+ readonly fqdn?: string;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly id?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly name?: string;
+ readonly version?: string;
+}
+
+// @public
+export type RcmComponentStatus = string;
+
+// @public
+export interface RcmProxyDetails {
+ readonly biosId?: string;
+ readonly clientAuthenticationType?: string;
+ readonly fabricObjectId?: string;
+ readonly fqdn?: string;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly id?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly name?: string;
+ readonly version?: string;
+}
+
+// @public
+export interface RecoveryAvailabilitySetCustomDetails {
+ resourceType: "Existing";
+}
+
+// @public (undocumented)
+export type RecoveryAvailabilitySetCustomDetailsUnion = RecoveryAvailabilitySetCustomDetails | ExistingRecoveryAvailabilitySet;
+
+// @public
+export type RecoveryPlan = Resource & {
+ properties?: RecoveryPlanProperties;
+};
+
+// @public
+export type RecoveryPlanA2ADetails = RecoveryPlanProviderSpecificDetails & {
+ instanceType: "A2A";
+ primaryZone?: string;
+ recoveryZone?: string;
+};
+
+// @public
+export type RecoveryPlanA2AFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "A2A";
+ recoveryPointType: A2ARpRecoveryPointType;
+ cloudServiceCreationOption?: string;
+ multiVmSyncPointOption?: MultiVmSyncPointOption;
+};
+
+// @public
+export type RecoveryPlanA2AInput = RecoveryPlanProviderSpecificInput & {
+ instanceType: "A2A";
+ primaryZone?: string;
+ recoveryZone?: string;
+ primaryExtendedLocation?: ExtendedLocation;
+ recoveryExtendedLocation?: ExtendedLocation;
+};
+
+// @public
+export interface RecoveryPlanAction {
+ actionName: string;
+ customDetails: RecoveryPlanActionDetailsUnion;
+ failoverDirections: PossibleOperationsDirections[];
+ failoverTypes: ReplicationProtectedItemOperation[];
+}
+
+// @public
+export interface RecoveryPlanActionDetails {
+ instanceType: "AutomationRunbookActionDetails" | "ManualActionDetails" | "ScriptActionDetails";
+}
+
+// @public (undocumented)
+export type RecoveryPlanActionDetailsUnion = RecoveryPlanActionDetails | RecoveryPlanAutomationRunbookActionDetails | RecoveryPlanManualActionDetails | RecoveryPlanScriptActionDetails;
+
+// @public
+export type RecoveryPlanActionLocation = string;
+
+// @public
+export type RecoveryPlanAutomationRunbookActionDetails = RecoveryPlanActionDetails & {
+ instanceType: "AutomationRunbookActionDetails";
+ runbookId?: string;
+ timeout?: string;
+ fabricLocation: RecoveryPlanActionLocation;
+};
+
+// @public
+export interface RecoveryPlanCollection {
+ nextLink?: string;
+ value?: RecoveryPlan[];
+}
+
+// @public
+export interface RecoveryPlanGroup {
+ endGroupActions?: RecoveryPlanAction[];
+ groupType: RecoveryPlanGroupType;
+ replicationProtectedItems?: RecoveryPlanProtectedItem[];
+ startGroupActions?: RecoveryPlanAction[];
+}
+
+// @public
+export type RecoveryPlanGroupTaskDetails = GroupTaskDetails & {
+ instanceType: "RecoveryPlanGroupTaskDetails" | "RecoveryPlanShutdownGroupTaskDetails";
+ name?: string;
+ groupId?: string;
+ rpGroupType?: string;
+};
+
+// @public (undocumented)
+export type RecoveryPlanGroupTaskDetailsUnion = RecoveryPlanGroupTaskDetails | RecoveryPlanShutdownGroupTaskDetails;
+
+// @public
+export type RecoveryPlanGroupType = string;
+
+// @public
+export type RecoveryPlanHyperVReplicaAzureFailbackInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "HyperVReplicaAzureFailback";
+ dataSyncOption: DataSyncStatus;
+ recoveryVmCreationOption: AlternateLocationRecoveryOption;
+};
+
+// @public
+export type RecoveryPlanHyperVReplicaAzureFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "HyperVReplicaAzure";
+ primaryKekCertificatePfx?: string;
+ secondaryKekCertificatePfx?: string;
+ recoveryPointType?: HyperVReplicaAzureRpRecoveryPointType;
+};
+
+// @public
+export type RecoveryPlanInMageAzureV2FailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "InMageAzureV2";
+ recoveryPointType: InMageV2RpRecoveryPointType;
+ useMultiVmSyncPoint?: string;
+};
+
+// @public
+export type RecoveryPlanInMageFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "InMage";
+ recoveryPointType: RpInMageRecoveryPointType;
+};
+
+// @public
+export type RecoveryPlanInMageRcmFailbackFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "InMageRcmFailback";
+ recoveryPointType: InMageRcmFailbackRecoveryPointType;
+ useMultiVmSyncPoint?: string;
+};
+
+// @public
+export type RecoveryPlanInMageRcmFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ instanceType: "InMageRcm";
+ recoveryPointType: RecoveryPlanPointType;
+ useMultiVmSyncPoint?: string;
+};
+
+// @public
+export type RecoveryPlanManualActionDetails = RecoveryPlanActionDetails & {
+ instanceType: "ManualActionDetails";
+ description?: string;
+};
+
+// @public
+export interface RecoveryPlanPlannedFailoverInput {
+ properties: RecoveryPlanPlannedFailoverInputProperties;
+}
+
+// @public
+export interface RecoveryPlanPlannedFailoverInputProperties {
+ failoverDirection: PossibleOperationsDirections;
+ providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
+}
+
+// @public
+export type RecoveryPlanPointType = string;
+
+// @public
+export interface RecoveryPlanProperties {
+ allowedOperations?: string[];
+ currentScenario?: CurrentScenarioDetails;
+ currentScenarioStatus?: string;
+ currentScenarioStatusDescription?: string;
+ failoverDeploymentModel?: string;
+ friendlyName?: string;
+ groups?: RecoveryPlanGroup[];
+ lastPlannedFailoverTime?: Date;
+ lastTestFailoverTime?: Date;
+ lastUnplannedFailoverTime?: Date;
+ primaryFabricFriendlyName?: string;
+ primaryFabricId?: string;
+ providerSpecificDetails?: RecoveryPlanProviderSpecificDetailsUnion[];
+ recoveryFabricFriendlyName?: string;
+ recoveryFabricId?: string;
+ replicationProviders?: string[];
+}
+
+// @public
+export interface RecoveryPlanProtectedItem {
+ id?: string;
+ virtualMachineId?: string;
+}
+
+// @public
+export interface RecoveryPlanProviderSpecificDetails {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type RecoveryPlanProviderSpecificDetailsUnion = RecoveryPlanProviderSpecificDetails | RecoveryPlanA2ADetails;
+
+// @public
+export interface RecoveryPlanProviderSpecificFailoverInput {
+ instanceType: "A2A" | "HyperVReplicaAzureFailback" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMage" | "InMageRcmFailback" | "InMageRcm";
+}
+
+// @public (undocumented)
+export type RecoveryPlanProviderSpecificFailoverInputUnion = RecoveryPlanProviderSpecificFailoverInput | RecoveryPlanA2AFailoverInput | RecoveryPlanHyperVReplicaAzureFailbackInput | RecoveryPlanHyperVReplicaAzureFailoverInput | RecoveryPlanInMageAzureV2FailoverInput | RecoveryPlanInMageFailoverInput | RecoveryPlanInMageRcmFailbackFailoverInput | RecoveryPlanInMageRcmFailoverInput;
+
+// @public
+export interface RecoveryPlanProviderSpecificInput {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type RecoveryPlanProviderSpecificInputUnion = RecoveryPlanProviderSpecificInput | RecoveryPlanA2AInput;
+
+// @public
+export type RecoveryPlanScriptActionDetails = RecoveryPlanActionDetails & {
+ instanceType: "ScriptActionDetails";
+ path: string;
+ timeout?: string;
+ fabricLocation: RecoveryPlanActionLocation;
+};
+
+// @public
+export type RecoveryPlanShutdownGroupTaskDetails = RecoveryPlanGroupTaskDetails & {
+ instanceType: "RecoveryPlanShutdownGroupTaskDetails";
+};
+
+// @public
+export interface RecoveryPlanTestFailoverCleanupInput {
+ properties: RecoveryPlanTestFailoverCleanupInputProperties;
+}
+
+// @public
+export interface RecoveryPlanTestFailoverCleanupInputProperties {
+ comments?: string;
+}
+
+// @public
+export interface RecoveryPlanTestFailoverInput {
+ properties: RecoveryPlanTestFailoverInputProperties;
+}
+
+// @public
+export interface RecoveryPlanTestFailoverInputProperties {
+ failoverDirection: PossibleOperationsDirections;
+ networkId?: string;
+ networkType: string;
+ providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
+}
+
+// @public
+export interface RecoveryPlanUnplannedFailoverInput {
+ properties: RecoveryPlanUnplannedFailoverInputProperties;
+}
+
+// @public
+export interface RecoveryPlanUnplannedFailoverInputProperties {
+ failoverDirection: PossibleOperationsDirections;
+ providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
+ sourceSiteOperations: SourceSiteOperations;
+}
+
+// @public
+export type RecoveryPoint = Resource & {
+ properties?: RecoveryPointProperties;
+};
+
+// @public
+export interface RecoveryPointCollection {
+ nextLink?: string;
+ value?: RecoveryPoint[];
+}
+
+// @public
+export interface RecoveryPointProperties {
+ providerSpecificDetails?: ProviderSpecificRecoveryPointDetailsUnion;
+ recoveryPointTime?: Date;
+ recoveryPointType?: string;
+}
+
+// @public
+export interface RecoveryPoints {
+ get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, recoveryPointName: string, options?: RecoveryPointsGetOptionalParams): Promise;
+ listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: RecoveryPointsListByReplicationProtectedItemsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface RecoveryPointsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type RecoveryPointsGetResponse = RecoveryPoint;
+
+// @public
+export interface RecoveryPointsListByReplicationProtectedItemsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type RecoveryPointsListByReplicationProtectedItemsNextResponse = RecoveryPointCollection;
+
+// @public
+export interface RecoveryPointsListByReplicationProtectedItemsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type RecoveryPointsListByReplicationProtectedItemsResponse = RecoveryPointCollection;
+
+// @public
+export type RecoveryPointSyncType = string;
+
+// @public
+export type RecoveryPointType = string;
+
+// @public
+export interface RecoveryProximityPlacementGroupCustomDetails {
+ resourceType: "Existing";
+}
+
+// @public (undocumented)
+export type RecoveryProximityPlacementGroupCustomDetailsUnion = RecoveryProximityPlacementGroupCustomDetails | ExistingRecoveryProximityPlacementGroup;
+
+// @public
+export interface RecoveryResourceGroupCustomDetails {
+ resourceType: "Existing";
+}
+
+// @public (undocumented)
+export type RecoveryResourceGroupCustomDetailsUnion = RecoveryResourceGroupCustomDetails | ExistingRecoveryResourceGroup;
+
+// @public
+export type RecoveryServicesProvider = Resource & {
+ properties?: RecoveryServicesProviderProperties;
+};
+
+// @public
+export interface RecoveryServicesProviderCollection {
+ nextLink?: string;
+ value?: RecoveryServicesProvider[];
+}
+
+// @public
+export interface RecoveryServicesProviderProperties {
+ allowedScenarios?: string[];
+ authenticationIdentityDetails?: IdentityProviderDetails;
+ biosId?: string;
+ connectionStatus?: string;
+ dataPlaneAuthenticationIdentityDetails?: IdentityProviderDetails;
+ draIdentifier?: string;
+ fabricFriendlyName?: string;
+ fabricType?: string;
+ friendlyName?: string;
+ healthErrorDetails?: HealthError[];
+ lastHeartBeat?: Date;
+ machineId?: string;
+ machineName?: string;
+ protectedItemCount?: number;
+ providerVersion?: string;
+ providerVersionDetails?: VersionDetails;
+ providerVersionExpiryDate?: Date;
+ providerVersionState?: string;
+ resourceAccessIdentityDetails?: IdentityProviderDetails;
+ serverVersion?: string;
+}
+
+// @public
+export interface RecoveryVirtualNetworkCustomDetails {
+ resourceType: "Existing" | "New";
+}
+
+// @public (undocumented)
+export type RecoveryVirtualNetworkCustomDetailsUnion = RecoveryVirtualNetworkCustomDetails | ExistingRecoveryVirtualNetwork | NewRecoveryVirtualNetwork;
+
+// @public
+export interface RemoveDisksInput {
+ properties?: RemoveDisksInputProperties;
+}
+
+// @public
+export interface RemoveDisksInputProperties {
+ providerSpecificDetails?: RemoveDisksProviderSpecificInputUnion;
+}
+
+// @public
+export interface RemoveDisksProviderSpecificInput {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type RemoveDisksProviderSpecificInputUnion = RemoveDisksProviderSpecificInput | A2ARemoveDisksInput;
+
+// @public
+export interface RemoveProtectionContainerMappingInput {
+ properties?: RemoveProtectionContainerMappingInputProperties;
+}
+
+// @public
+export interface RemoveProtectionContainerMappingInputProperties {
+ providerSpecificInput?: ReplicationProviderContainerUnmappingInput;
+}
+
+// @public
+export interface RenewCertificateInput {
+ properties?: RenewCertificateInputProperties;
+}
+
+// @public
+export interface RenewCertificateInputProperties {
+ renewCertificateType?: string;
+}
+
+// @public
+export interface ReplicationAgentDetails {
+ readonly biosId?: string;
+ readonly fabricObjectId?: string;
+ readonly fqdn?: string;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly id?: string;
+ readonly lastHeartbeatUtc?: Date;
+ readonly name?: string;
+ readonly version?: string;
+}
+
+// @public
+export interface ReplicationAlertSettings {
+ create(alertSettingName: string, request: ConfigureAlertRequest, options?: ReplicationAlertSettingsCreateOptionalParams): Promise;
+ get(alertSettingName: string, options?: ReplicationAlertSettingsGetOptionalParams): Promise;
+ list(options?: ReplicationAlertSettingsListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationAlertSettingsCreateOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationAlertSettingsCreateResponse = Alert;
+
+// @public
+export interface ReplicationAlertSettingsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationAlertSettingsGetResponse = Alert;
+
+// @public
+export interface ReplicationAlertSettingsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationAlertSettingsListNextResponse = AlertCollection;
+
+// @public
+export interface ReplicationAlertSettingsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationAlertSettingsListResponse = AlertCollection;
+
+// @public
+export interface ReplicationAppliance {
+ properties?: ReplicationApplianceProperties;
+}
+
+// @public
+export interface ReplicationApplianceProperties {
+ providerSpecificDetails?: ApplianceSpecificDetailsUnion;
+}
+
+// @public
+export interface ReplicationAppliances {
+ list(options?: ReplicationAppliancesListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationAppliancesListNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationAppliancesListNextResponse = ApplianceCollection;
+
+// @public
+export interface ReplicationAppliancesListOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationAppliancesListResponse = ApplianceCollection;
+
+// @public
+export interface ReplicationEligibilityResults {
+ readonly id?: string;
+ readonly name?: string;
+ readonly properties?: ReplicationEligibilityResultsProperties;
+ readonly type?: string;
+}
+
+// @public
+export interface ReplicationEligibilityResultsCollection {
+ value?: ReplicationEligibilityResults[];
+}
+
+// @public
+export interface ReplicationEligibilityResultsErrorInfo {
+ code?: string;
+ message?: string;
+ possibleCauses?: string;
+ recommendedAction?: string;
+ readonly status?: string;
+}
+
+// @public
+export interface ReplicationEligibilityResultsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationEligibilityResultsGetResponse = ReplicationEligibilityResults;
+
+// @public
+export interface ReplicationEligibilityResultsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationEligibilityResultsListResponse = ReplicationEligibilityResultsCollection;
+
+// @public
+export interface ReplicationEligibilityResultsOperations {
+ get(virtualMachineName: string, options?: ReplicationEligibilityResultsGetOptionalParams): Promise;
+ list(virtualMachineName: string, options?: ReplicationEligibilityResultsListOptionalParams): Promise;
+}
+
+// @public
+export interface ReplicationEligibilityResultsProperties {
+ readonly clientRequestId?: string;
+ errors?: ReplicationEligibilityResultsErrorInfo[];
+}
+
+// @public
+export interface ReplicationEvents {
+ get(eventName: string, options?: ReplicationEventsGetOptionalParams): Promise;
+ list(options?: ReplicationEventsListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationEventsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationEventsGetResponse = Event_2;
+
+// @public
+export interface ReplicationEventsListNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationEventsListNextResponse = EventCollection;
+
+// @public
+export interface ReplicationEventsListOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationEventsListResponse = EventCollection;
+
+// @public
+export interface ReplicationFabrics {
+ beginCheckConsistency(fabricName: string, options?: ReplicationFabricsCheckConsistencyOptionalParams): Promise, ReplicationFabricsCheckConsistencyResponse>>;
+ beginCheckConsistencyAndWait(fabricName: string, options?: ReplicationFabricsCheckConsistencyOptionalParams): Promise;
+ beginCreate(fabricName: string, input: FabricCreationInput, options?: ReplicationFabricsCreateOptionalParams): Promise, ReplicationFabricsCreateResponse>>;
+ beginCreateAndWait(fabricName: string, input: FabricCreationInput, options?: ReplicationFabricsCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, options?: ReplicationFabricsDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, options?: ReplicationFabricsDeleteOptionalParams): Promise;
+ beginMigrateToAad(fabricName: string, options?: ReplicationFabricsMigrateToAadOptionalParams): Promise, void>>;
+ beginMigrateToAadAndWait(fabricName: string, options?: ReplicationFabricsMigrateToAadOptionalParams): Promise;
+ beginPurge(fabricName: string, options?: ReplicationFabricsPurgeOptionalParams): Promise, void>>;
+ beginPurgeAndWait(fabricName: string, options?: ReplicationFabricsPurgeOptionalParams): Promise;
+ beginReassociateGateway(fabricName: string, failoverProcessServerRequest: FailoverProcessServerRequest, options?: ReplicationFabricsReassociateGatewayOptionalParams): Promise, ReplicationFabricsReassociateGatewayResponse>>;
+ beginReassociateGatewayAndWait(fabricName: string, failoverProcessServerRequest: FailoverProcessServerRequest, options?: ReplicationFabricsReassociateGatewayOptionalParams): Promise;
+ beginRenewCertificate(fabricName: string, renewCertificate: RenewCertificateInput, options?: ReplicationFabricsRenewCertificateOptionalParams): Promise, ReplicationFabricsRenewCertificateResponse>>;
+ beginRenewCertificateAndWait(fabricName: string, renewCertificate: RenewCertificateInput, options?: ReplicationFabricsRenewCertificateOptionalParams): Promise;
+ get(fabricName: string, options?: ReplicationFabricsGetOptionalParams): Promise;
+ list(options?: ReplicationFabricsListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationFabricsCheckConsistencyOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationFabricsCheckConsistencyResponse = Fabric;
+
+// @public
+export interface ReplicationFabricsCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationFabricsCreateResponse = Fabric;
+
+// @public
+export interface ReplicationFabricsDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationFabricsGetOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationFabricsGetResponse = Fabric;
+
+// @public
+export interface ReplicationFabricsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationFabricsListNextResponse = FabricCollection;
+
+// @public
+export interface ReplicationFabricsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationFabricsListResponse = FabricCollection;
+
+// @public
+export interface ReplicationFabricsMigrateToAadOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationFabricsPurgeOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationFabricsReassociateGatewayOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationFabricsReassociateGatewayResponse = Fabric;
+
+// @public
+export interface ReplicationFabricsRenewCertificateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationFabricsRenewCertificateResponse = Fabric;
+
+// @public
+export type ReplicationGroupDetails = ConfigurationSettings & {
+ instanceType: "ReplicationGroupDetails";
+};
+
+// @public
+export interface ReplicationJobs {
+ beginCancel(jobName: string, options?: ReplicationJobsCancelOptionalParams): Promise, ReplicationJobsCancelResponse>>;
+ beginCancelAndWait(jobName: string, options?: ReplicationJobsCancelOptionalParams): Promise;
+ beginExport(jobQueryParameter: JobQueryParameter, options?: ReplicationJobsExportOptionalParams): Promise, ReplicationJobsExportResponse>>;
+ beginExportAndWait(jobQueryParameter: JobQueryParameter, options?: ReplicationJobsExportOptionalParams): Promise;
+ beginRestart(jobName: string, options?: ReplicationJobsRestartOptionalParams): Promise, ReplicationJobsRestartResponse>>;
+ beginRestartAndWait(jobName: string, options?: ReplicationJobsRestartOptionalParams): Promise;
+ beginResume(jobName: string, resumeJobParams: ResumeJobParams, options?: ReplicationJobsResumeOptionalParams): Promise, ReplicationJobsResumeResponse>>;
+ beginResumeAndWait(jobName: string, resumeJobParams: ResumeJobParams, options?: ReplicationJobsResumeOptionalParams): Promise;
+ get(jobName: string, options?: ReplicationJobsGetOptionalParams): Promise;
+ list(options?: ReplicationJobsListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationJobsCancelOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationJobsCancelResponse = Job;
+
+// @public
+export interface ReplicationJobsExportOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationJobsExportResponse = Job;
+
+// @public
+export interface ReplicationJobsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationJobsGetResponse = Job;
+
+// @public
+export interface ReplicationJobsListNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationJobsListNextResponse = JobCollection;
+
+// @public
+export interface ReplicationJobsListOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+}
+
+// @public
+export type ReplicationJobsListResponse = JobCollection;
+
+// @public
+export interface ReplicationJobsRestartOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationJobsRestartResponse = Job;
+
+// @public
+export interface ReplicationJobsResumeOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationJobsResumeResponse = Job;
+
+// @public
+export interface ReplicationLogicalNetworks {
+ get(fabricName: string, logicalNetworkName: string, options?: ReplicationLogicalNetworksGetOptionalParams): Promise;
+ listByReplicationFabrics(fabricName: string, options?: ReplicationLogicalNetworksListByReplicationFabricsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationLogicalNetworksGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationLogicalNetworksGetResponse = LogicalNetwork;
+
+// @public
+export interface ReplicationLogicalNetworksListByReplicationFabricsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationLogicalNetworksListByReplicationFabricsNextResponse = LogicalNetworkCollection;
+
+// @public
+export interface ReplicationLogicalNetworksListByReplicationFabricsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationLogicalNetworksListByReplicationFabricsResponse = LogicalNetworkCollection;
+
+// @public
+export interface ReplicationMigrationItems {
+ beginCreate(fabricName: string, protectionContainerName: string, migrationItemName: string, input: EnableMigrationInput, options?: ReplicationMigrationItemsCreateOptionalParams): Promise, ReplicationMigrationItemsCreateResponse>>;
+ beginCreateAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, input: EnableMigrationInput, options?: ReplicationMigrationItemsCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, protectionContainerName: string, migrationItemName: string, options?: ReplicationMigrationItemsDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, options?: ReplicationMigrationItemsDeleteOptionalParams): Promise;
+ beginMigrate(fabricName: string, protectionContainerName: string, migrationItemName: string, migrateInput: MigrateInput, options?: ReplicationMigrationItemsMigrateOptionalParams): Promise, ReplicationMigrationItemsMigrateResponse>>;
+ beginMigrateAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, migrateInput: MigrateInput, options?: ReplicationMigrationItemsMigrateOptionalParams): Promise;
+ beginResync(fabricName: string, protectionContainerName: string, migrationItemName: string, input: ResyncInput, options?: ReplicationMigrationItemsResyncOptionalParams): Promise, ReplicationMigrationItemsResyncResponse>>;
+ beginResyncAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, input: ResyncInput, options?: ReplicationMigrationItemsResyncOptionalParams): Promise;
+ beginTestMigrate(fabricName: string, protectionContainerName: string, migrationItemName: string, testMigrateInput: TestMigrateInput, options?: ReplicationMigrationItemsTestMigrateOptionalParams): Promise, ReplicationMigrationItemsTestMigrateResponse>>;
+ beginTestMigrateAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, testMigrateInput: TestMigrateInput, options?: ReplicationMigrationItemsTestMigrateOptionalParams): Promise;
+ beginTestMigrateCleanup(fabricName: string, protectionContainerName: string, migrationItemName: string, testMigrateCleanupInput: TestMigrateCleanupInput, options?: ReplicationMigrationItemsTestMigrateCleanupOptionalParams): Promise, ReplicationMigrationItemsTestMigrateCleanupResponse>>;
+ beginTestMigrateCleanupAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, testMigrateCleanupInput: TestMigrateCleanupInput, options?: ReplicationMigrationItemsTestMigrateCleanupOptionalParams): Promise;
+ beginUpdate(fabricName: string, protectionContainerName: string, migrationItemName: string, input: UpdateMigrationItemInput, options?: ReplicationMigrationItemsUpdateOptionalParams): Promise, ReplicationMigrationItemsUpdateResponse>>;
+ beginUpdateAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, input: UpdateMigrationItemInput, options?: ReplicationMigrationItemsUpdateOptionalParams): Promise;
+ get(fabricName: string, protectionContainerName: string, migrationItemName: string, options?: ReplicationMigrationItemsGetOptionalParams): Promise;
+ list(options?: ReplicationMigrationItemsListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationMigrationItemsCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationMigrationItemsCreateResponse = MigrationItem;
+
+// @public
+export interface ReplicationMigrationItemsDeleteOptionalParams extends coreClient.OperationOptions {
+ deleteOption?: string;
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationMigrationItemsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationMigrationItemsGetResponse = MigrationItem;
+
+// @public
+export interface ReplicationMigrationItemsListByReplicationProtectionContainersNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+ takeToken?: string;
+}
+
+// @public
+export type ReplicationMigrationItemsListByReplicationProtectionContainersNextResponse = MigrationItemCollection;
+
+// @public
+export interface ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+ takeToken?: string;
+}
+
+// @public
+export type ReplicationMigrationItemsListByReplicationProtectionContainersResponse = MigrationItemCollection;
+
+// @public
+export interface ReplicationMigrationItemsListNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+ takeToken?: string;
+}
+
+// @public
+export type ReplicationMigrationItemsListNextResponse = MigrationItemCollection;
+
+// @public
+export interface ReplicationMigrationItemsListOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+ takeToken?: string;
+}
+
+// @public
+export type ReplicationMigrationItemsListResponse = MigrationItemCollection;
+
+// @public
+export interface ReplicationMigrationItemsMigrateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationMigrationItemsMigrateResponse = MigrationItem;
+
+// @public
+export interface ReplicationMigrationItemsResyncOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationMigrationItemsResyncResponse = MigrationItem;
+
+// @public
+export interface ReplicationMigrationItemsTestMigrateCleanupOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationMigrationItemsTestMigrateCleanupResponse = MigrationItem;
+
+// @public
+export interface ReplicationMigrationItemsTestMigrateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationMigrationItemsTestMigrateResponse = MigrationItem;
+
+// @public
+export interface ReplicationMigrationItemsUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationMigrationItemsUpdateResponse = MigrationItem;
+
+// @public
+export interface ReplicationNetworkMappings {
+ beginCreate(fabricName: string, networkName: string, networkMappingName: string, input: CreateNetworkMappingInput, options?: ReplicationNetworkMappingsCreateOptionalParams): Promise, ReplicationNetworkMappingsCreateResponse>>;
+ beginCreateAndWait(fabricName: string, networkName: string, networkMappingName: string, input: CreateNetworkMappingInput, options?: ReplicationNetworkMappingsCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, networkName: string, networkMappingName: string, options?: ReplicationNetworkMappingsDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, networkName: string, networkMappingName: string, options?: ReplicationNetworkMappingsDeleteOptionalParams): Promise;
+ beginUpdate(fabricName: string, networkName: string, networkMappingName: string, input: UpdateNetworkMappingInput, options?: ReplicationNetworkMappingsUpdateOptionalParams): Promise, ReplicationNetworkMappingsUpdateResponse>>;
+ beginUpdateAndWait(fabricName: string, networkName: string, networkMappingName: string, input: UpdateNetworkMappingInput, options?: ReplicationNetworkMappingsUpdateOptionalParams): Promise;
+ get(fabricName: string, networkName: string, networkMappingName: string, options?: ReplicationNetworkMappingsGetOptionalParams): Promise;
+ list(options?: ReplicationNetworkMappingsListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationNetworks(fabricName: string, networkName: string, options?: ReplicationNetworkMappingsListByReplicationNetworksOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationNetworkMappingsCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationNetworkMappingsCreateResponse = NetworkMapping;
+
+// @public
+export interface ReplicationNetworkMappingsDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationNetworkMappingsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworkMappingsGetResponse = NetworkMapping;
+
+// @public
+export interface ReplicationNetworkMappingsListByReplicationNetworksNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworkMappingsListByReplicationNetworksNextResponse = NetworkMappingCollection;
+
+// @public
+export interface ReplicationNetworkMappingsListByReplicationNetworksOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworkMappingsListByReplicationNetworksResponse = NetworkMappingCollection;
+
+// @public
+export interface ReplicationNetworkMappingsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworkMappingsListNextResponse = NetworkMappingCollection;
+
+// @public
+export interface ReplicationNetworkMappingsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworkMappingsListResponse = NetworkMappingCollection;
+
+// @public
+export interface ReplicationNetworkMappingsUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationNetworkMappingsUpdateResponse = NetworkMapping;
+
+// @public
+export interface ReplicationNetworks {
+ get(fabricName: string, networkName: string, options?: ReplicationNetworksGetOptionalParams): Promise;
+ list(options?: ReplicationNetworksListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationFabrics(fabricName: string, options?: ReplicationNetworksListByReplicationFabricsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationNetworksGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworksGetResponse = Network;
+
+// @public
+export interface ReplicationNetworksListByReplicationFabricsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworksListByReplicationFabricsNextResponse = NetworkCollection;
+
+// @public
+export interface ReplicationNetworksListByReplicationFabricsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworksListByReplicationFabricsResponse = NetworkCollection;
+
+// @public
+export interface ReplicationNetworksListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworksListNextResponse = NetworkCollection;
+
+// @public
+export interface ReplicationNetworksListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationNetworksListResponse = NetworkCollection;
+
+// @public
+export interface ReplicationPolicies {
+ beginCreate(policyName: string, input: CreatePolicyInput, options?: ReplicationPoliciesCreateOptionalParams): Promise, ReplicationPoliciesCreateResponse>>;
+ beginCreateAndWait(policyName: string, input: CreatePolicyInput, options?: ReplicationPoliciesCreateOptionalParams): Promise;
+ beginDelete(policyName: string, options?: ReplicationPoliciesDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(policyName: string, options?: ReplicationPoliciesDeleteOptionalParams): Promise;
+ beginUpdate(policyName: string, input: UpdatePolicyInput, options?: ReplicationPoliciesUpdateOptionalParams): Promise, ReplicationPoliciesUpdateResponse>>;
+ beginUpdateAndWait(policyName: string, input: UpdatePolicyInput, options?: ReplicationPoliciesUpdateOptionalParams): Promise;
+ get(policyName: string, options?: ReplicationPoliciesGetOptionalParams): Promise;
+ list(options?: ReplicationPoliciesListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationPoliciesCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationPoliciesCreateResponse = Policy;
+
+// @public
+export interface ReplicationPoliciesDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationPoliciesGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationPoliciesGetResponse = Policy;
+
+// @public
+export interface ReplicationPoliciesListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationPoliciesListNextResponse = PolicyCollection;
+
+// @public
+export interface ReplicationPoliciesListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationPoliciesListResponse = PolicyCollection;
+
+// @public
+export interface ReplicationPoliciesUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationPoliciesUpdateResponse = Policy;
+
+// @public
+export interface ReplicationProtectableItems {
+ get(fabricName: string, protectionContainerName: string, protectableItemName: string, options?: ReplicationProtectableItemsGetOptionalParams): Promise;
+ listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationProtectableItemsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectableItemsGetResponse = ProtectableItem;
+
+// @public
+export interface ReplicationProtectableItemsListByReplicationProtectionContainersNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+ take?: string;
+}
+
+// @public
+export type ReplicationProtectableItemsListByReplicationProtectionContainersNextResponse = ProtectableItemCollection;
+
+// @public
+export interface ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+ take?: string;
+}
+
+// @public
+export type ReplicationProtectableItemsListByReplicationProtectionContainersResponse = ProtectableItemCollection;
+
+// @public
+export type ReplicationProtectedItem = Resource & {
+ properties?: ReplicationProtectedItemProperties;
+};
+
+// @public
+export interface ReplicationProtectedItemCollection {
+ nextLink?: string;
+ value?: ReplicationProtectedItem[];
+}
+
+// @public
+export type ReplicationProtectedItemOperation = string;
+
+// @public
+export interface ReplicationProtectedItemProperties {
+ activeLocation?: string;
+ allowedOperations?: string[];
+ currentScenario?: CurrentScenarioDetails;
+ eventCorrelationId?: string;
+ failoverHealth?: string;
+ failoverRecoveryPointId?: string;
+ friendlyName?: string;
+ healthErrors?: HealthError[];
+ lastSuccessfulFailoverTime?: Date;
+ lastSuccessfulTestFailoverTime?: Date;
+ policyFriendlyName?: string;
+ policyId?: string;
+ primaryFabricFriendlyName?: string;
+ primaryFabricProvider?: string;
+ primaryProtectionContainerFriendlyName?: string;
+ protectableItemId?: string;
+ protectedItemType?: string;
+ protectionState?: string;
+ protectionStateDescription?: string;
+ providerSpecificDetails?: ReplicationProviderSpecificSettingsUnion;
+ recoveryContainerId?: string;
+ recoveryFabricFriendlyName?: string;
+ recoveryFabricId?: string;
+ recoveryProtectionContainerFriendlyName?: string;
+ recoveryServicesProviderId?: string;
+ replicationHealth?: string;
+ switchProviderState?: string;
+ switchProviderStateDescription?: string;
+ testFailoverState?: string;
+ testFailoverStateDescription?: string;
+}
+
+// @public
+export interface ReplicationProtectedItems {
+ beginAddDisks(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, addDisksInput: AddDisksInput, options?: ReplicationProtectedItemsAddDisksOptionalParams): Promise, ReplicationProtectedItemsAddDisksResponse>>;
+ beginAddDisksAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, addDisksInput: AddDisksInput, options?: ReplicationProtectedItemsAddDisksOptionalParams): Promise;
+ beginApplyRecoveryPoint(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, applyRecoveryPointInput: ApplyRecoveryPointInput, options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams): Promise, ReplicationProtectedItemsApplyRecoveryPointResponse>>;
+ beginApplyRecoveryPointAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, applyRecoveryPointInput: ApplyRecoveryPointInput, options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams): Promise;
+ beginCreate(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, input: EnableProtectionInput, options?: ReplicationProtectedItemsCreateOptionalParams): Promise, ReplicationProtectedItemsCreateResponse>>;
+ beginCreateAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, input: EnableProtectionInput, options?: ReplicationProtectedItemsCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, disableProtectionInput: DisableProtectionInput, options?: ReplicationProtectedItemsDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, disableProtectionInput: DisableProtectionInput, options?: ReplicationProtectedItemsDeleteOptionalParams): Promise;
+ beginFailoverCancel(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsFailoverCancelOptionalParams): Promise, ReplicationProtectedItemsFailoverCancelResponse>>;
+ beginFailoverCancelAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsFailoverCancelOptionalParams): Promise;
+ beginFailoverCommit(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsFailoverCommitOptionalParams): Promise, ReplicationProtectedItemsFailoverCommitResponse>>;
+ beginFailoverCommitAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsFailoverCommitOptionalParams): Promise;
+ beginPlannedFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: PlannedFailoverInput, options?: ReplicationProtectedItemsPlannedFailoverOptionalParams): Promise, ReplicationProtectedItemsPlannedFailoverResponse>>;
+ beginPlannedFailoverAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: PlannedFailoverInput, options?: ReplicationProtectedItemsPlannedFailoverOptionalParams): Promise;
+ beginPurge(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsPurgeOptionalParams): Promise, void>>;
+ beginPurgeAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsPurgeOptionalParams): Promise;
+ beginRemoveDisks(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, removeDisksInput: RemoveDisksInput, options?: ReplicationProtectedItemsRemoveDisksOptionalParams): Promise, ReplicationProtectedItemsRemoveDisksResponse>>;
+ beginRemoveDisksAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, removeDisksInput: RemoveDisksInput, options?: ReplicationProtectedItemsRemoveDisksOptionalParams): Promise;
+ beginRepairReplication(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsRepairReplicationOptionalParams): Promise, ReplicationProtectedItemsRepairReplicationResponse>>;
+ beginRepairReplicationAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsRepairReplicationOptionalParams): Promise;
+ beginReprotect(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, reprotectInput: ReverseReplicationInput, options?: ReplicationProtectedItemsReprotectOptionalParams): Promise, ReplicationProtectedItemsReprotectResponse>>;
+ beginReprotectAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, reprotectInput: ReverseReplicationInput, options?: ReplicationProtectedItemsReprotectOptionalParams): Promise;
+ beginResolveHealthErrors(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, resolveHealthInput: ResolveHealthInput, options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams): Promise, ReplicationProtectedItemsResolveHealthErrorsResponse>>;
+ beginResolveHealthErrorsAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, resolveHealthInput: ResolveHealthInput, options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams): Promise;
+ beginSwitchProvider(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, switchProviderInput: SwitchProviderInput, options?: ReplicationProtectedItemsSwitchProviderOptionalParams): Promise, ReplicationProtectedItemsSwitchProviderResponse>>;
+ beginSwitchProviderAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, switchProviderInput: SwitchProviderInput, options?: ReplicationProtectedItemsSwitchProviderOptionalParams): Promise;
+ beginTestFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, testfailoverInput: TestFailoverInput, options?: ReplicationProtectedItemsTestFailoverOptionalParams): Promise, ReplicationProtectedItemsTestFailoverResponse>>;
+ beginTestFailoverAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, testfailoverInput: TestFailoverInput, options?: ReplicationProtectedItemsTestFailoverOptionalParams): Promise;
+ beginTestFailoverCleanup(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, cleanupInput: TestFailoverCleanupInput, options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams): Promise, ReplicationProtectedItemsTestFailoverCleanupResponse>>;
+ beginTestFailoverCleanupAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, cleanupInput: TestFailoverCleanupInput, options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams): Promise;
+ beginUnplannedFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: UnplannedFailoverInput, options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams): Promise, ReplicationProtectedItemsUnplannedFailoverResponse>>;
+ beginUnplannedFailoverAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: UnplannedFailoverInput, options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams): Promise;
+ beginUpdate(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, updateProtectionInput: UpdateReplicationProtectedItemInput, options?: ReplicationProtectedItemsUpdateOptionalParams): Promise, ReplicationProtectedItemsUpdateResponse>>;
+ beginUpdateAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, updateProtectionInput: UpdateReplicationProtectedItemInput, options?: ReplicationProtectedItemsUpdateOptionalParams): Promise;
+ beginUpdateAppliance(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput, options?: ReplicationProtectedItemsUpdateApplianceOptionalParams): Promise, ReplicationProtectedItemsUpdateApplianceResponse>>;
+ beginUpdateApplianceAndWait(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput, options?: ReplicationProtectedItemsUpdateApplianceOptionalParams): Promise;
+ beginUpdateMobilityService(fabricName: string, protectionContainerName: string, replicationProtectedItemName: string, updateMobilityServiceRequest: UpdateMobilityServiceRequest, options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams): Promise, ReplicationProtectedItemsUpdateMobilityServiceResponse>>;
+ beginUpdateMobilityServiceAndWait(fabricName: string, protectionContainerName: string, replicationProtectedItemName: string, updateMobilityServiceRequest: UpdateMobilityServiceRequest, options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams): Promise;
+ get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: ReplicationProtectedItemsGetOptionalParams): Promise;
+ list(options?: ReplicationProtectedItemsListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationProtectedItemsAddDisksOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsAddDisksResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsApplyRecoveryPointOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsApplyRecoveryPointResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsCreateResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationProtectedItemsFailoverCancelOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsFailoverCancelResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsFailoverCommitOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsFailoverCommitResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectedItemsGetResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsListByReplicationProtectionContainersNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse = ReplicationProtectedItemCollection;
+
+// @public
+export interface ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectedItemsListByReplicationProtectionContainersResponse = ReplicationProtectedItemCollection;
+
+// @public
+export interface ReplicationProtectedItemsListNextOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+}
+
+// @public
+export type ReplicationProtectedItemsListNextResponse = ReplicationProtectedItemCollection;
+
+// @public
+export interface ReplicationProtectedItemsListOptionalParams extends coreClient.OperationOptions {
+ filter?: string;
+ skipToken?: string;
+}
+
+// @public
+export type ReplicationProtectedItemsListResponse = ReplicationProtectedItemCollection;
+
+// @public
+export interface ReplicationProtectedItemsPlannedFailoverOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsPlannedFailoverResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsPurgeOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationProtectedItemsRemoveDisksOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsRemoveDisksResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsRepairReplicationOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsRepairReplicationResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsReprotectOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsReprotectResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsResolveHealthErrorsOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsResolveHealthErrorsResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsSwitchProviderOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsSwitchProviderResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsTestFailoverCleanupOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsTestFailoverCleanupResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsTestFailoverOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsTestFailoverResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsUnplannedFailoverOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsUnplannedFailoverResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsUpdateApplianceOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsUpdateApplianceResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsUpdateMobilityServiceOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsUpdateMobilityServiceResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectedItemsUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectedItemsUpdateResponse = ReplicationProtectedItem;
+
+// @public
+export interface ReplicationProtectionContainerMappings {
+ beginCreate(fabricName: string, protectionContainerName: string, mappingName: string, creationInput: CreateProtectionContainerMappingInput, options?: ReplicationProtectionContainerMappingsCreateOptionalParams): Promise, ReplicationProtectionContainerMappingsCreateResponse>>;
+ beginCreateAndWait(fabricName: string, protectionContainerName: string, mappingName: string, creationInput: CreateProtectionContainerMappingInput, options?: ReplicationProtectionContainerMappingsCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, protectionContainerName: string, mappingName: string, removalInput: RemoveProtectionContainerMappingInput, options?: ReplicationProtectionContainerMappingsDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, protectionContainerName: string, mappingName: string, removalInput: RemoveProtectionContainerMappingInput, options?: ReplicationProtectionContainerMappingsDeleteOptionalParams): Promise;
+ beginPurge(fabricName: string, protectionContainerName: string, mappingName: string, options?: ReplicationProtectionContainerMappingsPurgeOptionalParams): Promise, void>>;
+ beginPurgeAndWait(fabricName: string, protectionContainerName: string, mappingName: string, options?: ReplicationProtectionContainerMappingsPurgeOptionalParams): Promise;
+ beginUpdate(fabricName: string, protectionContainerName: string, mappingName: string, updateInput: UpdateProtectionContainerMappingInput, options?: ReplicationProtectionContainerMappingsUpdateOptionalParams): Promise, ReplicationProtectionContainerMappingsUpdateResponse>>;
+ beginUpdateAndWait(fabricName: string, protectionContainerName: string, mappingName: string, updateInput: UpdateProtectionContainerMappingInput, options?: ReplicationProtectionContainerMappingsUpdateOptionalParams): Promise;
+ get(fabricName: string, protectionContainerName: string, mappingName: string, options?: ReplicationProtectionContainerMappingsGetOptionalParams): Promise;
+ list(options?: ReplicationProtectionContainerMappingsListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationProtectionContainerMappingsCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsCreateResponse = ProtectionContainerMapping;
+
+// @public
+export interface ReplicationProtectionContainerMappingsDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationProtectionContainerMappingsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsGetResponse = ProtectionContainerMapping;
+
+// @public
+export interface ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextResponse = ProtectionContainerMappingCollection;
+
+// @public
+export interface ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsListByReplicationProtectionContainersResponse = ProtectionContainerMappingCollection;
+
+// @public
+export interface ReplicationProtectionContainerMappingsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsListNextResponse = ProtectionContainerMappingCollection;
+
+// @public
+export interface ReplicationProtectionContainerMappingsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsListResponse = ProtectionContainerMappingCollection;
+
+// @public
+export interface ReplicationProtectionContainerMappingsPurgeOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationProtectionContainerMappingsUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectionContainerMappingsUpdateResponse = ProtectionContainerMapping;
+
+// @public
+export interface ReplicationProtectionContainers {
+ beginCreate(fabricName: string, protectionContainerName: string, creationInput: CreateProtectionContainerInput, options?: ReplicationProtectionContainersCreateOptionalParams): Promise, ReplicationProtectionContainersCreateResponse>>;
+ beginCreateAndWait(fabricName: string, protectionContainerName: string, creationInput: CreateProtectionContainerInput, options?: ReplicationProtectionContainersCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, protectionContainerName: string, options?: ReplicationProtectionContainersDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, protectionContainerName: string, options?: ReplicationProtectionContainersDeleteOptionalParams): Promise;
+ beginDiscoverProtectableItem(fabricName: string, protectionContainerName: string, discoverProtectableItemRequest: DiscoverProtectableItemRequest, options?: ReplicationProtectionContainersDiscoverProtectableItemOptionalParams): Promise, ReplicationProtectionContainersDiscoverProtectableItemResponse>>;
+ beginDiscoverProtectableItemAndWait(fabricName: string, protectionContainerName: string, discoverProtectableItemRequest: DiscoverProtectableItemRequest, options?: ReplicationProtectionContainersDiscoverProtectableItemOptionalParams): Promise;
+ beginSwitchProtection(fabricName: string, protectionContainerName: string, switchInput: SwitchProtectionInput, options?: ReplicationProtectionContainersSwitchProtectionOptionalParams): Promise, ReplicationProtectionContainersSwitchProtectionResponse>>;
+ beginSwitchProtectionAndWait(fabricName: string, protectionContainerName: string, switchInput: SwitchProtectionInput, options?: ReplicationProtectionContainersSwitchProtectionOptionalParams): Promise;
+ get(fabricName: string, protectionContainerName: string, options?: ReplicationProtectionContainersGetOptionalParams): Promise;
+ list(options?: ReplicationProtectionContainersListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationFabrics(fabricName: string, options?: ReplicationProtectionContainersListByReplicationFabricsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationProtectionContainersCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectionContainersCreateResponse = ProtectionContainer;
+
+// @public
+export interface ReplicationProtectionContainersDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationProtectionContainersDiscoverProtectableItemOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectionContainersDiscoverProtectableItemResponse = ProtectionContainer;
+
+// @public
+export interface ReplicationProtectionContainersGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainersGetResponse = ProtectionContainer;
+
+// @public
+export interface ReplicationProtectionContainersListByReplicationFabricsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainersListByReplicationFabricsNextResponse = ProtectionContainerCollection;
+
+// @public
+export interface ReplicationProtectionContainersListByReplicationFabricsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainersListByReplicationFabricsResponse = ProtectionContainerCollection;
+
+// @public
+export interface ReplicationProtectionContainersListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainersListNextResponse = ProtectionContainerCollection;
+
+// @public
+export interface ReplicationProtectionContainersListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionContainersListResponse = ProtectionContainerCollection;
+
+// @public
+export interface ReplicationProtectionContainersSwitchProtectionOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationProtectionContainersSwitchProtectionResponse = ProtectionContainer;
+
+// @public
+export type ReplicationProtectionIntent = Resource & {
+ properties?: ReplicationProtectionIntentProperties;
+};
+
+// @public
+export interface ReplicationProtectionIntentCollection {
+ nextLink?: string;
+ value?: ReplicationProtectionIntent[];
+}
+
+// @public
+export interface ReplicationProtectionIntentProperties {
+ readonly creationTimeUTC?: string;
+ friendlyName?: string;
+ readonly isActive?: boolean;
+ readonly jobId?: string;
+ readonly jobState?: string;
+ providerSpecificDetails?: ReplicationProtectionIntentProviderSpecificSettingsUnion;
+}
+
+// @public
+export interface ReplicationProtectionIntentProviderSpecificSettings {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type ReplicationProtectionIntentProviderSpecificSettingsUnion = ReplicationProtectionIntentProviderSpecificSettings | A2AReplicationIntentDetails;
+
+// @public
+export interface ReplicationProtectionIntents {
+ create(intentObjectName: string, input: CreateProtectionIntentInput, options?: ReplicationProtectionIntentsCreateOptionalParams): Promise;
+ get(intentObjectName: string, options?: ReplicationProtectionIntentsGetOptionalParams): Promise;
+ list(options?: ReplicationProtectionIntentsListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationProtectionIntentsCreateOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionIntentsCreateResponse = ReplicationProtectionIntent;
+
+// @public
+export interface ReplicationProtectionIntentsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationProtectionIntentsGetResponse = ReplicationProtectionIntent;
+
+// @public
+export interface ReplicationProtectionIntentsListNextOptionalParams extends coreClient.OperationOptions {
+ skipToken?: string;
+ takeToken?: string;
+}
+
+// @public
+export type ReplicationProtectionIntentsListNextResponse = ReplicationProtectionIntentCollection;
+
+// @public
+export interface ReplicationProtectionIntentsListOptionalParams extends coreClient.OperationOptions {
+ skipToken?: string;
+ takeToken?: string;
+}
+
+// @public
+export type ReplicationProtectionIntentsListResponse = ReplicationProtectionIntentCollection;
+
+// @public
+export interface ReplicationProviderContainerUnmappingInput {
+ instanceType?: string;
+}
+
+// @public
+export interface ReplicationProviderSpecificContainerCreationInput {
+ instanceType: "A2A" | "A2ACrossClusterMigration" | "VMwareCbt";
+}
+
+// @public (undocumented)
+export type ReplicationProviderSpecificContainerCreationInputUnion = ReplicationProviderSpecificContainerCreationInput | A2AContainerCreationInput | A2ACrossClusterMigrationContainerCreationInput | VMwareCbtContainerCreationInput;
+
+// @public
+export interface ReplicationProviderSpecificContainerMappingInput {
+ instanceType: "A2A" | "VMwareCbt";
+}
+
+// @public (undocumented)
+export type ReplicationProviderSpecificContainerMappingInputUnion = ReplicationProviderSpecificContainerMappingInput | A2AContainerMappingInput | VMwareCbtContainerMappingInput;
+
+// @public
+export interface ReplicationProviderSpecificSettings {
+ instanceType: "A2ACrossClusterMigration" | "A2A" | "HyperVReplicaAzure" | "HyperVReplicaBaseReplicationDetails" | "HyperVReplica2012R2" | "HyperVReplica2012" | "InMageAzureV2" | "InMageRcmFailback" | "InMageRcm" | "InMage";
+}
+
+// @public (undocumented)
+export type ReplicationProviderSpecificSettingsUnion = ReplicationProviderSpecificSettings | A2ACrossClusterMigrationReplicationDetails | A2AReplicationDetails | HyperVReplicaAzureReplicationDetails | HyperVReplicaBaseReplicationDetails | HyperVReplicaBlueReplicationDetails | HyperVReplicaReplicationDetails | InMageAzureV2ReplicationDetails | InMageRcmFailbackReplicationDetails | InMageRcmReplicationDetails | InMageReplicationDetails;
+
+// @public
+export interface ReplicationProviderSpecificUpdateContainerMappingInput {
+ instanceType: "A2A" | "InMageRcm";
+}
+
+// @public (undocumented)
+export type ReplicationProviderSpecificUpdateContainerMappingInputUnion = ReplicationProviderSpecificUpdateContainerMappingInput | A2AUpdateContainerMappingInput | InMageRcmUpdateContainerMappingInput;
+
+// @public
+export interface ReplicationRecoveryPlans {
+ beginCreate(recoveryPlanName: string, input: CreateRecoveryPlanInput, options?: ReplicationRecoveryPlansCreateOptionalParams): Promise, ReplicationRecoveryPlansCreateResponse>>;
+ beginCreateAndWait(recoveryPlanName: string, input: CreateRecoveryPlanInput, options?: ReplicationRecoveryPlansCreateOptionalParams): Promise;
+ beginDelete(recoveryPlanName: string, options?: ReplicationRecoveryPlansDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(recoveryPlanName: string, options?: ReplicationRecoveryPlansDeleteOptionalParams): Promise;
+ beginFailoverCancel(recoveryPlanName: string, options?: ReplicationRecoveryPlansFailoverCancelOptionalParams): Promise, ReplicationRecoveryPlansFailoverCancelResponse>>;
+ beginFailoverCancelAndWait(recoveryPlanName: string, options?: ReplicationRecoveryPlansFailoverCancelOptionalParams): Promise;
+ beginFailoverCommit(recoveryPlanName: string, options?: ReplicationRecoveryPlansFailoverCommitOptionalParams): Promise, ReplicationRecoveryPlansFailoverCommitResponse>>;
+ beginFailoverCommitAndWait(recoveryPlanName: string, options?: ReplicationRecoveryPlansFailoverCommitOptionalParams): Promise;
+ beginPlannedFailover(recoveryPlanName: string, input: RecoveryPlanPlannedFailoverInput, options?: ReplicationRecoveryPlansPlannedFailoverOptionalParams): Promise, ReplicationRecoveryPlansPlannedFailoverResponse>>;
+ beginPlannedFailoverAndWait(recoveryPlanName: string, input: RecoveryPlanPlannedFailoverInput, options?: ReplicationRecoveryPlansPlannedFailoverOptionalParams): Promise;
+ beginReprotect(recoveryPlanName: string, options?: ReplicationRecoveryPlansReprotectOptionalParams): Promise, ReplicationRecoveryPlansReprotectResponse>>;
+ beginReprotectAndWait(recoveryPlanName: string, options?: ReplicationRecoveryPlansReprotectOptionalParams): Promise;
+ beginTestFailover(recoveryPlanName: string, input: RecoveryPlanTestFailoverInput, options?: ReplicationRecoveryPlansTestFailoverOptionalParams): Promise, ReplicationRecoveryPlansTestFailoverResponse>>;
+ beginTestFailoverAndWait(recoveryPlanName: string, input: RecoveryPlanTestFailoverInput, options?: ReplicationRecoveryPlansTestFailoverOptionalParams): Promise;
+ beginTestFailoverCleanup(recoveryPlanName: string, input: RecoveryPlanTestFailoverCleanupInput, options?: ReplicationRecoveryPlansTestFailoverCleanupOptionalParams): Promise, ReplicationRecoveryPlansTestFailoverCleanupResponse>>;
+ beginTestFailoverCleanupAndWait(recoveryPlanName: string, input: RecoveryPlanTestFailoverCleanupInput, options?: ReplicationRecoveryPlansTestFailoverCleanupOptionalParams): Promise;
+ beginUnplannedFailover(recoveryPlanName: string, input: RecoveryPlanUnplannedFailoverInput, options?: ReplicationRecoveryPlansUnplannedFailoverOptionalParams): Promise, ReplicationRecoveryPlansUnplannedFailoverResponse>>;
+ beginUnplannedFailoverAndWait(recoveryPlanName: string, input: RecoveryPlanUnplannedFailoverInput, options?: ReplicationRecoveryPlansUnplannedFailoverOptionalParams): Promise;
+ beginUpdate(recoveryPlanName: string, input: UpdateRecoveryPlanInput, options?: ReplicationRecoveryPlansUpdateOptionalParams): Promise, ReplicationRecoveryPlansUpdateResponse>>;
+ beginUpdateAndWait(recoveryPlanName: string, input: UpdateRecoveryPlanInput, options?: ReplicationRecoveryPlansUpdateOptionalParams): Promise;
+ get(recoveryPlanName: string, options?: ReplicationRecoveryPlansGetOptionalParams): Promise;
+ list(options?: ReplicationRecoveryPlansListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationRecoveryPlansCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansCreateResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationRecoveryPlansFailoverCancelOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansFailoverCancelResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansFailoverCommitOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansFailoverCommitResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryPlansGetResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryPlansListNextResponse = RecoveryPlanCollection;
+
+// @public
+export interface ReplicationRecoveryPlansListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryPlansListResponse = RecoveryPlanCollection;
+
+// @public
+export interface ReplicationRecoveryPlansPlannedFailoverOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansPlannedFailoverResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansReprotectOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansReprotectResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansTestFailoverCleanupOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansTestFailoverCleanupResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansTestFailoverOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansTestFailoverResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansUnplannedFailoverOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansUnplannedFailoverResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryPlansUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryPlansUpdateResponse = RecoveryPlan;
+
+// @public
+export interface ReplicationRecoveryServicesProviders {
+ beginCreate(fabricName: string, providerName: string, addProviderInput: AddRecoveryServicesProviderInput, options?: ReplicationRecoveryServicesProvidersCreateOptionalParams): Promise, ReplicationRecoveryServicesProvidersCreateResponse>>;
+ beginCreateAndWait(fabricName: string, providerName: string, addProviderInput: AddRecoveryServicesProviderInput, options?: ReplicationRecoveryServicesProvidersCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersDeleteOptionalParams): Promise;
+ beginPurge(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersPurgeOptionalParams): Promise, void>>;
+ beginPurgeAndWait(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersPurgeOptionalParams): Promise;
+ beginRefreshProvider(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams): Promise, ReplicationRecoveryServicesProvidersRefreshProviderResponse>>;
+ beginRefreshProviderAndWait(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams): Promise;
+ get(fabricName: string, providerName: string, options?: ReplicationRecoveryServicesProvidersGetOptionalParams): Promise;
+ list(options?: ReplicationRecoveryServicesProvidersListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationFabrics(fabricName: string, options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationRecoveryServicesProvidersCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersCreateResponse = RecoveryServicesProvider;
+
+// @public
+export interface ReplicationRecoveryServicesProvidersDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationRecoveryServicesProvidersGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersGetResponse = RecoveryServicesProvider;
+
+// @public
+export interface ReplicationRecoveryServicesProvidersListByReplicationFabricsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersListByReplicationFabricsNextResponse = RecoveryServicesProviderCollection;
+
+// @public
+export interface ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersListByReplicationFabricsResponse = RecoveryServicesProviderCollection;
+
+// @public
+export interface ReplicationRecoveryServicesProvidersListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersListNextResponse = RecoveryServicesProviderCollection;
+
+// @public
+export interface ReplicationRecoveryServicesProvidersListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersListResponse = RecoveryServicesProviderCollection;
+
+// @public
+export interface ReplicationRecoveryServicesProvidersPurgeOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationRecoveryServicesProvidersRefreshProviderResponse = RecoveryServicesProvider;
+
+// @public
+export interface ReplicationStorageClassificationMappings {
+ beginCreate(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, pairingInput: StorageClassificationMappingInput, options?: ReplicationStorageClassificationMappingsCreateOptionalParams): Promise, ReplicationStorageClassificationMappingsCreateResponse>>;
+ beginCreateAndWait(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, pairingInput: StorageClassificationMappingInput, options?: ReplicationStorageClassificationMappingsCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: ReplicationStorageClassificationMappingsDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: ReplicationStorageClassificationMappingsDeleteOptionalParams): Promise;
+ get(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: ReplicationStorageClassificationMappingsGetOptionalParams): Promise;
+ list(options?: ReplicationStorageClassificationMappingsListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationStorageClassifications(fabricName: string, storageClassificationName: string, options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationStorageClassificationMappingsCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationStorageClassificationMappingsCreateResponse = StorageClassificationMapping;
+
+// @public
+export interface ReplicationStorageClassificationMappingsDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationStorageClassificationMappingsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationMappingsGetResponse = StorageClassificationMapping;
+
+// @public
+export interface ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextResponse = StorageClassificationMappingCollection;
+
+// @public
+export interface ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsResponse = StorageClassificationMappingCollection;
+
+// @public
+export interface ReplicationStorageClassificationMappingsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationMappingsListNextResponse = StorageClassificationMappingCollection;
+
+// @public
+export interface ReplicationStorageClassificationMappingsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationMappingsListResponse = StorageClassificationMappingCollection;
+
+// @public
+export interface ReplicationStorageClassifications {
+ get(fabricName: string, storageClassificationName: string, options?: ReplicationStorageClassificationsGetOptionalParams): Promise;
+ list(options?: ReplicationStorageClassificationsListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationFabrics(fabricName: string, options?: ReplicationStorageClassificationsListByReplicationFabricsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationStorageClassificationsGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationsGetResponse = StorageClassification;
+
+// @public
+export interface ReplicationStorageClassificationsListByReplicationFabricsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationsListByReplicationFabricsNextResponse = StorageClassificationCollection;
+
+// @public
+export interface ReplicationStorageClassificationsListByReplicationFabricsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationsListByReplicationFabricsResponse = StorageClassificationCollection;
+
+// @public
+export interface ReplicationStorageClassificationsListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationsListNextResponse = StorageClassificationCollection;
+
+// @public
+export interface ReplicationStorageClassificationsListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationStorageClassificationsListResponse = StorageClassificationCollection;
+
+// @public
+export interface ReplicationVaultHealth {
+ beginRefresh(options?: ReplicationVaultHealthRefreshOptionalParams): Promise, ReplicationVaultHealthRefreshResponse>>;
+ beginRefreshAndWait(options?: ReplicationVaultHealthRefreshOptionalParams): Promise;
+ get(options?: ReplicationVaultHealthGetOptionalParams): Promise;
+}
+
+// @public
+export interface ReplicationVaultHealthGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationVaultHealthGetResponse = VaultHealthDetails;
+
+// @public
+export interface ReplicationVaultHealthRefreshOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationVaultHealthRefreshResponse = VaultHealthDetails;
+
+// @public
+export interface ReplicationVaultSetting {
+ beginCreate(vaultSettingName: string, input: VaultSettingCreationInput, options?: ReplicationVaultSettingCreateOptionalParams): Promise, ReplicationVaultSettingCreateResponse>>;
+ beginCreateAndWait(vaultSettingName: string, input: VaultSettingCreationInput, options?: ReplicationVaultSettingCreateOptionalParams): Promise;
+ get(vaultSettingName: string, options?: ReplicationVaultSettingGetOptionalParams): Promise;
+ list(options?: ReplicationVaultSettingListOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationVaultSettingCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationVaultSettingCreateResponse = VaultSetting;
+
+// @public
+export interface ReplicationVaultSettingGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationVaultSettingGetResponse = VaultSetting;
+
+// @public
+export interface ReplicationVaultSettingListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationVaultSettingListNextResponse = VaultSettingCollection;
+
+// @public
+export interface ReplicationVaultSettingListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationVaultSettingListResponse = VaultSettingCollection;
+
+// @public
+export interface ReplicationvCenters {
+ beginCreate(fabricName: string, vcenterName: string, addVCenterRequest: AddVCenterRequest, options?: ReplicationvCentersCreateOptionalParams): Promise, ReplicationvCentersCreateResponse>>;
+ beginCreateAndWait(fabricName: string, vcenterName: string, addVCenterRequest: AddVCenterRequest, options?: ReplicationvCentersCreateOptionalParams): Promise;
+ beginDelete(fabricName: string, vcenterName: string, options?: ReplicationvCentersDeleteOptionalParams): Promise, void>>;
+ beginDeleteAndWait(fabricName: string, vcenterName: string, options?: ReplicationvCentersDeleteOptionalParams): Promise;
+ beginUpdate(fabricName: string, vcenterName: string, updateVCenterRequest: UpdateVCenterRequest, options?: ReplicationvCentersUpdateOptionalParams): Promise, ReplicationvCentersUpdateResponse>>;
+ beginUpdateAndWait(fabricName: string, vcenterName: string, updateVCenterRequest: UpdateVCenterRequest, options?: ReplicationvCentersUpdateOptionalParams): Promise;
+ get(fabricName: string, vcenterName: string, options?: ReplicationvCentersGetOptionalParams): Promise;
+ list(options?: ReplicationvCentersListOptionalParams): PagedAsyncIterableIterator;
+ listByReplicationFabrics(fabricName: string, options?: ReplicationvCentersListByReplicationFabricsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface ReplicationvCentersCreateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationvCentersCreateResponse = VCenter;
+
+// @public
+export interface ReplicationvCentersDeleteOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export interface ReplicationvCentersGetOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationvCentersGetResponse = VCenter;
+
+// @public
+export interface ReplicationvCentersListByReplicationFabricsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationvCentersListByReplicationFabricsNextResponse = VCenterCollection;
+
+// @public
+export interface ReplicationvCentersListByReplicationFabricsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationvCentersListByReplicationFabricsResponse = VCenterCollection;
+
+// @public
+export interface ReplicationvCentersListNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationvCentersListNextResponse = VCenterCollection;
+
+// @public
+export interface ReplicationvCentersListOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type ReplicationvCentersListResponse = VCenterCollection;
+
+// @public
+export interface ReplicationvCentersUpdateOptionalParams extends coreClient.OperationOptions {
+ resumeFrom?: string;
+ updateIntervalInMs?: number;
+}
+
+// @public
+export type ReplicationvCentersUpdateResponse = VCenter;
+
+// @public
+export interface ReprotectAgentDetails {
+ readonly accessibleDatastores?: string[];
+ readonly biosId?: string;
+ readonly fabricObjectId?: string;
+ readonly fqdn?: string;
+ readonly health?: ProtectionHealth;
+ readonly healthErrors?: HealthError[];
+ readonly id?: string;
+ readonly lastDiscoveryInUtc?: Date;
+ readonly lastHeartbeatUtc?: Date;
+ readonly name?: string;
+ readonly protectedItemCount?: number;
+ readonly vcenterId?: string;
+ readonly version?: string;
+}
+
+// @public
+export interface ResolveHealthError {
+ healthErrorId?: string;
+}
+
+// @public
+export interface ResolveHealthInput {
+ properties?: ResolveHealthInputProperties;
+}
+
+// @public
+export interface ResolveHealthInputProperties {
+ healthErrors?: ResolveHealthError[];
+}
+
+// @public
+export interface Resource {
+ readonly id?: string;
+ location?: string;
+ readonly name?: string;
+ readonly type?: string;
+}
+
+// @public
+export interface ResourceHealthSummary {
+ categorizedResourceCounts?: {
+ [propertyName: string]: number;
+ };
+ issues?: HealthErrorSummary[];
+ resourceCount?: number;
+}
+
+// @public
+export interface ResumeJobParams {
+ properties?: ResumeJobParamsProperties;
+}
+
+// @public
+export interface ResumeJobParamsProperties {
+ comments?: string;
+}
+
+// @public
+export interface ResyncInput {
+ properties: ResyncInputProperties;
+}
+
+// @public
+export interface ResyncInputProperties {
+ providerSpecificDetails: ResyncProviderSpecificInputUnion;
+}
+
+// @public
+export interface ResyncProviderSpecificInput {
+ instanceType: "VMwareCbt";
+}
+
+// @public (undocumented)
+export type ResyncProviderSpecificInputUnion = ResyncProviderSpecificInput | VMwareCbtResyncInput;
+
+// @public
+export type ResyncState = string;
+
+// @public
+export interface RetentionVolume {
+ capacityInBytes?: number;
+ freeSpaceInBytes?: number;
+ thresholdPercentage?: number;
+ volumeName?: string;
+}
+
+// @public
+export interface ReverseReplicationInput {
+ properties?: ReverseReplicationInputProperties;
+}
+
+// @public
+export interface ReverseReplicationInputProperties {
+ failoverDirection?: string;
+ providerSpecificDetails?: ReverseReplicationProviderSpecificInputUnion;
+}
+
+// @public
+export interface ReverseReplicationProviderSpecificInput {
+ instanceType: "A2A" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMageRcmFailback" | "InMageRcm" | "InMage";
+}
+
+// @public (undocumented)
+export type ReverseReplicationProviderSpecificInputUnion = ReverseReplicationProviderSpecificInput | A2AReprotectInput | HyperVReplicaAzureReprotectInput | InMageAzureV2ReprotectInput | InMageRcmFailbackReprotectInput | InMageRcmReprotectInput | InMageReprotectInput;
+
+// @public
+export interface RoleAssignment {
+ id?: string;
+ name?: string;
+ principalId?: string;
+ roleDefinitionId?: string;
+ scope?: string;
+}
+
+// @public
+export type RpInMageRecoveryPointType = string;
+
+// @public
+export interface RunAsAccount {
+ accountId?: string;
+ accountName?: string;
+}
+
+// @public
+export type ScriptActionTaskDetails = TaskTypeDetails & {
+ instanceType: "ScriptActionTaskDetails";
+ name?: string;
+ path?: string;
+ output?: string;
+ isPrimarySideScript?: boolean;
+};
+
+// @public
+export interface ServiceError {
+ activityId?: string;
+ code?: string;
+ message?: string;
+ possibleCauses?: string;
+ recommendedAction?: string;
+}
+
+// @public
+export type SetMultiVmSyncStatus = string;
+
+// @public
+export type Severity = string;
+
+// @public (undocumented)
+export class SiteRecoveryManagementClient extends coreClient.ServiceClient {
+ // (undocumented)
+ $host: string;
+ constructor(credentials: coreAuth.TokenCredential, resourceGroupName: string, subscriptionId: string, resourceName: string, options?: SiteRecoveryManagementClientOptionalParams);
+ // (undocumented)
+ apiVersion: string;
+ // (undocumented)
+ migrationRecoveryPoints: MigrationRecoveryPoints;
+ // (undocumented)
+ operations: Operations;
+ // (undocumented)
+ recoveryPoints: RecoveryPoints;
+ // (undocumented)
+ replicationAlertSettings: ReplicationAlertSettings;
+ // (undocumented)
+ replicationAppliances: ReplicationAppliances;
+ // (undocumented)
+ replicationEligibilityResultsOperations: ReplicationEligibilityResultsOperations;
+ // (undocumented)
+ replicationEvents: ReplicationEvents;
+ // (undocumented)
+ replicationFabrics: ReplicationFabrics;
+ // (undocumented)
+ replicationJobs: ReplicationJobs;
+ // (undocumented)
+ replicationLogicalNetworks: ReplicationLogicalNetworks;
+ // (undocumented)
+ replicationMigrationItems: ReplicationMigrationItems;
+ // (undocumented)
+ replicationNetworkMappings: ReplicationNetworkMappings;
+ // (undocumented)
+ replicationNetworks: ReplicationNetworks;
+ // (undocumented)
+ replicationPolicies: ReplicationPolicies;
+ // (undocumented)
+ replicationProtectableItems: ReplicationProtectableItems;
+ // (undocumented)
+ replicationProtectedItems: ReplicationProtectedItems;
+ // (undocumented)
+ replicationProtectionContainerMappings: ReplicationProtectionContainerMappings;
+ // (undocumented)
+ replicationProtectionContainers: ReplicationProtectionContainers;
+ // (undocumented)
+ replicationProtectionIntents: ReplicationProtectionIntents;
+ // (undocumented)
+ replicationRecoveryPlans: ReplicationRecoveryPlans;
+ // (undocumented)
+ replicationRecoveryServicesProviders: ReplicationRecoveryServicesProviders;
+ // (undocumented)
+ replicationStorageClassificationMappings: ReplicationStorageClassificationMappings;
+ // (undocumented)
+ replicationStorageClassifications: ReplicationStorageClassifications;
+ // (undocumented)
+ replicationVaultHealth: ReplicationVaultHealth;
+ // (undocumented)
+ replicationVaultSetting: ReplicationVaultSetting;
+ // (undocumented)
+ replicationvCenters: ReplicationvCenters;
+ // (undocumented)
+ resourceGroupName: string;
+ // (undocumented)
+ resourceName: string;
+ // (undocumented)
+ subscriptionId: string;
+ // (undocumented)
+ supportedOperatingSystemsOperations: SupportedOperatingSystemsOperations;
+ // (undocumented)
+ targetComputeSizes: TargetComputeSizes;
+}
+
+// @public
+export interface SiteRecoveryManagementClientOptionalParams extends coreClient.ServiceClientOptions {
+ $host?: string;
+ apiVersion?: string;
+ endpoint?: string;
+}
+
+// @public
+export type SourceSiteOperations = string;
+
+// @public
+export type SqlServerLicenseType = string;
+
+// @public
+export interface StorageAccountCustomDetails {
+ resourceType: "Existing";
+}
+
+// @public (undocumented)
+export type StorageAccountCustomDetailsUnion = StorageAccountCustomDetails | ExistingStorageAccount;
+
+// @public
+export type StorageClassification = Resource & {
+ properties?: StorageClassificationProperties;
+};
+
+// @public
+export interface StorageClassificationCollection {
+ nextLink?: string;
+ value?: StorageClassification[];
+}
+
+// @public
+export type StorageClassificationMapping = Resource & {
+ properties?: StorageClassificationMappingProperties;
+};
+
+// @public
+export interface StorageClassificationMappingCollection {
+ nextLink?: string;
+ value?: StorageClassificationMapping[];
+}
+
+// @public
+export interface StorageClassificationMappingInput {
+ properties?: StorageMappingInputProperties;
+}
+
+// @public
+export interface StorageClassificationMappingProperties {
+ targetStorageClassificationId?: string;
+}
+
+// @public
+export interface StorageClassificationProperties {
+ friendlyName?: string;
+}
+
+// @public
+export interface StorageMappingInputProperties {
+ targetStorageClassificationId?: string;
+}
+
+// @public
+export interface Subnet {
+ addressList?: string[];
+ friendlyName?: string;
+ name?: string;
+}
+
+// @public
+export type SupportedOperatingSystems = Resource & {
+ properties?: SupportedOSProperties;
+};
+
+// @public
+export interface SupportedOperatingSystemsGetOptionalParams extends coreClient.OperationOptions {
+ instanceType?: string;
+}
+
+// @public
+export type SupportedOperatingSystemsGetResponse = SupportedOperatingSystems;
+
+// @public
+export interface SupportedOperatingSystemsOperations {
+ get(options?: SupportedOperatingSystemsGetOptionalParams): Promise;
+}
+
+// @public
+export interface SupportedOSDetails {
+ osName?: string;
+ osType?: string;
+ osVersions?: OSVersionWrapper[];
+}
+
+// @public
+export interface SupportedOSProperties {
+ supportedOsList?: SupportedOSProperty[];
+}
+
+// @public
+export interface SupportedOSProperty {
+ instanceType?: string;
+ supportedOs?: SupportedOSDetails[];
+}
+
+// @public
+export interface SwitchProtectionInput {
+ properties?: SwitchProtectionInputProperties;
+}
+
+// @public
+export interface SwitchProtectionInputProperties {
+ providerSpecificDetails?: SwitchProtectionProviderSpecificInputUnion;
+ replicationProtectedItemName?: string;
+}
+
+// @public
+export type SwitchProtectionJobDetails = JobDetails & {
+ instanceType: "SwitchProtectionJobDetails";
+ newReplicationProtectedItemId?: string;
+};
+
+// @public
+export interface SwitchProtectionProviderSpecificInput {
+ instanceType: "A2A";
+}
+
+// @public (undocumented)
+export type SwitchProtectionProviderSpecificInputUnion = SwitchProtectionProviderSpecificInput | A2ASwitchProtectionInput;
+
+// @public
+export interface SwitchProviderInput {
+ properties?: SwitchProviderInputProperties;
+}
+
+// @public
+export interface SwitchProviderInputProperties {
+ providerSpecificDetails?: SwitchProviderSpecificInputUnion;
+ targetInstanceType?: string;
+}
+
+// @public
+export interface SwitchProviderSpecificInput {
+ instanceType: "InMageAzureV2";
+}
+
+// @public (undocumented)
+export type SwitchProviderSpecificInputUnion = SwitchProviderSpecificInput | InMageAzureV2SwitchProviderInput;
+
+// @public
+export interface TargetComputeSize {
+ id?: string;
+ name?: string;
+ properties?: TargetComputeSizeProperties;
+ type?: string;
+}
+
+// @public
+export interface TargetComputeSizeCollection {
+ nextLink?: string;
+ value?: TargetComputeSize[];
+}
+
+// @public
+export interface TargetComputeSizeProperties {
+ cpuCoresCount?: number;
+ errors?: ComputeSizeErrorDetails[];
+ friendlyName?: string;
+ highIopsSupported?: string;
+ hyperVGenerations?: string[];
+ maxDataDiskCount?: number;
+ maxNicsCount?: number;
+ memoryInGB?: number;
+ name?: string;
+ readonly vCPUsAvailable?: number;
+}
+
+// @public
+export interface TargetComputeSizes {
+ listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: TargetComputeSizesListByReplicationProtectedItemsOptionalParams): PagedAsyncIterableIterator;
+}
+
+// @public
+export interface TargetComputeSizesListByReplicationProtectedItemsNextOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type TargetComputeSizesListByReplicationProtectedItemsNextResponse = TargetComputeSizeCollection;
+
+// @public
+export interface TargetComputeSizesListByReplicationProtectedItemsOptionalParams extends coreClient.OperationOptions {
+}
+
+// @public
+export type TargetComputeSizesListByReplicationProtectedItemsResponse = TargetComputeSizeCollection;
+
+// @public
+export interface TaskTypeDetails {
+ instanceType: "AutomationRunbookTaskDetails" | "ConsistencyCheckTaskDetails" | "JobTaskDetails" | "FabricReplicationGroupTaskDetails" | "ManualActionTaskDetails" | "ScriptActionTaskDetails" | "VirtualMachineTaskDetails" | "VmNicUpdatesTaskDetails";
+}
+
+// @public (undocumented)
+export type TaskTypeDetailsUnion = TaskTypeDetails | AutomationRunbookTaskDetails | ConsistencyCheckTaskDetails | JobTaskDetailsUnion | ManualActionTaskDetails | ScriptActionTaskDetails | VmNicUpdatesTaskDetails;
+
+// @public
+export interface TestFailoverCleanupInput {
+ properties: TestFailoverCleanupInputProperties;
+}
+
+// @public
+export interface TestFailoverCleanupInputProperties {
+ comments?: string;
+}
+
+// @public
+export interface TestFailoverInput {
+ properties: TestFailoverInputProperties;
+}
+
+// @public
+export interface TestFailoverInputProperties {
+ failoverDirection?: string;
+ networkId?: string;
+ networkType?: string;
+ providerSpecificDetails?: TestFailoverProviderSpecificInputUnion;
+}
+
+// @public
+export type TestFailoverJobDetails = JobDetails & {
+ instanceType: "TestFailoverJobDetails";
+ testFailoverStatus?: string;
+ comments?: string;
+ networkName?: string;
+ networkFriendlyName?: string;
+ networkType?: string;
+ protectedItemDetails?: FailoverReplicationProtectedItemDetails[];
+};
+
+// @public
+export interface TestFailoverProviderSpecificInput {
+ instanceType: "A2A" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMageRcm" | "InMage";
+}
+
+// @public (undocumented)
+export type TestFailoverProviderSpecificInputUnion = TestFailoverProviderSpecificInput | A2ATestFailoverInput | HyperVReplicaAzureTestFailoverInput | InMageAzureV2TestFailoverInput | InMageRcmTestFailoverInput | InMageTestFailoverInput;
+
+// @public
+export interface TestMigrateCleanupInput {
+ properties: TestMigrateCleanupInputProperties;
+}
+
+// @public
+export interface TestMigrateCleanupInputProperties {
+ comments?: string;
+}
+
+// @public
+export interface TestMigrateInput {
+ properties: TestMigrateInputProperties;
+}
+
+// @public
+export interface TestMigrateInputProperties {
+ providerSpecificDetails: TestMigrateProviderSpecificInputUnion;
+}
+
+// @public
+export interface TestMigrateProviderSpecificInput {
+ instanceType: "VMwareCbt";
+}
+
+// @public (undocumented)
+export type TestMigrateProviderSpecificInputUnion = TestMigrateProviderSpecificInput | VMwareCbtTestMigrateInput;
+
+// @public
+export type TestMigrationState = string;
+
+// @public
+export interface UnplannedFailoverInput {
+ properties: UnplannedFailoverInputProperties;
+}
+
+// @public
+export interface UnplannedFailoverInputProperties {
+ failoverDirection?: string;
+ providerSpecificDetails?: UnplannedFailoverProviderSpecificInputUnion;
+ sourceSiteOperations?: string;
+}
+
+// @public
+export interface UnplannedFailoverProviderSpecificInput {
+ instanceType: "A2A" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMageRcm" | "InMage";
+}
+
+// @public (undocumented)
+export type UnplannedFailoverProviderSpecificInputUnion = UnplannedFailoverProviderSpecificInput | A2AUnplannedFailoverInput | HyperVReplicaAzureUnplannedFailoverInput | InMageAzureV2UnplannedFailoverInput | InMageRcmUnplannedFailoverInput | InMageUnplannedFailoverInput;
+
+// @public
+export interface UpdateApplianceForReplicationProtectedItemInput {
+ properties: UpdateApplianceForReplicationProtectedItemInputProperties;
+}
+
+// @public
+export interface UpdateApplianceForReplicationProtectedItemInputProperties {
+ providerSpecificDetails: UpdateApplianceForReplicationProtectedItemProviderSpecificInputUnion;
+ targetApplianceId: string;
+}
+
+// @public
+export interface UpdateApplianceForReplicationProtectedItemProviderSpecificInput {
+ instanceType: "InMageRcm";
+}
+
+// @public (undocumented)
+export type UpdateApplianceForReplicationProtectedItemProviderSpecificInputUnion = UpdateApplianceForReplicationProtectedItemProviderSpecificInput | InMageRcmUpdateApplianceForReplicationProtectedItemInput;
+
+// @public
+export interface UpdateDiskInput {
+ diskId: string;
+ targetDiskName?: string;
+}
+
+// @public
+export interface UpdateMigrationItemInput {
+ properties?: UpdateMigrationItemInputProperties;
+}
+
+// @public
+export interface UpdateMigrationItemInputProperties {
+ providerSpecificDetails: UpdateMigrationItemProviderSpecificInputUnion;
+}
+
+// @public
+export interface UpdateMigrationItemProviderSpecificInput {
+ instanceType: "VMwareCbt";
+}
+
+// @public (undocumented)
+export type UpdateMigrationItemProviderSpecificInputUnion = UpdateMigrationItemProviderSpecificInput | VMwareCbtUpdateMigrationItemInput;
+
+// @public
+export interface UpdateMobilityServiceRequest {
+ properties?: UpdateMobilityServiceRequestProperties;
+}
+
+// @public
+export interface UpdateMobilityServiceRequestProperties {
+ runAsAccountId?: string;
+}
+
+// @public
+export interface UpdateNetworkMappingInput {
+ properties?: UpdateNetworkMappingInputProperties;
+}
+
+// @public
+export interface UpdateNetworkMappingInputProperties {
+ fabricSpecificDetails?: FabricSpecificUpdateNetworkMappingInputUnion;
+ recoveryFabricName?: string;
+ recoveryNetworkId?: string;
+}
+
+// @public
+export interface UpdatePolicyInput {
+ properties?: UpdatePolicyInputProperties;
+}
+
+// @public
+export interface UpdatePolicyInputProperties {
+ replicationProviderSettings?: PolicyProviderSpecificInputUnion;
+}
+
+// @public
+export interface UpdateProtectionContainerMappingInput {
+ properties?: UpdateProtectionContainerMappingInputProperties;
+}
+
+// @public
+export interface UpdateProtectionContainerMappingInputProperties {
+ providerSpecificInput?: ReplicationProviderSpecificUpdateContainerMappingInputUnion;
+}
+
+// @public
+export interface UpdateRecoveryPlanInput {
+ properties?: UpdateRecoveryPlanInputProperties;
+}
+
+// @public
+export interface UpdateRecoveryPlanInputProperties {
+ groups?: RecoveryPlanGroup[];
+}
+
+// @public
+export interface UpdateReplicationProtectedItemInput {
+ properties?: UpdateReplicationProtectedItemInputProperties;
+}
+
+// @public
+export interface UpdateReplicationProtectedItemInputProperties {
+ enableRdpOnTargetOption?: string;
+ licenseType?: LicenseType;
+ providerSpecificDetails?: UpdateReplicationProtectedItemProviderInputUnion;
+ recoveryAvailabilitySetId?: string;
+ recoveryAzureVMName?: string;
+ recoveryAzureVMSize?: string;
+ selectedRecoveryAzureNetworkId?: string;
+ selectedSourceNicId?: string;
+ selectedTfoAzureNetworkId?: string;
+ vmNics?: VMNicInputDetails[];
+}
+
+// @public
+export interface UpdateReplicationProtectedItemProviderInput {
+ instanceType: "A2A" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMageRcm";
+}
+
+// @public (undocumented)
+export type UpdateReplicationProtectedItemProviderInputUnion = UpdateReplicationProtectedItemProviderInput | A2AUpdateReplicationProtectedItemInput | HyperVReplicaAzureUpdateReplicationProtectedItemInput | InMageAzureV2UpdateReplicationProtectedItemInput | InMageRcmUpdateReplicationProtectedItemInput;
+
+// @public
+export interface UpdateVCenterRequest {
+ properties?: UpdateVCenterRequestProperties;
+}
+
+// @public
+export interface UpdateVCenterRequestProperties {
+ friendlyName?: string;
+ ipAddress?: string;
+ port?: string;
+ processServerId?: string;
+ runAsAccountId?: string;
+}
+
+// @public
+export type VaultHealthDetails = Resource & {
+ properties?: VaultHealthProperties;
+};
+
+// @public
+export interface VaultHealthProperties {
+ containersHealth?: ResourceHealthSummary;
+ fabricsHealth?: ResourceHealthSummary;
+ protectedItemsHealth?: ResourceHealthSummary;
+ vaultErrors?: HealthError[];
+}
+
+// @public
+export type VaultSetting = Resource & {
+ properties?: VaultSettingProperties;
+};
+
+// @public
+export interface VaultSettingCollection {
+ nextLink?: string;
+ value?: VaultSetting[];
+}
+
+// @public
+export interface VaultSettingCreationInput {
+ properties: VaultSettingCreationInputProperties;
+}
+
+// @public
+export interface VaultSettingCreationInputProperties {
+ migrationSolutionId?: string;
+ vmwareToAzureProviderType?: string;
+}
+
+// @public
+export interface VaultSettingProperties {
+ migrationSolutionId?: string;
+ vmwareToAzureProviderType?: string;
+}
+
+// @public
+export type VCenter = Resource & {
+ properties?: VCenterProperties;
+};
+
+// @public
+export interface VCenterCollection {
+ nextLink?: string;
+ value?: VCenter[];
+}
+
+// @public
+export interface VCenterProperties {
+ discoveryStatus?: string;
+ fabricArmResourceName?: string;
+ friendlyName?: string;
+ healthErrors?: HealthError[];
+ infrastructureId?: string;
+ internalId?: string;
+ ipAddress?: string;
+ lastHeartbeat?: Date;
+ port?: string;
+ processServerId?: string;
+ runAsAccountId?: string;
+}
+
+// @public
+export interface VersionDetails {
+ expiryDate?: Date;
+ status?: AgentVersionStatus;
+ version?: string;
+}
+
+// @public
+export type VirtualMachineTaskDetails = JobTaskDetails & {
+ instanceType: "VirtualMachineTaskDetails";
+ skippedReason?: string;
+ skippedReasonString?: string;
+};
+
+// @public
+export type VmEncryptionType = string;
+
+// @public
+export type VmmDetails = FabricSpecificDetails & {
+ instanceType: "VMM";
+};
+
+// @public
+export type VmmToAzureCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & {
+ instanceType: "VmmToAzure";
+};
+
+// @public
+export type VmmToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & {
+ instanceType: "VmmToAzure";
+};
+
+// @public
+export type VmmToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & {
+ instanceType: "VmmToAzure";
+};
+
+// @public
+export type VmmToVmmCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & {
+ instanceType: "VmmToVmm";
+};
+
+// @public
+export type VmmToVmmNetworkMappingSettings = NetworkMappingFabricSpecificSettings & {
+ instanceType: "VmmToVmm";
+};
+
+// @public
+export type VmmToVmmUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & {
+ instanceType: "VmmToVmm";
+};
+
+// @public
+export type VmmVirtualMachineDetails = HyperVVirtualMachineDetails & {
+ instanceType: "VmmVirtualMachine";
+};
+
+// @public
+export interface VMNicDetails {
+ enableAcceleratedNetworkingOnRecovery?: boolean;
+ enableAcceleratedNetworkingOnTfo?: boolean;
+ ipConfigs?: IPConfigDetails[];
+ nicId?: string;
+ recoveryNetworkSecurityGroupId?: string;
+ recoveryNicName?: string;
+ recoveryNicResourceGroupName?: string;
+ recoveryVMNetworkId?: string;
+ replicaNicId?: string;
+ reuseExistingNic?: boolean;
+ selectionType?: string;
+ sourceNicArmId?: string;
+ targetNicName?: string;
+ tfoNetworkSecurityGroupId?: string;
+ tfoRecoveryNicName?: string;
+ tfoRecoveryNicResourceGroupName?: string;
+ tfoReuseExistingNic?: boolean;
+ tfoVMNetworkId?: string;
+ vMNetworkName?: string;
+}
+
+// @public
+export interface VMNicInputDetails {
+ enableAcceleratedNetworkingOnRecovery?: boolean;
+ enableAcceleratedNetworkingOnTfo?: boolean;
+ ipConfigs?: IPConfigInputDetails[];
+ nicId?: string;
+ recoveryNetworkSecurityGroupId?: string;
+ recoveryNicName?: string;
+ recoveryNicResourceGroupName?: string;
+ reuseExistingNic?: boolean;
+ selectionType?: string;
+ targetNicName?: string;
+ tfoNetworkSecurityGroupId?: string;
+ tfoNicName?: string;
+ tfoNicResourceGroupName?: string;
+ tfoReuseExistingNic?: boolean;
+}
+
+// @public
+export type VmNicUpdatesTaskDetails = TaskTypeDetails & {
+ instanceType: "VmNicUpdatesTaskDetails";
+ vmId?: string;
+ nicId?: string;
+ name?: string;
+};
+
+// @public
+export type VmReplicationProgressHealth = string;
+
+// @public
+export type VMwareCbtContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & {
+ instanceType: "VMwareCbt";
+};
+
+// @public
+export type VMwareCbtContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & {
+ instanceType: "VMwareCbt";
+ keyVaultId?: string;
+ keyVaultUri?: string;
+ storageAccountId: string;
+ storageAccountSasSecretName?: string;
+ serviceBusConnectionStringSecretName?: string;
+ targetLocation: string;
+};
+
+// @public
+export interface VMwareCbtDiskInput {
+ diskEncryptionSetId?: string;
+ diskId: string;
+ diskType?: DiskAccountType;
+ isOSDisk: string;
+ logStorageAccountId: string;
+ logStorageAccountSasSecretName: string;
+}
+
+// @public
+export type VMwareCbtEnableMigrationInput = EnableMigrationProviderSpecificInput & {
+ instanceType: "VMwareCbt";
+ vmwareMachineId: string;
+ disksToInclude: VMwareCbtDiskInput[];
+ licenseType?: LicenseType;
+ sqlServerLicenseType?: SqlServerLicenseType;
+ dataMoverRunAsAccountId: string;
+ snapshotRunAsAccountId: string;
+ targetVmName?: string;
+ targetVmSize?: string;
+ targetResourceGroupId: string;
+ targetNetworkId: string;
+ targetSubnetName?: string;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ targetBootDiagnosticsStorageAccountId?: string;
+ performAutoResync?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ seedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+};
+
+// @public
+export type VMwareCbtEventDetails = EventProviderSpecificDetails & {
+ instanceType: "VMwareCbt";
+ readonly migrationItemName?: string;
+};
+
+// @public
+export type VMwareCbtMigrateInput = MigrateProviderSpecificInput & {
+ instanceType: "VMwareCbt";
+ performShutdown: string;
+};
+
+// @public
+export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & {
+ instanceType: "VMwareCbt";
+ readonly vmwareMachineId?: string;
+ readonly osType?: string;
+ readonly firmwareType?: string;
+ readonly targetGeneration?: string;
+ licenseType?: string;
+ sqlServerLicenseType?: string;
+ readonly dataMoverRunAsAccountId?: string;
+ readonly snapshotRunAsAccountId?: string;
+ targetVmName?: string;
+ targetVmSize?: string;
+ readonly targetLocation?: string;
+ targetResourceGroupId?: string;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ targetBootDiagnosticsStorageAccountId?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ protectedDisks?: VMwareCbtProtectedDiskDetails[];
+ targetNetworkId?: string;
+ vmNics?: VMwareCbtNicDetails[];
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+ readonly migrationRecoveryPointId?: string;
+ readonly lastRecoveryPointReceived?: Date;
+ readonly lastRecoveryPointId?: string;
+ readonly initialSeedingProgressPercentage?: number;
+ readonly migrationProgressPercentage?: number;
+ readonly resyncProgressPercentage?: number;
+ readonly initialSeedingRetryCount?: number;
+ readonly resyncRetryCount?: number;
+ readonly resyncRequired?: string;
+ readonly resyncState?: ResyncState;
+ performAutoResync?: string;
+ seedDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetDiskTags?: {
+ [propertyName: string]: string;
+ };
+};
+
+// @public
+export interface VMwareCbtNicDetails {
+ isPrimaryNic?: string;
+ isSelectedForMigration?: string;
+ readonly nicId?: string;
+ readonly sourceIPAddress?: string;
+ readonly sourceIPAddressType?: EthernetAddressType;
+ readonly sourceNetworkId?: string;
+ targetIPAddress?: string;
+ targetIPAddressType?: EthernetAddressType;
+ targetNicName?: string;
+ targetSubnetName?: string;
+}
+
+// @public
+export interface VMwareCbtNicInput {
+ isPrimaryNic: string;
+ isSelectedForMigration?: string;
+ nicId: string;
+ targetNicName?: string;
+ targetStaticIPAddress?: string;
+ targetSubnetName?: string;
+}
+
+// @public
+export type VMwareCbtPolicyCreationInput = PolicyProviderSpecificInput & {
+ instanceType: "VMwareCbt";
+ recoveryPointHistoryInMinutes?: number;
+ crashConsistentFrequencyInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+};
+
+// @public
+export type VmwareCbtPolicyDetails = PolicyProviderSpecificDetails & {
+ instanceType: "VMwareCbt";
+ recoveryPointHistoryInMinutes?: number;
+ appConsistentFrequencyInMinutes?: number;
+ crashConsistentFrequencyInMinutes?: number;
+};
+
+// @public
+export interface VMwareCbtProtectedDiskDetails {
+ readonly capacityInBytes?: number;
+ readonly diskEncryptionSetId?: string;
+ readonly diskId?: string;
+ readonly diskName?: string;
+ readonly diskPath?: string;
+ diskType?: DiskAccountType;
+ readonly isOSDisk?: string;
+ readonly logStorageAccountId?: string;
+ readonly logStorageAccountSasSecretName?: string;
+ readonly seedManagedDiskId?: string;
+ targetDiskName?: string;
+ readonly targetManagedDiskId?: string;
+}
+
+// @public
+export type VMwareCbtProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & {
+ instanceType: "VMwareCbt";
+ readonly keyVaultId?: string;
+ readonly keyVaultUri?: string;
+ readonly storageAccountId?: string;
+ readonly storageAccountSasSecretName?: string;
+ readonly serviceBusConnectionStringSecretName?: string;
+ readonly targetLocation?: string;
+};
+
+// @public
+export type VMwareCbtResyncInput = ResyncProviderSpecificInput & {
+ instanceType: "VMwareCbt";
+ skipCbtReset: string;
+};
+
+// @public
+export type VMwareCbtTestMigrateInput = TestMigrateProviderSpecificInput & {
+ instanceType: "VMwareCbt";
+ recoveryPointId: string;
+ networkId: string;
+};
+
+// @public
+export interface VMwareCbtUpdateDiskInput {
+ diskId: string;
+ targetDiskName?: string;
+}
+
+// @public
+export type VMwareCbtUpdateMigrationItemInput = UpdateMigrationItemProviderSpecificInput & {
+ instanceType: "VMwareCbt";
+ targetVmName?: string;
+ targetVmSize?: string;
+ targetResourceGroupId?: string;
+ targetAvailabilitySetId?: string;
+ targetAvailabilityZone?: string;
+ targetProximityPlacementGroupId?: string;
+ targetBootDiagnosticsStorageAccountId?: string;
+ targetNetworkId?: string;
+ vmNics?: VMwareCbtNicInput[];
+ vmDisks?: VMwareCbtUpdateDiskInput[];
+ licenseType?: LicenseType;
+ sqlServerLicenseType?: SqlServerLicenseType;
+ performAutoResync?: string;
+ targetVmTags?: {
+ [propertyName: string]: string;
+ };
+ targetDiskTags?: {
+ [propertyName: string]: string;
+ };
+ targetNicTags?: {
+ [propertyName: string]: string;
+ };
+};
+
+// @public
+export type VMwareDetails = FabricSpecificDetails & {
+ instanceType: "VMware";
+ processServers?: ProcessServer[];
+ masterTargetServers?: MasterTargetServer[];
+ runAsAccounts?: RunAsAccount[];
+ replicationPairCount?: string;
+ processServerCount?: string;
+ agentCount?: string;
+ protectedServers?: string;
+ systemLoad?: string;
+ systemLoadStatus?: string;
+ cpuLoad?: string;
+ cpuLoadStatus?: string;
+ totalMemoryInBytes?: number;
+ availableMemoryInBytes?: number;
+ memoryUsageStatus?: string;
+ totalSpaceInBytes?: number;
+ availableSpaceInBytes?: number;
+ spaceUsageStatus?: string;
+ webLoad?: string;
+ webLoadStatus?: string;
+ databaseServerLoad?: string;
+ databaseServerLoadStatus?: string;
+ csServiceStatus?: string;
+ ipAddress?: string;
+ agentVersion?: string;
+ hostName?: string;
+ lastHeartbeat?: Date;
+ versionStatus?: string;
+ sslCertExpiryDate?: Date;
+ sslCertExpiryRemainingDays?: number;
+ psTemplateVersion?: string;
+ agentExpiryDate?: Date;
+ agentVersionDetails?: VersionDetails;
+ switchProviderBlockingErrorDetails?: InMageFabricSwitchProviderBlockingErrorDetails[];
+};
+
+// @public
+export type VMwareV2FabricCreationInput = FabricSpecificCreationInput & {
+ instanceType: "VMwareV2";
+ vmwareSiteId?: string;
+ physicalSiteId?: string;
+ migrationSolutionId: string;
+};
+
+// @public
+export type VMwareV2FabricSpecificDetails = FabricSpecificDetails & {
+ instanceType: "VMwareV2";
+ readonly vmwareSiteId?: string;
+ readonly physicalSiteId?: string;
+ readonly migrationSolutionId?: string;
+ readonly serviceEndpoint?: string;
+ readonly serviceResourceId?: string;
+ readonly serviceContainerId?: string;
+ readonly processServers?: ProcessServerDetails[];
+};
+
+// @public
+export type VMwareVirtualMachineDetails = ConfigurationSettings & {
+ instanceType: "VMwareVirtualMachine";
+ agentGeneratedId?: string;
+ agentInstalled?: string;
+ osType?: string;
+ agentVersion?: string;
+ ipAddress?: string;
+ poweredOn?: string;
+ vCenterInfrastructureId?: string;
+ discoveryType?: string;
+ diskDetails?: InMageDiskDetails[];
+ validationErrors?: HealthError[];
+};
+
+// (No @packageDocumentation comment for this package)
+
+```
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/rollup.config.js b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/rollup.config.js
index 9c289477ee2a..9be1955eb7f1 100644
--- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/rollup.config.js
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/rollup.config.js
@@ -1,31 +1,188 @@
-import nodeResolve from "rollup-plugin-node-resolve";
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import nodeResolve from "@rollup/plugin-node-resolve";
+import cjs from "@rollup/plugin-commonjs";
+import sourcemaps from "rollup-plugin-sourcemaps";
+import multiEntry from "@rollup/plugin-multi-entry";
+import json from "@rollup/plugin-json";
+
+import nodeBuiltins from "builtin-modules";
+
+/**
+ * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api.
+ *
+ * NOTE: this manual configuration is only needed because OpenTelemetry uses an
+ * __exportStar downleveled helper function to declare its exports which confuses
+ * rollup's automatic discovery mechanism.
+ *
+ * @returns an object reference that can be `...`'d into your cjs() configuration.
+ */
+export function openTelemetryCommonJs() {
+ const namedExports = {};
+
+ for (const key of [
+ "@opentelemetry/api",
+ "@azure/core-tracing/node_modules/@opentelemetry/api"
+ ]) {
+ namedExports[key] = [
+ "SpanKind",
+ "TraceFlags",
+ "getSpan",
+ "setSpan",
+ "SpanStatusCode",
+ "getSpanContext",
+ "setSpanContext"
+ ];
+ }
+
+ const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"];
+
+ for (const version of releasedOpenTelemetryVersions) {
+ namedExports[
+ // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path.
+ `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js`
+ ] = [
+ "SpanKind",
+ "TraceFlags",
+ "getSpan",
+ "setSpan",
+ "StatusCode",
+ "CanonicalCode",
+ "getSpanContext",
+ "setSpanContext"
+ ];
+ }
+
+ return namedExports;
+}
+
+// #region Warning Handler
+
+/**
+ * A function that can determine whether a rollupwarning should be ignored. If
+ * the function returns `true`, then the warning will not be displayed.
+ */
+
+function ignoreNiseSinonEvalWarnings(warning) {
+ return (
+ warning.code === "EVAL" &&
+ warning.id &&
+ (warning.id.includes("node_modules/nise") ||
+ warning.id.includes("node_modules/sinon")) === true
+ );
+}
+
+function ignoreChaiCircularDependencyWarnings(warning) {
+ return (
+ warning.code === "CIRCULAR_DEPENDENCY" &&
+ warning.importer && warning.importer.includes("node_modules/chai") === true
+ );
+}
+
+const warningInhibitors = [
+ ignoreChaiCircularDependencyWarnings,
+ ignoreNiseSinonEvalWarnings
+];
+
/**
- * @type {import('rollup').RollupFileOptions}
+ * Construct a warning handler for the shared rollup configuration
+ * that ignores certain warnings that are not relevant to testing.
*/
-const config = {
- input: './esm/siteRecoveryManagementClient.js',
- external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"],
- output: {
- file: "./dist/arm-recoveryservices-siterecovery.js",
- format: "umd",
- name: "Azure.ArmRecoveryservicesSiterecovery",
- sourcemap: true,
- globals: {
- "@azure/ms-rest-js": "msRest",
- "@azure/ms-rest-azure-js": "msRestAzure"
+function makeOnWarnForTesting() {
+ return (warning, warn) => {
+ // If every inhibitor returns false (i.e. no inhibitors), then show the warning
+ if (warningInhibitors.every((inhib) => !inhib(warning))) {
+ warn(warning);
+ }
+ };
+}
+
+// #endregion
+
+function makeBrowserTestConfig() {
+ const config = {
+ input: {
+ include: ["dist-esm/test/**/*.spec.js"],
+ exclude: ["dist-esm/test/**/node/**"]
},
- banner: `/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
- *
- * Code generated by Microsoft (R) AutoRest Code Generator.
- * Changes may cause incorrect behavior and will be lost if the code is
- * regenerated.
- */`
- },
- plugins: [
- nodeResolve({ module: true })
- ]
+ output: {
+ file: `dist-test/index.browser.js`,
+ format: "umd",
+ sourcemap: true
+ },
+ preserveSymlinks: false,
+ plugins: [
+ multiEntry({ exports: false }),
+ nodeResolve({
+ mainFields: ["module", "browser"]
+ }),
+ cjs({
+ namedExports: {
+ // Chai's strange internal architecture makes it impossible to statically
+ // analyze its exports.
+ chai: [
+ "version",
+ "use",
+ "util",
+ "config",
+ "expect",
+ "should",
+ "assert"
+ ],
+ ...openTelemetryCommonJs()
+ }
+ }),
+ json(),
+ sourcemaps()
+ //viz({ filename: "dist-test/browser-stats.html", sourcemap: true })
+ ],
+ onwarn: makeOnWarnForTesting(),
+ // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0,
+ // rollup started respecting the "sideEffects" field in package.json. Since
+ // our package.json sets "sideEffects=false", this also applies to test
+ // code, which causes all tests to be removed by tree-shaking.
+ treeshake: false
+ };
+
+ return config;
+}
+
+const defaultConfigurationOptions = {
+ disableBrowserBundle: false
};
-export default config;
+
+export function makeConfig(pkg, options) {
+ options = {
+ ...defaultConfigurationOptions,
+ ...(options || {})
+ };
+
+ const baseConfig = {
+ // Use the package's module field if it has one
+ input: pkg["module"] || "dist-esm/src/index.js",
+ external: [
+ ...nodeBuiltins,
+ ...Object.keys(pkg.dependencies),
+ ...Object.keys(pkg.devDependencies)
+ ],
+ output: { file: "dist/index.js", format: "cjs", sourcemap: true },
+ preserveSymlinks: false,
+ plugins: [sourcemaps(), nodeResolve(), cjs()]
+ };
+
+ const config = [baseConfig];
+
+ if (!options.disableBrowserBundle) {
+ config.push(makeBrowserTestConfig());
+ }
+
+ return config;
+}
+
+export default makeConfig(require("./package.json"));
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/index.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/index.ts
new file mode 100644
index 000000000000..258c2aec28d4
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/index.ts
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+///
+export * from "./models";
+export { SiteRecoveryManagementClient } from "./siteRecoveryManagementClient";
+export * from "./operationsInterfaces";
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/lroImpl.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/lroImpl.ts
new file mode 100644
index 000000000000..518d5f053b4e
--- /dev/null
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/lroImpl.ts
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import { LongRunningOperation, LroResponse } from "@azure/core-lro";
+
+export class LroImpl implements LongRunningOperation {
+ constructor(
+ private sendOperationFn: (args: any, spec: any) => Promise>,
+ private args: Record,
+ private spec: {
+ readonly requestBody?: unknown;
+ readonly path?: string;
+ readonly httpMethod: string;
+ } & Record,
+ public requestPath: string = spec.path!,
+ public requestMethod: string = spec.httpMethod
+ ) {}
+ public async sendInitialRequest(): Promise> {
+ return this.sendOperationFn(this.args, this.spec);
+ }
+ public async sendPollRequest(path: string): Promise> {
+ const { requestBody, ...restSpec } = this.spec;
+ return this.sendOperationFn(this.args, {
+ ...restSpec,
+ path,
+ httpMethod: "GET"
+ });
+ }
+}
diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts
index bc6c2955108e..724493420da0 100644
--- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts
+++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts
@@ -1,12736 +1,11124 @@
/*
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for
- * license information.
+ * Copyright (c) Microsoft Corporation.
+ * Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
- * Changes may cause incorrect behavior and will be lost if the code is
- * regenerated.
- */
-
-import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js";
-import * as msRest from "@azure/ms-rest-js";
-
-export { BaseResource, CloudError };
-
-
-/**
- * Contains the possible cases for ApplyRecoveryPointProviderSpecificInput.
- */
-export type ApplyRecoveryPointProviderSpecificInputUnion = ApplyRecoveryPointProviderSpecificInput | A2AApplyRecoveryPointInput | HyperVReplicaAzureApplyRecoveryPointInput | InMageAzureV2ApplyRecoveryPointInput;
-
-/**
- * @interface
- * An interface representing ApplyRecoveryPointProviderSpecificInput.
- * Provider specific input for apply recovery point.
- *
- */
-export interface ApplyRecoveryPointProviderSpecificInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ApplyRecoveryPointProviderSpecificInput";
+ * Changes may cause incorrect behavior and will be lost if the code is regenerated.
+ */
+
+import * as coreClient from "@azure/core-client";
+
+export type ApplianceSpecificDetailsUnion =
+ | ApplianceSpecificDetails
+ | InMageRcmApplianceSpecificDetails;
+export type EventProviderSpecificDetailsUnion =
+ | EventProviderSpecificDetails
+ | A2AEventDetails
+ | HyperVReplica2012EventDetails
+ | HyperVReplica2012R2EventDetails
+ | HyperVReplicaAzureEventDetails
+ | HyperVReplicaBaseEventDetails
+ | InMageAzureV2EventDetails
+ | InMageRcmEventDetails
+ | InMageRcmFailbackEventDetails
+ | VMwareCbtEventDetails;
+export type EventSpecificDetailsUnion =
+ | EventSpecificDetails
+ | JobStatusEventDetails;
+export type FabricSpecificDetailsUnion =
+ | FabricSpecificDetails
+ | AzureFabricSpecificDetails
+ | HyperVSiteDetails
+ | InMageRcmFabricSpecificDetails
+ | VmmDetails
+ | VMwareDetails
+ | VMwareV2FabricSpecificDetails;
+export type FabricSpecificCreationInputUnion =
+ | FabricSpecificCreationInput
+ | AzureFabricCreationInput
+ | InMageRcmFabricCreationInput
+ | VMwareV2FabricCreationInput;
+export type NetworkMappingFabricSpecificSettingsUnion =
+ | NetworkMappingFabricSpecificSettings
+ | AzureToAzureNetworkMappingSettings
+ | VmmToAzureNetworkMappingSettings
+ | VmmToVmmNetworkMappingSettings;
+export type FabricSpecificCreateNetworkMappingInputUnion =
+ | FabricSpecificCreateNetworkMappingInput
+ | AzureToAzureCreateNetworkMappingInput
+ | VmmToAzureCreateNetworkMappingInput
+ | VmmToVmmCreateNetworkMappingInput;
+export type FabricSpecificUpdateNetworkMappingInputUnion =
+ | FabricSpecificUpdateNetworkMappingInput
+ | AzureToAzureUpdateNetworkMappingInput
+ | VmmToAzureUpdateNetworkMappingInput
+ | VmmToVmmUpdateNetworkMappingInput;
+export type ReplicationProviderSpecificContainerCreationInputUnion =
+ | ReplicationProviderSpecificContainerCreationInput
+ | A2AContainerCreationInput
+ | A2ACrossClusterMigrationContainerCreationInput
+ | VMwareCbtContainerCreationInput;
+export type MigrationProviderSpecificSettingsUnion =
+ | MigrationProviderSpecificSettings
+ | VMwareCbtMigrationDetails;
+export type EnableMigrationProviderSpecificInputUnion =
+ | EnableMigrationProviderSpecificInput
+ | VMwareCbtEnableMigrationInput;
+export type UpdateMigrationItemProviderSpecificInputUnion =
+ | UpdateMigrationItemProviderSpecificInput
+ | VMwareCbtUpdateMigrationItemInput;
+export type MigrateProviderSpecificInputUnion =
+ | MigrateProviderSpecificInput
+ | VMwareCbtMigrateInput;
+export type ResyncProviderSpecificInputUnion =
+ | ResyncProviderSpecificInput
+ | VMwareCbtResyncInput;
+export type TestMigrateProviderSpecificInputUnion =
+ | TestMigrateProviderSpecificInput
+ | VMwareCbtTestMigrateInput;
+export type ConfigurationSettingsUnion =
+ | ConfigurationSettings
+ | HyperVVirtualMachineDetailsUnion
+ | ReplicationGroupDetails
+ | VMwareVirtualMachineDetails;
+export type ReplicationProviderSpecificSettingsUnion =
+ | ReplicationProviderSpecificSettings
+ | A2ACrossClusterMigrationReplicationDetails
+ | A2AReplicationDetails
+ | HyperVReplicaAzureReplicationDetails
+ | HyperVReplicaBaseReplicationDetails
+ | HyperVReplicaBlueReplicationDetails
+ | HyperVReplicaReplicationDetails
+ | InMageAzureV2ReplicationDetails
+ | InMageRcmFailbackReplicationDetails
+ | InMageRcmReplicationDetails
+ | InMageReplicationDetails;
+export type EnableProtectionProviderSpecificInputUnion =
+ | EnableProtectionProviderSpecificInput
+ | A2ACrossClusterMigrationEnableProtectionInput
+ | A2AEnableProtectionInput
+ | HyperVReplicaAzureEnableProtectionInput
+ | InMageAzureV2EnableProtectionInput
+ | InMageEnableProtectionInput
+ | InMageRcmEnableProtectionInput;
+export type UpdateReplicationProtectedItemProviderInputUnion =
+ | UpdateReplicationProtectedItemProviderInput
+ | A2AUpdateReplicationProtectedItemInput
+ | HyperVReplicaAzureUpdateReplicationProtectedItemInput
+ | InMageAzureV2UpdateReplicationProtectedItemInput
+ | InMageRcmUpdateReplicationProtectedItemInput;
+export type AddDisksProviderSpecificInputUnion =
+ | AddDisksProviderSpecificInput
+ | A2AAddDisksInput;
+export type ApplyRecoveryPointProviderSpecificInputUnion =
+ | ApplyRecoveryPointProviderSpecificInput
+ | A2AApplyRecoveryPointInput
+ | A2ACrossClusterMigrationApplyRecoveryPointInput
+ | HyperVReplicaAzureApplyRecoveryPointInput
+ | InMageAzureV2ApplyRecoveryPointInput
+ | InMageRcmApplyRecoveryPointInput;
+export type PlannedFailoverProviderSpecificFailoverInputUnion =
+ | PlannedFailoverProviderSpecificFailoverInput
+ | HyperVReplicaAzureFailbackProviderInput
+ | HyperVReplicaAzurePlannedFailoverProviderInput
+ | InMageRcmFailbackPlannedFailoverProviderInput;
+export type ProviderSpecificRecoveryPointDetailsUnion =
+ | ProviderSpecificRecoveryPointDetails
+ | A2ARecoveryPointDetails
+ | InMageAzureV2RecoveryPointDetails
+ | InMageRcmRecoveryPointDetails;
+export type DisableProtectionProviderSpecificInputUnion =
+ | DisableProtectionProviderSpecificInput
+ | InMageDisableProtectionProviderSpecificInput;
+export type RemoveDisksProviderSpecificInputUnion =
+ | RemoveDisksProviderSpecificInput
+ | A2ARemoveDisksInput;
+export type ReverseReplicationProviderSpecificInputUnion =
+ | ReverseReplicationProviderSpecificInput
+ | A2AReprotectInput
+ | HyperVReplicaAzureReprotectInput
+ | InMageAzureV2ReprotectInput
+ | InMageRcmFailbackReprotectInput
+ | InMageRcmReprotectInput
+ | InMageReprotectInput;
+export type SwitchProviderSpecificInputUnion =
+ | SwitchProviderSpecificInput
+ | InMageAzureV2SwitchProviderInput;
+export type TestFailoverProviderSpecificInputUnion =
+ | TestFailoverProviderSpecificInput
+ | A2ATestFailoverInput
+ | HyperVReplicaAzureTestFailoverInput
+ | InMageAzureV2TestFailoverInput
+ | InMageRcmTestFailoverInput
+ | InMageTestFailoverInput;
+export type UnplannedFailoverProviderSpecificInputUnion =
+ | UnplannedFailoverProviderSpecificInput
+ | A2AUnplannedFailoverInput
+ | HyperVReplicaAzureUnplannedFailoverInput
+ | InMageAzureV2UnplannedFailoverInput
+ | InMageRcmUnplannedFailoverInput
+ | InMageUnplannedFailoverInput;
+export type UpdateApplianceForReplicationProtectedItemProviderSpecificInputUnion =
+ | UpdateApplianceForReplicationProtectedItemProviderSpecificInput
+ | InMageRcmUpdateApplianceForReplicationProtectedItemInput;
+export type ProtectionContainerMappingProviderSpecificDetailsUnion =
+ | ProtectionContainerMappingProviderSpecificDetails
+ | A2AProtectionContainerMappingDetails
+ | InMageRcmProtectionContainerMappingDetails
+ | VMwareCbtProtectionContainerMappingDetails;
+export type ReplicationProviderSpecificContainerMappingInputUnion =
+ | ReplicationProviderSpecificContainerMappingInput
+ | A2AContainerMappingInput
+ | VMwareCbtContainerMappingInput;
+export type ReplicationProviderSpecificUpdateContainerMappingInputUnion =
+ | ReplicationProviderSpecificUpdateContainerMappingInput
+ | A2AUpdateContainerMappingInput
+ | InMageRcmUpdateContainerMappingInput;
+export type SwitchProtectionProviderSpecificInputUnion =
+ | SwitchProtectionProviderSpecificInput
+ | A2ASwitchProtectionInput;
+export type TaskTypeDetailsUnion =
+ | TaskTypeDetails
+ | AutomationRunbookTaskDetails
+ | ConsistencyCheckTaskDetails
+ | JobTaskDetailsUnion
+ | ManualActionTaskDetails
+ | ScriptActionTaskDetails
+ | VmNicUpdatesTaskDetails;
+export type GroupTaskDetailsUnion =
+ | GroupTaskDetails
+ | InlineWorkflowTaskDetails
+ | RecoveryPlanGroupTaskDetailsUnion;
+export type JobDetailsUnion =
+ | JobDetails
+ | AsrJobDetails
+ | ExportJobDetails
+ | FailoverJobDetails
+ | SwitchProtectionJobDetails
+ | TestFailoverJobDetails;
+export type PolicyProviderSpecificDetailsUnion =
+ | PolicyProviderSpecificDetails
+ | A2APolicyDetails
+ | HyperVReplicaAzurePolicyDetails
+ | HyperVReplicaBasePolicyDetails
+ | HyperVReplicaBluePolicyDetails
+ | HyperVReplicaPolicyDetails
+ | InMageAzureV2PolicyDetails
+ | InMageBasePolicyDetails
+ | InMagePolicyDetails
+ | InMageRcmFailbackPolicyDetails
+ | InMageRcmPolicyDetails
+ | VmwareCbtPolicyDetails;
+export type PolicyProviderSpecificInputUnion =
+ | PolicyProviderSpecificInput
+ | A2ACrossClusterMigrationPolicyCreationInput
+ | A2APolicyCreationInput
+ | HyperVReplicaAzurePolicyInput
+ | HyperVReplicaPolicyInputUnion
+ | InMageAzureV2PolicyInput
+ | InMagePolicyInput
+ | InMageRcmFailbackPolicyCreationInput
+ | InMageRcmPolicyCreationInput
+ | VMwareCbtPolicyCreationInput;
+export type ReplicationProtectionIntentProviderSpecificSettingsUnion =
+ | ReplicationProtectionIntentProviderSpecificSettings
+ | A2AReplicationIntentDetails;
+export type CreateProtectionIntentProviderSpecificDetailsUnion =
+ | CreateProtectionIntentProviderSpecificDetails
+ | A2ACreateProtectionIntentInput;
+export type RecoveryPlanActionDetailsUnion =
+ | RecoveryPlanActionDetails
+ | RecoveryPlanAutomationRunbookActionDetails
+ | RecoveryPlanManualActionDetails
+ | RecoveryPlanScriptActionDetails;
+export type RecoveryPlanProviderSpecificDetailsUnion =
+ | RecoveryPlanProviderSpecificDetails
+ | RecoveryPlanA2ADetails;
+export type RecoveryPlanProviderSpecificInputUnion =
+ | RecoveryPlanProviderSpecificInput
+ | RecoveryPlanA2AInput;
+export type RecoveryPlanProviderSpecificFailoverInputUnion =
+ | RecoveryPlanProviderSpecificFailoverInput
+ | RecoveryPlanA2AFailoverInput
+ | RecoveryPlanHyperVReplicaAzureFailbackInput
+ | RecoveryPlanHyperVReplicaAzureFailoverInput
+ | RecoveryPlanInMageAzureV2FailoverInput
+ | RecoveryPlanInMageFailoverInput
+ | RecoveryPlanInMageRcmFailbackFailoverInput
+ | RecoveryPlanInMageRcmFailoverInput;
+export type ProtectionProfileCustomDetailsUnion =
+ | ProtectionProfileCustomDetails
+ | ExistingProtectionProfile
+ | NewProtectionProfile;
+export type StorageAccountCustomDetailsUnion =
+ | StorageAccountCustomDetails
+ | ExistingStorageAccount;
+export type RecoveryAvailabilitySetCustomDetailsUnion =
+ | RecoveryAvailabilitySetCustomDetails
+ | ExistingRecoveryAvailabilitySet;
+export type RecoveryVirtualNetworkCustomDetailsUnion =
+ | RecoveryVirtualNetworkCustomDetails
+ | ExistingRecoveryVirtualNetwork
+ | NewRecoveryVirtualNetwork;
+export type RecoveryProximityPlacementGroupCustomDetailsUnion =
+ | RecoveryProximityPlacementGroupCustomDetails
+ | ExistingRecoveryProximityPlacementGroup;
+export type RecoveryResourceGroupCustomDetailsUnion =
+ | RecoveryResourceGroupCustomDetails
+ | ExistingRecoveryResourceGroup;
+export type HyperVVirtualMachineDetailsUnion =
+ | HyperVVirtualMachineDetails
+ | VmmVirtualMachineDetails;
+export type JobTaskDetailsUnion =
+ | JobTaskDetails
+ | FabricReplicationGroupTaskDetails
+ | VirtualMachineTaskDetails;
+export type RecoveryPlanGroupTaskDetailsUnion =
+ | RecoveryPlanGroupTaskDetails
+ | RecoveryPlanShutdownGroupTaskDetails;
+export type HyperVReplicaPolicyInputUnion =
+ | HyperVReplicaPolicyInput
+ | HyperVReplicaBluePolicyInput;
+
+/** Collection of ClientDiscovery details. */
+export interface OperationsDiscoveryCollection {
+ /** The ClientDiscovery details. */
+ value?: OperationsDiscovery[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing A2AApplyRecoveryPointInput.
- * ApplyRecoveryPoint input specific to A2A provider.
- *
- */
-export interface A2AApplyRecoveryPointInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
+/** Operations discovery class. */
+export interface OperationsDiscovery {
+ /** Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the "{Resource Provider Namespace}/register/action" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release). */
+ name?: string;
+ /** Object type. */
+ display?: Display;
+ /** Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is "user,system". */
+ origin?: string;
+ /** Properties. Reserved for future use. */
+ properties?: Record;
}
-/**
- * Contains the possible cases for ReplicationProviderSpecificContainerCreationInput.
- */
-export type ReplicationProviderSpecificContainerCreationInputUnion = ReplicationProviderSpecificContainerCreationInput | A2AContainerCreationInput;
-
-/**
- * @interface
- * An interface representing ReplicationProviderSpecificContainerCreationInput.
- * Provider specific input for container creation operation.
- *
- */
-export interface ReplicationProviderSpecificContainerCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ReplicationProviderSpecificContainerCreationInput";
+/** Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations. */
+export interface Display {
+ /** The provider. The localized friendly form of the resource provider name - it is expected to also include the publisher/company responsible. It should use Title Casing and begin with "Microsoft" for 1st party services. e.g. "Microsoft Monitoring Insights" or "Microsoft Compute.". */
+ provider?: string;
+ /** The resource. The localized friendly form of the resource related to this action/operation - it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent's display.resource field). e.g. "Virtual Machines" or "Scheduler Job Collections", or "Virtual Machine VM Sizes" or "Scheduler Jobs". */
+ resource?: string;
+ /** The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'. */
+ operation?: string;
+ /** The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise - it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'. */
+ description?: string;
}
-/**
- * @interface
- * An interface representing A2AContainerCreationInput.
- * A2A cloud creation input.
- *
- */
-export interface A2AContainerCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
+/** Collection of alerts. */
+export interface AlertCollection {
+ /** The list of alerts. */
+ value?: Alert[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * Contains the possible cases for ReplicationProviderSpecificContainerMappingInput.
- */
-export type ReplicationProviderSpecificContainerMappingInputUnion = ReplicationProviderSpecificContainerMappingInput | A2AContainerMappingInput;
-
-/**
- * @interface
- * An interface representing ReplicationProviderSpecificContainerMappingInput.
- * Provider specific input for pairing operations.
- *
- */
-export interface ReplicationProviderSpecificContainerMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ReplicationProviderSpecificContainerMappingInput";
+/** The properties of an alert. */
+export interface AlertProperties {
+ /** A value indicating whether to send email to subscription administrator. */
+ sendToOwners?: string;
+ /** The custom email address for sending emails. */
+ customEmailAddresses?: string[];
+ /** The locale for the email notification. */
+ locale?: string;
}
-/**
- * @interface
- * An interface representing A2AContainerMappingInput.
- * A2A container mapping input.
- *
- */
-export interface A2AContainerMappingInput {
+/** Azure resource. */
+export interface Resource {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * Resource Id
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "A2A";
+ readonly id?: string;
/**
- * @member {AgentAutoUpdateStatus} [agentAutoUpdateStatus] A value indicating
- * whether the auto update is enabled. Possible values include: 'Disabled',
- * 'Enabled'
+ * Resource Name
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ readonly name?: string;
/**
- * @member {string} [automationAccountArmId] The automation account arm id.
+ * Resource Type
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- automationAccountArmId?: string;
+ readonly type?: string;
+ /** Resource Location */
+ location?: string;
}
-/**
- * @interface
- * An interface representing A2AVmDiskInputDetails.
- * Azure VM disk input details.
- *
- */
-export interface A2AVmDiskInputDetails {
- /**
- * @member {string} [diskUri] The disk Uri.
- */
- diskUri?: string;
- /**
- * @member {string} [recoveryAzureStorageAccountId] The recovery VHD storage
- * account Id.
- */
- recoveryAzureStorageAccountId?: string;
- /**
- * @member {string} [primaryStagingAzureStorageAccountId] The primary staging
- * storage account Id.
- */
- primaryStagingAzureStorageAccountId?: string;
+/** Request to configure alerts for the system. */
+export interface ConfigureAlertRequest {
+ /** The properties of a configure alert request. */
+ properties?: ConfigureAlertRequestProperties;
}
-/**
- * @interface
- * An interface representing A2AVmManagedDiskInputDetails.
- * Azure VM managed disk input details.
- *
- */
-export interface A2AVmManagedDiskInputDetails {
- /**
- * @member {string} [diskId] The disk Id.
- */
- diskId?: string;
- /**
- * @member {string} [primaryStagingAzureStorageAccountId] The primary staging
- * storage account Arm Id.
- */
- primaryStagingAzureStorageAccountId?: string;
- /**
- * @member {string} [recoveryResourceGroupId] The target resource group Arm
- * Id.
- */
- recoveryResourceGroupId?: string;
- /**
- * @member {string} [recoveryReplicaDiskAccountType] The replica disk type.
- * Its an optional value and will be same as source disk type if not user
- * provided.
- */
- recoveryReplicaDiskAccountType?: string;
- /**
- * @member {string} [recoveryTargetDiskAccountType] The target disk type
- * after failover. Its an optional value and will be same as source disk type
- * if not user provided.
- */
- recoveryTargetDiskAccountType?: string;
+/** Properties of a configure alert request. */
+export interface ConfigureAlertRequestProperties {
+ /** A value indicating whether to send email to subscription administrator. */
+ sendToOwners?: string;
+ /** The custom email address for sending emails. */
+ customEmailAddresses?: string[];
+ /** The locale for the email notification. */
+ locale?: string;
}
-/**
- * @interface
- * An interface representing DiskEncryptionKeyInfo.
- * Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).
- *
- */
-export interface DiskEncryptionKeyInfo {
- /**
- * @member {string} [secretIdentifier] The secret url / identifier.
- */
- secretIdentifier?: string;
- /**
- * @member {string} [keyVaultResourceArmId] The KeyVault resource ARM id for
- * secret.
- */
- keyVaultResourceArmId?: string;
+/** Collection of appliance details. */
+export interface ApplianceCollection {
+ /** The appliance details. */
+ value?: ReplicationAppliance[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing KeyEncryptionKeyInfo.
- * Key Encryption Key (KEK) information.
- *
- */
-export interface KeyEncryptionKeyInfo {
- /**
- * @member {string} [keyIdentifier] The key url / identifier.
- */
- keyIdentifier?: string;
- /**
- * @member {string} [keyVaultResourceArmId] The KeyVault resource ARM id for
- * key.
- */
- keyVaultResourceArmId?: string;
+/** Replication appliance definition. */
+export interface ReplicationAppliance {
+ /** Appliance related data. */
+ properties?: ReplicationApplianceProperties;
}
-/**
- * @interface
- * An interface representing DiskEncryptionInfo.
- * Recovery disk encryption info (BEK and KEK).
- *
- */
-export interface DiskEncryptionInfo {
- /**
- * @member {DiskEncryptionKeyInfo} [diskEncryptionKeyInfo] The recovery
- * KeyVault reference for secret.
- */
- diskEncryptionKeyInfo?: DiskEncryptionKeyInfo;
- /**
- * @member {KeyEncryptionKeyInfo} [keyEncryptionKeyInfo] The recovery
- * KeyVault reference for key.
- */
- keyEncryptionKeyInfo?: KeyEncryptionKeyInfo;
+/** Replication appliance properties. */
+export interface ReplicationApplianceProperties {
+ /** Provider specific settings. */
+ providerSpecificDetails?: ApplianceSpecificDetailsUnion;
}
-/**
- * Contains the possible cases for EnableProtectionProviderSpecificInput.
- */
-export type EnableProtectionProviderSpecificInputUnion = EnableProtectionProviderSpecificInput | A2AEnableProtectionInput | HyperVReplicaAzureEnableProtectionInput | InMageAzureV2EnableProtectionInput | InMageEnableProtectionInput | SanEnableProtectionInput;
+/** Appliance specific details. */
+export interface ApplianceSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+}
-/**
- * @interface
- * An interface representing EnableProtectionProviderSpecificInput.
- * Enable protection provider specific input.
- *
- */
-export interface EnableProtectionProviderSpecificInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "EnableProtectionProviderSpecificInput";
+/** Replication eligibility results collection response model. */
+export interface ReplicationEligibilityResultsCollection {
+ /** The replication eligibility results details. */
+ value?: ReplicationEligibilityResults[];
}
-/**
- * @interface
- * An interface representing A2AEnableProtectionInput.
- * A2A enable protection input.
- *
- */
-export interface A2AEnableProtectionInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [fabricObjectId] The fabric specific object Id of the
- * virtual machine.
- */
- fabricObjectId?: string;
- /**
- * @member {string} [recoveryContainerId] The recovery container Id.
- */
- recoveryContainerId?: string;
- /**
- * @member {string} [recoveryResourceGroupId] The recovery resource group Id.
- * Valid for V2 scenarios.
- */
- recoveryResourceGroupId?: string;
- /**
- * @member {string} [recoveryCloudServiceId] The recovery cloud service Id.
- * Valid for V1 scenarios.
- */
- recoveryCloudServiceId?: string;
- /**
- * @member {string} [recoveryAvailabilitySetId] The recovery availability set
- * Id.
- */
- recoveryAvailabilitySetId?: string;
+/** Replication eligibility results response model. */
+export interface ReplicationEligibilityResults {
/**
- * @member {A2AVmDiskInputDetails[]} [vmDisks] The list of vm disk details.
+ * Gets the name of this object.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmDisks?: A2AVmDiskInputDetails[];
- /**
- * @member {A2AVmManagedDiskInputDetails[]} [vmManagedDisks] The list of vm
- * managed disk details.
- */
- vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+ readonly name?: string;
/**
- * @member {string} [multiVmGroupName] The multi vm group name.
+ * Gets the object type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupName?: string;
+ readonly type?: string;
/**
- * @member {string} [recoveryBootDiagStorageAccountId] The boot diagnostic
- * storage account.
+ * Gets Unique ARM identifier for this object.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryBootDiagStorageAccountId?: string;
+ readonly id?: string;
/**
- * @member {DiskEncryptionInfo} [diskEncryptionInfo] The recovery disk
- * encryption information.
+ * Gets properties model for replication eligibility results API.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskEncryptionInfo?: DiskEncryptionInfo;
+ readonly properties?: ReplicationEligibilityResultsProperties;
}
-/**
- * Contains the possible cases for EventProviderSpecificDetails.
- */
-export type EventProviderSpecificDetailsUnion = EventProviderSpecificDetails | A2AEventDetails | HyperVReplica2012EventDetails | HyperVReplica2012R2EventDetails | HyperVReplicaAzureEventDetails | HyperVReplicaBaseEventDetails | InMageAzureV2EventDetails;
-
-/**
- * @interface
- * An interface representing EventProviderSpecificDetails.
- * Model class for provider specific details for an event.
- *
- */
-export interface EventProviderSpecificDetails {
+/** Properties model for replication eligibility results API. */
+export interface ReplicationEligibilityResultsProperties {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The client request Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "EventProviderSpecificDetails";
+ readonly clientRequestId?: string;
+ /** The error details. */
+ errors?: ReplicationEligibilityResultsErrorInfo[];
}
-/**
- * @interface
- * An interface representing A2AEventDetails.
- * Model class for event details of a A2A event.
- *
- */
-export interface A2AEventDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [protectedItemName] The protected item arm name.
- */
- protectedItemName?: string;
- /**
- * @member {string} [fabricObjectId] The azure vm arm id.
- */
- fabricObjectId?: string;
- /**
- * @member {string} [fabricName] Fabric arm name.
- */
- fabricName?: string;
- /**
- * @member {string} [fabricLocation] The fabric location.
- */
- fabricLocation?: string;
- /**
- * @member {string} [remoteFabricName] Remote fabric arm name.
- */
- remoteFabricName?: string;
+/** Error model that can be exposed to the user. */
+export interface ReplicationEligibilityResultsErrorInfo {
+ /** The error code. */
+ code?: string;
+ /** The error message. */
+ message?: string;
+ /** The possible causes. */
+ possibleCauses?: string;
+ /** The recommended action. */
+ recommendedAction?: string;
/**
- * @member {string} [remoteFabricLocation] Remote fabric location.
+ * The error status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- remoteFabricLocation?: string;
+ readonly status?: string;
}
-/**
- * Contains the possible cases for ProviderSpecificFailoverInput.
- */
-export type ProviderSpecificFailoverInputUnion = ProviderSpecificFailoverInput | A2AFailoverProviderInput | HyperVReplicaAzureFailbackProviderInput | HyperVReplicaAzureFailoverProviderInput | InMageAzureV2FailoverProviderInput | InMageFailoverProviderInput;
-
-/**
- * @interface
- * An interface representing ProviderSpecificFailoverInput.
- * Provider specific failover input.
- *
- */
-export interface ProviderSpecificFailoverInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ProviderSpecificFailoverInput";
+/** Collection of fabric details. */
+export interface EventCollection {
+ /** The list of events. */
+ value?: Event[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing A2AFailoverProviderInput.
- * A2A provider specific input for failover.
- *
- */
-export interface A2AFailoverProviderInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [recoveryPointId] The recovery point id to be passed to
- * failover to a particular recovery point. In case of latest recovery point,
- * null should be passed.
- */
- recoveryPointId?: string;
- /**
- * @member {string} [cloudServiceCreationOption] A value indicating whether
- * to use recovery cloud service for TFO or not.
- */
- cloudServiceCreationOption?: string;
+/** The properties of a monitoring event. */
+export interface EventProperties {
+ /** The Id of the monitoring event. */
+ eventCode?: string;
+ /** The event name. */
+ description?: string;
+ /** The type of the event. for example: VM Health, Server Health, Job Failure etc. */
+ eventType?: string;
+ /** The friendly name of the source of the event on which it is raised (for example, VM, VMM etc). */
+ affectedObjectFriendlyName?: string;
+ /** The affected object correlationId for the event. */
+ affectedObjectCorrelationId?: string;
+ /** The severity of the event. */
+ severity?: string;
+ /** The time of occurrence of the event. */
+ timeOfOccurrence?: Date;
+ /** The ARM ID of the fabric. */
+ fabricId?: string;
+ /** The provider specific settings. */
+ providerSpecificDetails?: EventProviderSpecificDetailsUnion;
+ /** The event specific settings. */
+ eventSpecificDetails?: EventSpecificDetailsUnion;
+ /** The list of errors / warnings capturing details associated with the issue(s). */
+ healthErrors?: HealthError[];
}
-/**
- * Contains the possible cases for PolicyProviderSpecificInput.
- */
-export type PolicyProviderSpecificInputUnion = PolicyProviderSpecificInput | A2APolicyCreationInput | HyperVReplicaAzurePolicyInput | HyperVReplicaBluePolicyInput | HyperVReplicaPolicyInput | InMageAzureV2PolicyInput | InMagePolicyInput | VMwareCbtPolicyCreationInput;
-
-/**
- * @interface
- * An interface representing PolicyProviderSpecificInput.
- * Base class for provider specific input
- *
- */
-export interface PolicyProviderSpecificInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "PolicyProviderSpecificInput";
+/** Model class for provider specific details for an event. */
+export interface EventProviderSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "HyperVReplica2012"
+ | "HyperVReplica2012R2"
+ | "HyperVReplicaAzure"
+ | "HyperVReplicaBaseEventDetails"
+ | "InMageAzureV2"
+ | "InMageRcm"
+ | "InMageRcmFailback"
+ | "VMwareCbt";
+}
+
+/** Model class for event specific details for an event. */
+export interface EventSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "JobStatus";
}
-/**
- * @interface
- * An interface representing A2APolicyCreationInput.
- * A2A Policy creation input.
- *
- */
-export interface A2APolicyCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
- */
- recoveryPointHistory?: number;
- /**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency (in minutes).
- */
- crashConsistentFrequencyInMinutes?: number;
- /**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency (in minutes).
- */
- appConsistentFrequencyInMinutes?: number;
- /**
- * @member {SetMultiVmSyncStatus} multiVmSyncStatus A value indicating
- * whether multi-VM sync has to be enabled. Value should be 'Enabled' or
- * 'Disabled'. Possible values include: 'Enable', 'Disable'
- */
- multiVmSyncStatus: SetMultiVmSyncStatus;
+/** Health Error. */
+export interface HealthError {
+ /** The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException. */
+ innerHealthErrors?: InnerHealthError[];
+ /** Source of error. */
+ errorSource?: string;
+ /** Type of error. */
+ errorType?: string;
+ /** Level of error. */
+ errorLevel?: string;
+ /** Category of error. */
+ errorCategory?: string;
+ /** Error code. */
+ errorCode?: string;
+ /** Summary message of the entity. */
+ summaryMessage?: string;
+ /** Error message. */
+ errorMessage?: string;
+ /** Possible causes of error. */
+ possibleCauses?: string;
+ /** Recommended action to resolve error. */
+ recommendedAction?: string;
+ /** Error creation time (UTC). */
+ creationTimeUtc?: Date;
+ /** DRA error message. */
+ recoveryProviderErrorMessage?: string;
+ /** ID of the entity. */
+ entityId?: string;
+ /** The health error unique id. */
+ errorId?: string;
+ /** Value indicating whether the health error is customer resolvable. */
+ customerResolvability?: HealthErrorCustomerResolvability;
}
-/**
- * Contains the possible cases for PolicyProviderSpecificDetails.
- */
-export type PolicyProviderSpecificDetailsUnion = PolicyProviderSpecificDetails | A2APolicyDetails | HyperVReplicaAzurePolicyDetails | HyperVReplicaBasePolicyDetails | HyperVReplicaBluePolicyDetails | HyperVReplicaPolicyDetails | InMageAzureV2PolicyDetails | InMageBasePolicyDetails | InMagePolicyDetails | RcmAzureMigrationPolicyDetails | VmwareCbtPolicyDetails;
+/** Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException. */
+export interface InnerHealthError {
+ /** Source of error. */
+ errorSource?: string;
+ /** Type of error. */
+ errorType?: string;
+ /** Level of error. */
+ errorLevel?: string;
+ /** Category of error. */
+ errorCategory?: string;
+ /** Error code. */
+ errorCode?: string;
+ /** Summary message of the entity. */
+ summaryMessage?: string;
+ /** Error message. */
+ errorMessage?: string;
+ /** Possible causes of error. */
+ possibleCauses?: string;
+ /** Recommended action to resolve error. */
+ recommendedAction?: string;
+ /** Error creation time (UTC). */
+ creationTimeUtc?: Date;
+ /** DRA error message. */
+ recoveryProviderErrorMessage?: string;
+ /** ID of the entity. */
+ entityId?: string;
+ /** The health error unique id. */
+ errorId?: string;
+ /** Value indicating whether the health error is customer resolvable. */
+ customerResolvability?: HealthErrorCustomerResolvability;
+}
-/**
- * @interface
- * An interface representing PolicyProviderSpecificDetails.
- * Base class for Provider specific details for policies.
- *
- */
-export interface PolicyProviderSpecificDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "PolicyProviderSpecificDetails";
+/** Collection of fabric details. */
+export interface FabricCollection {
+ /** The fabric details. */
+ value?: Fabric[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing A2APolicyDetails.
- * A2A specific policy details.
- *
- */
-export interface A2APolicyDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
- */
- recoveryPointThresholdInMinutes?: number;
- /**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
- */
- recoveryPointHistory?: number;
- /**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency in minutes.
- */
- appConsistentFrequencyInMinutes?: number;
- /**
- * @member {string} [multiVmSyncStatus] A value indicating whether multi-VM
- * sync has to be enabled.
- */
- multiVmSyncStatus?: string;
+/** Fabric properties. */
+export interface FabricProperties {
+ /** Friendly name of the fabric. */
+ friendlyName?: string;
+ /** Encryption details for the fabric. */
+ encryptionDetails?: EncryptionDetails;
+ /** Rollover encryption details for the fabric. */
+ rolloverEncryptionDetails?: EncryptionDetails;
+ /** Dra Registration Id. */
+ internalIdentifier?: string;
+ /** BCDR state of the fabric. */
+ bcdrState?: string;
+ /** Fabric specific settings. */
+ customDetails?: FabricSpecificDetailsUnion;
+ /** Fabric health error details. */
+ healthErrorDetails?: HealthError[];
+ /** Health of fabric. */
+ health?: string;
+}
+
+/** Encryption details for the fabric. */
+export interface EncryptionDetails {
+ /** The key encryption key state for the Vmm. */
+ kekState?: string;
+ /** The key encryption key certificate thumbprint. */
+ kekCertThumbprint?: string;
+ /** The key encryption key certificate expiry date. */
+ kekCertExpiryDate?: Date;
+}
+
+/** Fabric specific details. */
+export interface FabricSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "Azure"
+ | "HyperVSite"
+ | "InMageRcm"
+ | "VMM"
+ | "VMware"
+ | "VMwareV2";
+}
+
+/** Site details provided during the time of site creation. */
+export interface FabricCreationInput {
+ /** Fabric creation input. */
+ properties?: FabricCreationInputProperties;
+}
+
+/** Properties of site details provided during the time of site creation. */
+export interface FabricCreationInputProperties {
+ /** Fabric provider specific creation input. */
+ customDetails?: FabricSpecificCreationInputUnion;
+}
+
+/** Fabric provider specific settings. */
+export interface FabricSpecificCreationInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "Azure" | "InMageRcm" | "VMwareV2";
+}
+
+/** Request to failover a process server. */
+export interface FailoverProcessServerRequest {
+ /** The properties of the PS Failover request. */
+ properties?: FailoverProcessServerRequestProperties;
+}
+
+/** The properties of the Failover Process Server request. */
+export interface FailoverProcessServerRequestProperties {
+ /** The container identifier. */
+ containerName?: string;
+ /** The source process server. */
+ sourceProcessServerId?: string;
+ /** The new process server. */
+ targetProcessServerId?: string;
+ /** The VMS to migrate. */
+ vmsToMigrate?: string[];
+ /** A value for failover type. It can be systemlevel/serverlevel. */
+ updateType?: string;
+}
+
+/** Certificate renewal input. */
+export interface RenewCertificateInput {
+ /** Renew certificate input properties. */
+ properties?: RenewCertificateInputProperties;
+}
+
+/** Renew Certificate input properties. */
+export interface RenewCertificateInputProperties {
+ /** Renew certificate type. */
+ renewCertificateType?: string;
+}
+
+/** List of logical networks. */
+export interface LogicalNetworkCollection {
+ /** The Logical Networks list details. */
+ value?: LogicalNetwork[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Logical Network Properties. */
+export interface LogicalNetworkProperties {
+ /** The Friendly Name. */
+ friendlyName?: string;
+ /** A value indicating whether Network Virtualization is enabled for the logical network. */
+ networkVirtualizationStatus?: string;
+ /** A value indicating whether logical network is used as private test network by test failover. */
+ logicalNetworkUsage?: string;
+ /** A value indicating whether logical network definitions are isolated. */
+ logicalNetworkDefinitionsStatus?: string;
+}
+
+/** List of networks. */
+export interface NetworkCollection {
+ /** The Networks list details. */
+ value?: Network[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Network Properties. */
+export interface NetworkProperties {
+ /** The Fabric Type. */
+ fabricType?: string;
+ /** The List of subnets. */
+ subnets?: Subnet[];
+ /** The Friendly Name. */
+ friendlyName?: string;
+ /** The Network Type. */
+ networkType?: string;
+}
+
+/** Subnets of the network. */
+export interface Subnet {
+ /** The subnet name. */
+ name?: string;
+ /** The subnet friendly name. */
+ friendlyName?: string;
+ /** The list of addresses for the subnet. */
+ addressList?: string[];
+}
+
+/** List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping. */
+export interface NetworkMappingCollection {
+ /** The Network Mappings list. */
+ value?: NetworkMapping[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Network Mapping Properties. */
+export interface NetworkMappingProperties {
+ /** The pairing state for network mapping. */
+ state?: string;
+ /** The primary network friendly name. */
+ primaryNetworkFriendlyName?: string;
+ /** The primary network id for network mapping. */
+ primaryNetworkId?: string;
+ /** The primary fabric friendly name. */
+ primaryFabricFriendlyName?: string;
+ /** The recovery network friendly name. */
+ recoveryNetworkFriendlyName?: string;
+ /** The recovery network id for network mapping. */
+ recoveryNetworkId?: string;
+ /** The recovery fabric ARM id. */
+ recoveryFabricArmId?: string;
+ /** The recovery fabric friendly name. */
+ recoveryFabricFriendlyName?: string;
+ /** The fabric specific settings. */
+ fabricSpecificSettings?: NetworkMappingFabricSpecificSettingsUnion;
+}
+
+/** Network Mapping fabric specific settings. */
+export interface NetworkMappingFabricSpecificSettings {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AzureToAzure" | "VmmToAzure" | "VmmToVmm";
+}
+
+/** Create network mappings input. */
+export interface CreateNetworkMappingInput {
+ /** Input properties for creating network mapping. */
+ properties: CreateNetworkMappingInputProperties;
+}
+
+/** Common input details for network mapping operation. */
+export interface CreateNetworkMappingInputProperties {
+ /** Recovery fabric Name. */
+ recoveryFabricName?: string;
+ /** Recovery network Id. */
+ recoveryNetworkId: string;
+ /** Fabric specific input properties. */
+ fabricSpecificDetails?: FabricSpecificCreateNetworkMappingInputUnion;
+}
+
+/** Input details specific to fabrics during Network Mapping. */
+export interface FabricSpecificCreateNetworkMappingInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AzureToAzure" | "VmmToAzure" | "VmmToVmm";
+}
+
+/** Update network mapping input. */
+export interface UpdateNetworkMappingInput {
+ /** The input properties needed to update network mapping. */
+ properties?: UpdateNetworkMappingInputProperties;
+}
+
+/** Common input details for network mapping operation. */
+export interface UpdateNetworkMappingInputProperties {
+ /** Recovery fabric name. */
+ recoveryFabricName?: string;
+ /** Recovery network Id. */
+ recoveryNetworkId?: string;
+ /** Fabrics specific input network Id. */
+ fabricSpecificDetails?: FabricSpecificUpdateNetworkMappingInputUnion;
+}
+
+/** Input details specific to fabrics during Network Mapping. */
+export interface FabricSpecificUpdateNetworkMappingInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AzureToAzure" | "VmmToAzure" | "VmmToVmm";
+}
+
+/** Protection Container collection. */
+export interface ProtectionContainerCollection {
+ /** The Protection Container details. */
+ value?: ProtectionContainer[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Protection profile custom data details. */
+export interface ProtectionContainerProperties {
+ /** Fabric friendly name. */
+ fabricFriendlyName?: string;
+ /** The name. */
+ friendlyName?: string;
+ /** The fabric type. */
+ fabricType?: string;
+ /** Number of protected PEs. */
+ protectedItemCount?: number;
+ /** The pairing status of this cloud. */
+ pairingStatus?: string;
+ /** The role of this cloud. */
+ role?: string;
+ /** Fabric specific details. */
+ fabricSpecificDetails?: ProtectionContainerFabricSpecificDetails;
+}
+
+/** Base class for fabric specific details of container. */
+export interface ProtectionContainerFabricSpecificDetails {
/**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency in minutes.
+ * Gets the class type. Overridden in derived classes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- crashConsistentFrequencyInMinutes?: number;
+ readonly instanceType?: string;
}
-/**
- * @interface
- * An interface representing A2AProtectedDiskDetails.
- * A2A protected disk details.
- *
- */
-export interface A2AProtectedDiskDetails {
+/** Create protection container input. */
+export interface CreateProtectionContainerInput {
+ /** Create protection container input properties. */
+ properties?: CreateProtectionContainerInputProperties;
+}
+
+/** Create protection container input properties. */
+export interface CreateProtectionContainerInputProperties {
+ /** Provider specific inputs for container creation. */
+ providerSpecificInput?: ReplicationProviderSpecificContainerCreationInputUnion[];
+}
+
+/** Provider specific input for container creation operation. */
+export interface ReplicationProviderSpecificContainerCreationInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A" | "A2ACrossClusterMigration" | "VMwareCbt";
+}
+
+/** Request to add a physical machine as a protectable item in a container. */
+export interface DiscoverProtectableItemRequest {
+ /** The properties of a discover protectable item request. */
+ properties?: DiscoverProtectableItemRequestProperties;
+}
+
+/** Discover protectable item properties. */
+export interface DiscoverProtectableItemRequestProperties {
+ /** The friendly name of the physical machine. */
+ friendlyName?: string;
+ /** The IP address of the physical machine to be discovered. */
+ ipAddress?: string;
+ /** The OS type on the physical machine. */
+ osType?: string;
+}
+
+/** Migration item collection. */
+export interface MigrationItemCollection {
+ /** The list of migration items. */
+ value?: MigrationItem[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Migration item properties. */
+export interface MigrationItemProperties {
/**
- * @member {string} [diskUri] The disk uri.
+ * The on-premise virtual machine name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskUri?: string;
+ readonly machineName?: string;
/**
- * @member {string} [recoveryAzureStorageAccountId] The recovery disk storage
- * account.
+ * The ARM Id of policy governing this item.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureStorageAccountId?: string;
+ readonly policyId?: string;
/**
- * @member {string} [primaryDiskAzureStorageAccountId] The primary disk
- * storage account.
+ * The name of policy governing this item.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- primaryDiskAzureStorageAccountId?: string;
+ readonly policyFriendlyName?: string;
/**
- * @member {string} [recoveryDiskUri] Recovery disk uri.
+ * The migration status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryDiskUri?: string;
+ readonly migrationState?: MigrationState;
/**
- * @member {string} [diskName] The disk name.
+ * The migration state description.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskName?: string;
+ readonly migrationStateDescription?: string;
/**
- * @member {number} [diskCapacityInBytes] The disk capacity in bytes.
+ * The last test migration time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskCapacityInBytes?: number;
+ readonly lastTestMigrationTime?: Date;
/**
- * @member {string} [primaryStagingAzureStorageAccountId] The primary staging
- * storage account.
+ * The status of the last test migration.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- primaryStagingAzureStorageAccountId?: string;
+ readonly lastTestMigrationStatus?: string;
/**
- * @member {string} [diskType] The type of disk.
+ * The test migrate state.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskType?: string;
+ readonly testMigrateState?: TestMigrationState;
/**
- * @member {boolean} [resyncRequired] A value indicating whether resync is
- * required for this disk.
+ * The test migrate state description.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncRequired?: boolean;
+ readonly testMigrateStateDescription?: string;
/**
- * @member {number} [monitoringPercentageCompletion] The percentage of the
- * monitoring job. The type of the monitoring job is defined by
- * MonitoringJobType property.
+ * The consolidated health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- monitoringPercentageCompletion?: number;
+ readonly health?: ProtectionHealth;
/**
- * @member {string} [monitoringJobType] The type of the monitoring job. The
- * progress is contained in MonitoringPercentageCompletion property.
+ * The list of health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- monitoringJobType?: string;
+ readonly healthErrors?: HealthError[];
/**
- * @member {number} [dataPendingInStagingStorageAccountInMB] The data pending
- * for replication in MB at staging account.
+ * The allowed operations on the migration item based on the current migration state of the item.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- dataPendingInStagingStorageAccountInMB?: number;
+ readonly allowedOperations?: MigrationItemOperation[];
/**
- * @member {number} [dataPendingAtSourceAgentInMB] The data pending at source
- * virtual machine in MB.
+ * The current job details.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- dataPendingAtSourceAgentInMB?: number;
+ readonly currentJob?: CurrentJobDetails;
/**
- * @member {boolean} [isDiskEncrypted] A value indicating whether vm has
- * encrypted os disk or not.
+ * The correlation Id for events associated with this migration item.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- isDiskEncrypted?: boolean;
+ readonly eventCorrelationId?: string;
+ /** The migration provider custom settings. */
+ providerSpecificDetails?: MigrationProviderSpecificSettingsUnion;
+}
+
+/** Current job details of the migration item. */
+export interface CurrentJobDetails {
/**
- * @member {string} [secretIdentifier] The secret URL / identifier (BEK).
+ * The job name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- secretIdentifier?: string;
+ readonly jobName?: string;
/**
- * @member {string} [dekKeyVaultArmId] The KeyVault resource id for secret
- * (BEK).
+ * The ARM Id of the job being executed.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- dekKeyVaultArmId?: string;
+ readonly jobId?: string;
/**
- * @member {boolean} [isDiskKeyEncrypted] A value indicating whether disk key
- * got encrypted or not.
+ * The start time of the job.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- isDiskKeyEncrypted?: boolean;
- /**
- * @member {string} [keyIdentifier] The key URL / identifier (KEK).
- */
- keyIdentifier?: string;
- /**
- * @member {string} [kekKeyVaultArmId] The KeyVault resource id for key
- * (KEK).
- */
- kekKeyVaultArmId?: string;
+ readonly startTime?: Date;
}
-/**
- * @interface
- * An interface representing A2AProtectedManagedDiskDetails.
- * A2A protected managed disk details.
- *
- */
-export interface A2AProtectedManagedDiskDetails {
- /**
- * @member {string} [diskId] The managed disk Arm id.
- */
- diskId?: string;
- /**
- * @member {string} [recoveryResourceGroupId] The recovery disk resource
- * group Arm Id.
- */
- recoveryResourceGroupId?: string;
- /**
- * @member {string} [recoveryTargetDiskId] Recovery target disk Arm Id.
- */
- recoveryTargetDiskId?: string;
- /**
- * @member {string} [recoveryReplicaDiskId] Recovery replica disk Arm Id.
- */
- recoveryReplicaDiskId?: string;
- /**
- * @member {string} [recoveryReplicaDiskAccountType] The replica disk type.
- * Its an optional value and will be same as source disk type if not user
- * provided.
- */
- recoveryReplicaDiskAccountType?: string;
- /**
- * @member {string} [recoveryTargetDiskAccountType] The target disk type
- * after failover. Its an optional value and will be same as source disk type
- * if not user provided.
- */
- recoveryTargetDiskAccountType?: string;
- /**
- * @member {string} [diskName] The disk name.
- */
- diskName?: string;
- /**
- * @member {number} [diskCapacityInBytes] The disk capacity in bytes.
- */
- diskCapacityInBytes?: number;
- /**
- * @member {string} [primaryStagingAzureStorageAccountId] The primary staging
- * storage account.
- */
- primaryStagingAzureStorageAccountId?: string;
- /**
- * @member {string} [diskType] The type of disk.
- */
- diskType?: string;
- /**
- * @member {boolean} [resyncRequired] A value indicating whether resync is
- * required for this disk.
- */
- resyncRequired?: boolean;
- /**
- * @member {number} [monitoringPercentageCompletion] The percentage of the
- * monitoring job. The type of the monitoring job is defined by
- * MonitoringJobType property.
- */
- monitoringPercentageCompletion?: number;
- /**
- * @member {string} [monitoringJobType] The type of the monitoring job. The
- * progress is contained in MonitoringPercentageCompletion property.
- */
- monitoringJobType?: string;
- /**
- * @member {number} [dataPendingInStagingStorageAccountInMB] The data pending
- * for replication in MB at staging account.
- */
- dataPendingInStagingStorageAccountInMB?: number;
- /**
- * @member {number} [dataPendingAtSourceAgentInMB] The data pending at source
- * virtual machine in MB.
- */
- dataPendingAtSourceAgentInMB?: number;
- /**
- * @member {boolean} [isDiskEncrypted] A value indicating whether vm has
- * encrypted os disk or not.
- */
- isDiskEncrypted?: boolean;
- /**
- * @member {string} [secretIdentifier] The secret URL / identifier (BEK).
- */
- secretIdentifier?: string;
- /**
- * @member {string} [dekKeyVaultArmId] The KeyVault resource id for secret
- * (BEK).
- */
- dekKeyVaultArmId?: string;
- /**
- * @member {boolean} [isDiskKeyEncrypted] A value indicating whether disk key
- * got encrypted or not.
- */
- isDiskKeyEncrypted?: boolean;
- /**
- * @member {string} [keyIdentifier] The key URL / identifier (KEK).
- */
- keyIdentifier?: string;
- /**
- * @member {string} [kekKeyVaultArmId] The KeyVault resource id for key
- * (KEK).
- */
- kekKeyVaultArmId?: string;
+/** Migration provider specific settings. */
+export interface MigrationProviderSpecificSettings {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
}
-/**
- * Contains the possible cases for ProtectionContainerMappingProviderSpecificDetails.
- */
-export type ProtectionContainerMappingProviderSpecificDetailsUnion = ProtectionContainerMappingProviderSpecificDetails | A2AProtectionContainerMappingDetails;
+/** Enable migration input. */
+export interface EnableMigrationInput {
+ /** Enable migration input properties. */
+ properties: EnableMigrationInputProperties;
+}
-/**
- * @interface
- * An interface representing ProtectionContainerMappingProviderSpecificDetails.
- * Container mapping provider specific details.
- *
- */
-export interface ProtectionContainerMappingProviderSpecificDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ProtectionContainerMappingProviderSpecificDetails";
+/** Enable migration input properties. */
+export interface EnableMigrationInputProperties {
+ /** The policy Id. */
+ policyId: string;
+ /** The provider specific details. */
+ providerSpecificDetails: EnableMigrationProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing A2AProtectionContainerMappingDetails.
- * A2A provider specific settings.
- *
- */
-export interface A2AProtectionContainerMappingDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {AgentAutoUpdateStatus} [agentAutoUpdateStatus] A value indicating
- * whether the auto update is enabled. Possible values include: 'Disabled',
- * 'Enabled'
- */
- agentAutoUpdateStatus?: AgentAutoUpdateStatus;
- /**
- * @member {string} [automationAccountArmId] The automation account arm id.
- */
- automationAccountArmId?: string;
- /**
- * @member {string} [scheduleName] The schedule arm name.
- */
- scheduleName?: string;
- /**
- * @member {string} [jobScheduleName] The job schedule arm name.
- */
- jobScheduleName?: string;
+/** Enable migration provider specific input. */
+export interface EnableMigrationProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
}
-/**
- * Contains the possible cases for ProviderSpecificRecoveryPointDetails.
- */
-export type ProviderSpecificRecoveryPointDetailsUnion = ProviderSpecificRecoveryPointDetails | A2ARecoveryPointDetails | InMageAzureV2RecoveryPointDetails;
+/** Update migration item input. */
+export interface UpdateMigrationItemInput {
+ /** Update migration item input properties. */
+ properties?: UpdateMigrationItemInputProperties;
+}
-/**
- * @interface
- * An interface representing ProviderSpecificRecoveryPointDetails.
- * Replication provider specific recovery point details.
- *
- */
-export interface ProviderSpecificRecoveryPointDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ProviderSpecificRecoveryPointDetails";
+/** Update migration item input properties. */
+export interface UpdateMigrationItemInputProperties {
+ /** The provider specific input to update migration item. */
+ providerSpecificDetails: UpdateMigrationItemProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing A2ARecoveryPointDetails.
- * A2A provider specific recovery point details.
- *
- */
-export interface A2ARecoveryPointDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {RecoveryPointSyncType} [recoveryPointSyncType] A value indicating
- * whether the recovery point is multi VM consistent. Possible values
- * include: 'MultiVmSyncRecoveryPoint', 'PerVmRecoveryPoint'
- */
- recoveryPointSyncType?: RecoveryPointSyncType;
+/** Update migration item provider specific input. */
+export interface UpdateMigrationItemProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
}
-/**
- * @interface
- * An interface representing VMNicDetails.
- * Hyper V VM network details.
- *
- */
-export interface VMNicDetails {
- /**
- * @member {string} [nicId] The nic Id.
- */
- nicId?: string;
- /**
- * @member {string} [replicaNicId] The replica nic Id.
- */
- replicaNicId?: string;
- /**
- * @member {string} [sourceNicArmId] The source nic ARM Id.
- */
- sourceNicArmId?: string;
- /**
- * @member {string} [vMSubnetName] VM subnet name.
- */
- vMSubnetName?: string;
- /**
- * @member {string} [vMNetworkName] VM network name.
- */
- vMNetworkName?: string;
- /**
- * @member {string} [recoveryVMNetworkId] Recovery VM network Id.
- */
- recoveryVMNetworkId?: string;
- /**
- * @member {string} [recoveryVMSubnetName] Recovery VM subnet name.
- */
- recoveryVMSubnetName?: string;
- /**
- * @member {string} [ipAddressType] Ip address type.
- */
- ipAddressType?: string;
- /**
- * @member {string} [primaryNicStaticIPAddress] Primary nic static IP
- * address.
- */
- primaryNicStaticIPAddress?: string;
- /**
- * @member {string} [replicaNicStaticIPAddress] Replica nic static IP
- * address.
- */
- replicaNicStaticIPAddress?: string;
- /**
- * @member {string} [selectionType] Selection type for failover.
- */
- selectionType?: string;
- /**
- * @member {string} [recoveryNicIpAddressType] IP allocation type for
- * recovery VM.
- */
- recoveryNicIpAddressType?: string;
- /**
- * @member {boolean} [enableAcceleratedNetworkingOnRecovery] A value
- * indicating whether the NIC has accerated networking enabled.
- */
- enableAcceleratedNetworkingOnRecovery?: boolean;
+/** Input for migrate. */
+export interface MigrateInput {
+ /** Migrate input properties. */
+ properties: MigrateInputProperties;
}
-/**
- * @interface
- * An interface representing RoleAssignment.
- * Azure role assignment details.
- *
- */
-export interface RoleAssignment {
- /**
- * @member {string} [id] The ARM Id of the role assignment.
- */
- id?: string;
- /**
- * @member {string} [name] The name of the role assignment.
- */
- name?: string;
- /**
- * @member {string} [scope] Role assignment scope.
- */
- scope?: string;
- /**
- * @member {string} [principalId] Principal Id.
- */
- principalId?: string;
- /**
- * @member {string} [roleDefinitionId] Role definition id.
- */
- roleDefinitionId?: string;
+/** Migrate input properties. */
+export interface MigrateInputProperties {
+ /** The provider specific details. */
+ providerSpecificDetails: MigrateProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing InputEndpoint.
- * Azure VM input endpoint details.
- *
- */
-export interface InputEndpoint {
- /**
- * @member {string} [endpointName] The input endpoint name.
- */
- endpointName?: string;
- /**
- * @member {number} [privatePort] The input endpoint private port.
- */
- privatePort?: number;
- /**
- * @member {number} [publicPort] The input endpoint public port.
- */
- publicPort?: number;
- /**
- * @member {string} [protocol] The input endpoint protocol.
- */
- protocol?: string;
+/** Migrate provider specific input. */
+export interface MigrateProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
}
-/**
- * @interface
- * An interface representing AzureToAzureVmSyncedConfigDetails.
- * Azure to Azure VM synced configuration details.
- *
- */
-export interface AzureToAzureVmSyncedConfigDetails {
- /**
- * @member {{ [propertyName: string]: string }} [tags] The Azure VM tags.
- */
- tags?: { [propertyName: string]: string };
+/** Collection of migration recovery points. */
+export interface MigrationRecoveryPointCollection {
+ /** The migration recovery point details. */
+ value?: MigrationRecoveryPoint[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Migration item recovery point properties. */
+export interface MigrationRecoveryPointProperties {
/**
- * @member {RoleAssignment[]} [roleAssignments] The Azure role assignments.
+ * The recovery point time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- roleAssignments?: RoleAssignment[];
+ readonly recoveryPointTime?: Date;
/**
- * @member {InputEndpoint[]} [inputEndpoints] The Azure VM input endpoints.
+ * The recovery point type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- inputEndpoints?: InputEndpoint[];
+ readonly recoveryPointType?: MigrationRecoveryPointType;
}
-/**
- * Contains the possible cases for ReplicationProviderSpecificSettings.
- */
-export type ReplicationProviderSpecificSettingsUnion = ReplicationProviderSpecificSettings | A2AReplicationDetails | HyperVReplicaAzureReplicationDetails | HyperVReplicaBaseReplicationDetails | HyperVReplicaBlueReplicationDetails | HyperVReplicaReplicationDetails | InMageAzureV2ReplicationDetails | InMageReplicationDetails;
+/** Resync input. */
+export interface ResyncInput {
+ /** Resync input properties. */
+ properties: ResyncInputProperties;
+}
-/**
- * @interface
- * An interface representing ReplicationProviderSpecificSettings.
- * Replication provider specific settings.
- *
- */
-export interface ReplicationProviderSpecificSettings {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ReplicationProviderSpecificSettings";
+/** Resync input properties. */
+export interface ResyncInputProperties {
+ /** The provider specific details. */
+ providerSpecificDetails: ResyncProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing A2AReplicationDetails.
- * A2A provider specific settings.
- *
- */
-export interface A2AReplicationDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [fabricObjectId] The fabric specific object Id of the
- * virtual machine.
- */
- fabricObjectId?: string;
- /**
- * @member {string} [multiVmGroupId] The multi vm group Id.
- */
- multiVmGroupId?: string;
- /**
- * @member {string} [multiVmGroupName] The multi vm group name.
- */
- multiVmGroupName?: string;
- /**
- * @member {MultiVmGroupCreateOption} [multiVmGroupCreateOption] Whether
- * Multi VM group is auto created or specified by user. Possible values
- * include: 'AutoCreated', 'UserSpecified'
- */
- multiVmGroupCreateOption?: MultiVmGroupCreateOption;
- /**
- * @member {string} [managementId] The management Id.
- */
- managementId?: string;
- /**
- * @member {A2AProtectedDiskDetails[]} [protectedDisks] The list of protected
- * disks.
- */
- protectedDisks?: A2AProtectedDiskDetails[];
- /**
- * @member {A2AProtectedManagedDiskDetails[]} [protectedManagedDisks] The
- * list of protected managed disks.
- */
- protectedManagedDisks?: A2AProtectedManagedDiskDetails[];
- /**
- * @member {string} [recoveryBootDiagStorageAccountId] The recovery boot
- * diagnostic storage account Arm Id.
- */
- recoveryBootDiagStorageAccountId?: string;
- /**
- * @member {string} [primaryFabricLocation] Primary fabric location.
- */
- primaryFabricLocation?: string;
- /**
- * @member {string} [recoveryFabricLocation] The recovery fabric location.
- */
- recoveryFabricLocation?: string;
- /**
- * @member {string} [osType] The type of operating system.
- */
- osType?: string;
- /**
- * @member {string} [recoveryAzureVMSize] The size of recovery virtual
- * machine.
- */
- recoveryAzureVMSize?: string;
- /**
- * @member {string} [recoveryAzureVMName] The name of recovery virtual
- * machine.
- */
- recoveryAzureVMName?: string;
- /**
- * @member {string} [recoveryAzureResourceGroupId] The recovery resource
- * group.
- */
- recoveryAzureResourceGroupId?: string;
- /**
- * @member {string} [recoveryCloudService] The recovery cloud service.
- */
- recoveryCloudService?: string;
- /**
- * @member {string} [recoveryAvailabilitySet] The recovery availability set.
- */
- recoveryAvailabilitySet?: string;
- /**
- * @member {string} [selectedRecoveryAzureNetworkId] The recovery virtual
- * network.
- */
- selectedRecoveryAzureNetworkId?: string;
- /**
- * @member {VMNicDetails[]} [vmNics] The virtual machine nic details.
- */
- vmNics?: VMNicDetails[];
- /**
- * @member {AzureToAzureVmSyncedConfigDetails} [vmSyncedConfigDetails] The
- * synced configuration details.
- */
- vmSyncedConfigDetails?: AzureToAzureVmSyncedConfigDetails;
- /**
- * @member {number} [monitoringPercentageCompletion] The percentage of the
- * monitoring job. The type of the monitoring job is defined by
- * MonitoringJobType property.
- */
- monitoringPercentageCompletion?: number;
- /**
- * @member {string} [monitoringJobType] The type of the monitoring job. The
- * progress is contained in MonitoringPercentageCompletion property.
- */
- monitoringJobType?: string;
- /**
- * @member {Date} [lastHeartbeat] The last heartbeat received from the source
- * server.
- */
- lastHeartbeat?: Date;
- /**
- * @member {string} [agentVersion] The agent version.
- */
- agentVersion?: string;
- /**
- * @member {boolean} [isReplicationAgentUpdateRequired] A value indicating
- * whether replication agent update is required.
- */
- isReplicationAgentUpdateRequired?: boolean;
- /**
- * @member {string} [recoveryFabricObjectId] The recovery fabric object Id.
- */
- recoveryFabricObjectId?: string;
- /**
- * @member {string} [vmProtectionState] The protection state for the vm.
- */
- vmProtectionState?: string;
- /**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
- */
- vmProtectionStateDescription?: string;
- /**
- * @member {string} [lifecycleId] An id associated with the PE that survives
- * actions like switch protection which change the backing PE/CPE objects
- * internally.The lifecycle id gets carried forward to have a link/continuity
- * in being able to have an Id that denotes the "same" protected item even
- * though other internal Ids/ARM Id might be changing.
- */
- lifecycleId?: string;
- /**
- * @member {string} [testFailoverRecoveryFabricObjectId] The test failover
- * fabric object Id.
- */
- testFailoverRecoveryFabricObjectId?: string;
- /**
- * @member {number} [rpoInSeconds] The last RPO value in seconds.
- */
- rpoInSeconds?: number;
- /**
- * @member {Date} [lastRpoCalculatedTime] The time (in UTC) when the last RPO
- * value was calculated by Protection Service.
- */
- lastRpoCalculatedTime?: Date;
+/** Resync provider specific input. */
+export interface ResyncProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
}
-/**
- * Contains the possible cases for ReverseReplicationProviderSpecificInput.
- */
-export type ReverseReplicationProviderSpecificInputUnion = ReverseReplicationProviderSpecificInput | A2AReprotectInput | HyperVReplicaAzureReprotectInput | InMageAzureV2ReprotectInput | InMageReprotectInput;
+/** Input for test migrate. */
+export interface TestMigrateInput {
+ /** Test migrate input properties. */
+ properties: TestMigrateInputProperties;
+}
-/**
- * @interface
- * An interface representing ReverseReplicationProviderSpecificInput.
- * Provider specific reverse replication input.
- *
- */
-export interface ReverseReplicationProviderSpecificInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ReverseReplicationProviderSpecificInput";
+/** Test migrate input properties. */
+export interface TestMigrateInputProperties {
+ /** The provider specific details. */
+ providerSpecificDetails: TestMigrateProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing A2AReprotectInput.
- * Azure specific reprotect input.
- *
- */
-export interface A2AReprotectInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [recoveryContainerId] The recovery container Id.
- */
- recoveryContainerId?: string;
- /**
- * @member {A2AVmDiskInputDetails[]} [vmDisks] The list of vm disk details.
- */
- vmDisks?: A2AVmDiskInputDetails[];
- /**
- * @member {string} [recoveryResourceGroupId] The recovery resource group Id.
- * Valid for V2 scenarios.
- */
- recoveryResourceGroupId?: string;
- /**
- * @member {string} [recoveryCloudServiceId] The recovery cloud service Id.
- * Valid for V1 scenarios.
- */
- recoveryCloudServiceId?: string;
- /**
- * @member {string} [recoveryAvailabilitySetId] The recovery availability
- * set.
- */
- recoveryAvailabilitySetId?: string;
- /**
- * @member {string} [policyId] The Policy Id.
- */
- policyId?: string;
+/** Test migrate provider specific input. */
+export interface TestMigrateProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
}
-/**
- * Contains the possible cases for SwitchProtectionProviderSpecificInput.
- */
-export type SwitchProtectionProviderSpecificInputUnion = SwitchProtectionProviderSpecificInput | A2ASwitchProtectionInput;
+/** Input for test migrate cleanup. */
+export interface TestMigrateCleanupInput {
+ /** Test migrate cleanup input properties. */
+ properties: TestMigrateCleanupInputProperties;
+}
-/**
- * @interface
- * An interface representing SwitchProtectionProviderSpecificInput.
- * Provider specific switch protection input.
- *
- */
-export interface SwitchProtectionProviderSpecificInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "SwitchProtectionProviderSpecificInput";
+/** Test migrate cleanup input properties. */
+export interface TestMigrateCleanupInputProperties {
+ /** Test migrate cleanup comments. */
+ comments?: string;
}
-/**
- * @interface
- * An interface representing A2ASwitchProtectionInput.
- * A2A specific switch protection input.
- *
- */
-export interface A2ASwitchProtectionInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [recoveryContainerId] The recovery container Id.
- */
- recoveryContainerId?: string;
- /**
- * @member {A2AVmDiskInputDetails[]} [vmDisks] The list of vm disk details.
- */
- vmDisks?: A2AVmDiskInputDetails[];
- /**
- * @member {A2AVmManagedDiskInputDetails[]} [vmManagedDisks] The list of vm
- * managed disk details.
- */
- vmManagedDisks?: A2AVmManagedDiskInputDetails[];
- /**
- * @member {string} [recoveryResourceGroupId] The recovery resource group Id.
- * Valid for V2 scenarios.
- */
- recoveryResourceGroupId?: string;
- /**
- * @member {string} [recoveryCloudServiceId] The recovery cloud service Id.
- * Valid for V1 scenarios.
- */
- recoveryCloudServiceId?: string;
- /**
- * @member {string} [recoveryAvailabilitySetId] The recovery availability
- * set.
- */
- recoveryAvailabilitySetId?: string;
- /**
- * @member {string} [policyId] The Policy Id.
- */
- policyId?: string;
- /**
- * @member {string} [recoveryBootDiagStorageAccountId] The boot diagnostic
- * storage account.
- */
- recoveryBootDiagStorageAccountId?: string;
- /**
- * @member {DiskEncryptionInfo} [diskEncryptionInfo] The recovery disk
- * encryption information.
- */
- diskEncryptionInfo?: DiskEncryptionInfo;
+/** Protectable item collection. */
+export interface ProtectableItemCollection {
+ /** The Protectable item details. */
+ value?: ProtectableItem[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * Contains the possible cases for ReplicationProviderSpecificUpdateContainerMappingInput.
- */
-export type ReplicationProviderSpecificUpdateContainerMappingInputUnion = ReplicationProviderSpecificUpdateContainerMappingInput | A2AUpdateContainerMappingInput;
+/** Replication protected item custom data details. */
+export interface ProtectableItemProperties {
+ /** The name. */
+ friendlyName?: string;
+ /** The protection status. */
+ protectionStatus?: string;
+ /** The ARM resource of protected items. */
+ replicationProtectedItemId?: string;
+ /** The recovery provider ARM Id. */
+ recoveryServicesProviderId?: string;
+ /** The Current protection readiness errors. */
+ protectionReadinessErrors?: string[];
+ /** The list of replication providers supported for the protectable item. */
+ supportedReplicationProviders?: string[];
+ /** The Replication provider custom settings. */
+ customDetails?: ConfigurationSettingsUnion;
+}
-/**
- * @interface
- * An interface representing ReplicationProviderSpecificUpdateContainerMappingInput.
- * Provider specific input for update pairing operations.
- *
- */
-export interface ReplicationProviderSpecificUpdateContainerMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ReplicationProviderSpecificUpdateContainerMappingInput";
+/** Replication provider specific settings. */
+export interface ConfigurationSettings {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "HyperVVirtualMachine"
+ | "ReplicationGroupDetails"
+ | "VmmVirtualMachine"
+ | "VMwareVirtualMachine";
+}
+
+/** Replication protected item collection. */
+export interface ReplicationProtectedItemCollection {
+ /** The Replication protected item details. */
+ value?: ReplicationProtectedItem[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing A2AUpdateContainerMappingInput.
- * A2A update protection container mapping.
- *
- */
-export interface A2AUpdateContainerMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {AgentAutoUpdateStatus} [agentAutoUpdateStatus] A value indicating
- * whether the auto update is enabled. Possible values include: 'Disabled',
- * 'Enabled'
- */
- agentAutoUpdateStatus?: AgentAutoUpdateStatus;
- /**
- * @member {string} [automationAccountArmId] The automation account arm id.
- */
- automationAccountArmId?: string;
+/** Replication protected item custom data details. */
+export interface ReplicationProtectedItemProperties {
+ /** The name. */
+ friendlyName?: string;
+ /** The type of protected item type. */
+ protectedItemType?: string;
+ /** The protected item ARM Id. */
+ protectableItemId?: string;
+ /** The recovery provider ARM Id. */
+ recoveryServicesProviderId?: string;
+ /** The friendly name of the primary fabric. */
+ primaryFabricFriendlyName?: string;
+ /** The fabric provider of the primary fabric. */
+ primaryFabricProvider?: string;
+ /** The friendly name of recovery fabric. */
+ recoveryFabricFriendlyName?: string;
+ /** The Arm Id of recovery fabric. */
+ recoveryFabricId?: string;
+ /** The name of primary protection container friendly name. */
+ primaryProtectionContainerFriendlyName?: string;
+ /** The name of recovery container friendly name. */
+ recoveryProtectionContainerFriendlyName?: string;
+ /** The protection status. */
+ protectionState?: string;
+ /** The protection state description. */
+ protectionStateDescription?: string;
+ /** The Current active location of the PE. */
+ activeLocation?: string;
+ /** The Test failover state. */
+ testFailoverState?: string;
+ /** The Test failover state description. */
+ testFailoverStateDescription?: string;
+ /** The switch provider state. */
+ switchProviderState?: string;
+ /** The switch provider state description. */
+ switchProviderStateDescription?: string;
+ /** The allowed operations on the Replication protected item. */
+ allowedOperations?: string[];
+ /** The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration. */
+ replicationHealth?: string;
+ /** The consolidated failover health for the VM. */
+ failoverHealth?: string;
+ /** List of health errors. */
+ healthErrors?: HealthError[];
+ /** The ID of Policy governing this PE. */
+ policyId?: string;
+ /** The name of Policy governing this PE. */
+ policyFriendlyName?: string;
+ /** The Last successful failover time. */
+ lastSuccessfulFailoverTime?: Date;
+ /** The Last successful test failover time. */
+ lastSuccessfulTestFailoverTime?: Date;
+ /** The current scenario. */
+ currentScenario?: CurrentScenarioDetails;
+ /** The recovery point ARM Id to which the Vm was failed over. */
+ failoverRecoveryPointId?: string;
+ /** The Replication provider custom settings. */
+ providerSpecificDetails?: ReplicationProviderSpecificSettingsUnion;
+ /** The recovery container Id. */
+ recoveryContainerId?: string;
+ /** The correlation Id for events associated with this protected item. */
+ eventCorrelationId?: string;
}
-/**
- * @interface
- * An interface representing A2AVmManagedDiskUpdateDetails.
- * Azure VM managed disk update input details.
- *
- */
-export interface A2AVmManagedDiskUpdateDetails {
- /**
- * @member {string} [diskId] The disk Id.
- */
- diskId?: string;
- /**
- * @member {string} [recoveryTargetDiskAccountType] The target disk type
- * before failover.
- */
- recoveryTargetDiskAccountType?: string;
- /**
- * @member {string} [recoveryReplicaDiskAccountType] The replica disk type
- * before failover.
- */
- recoveryReplicaDiskAccountType?: string;
+/** Current scenario details of the protected entity. */
+export interface CurrentScenarioDetails {
+ /** Scenario name. */
+ scenarioName?: string;
+ /** ARM Id of the job being executed. */
+ jobId?: string;
+ /** Start time of the workflow. */
+ startTime?: Date;
}
-/**
- * Contains the possible cases for UpdateReplicationProtectedItemProviderInput.
- */
-export type UpdateReplicationProtectedItemProviderInputUnion = UpdateReplicationProtectedItemProviderInput | A2AUpdateReplicationProtectedItemInput | HyperVReplicaAzureUpdateReplicationProtectedItemInput | InMageAzureV2UpdateReplicationProtectedItemInput;
+/** Replication provider specific settings. */
+export interface ReplicationProviderSpecificSettings {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2ACrossClusterMigration"
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "HyperVReplicaBaseReplicationDetails"
+ | "HyperVReplica2012R2"
+ | "HyperVReplica2012"
+ | "InMageAzureV2"
+ | "InMageRcmFailback"
+ | "InMageRcm"
+ | "InMage";
+}
+
+/** Enable protection input. */
+export interface EnableProtectionInput {
+ /** Enable protection input properties. */
+ properties?: EnableProtectionInputProperties;
+}
-/**
- * @interface
- * An interface representing UpdateReplicationProtectedItemProviderInput.
- * Update replication protected item provider specific input.
- *
- */
-export interface UpdateReplicationProtectedItemProviderInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "UpdateReplicationProtectedItemProviderInput";
+/** Enable protection input properties. */
+export interface EnableProtectionInputProperties {
+ /** The Policy Id. */
+ policyId?: string;
+ /** The protectable item Id. */
+ protectableItemId?: string;
+ /** The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null. */
+ providerSpecificDetails?: EnableProtectionProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing A2AUpdateReplicationProtectedItemInput.
- * InMage Azure V2 input to update replication protected item.
- *
- */
-export interface A2AUpdateReplicationProtectedItemInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {string} [recoveryCloudServiceId] The target cloud service ARM Id
- * (for V1).
- */
- recoveryCloudServiceId?: string;
- /**
- * @member {string} [recoveryResourceGroupId] The target resource group ARM
- * Id (for V2).
- */
- recoveryResourceGroupId?: string;
- /**
- * @member {A2AVmManagedDiskUpdateDetails[]} [managedDiskUpdateDetails]
- * Managed disk update details.
- */
- managedDiskUpdateDetails?: A2AVmManagedDiskUpdateDetails[];
- /**
- * @member {string} [recoveryBootDiagStorageAccountId] The boot diagnostic
- * storage account.
- */
- recoveryBootDiagStorageAccountId?: string;
- /**
- * @member {DiskEncryptionInfo} [diskEncryptionInfo] The recovery os disk
- * encryption information.
- */
- diskEncryptionInfo?: DiskEncryptionInfo;
+/** Enable protection provider specific input. */
+export interface EnableProtectionProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2ACrossClusterMigration"
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "InMageAzureV2"
+ | "InMage"
+ | "InMageRcm";
}
-/**
- * @interface
- * An interface representing AddVCenterRequestProperties.
- * The properties of an add vCenter request.
- *
- */
-export interface AddVCenterRequestProperties {
- /**
- * @member {string} [friendlyName] The friendly name of the vCenter.
- */
- friendlyName?: string;
- /**
- * @member {string} [ipAddress] The IP address of the vCenter to be
- * discovered.
- */
- ipAddress?: string;
- /**
- * @member {string} [processServerId] The process server Id from where the
- * discovery is orchestrated.
- */
- processServerId?: string;
- /**
- * @member {string} [port] The port number for discovery.
- */
- port?: string;
- /**
- * @member {string} [runAsAccountId] The account Id which has privileges to
- * discover the vCenter.
- */
- runAsAccountId?: string;
+/** Update replication protected item input. */
+export interface UpdateReplicationProtectedItemInput {
+ /** Update replication protected item properties. */
+ properties?: UpdateReplicationProtectedItemInputProperties;
}
-/**
- * @interface
- * An interface representing AddVCenterRequest.
- * Input required to add vCenter.
- *
- */
-export interface AddVCenterRequest {
- /**
- * @member {AddVCenterRequestProperties} [properties] The properties of an
- * add vCenter request.
- */
- properties?: AddVCenterRequestProperties;
+/** Update protected item input properties. */
+export interface UpdateReplicationProtectedItemInputProperties {
+ /** Target Azure VM name given by the user. */
+ recoveryAzureVMName?: string;
+ /** Target Azure VM size. */
+ recoveryAzureVMSize?: string;
+ /** Target Azure Network Id. */
+ selectedRecoveryAzureNetworkId?: string;
+ /** The Azure Network Id for test failover. */
+ selectedTfoAzureNetworkId?: string;
+ /** The selected source nic Id which will be used as the primary nic during failover. */
+ selectedSourceNicId?: string;
+ /** The selected option to enable RDP\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum. */
+ enableRdpOnTargetOption?: string;
+ /** The list of VM nic details. */
+ vmNics?: VMNicInputDetails[];
+ /** License type. */
+ licenseType?: LicenseType;
+ /** The target availability set Id. */
+ recoveryAvailabilitySetId?: string;
+ /** The provider specific input to update replication protected item. */
+ providerSpecificDetails?: UpdateReplicationProtectedItemProviderInputUnion;
}
-/**
- * @interface
- * An interface representing AlertProperties.
- * The proprties of an alert.
- *
- */
-export interface AlertProperties {
- /**
- * @member {string} [sendToOwners] A value indicating whether to send email
- * to subscription administrator.
- */
- sendToOwners?: string;
- /**
- * @member {string[]} [customEmailAddresses] The custom email address for
- * sending emails.
- */
- customEmailAddresses?: string[];
- /**
- * @member {string} [locale] The locale for the email notification.
- */
- locale?: string;
+/** Hyper V VM network input details. */
+export interface VMNicInputDetails {
+ /** The nic Id. */
+ nicId?: string;
+ /** The IP configurations to be used by NIC during test failover and failover. */
+ ipConfigs?: IPConfigInputDetails[];
+ /** Selection type for failover. */
+ selectionType?: string;
+ /** The id of the NSG associated with the NIC. */
+ recoveryNetworkSecurityGroupId?: string;
+ /** Whether the NIC has accelerated networking enabled. */
+ enableAcceleratedNetworkingOnRecovery?: boolean;
+ /** The NSG to be used by NIC during test failover. */
+ tfoNetworkSecurityGroupId?: string;
+ /** Whether the test NIC has accelerated networking enabled. */
+ enableAcceleratedNetworkingOnTfo?: boolean;
+ /** The name of the NIC to be used when creating target NICs. */
+ recoveryNicName?: string;
+ /** The resource group of the NIC to be used when creating target NICs. */
+ recoveryNicResourceGroupName?: string;
+ /** A value indicating whether an existing NIC is allowed to be reused during failover subject to availability. */
+ reuseExistingNic?: boolean;
+ /** The name of the NIC to be used when creating target NICs in TFO. */
+ tfoNicName?: string;
+ /** The resource group of the NIC to be used when creating target NICs in TFO. */
+ tfoNicResourceGroupName?: string;
+ /** A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability. */
+ tfoReuseExistingNic?: boolean;
+ /** Target NIC name. */
+ targetNicName?: string;
+}
+
+export interface IPConfigInputDetails {
+ ipConfigName?: string;
+ isPrimary?: boolean;
+ isSeletedForFailover?: boolean;
+ recoverySubnetName?: string;
+ recoveryStaticIPAddress?: string;
+ recoveryPublicIPAddressId?: string;
+ recoveryLBBackendAddressPoolIds?: string[];
+ tfoSubnetName?: string;
+ tfoStaticIPAddress?: string;
+ tfoPublicIPAddressId?: string;
+ tfoLBBackendAddressPoolIds?: string[];
+}
+
+/** Update replication protected item provider specific input. */
+export interface UpdateReplicationProtectedItemProviderInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A" | "HyperVReplicaAzure" | "InMageAzureV2" | "InMageRcm";
}
-/**
- * @interface
- * An interface representing Resource.
- * Azure resource.
- *
- * @extends BaseResource
- */
-export interface Resource extends BaseResource {
- /**
- * @member {string} [id] Resource Id
- * **NOTE: This property will not be serialized. It can only be populated by
- * the server.**
- */
- readonly id?: string;
- /**
- * @member {string} [name] Resource Name
- * **NOTE: This property will not be serialized. It can only be populated by
- * the server.**
- */
- readonly name?: string;
- /**
- * @member {string} [type] Resource Type
- * **NOTE: This property will not be serialized. It can only be populated by
- * the server.**
- */
- readonly type?: string;
- /**
- * @member {string} [location] Resource Location
- */
- location?: string;
+/** Input for add disk(s) operation. */
+export interface AddDisksInput {
+ /** Add disks input properties. */
+ properties?: AddDisksInputProperties;
}
-/**
- * @interface
- * An interface representing Alert.
- * Implements the Alert class.
- *
- * @extends Resource
- */
-export interface Alert extends Resource {
- /**
- * @member {AlertProperties} [properties] Alert related data.
- */
- properties?: AlertProperties;
+/** Add Disks input properties. */
+export interface AddDisksInputProperties {
+ /** The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null. */
+ providerSpecificDetails: AddDisksProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing ApplyRecoveryPointInputProperties.
- * Input properties to apply recovery point.
- *
- */
+/** Add Disks provider specific input. */
+export interface AddDisksProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+}
+
+/** Input to apply recovery point. */
+export interface ApplyRecoveryPointInput {
+ /** The input properties to apply recovery point. */
+ properties: ApplyRecoveryPointInputProperties;
+}
+
+/** Input properties to apply recovery point. */
export interface ApplyRecoveryPointInputProperties {
- /**
- * @member {string} [recoveryPointId] The recovery point Id.
- */
+ /** The recovery point Id. */
recoveryPointId?: string;
- /**
- * @member {ApplyRecoveryPointProviderSpecificInputUnion}
- * [providerSpecificDetails] Provider specific input for applying recovery
- * point.
- */
- providerSpecificDetails?: ApplyRecoveryPointProviderSpecificInputUnion;
+ /** Provider specific input for applying recovery point. */
+ providerSpecificDetails: ApplyRecoveryPointProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing ApplyRecoveryPointInput.
- * Input to apply recovery point.
- *
- */
-export interface ApplyRecoveryPointInput {
- /**
- * @member {ApplyRecoveryPointInputProperties} [properties] The input
- * properties to apply recovery point.
- */
- properties?: ApplyRecoveryPointInputProperties;
+/** Provider specific input for apply recovery point. */
+export interface ApplyRecoveryPointProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "A2ACrossClusterMigration"
+ | "HyperVReplicaAzure"
+ | "InMageAzureV2"
+ | "InMageRcm";
}
-/**
- * Contains the possible cases for JobDetails.
- */
-export type JobDetailsUnion = JobDetails | AsrJobDetails | ExportJobDetails | FailoverJobDetails | SwitchProtectionJobDetails | TestFailoverJobDetails;
+/** Input definition for planned failover. */
+export interface PlannedFailoverInput {
+ /** Planned failover input properties. */
+ properties?: PlannedFailoverInputProperties;
+}
-/**
- * @interface
- * An interface representing JobDetails.
- * Job details based on specific job type.
- *
- */
-export interface JobDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "JobDetails";
- /**
- * @member {{ [propertyName: string]: string }} [affectedObjectDetails] The
- * affected object properties like source server, source cloud, target
- * server, target cloud etc. based on the workflow object details.
- */
- affectedObjectDetails?: { [propertyName: string]: string };
+/** Input definition for planned failover input properties. */
+export interface PlannedFailoverInputProperties {
+ /** Failover direction. */
+ failoverDirection?: string;
+ /** Provider specific settings. */
+ providerSpecificDetails?: PlannedFailoverProviderSpecificFailoverInputUnion;
}
-/**
- * @interface
- * An interface representing AsrJobDetails.
- * This class represents job details based on specific job type.
- *
- */
-export interface AsrJobDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "AsrJobDetails";
- /**
- * @member {{ [propertyName: string]: string }} [affectedObjectDetails] The
- * affected object properties like source server, source cloud, target
- * server, target cloud etc. based on the workflow object details.
- */
- affectedObjectDetails?: { [propertyName: string]: string };
+/** Provider specific failover input. */
+export interface PlannedFailoverProviderSpecificFailoverInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "HyperVReplicaAzureFailback"
+ | "HyperVReplicaAzure"
+ | "InMageRcmFailback";
}
-/**
- * Contains the possible cases for TaskTypeDetails.
- */
-export type TaskTypeDetailsUnion = TaskTypeDetails | AutomationRunbookTaskDetails | ConsistencyCheckTaskDetails | FabricReplicationGroupTaskDetails | JobTaskDetails | ManualActionTaskDetails | ScriptActionTaskDetails | VirtualMachineTaskDetails | VmNicUpdatesTaskDetails;
+/** Collection of recovery point details. */
+export interface RecoveryPointCollection {
+ /** The recovery point details. */
+ value?: RecoveryPoint[];
+ /** The value of next link. */
+ nextLink?: string;
+}
-/**
- * @interface
- * An interface representing TaskTypeDetails.
- * Task details based on specific task type.
- *
- */
-export interface TaskTypeDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "TaskTypeDetails";
+/** Recovery point properties. */
+export interface RecoveryPointProperties {
+ /** The recovery point time. */
+ recoveryPointTime?: Date;
+ /** The recovery point type: ApplicationConsistent, CrashConsistent. */
+ recoveryPointType?: string;
+ /** The provider specific details for the recovery point. */
+ providerSpecificDetails?: ProviderSpecificRecoveryPointDetailsUnion;
}
-/**
- * Contains the possible cases for GroupTaskDetails.
- */
-export type GroupTaskDetailsUnion = GroupTaskDetails | InlineWorkflowTaskDetails | RecoveryPlanGroupTaskDetails | RecoveryPlanShutdownGroupTaskDetails;
+/** Replication provider specific recovery point details. */
+export interface ProviderSpecificRecoveryPointDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A" | "InMageAzureV2" | "InMageRcm";
+}
-/**
- * @interface
- * An interface representing GroupTaskDetails.
- * This class represents the group task details when parent child relationship
- * exists in the drill down.
- *
- */
-export interface GroupTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "GroupTaskDetails";
- /**
- * @member {ASRTask[]} [childTasks] The child tasks.
- */
- childTasks?: ASRTask[];
+/** Disable protection input. */
+export interface DisableProtectionInput {
+ /** Disable protection input properties. */
+ properties: DisableProtectionInputProperties;
}
-/**
- * @interface
- * An interface representing ServiceError.
- * ASR error model
- *
- */
-export interface ServiceError {
- /**
- * @member {string} [code] Error code.
- */
- code?: string;
- /**
- * @member {string} [message] Error message.
- */
- message?: string;
- /**
- * @member {string} [possibleCauses] Possible causes of error.
- */
- possibleCauses?: string;
- /**
- * @member {string} [recommendedAction] Recommended action to resolve error.
- */
- recommendedAction?: string;
- /**
- * @member {string} [activityId] Activity Id.
- */
- activityId?: string;
+/** Disable protection input properties. */
+export interface DisableProtectionInputProperties {
+ /** Disable protection reason. It can have values NotSpecified/MigrationComplete. */
+ disableProtectionReason?: DisableProtectionReason;
+ /** Replication provider specific input. */
+ replicationProviderInput?: DisableProtectionProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing ProviderError.
- * This class contains the error details per object.
- *
- */
-export interface ProviderError {
- /**
- * @member {number} [errorCode] The Error code.
- */
- errorCode?: number;
- /**
- * @member {string} [errorMessage] The Error message.
- */
- errorMessage?: string;
- /**
- * @member {string} [errorId] The Provider error Id.
- */
- errorId?: string;
- /**
- * @member {string} [possibleCauses] The possible causes for the error.
- */
- possibleCauses?: string;
- /**
- * @member {string} [recommendedAction] The recommended action to resolve the
- * error.
- */
- recommendedAction?: string;
+/** Disable protection provider specific input. */
+export interface DisableProtectionProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
}
-/**
- * @interface
- * An interface representing JobErrorDetails.
- * This class contains the error details per object.
- *
- */
-export interface JobErrorDetails {
- /**
- * @member {ServiceError} [serviceErrorDetails] The Service error details.
- */
- serviceErrorDetails?: ServiceError;
- /**
- * @member {ProviderError} [providerErrorDetails] The Provider error details.
- */
- providerErrorDetails?: ProviderError;
- /**
- * @member {string} [errorLevel] Error level of error.
- */
- errorLevel?: string;
- /**
- * @member {Date} [creationTime] The creation time of job error.
- */
- creationTime?: Date;
- /**
- * @member {string} [taskId] The Id of the task.
- */
- taskId?: string;
+/** Input for remove disk(s) operation. */
+export interface RemoveDisksInput {
+ /** Remove disk input properties. */
+ properties?: RemoveDisksInputProperties;
}
-/**
- * @interface
- * An interface representing ASRTask.
- * Task of the Job.
- *
- */
-export interface ASRTask {
- /**
- * @member {string} [taskId] The Id.
- */
- taskId?: string;
- /**
- * @member {string} [name] The unique Task name.
- */
- name?: string;
- /**
- * @member {Date} [startTime] The start time.
- */
- startTime?: Date;
- /**
- * @member {Date} [endTime] The end time.
- */
- endTime?: Date;
- /**
- * @member {string[]} [allowedActions] The state/actions applicable on this
- * task.
- */
- allowedActions?: string[];
- /**
- * @member {string} [friendlyName] The name.
- */
- friendlyName?: string;
- /**
- * @member {string} [state] The State. It is one of these values -
- * NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.
- */
- state?: string;
- /**
- * @member {string} [stateDescription] The description of the task state. For
- * example - For Succeeded state, description can be Completed,
- * PartiallySucceeded, CompletedWithInformation or Skipped.
- */
- stateDescription?: string;
- /**
- * @member {string} [taskType] The type of task. Details in CustomDetails
- * property depend on this type.
- */
- taskType?: string;
- /**
- * @member {TaskTypeDetailsUnion} [customDetails] The custom task details
- * based on the task type.
- */
- customDetails?: TaskTypeDetailsUnion;
- /**
- * @member {GroupTaskDetailsUnion} [groupTaskCustomDetails] The custom task
- * details based on the task type, if the task type is GroupTaskDetails or
- * one of the types derived from it.
- */
- groupTaskCustomDetails?: GroupTaskDetailsUnion;
- /**
- * @member {JobErrorDetails[]} [errors] The task error details.
- */
- errors?: JobErrorDetails[];
+/** Remove Disk input properties. */
+export interface RemoveDisksInputProperties {
+ /** The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null. */
+ providerSpecificDetails?: RemoveDisksProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing AutomationRunbookTaskDetails.
- * This class represents the task details for an automation runbook.
- *
- */
-export interface AutomationRunbookTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "AutomationRunbookTaskDetails";
- /**
- * @member {string} [name] The recovery plan task name.
- */
- name?: string;
- /**
- * @member {string} [cloudServiceName] The cloud service of the automation
- * runbook account.
- */
- cloudServiceName?: string;
- /**
- * @member {string} [subscriptionId] The subscription Id of the automation
- * runbook account.
- */
- subscriptionId?: string;
- /**
- * @member {string} [accountName] The automation account name of the runbook.
- */
- accountName?: string;
- /**
- * @member {string} [runbookId] The runbook Id.
- */
- runbookId?: string;
- /**
- * @member {string} [runbookName] The runbook name.
- */
- runbookName?: string;
- /**
- * @member {string} [jobId] The job Id of the runbook execution.
- */
- jobId?: string;
- /**
- * @member {string} [jobOutput] The execution output of the runbook.
- */
- jobOutput?: string;
- /**
- * @member {boolean} [isPrimarySideScript] A value indicating whether it is a
- * primary side script or not.
- */
- isPrimarySideScript?: boolean;
+/** Remove Disk provider specific input. */
+export interface RemoveDisksProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
}
-/**
- * Contains the possible cases for FabricSpecificCreationInput.
- */
-export type FabricSpecificCreationInputUnion = FabricSpecificCreationInput | AzureFabricCreationInput | VMwareV2FabricCreationInput;
-
-/**
- * @interface
- * An interface representing FabricSpecificCreationInput.
- * Fabric provider specific settings.
- *
- */
-export interface FabricSpecificCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "FabricSpecificCreationInput";
+/** Reverse replication input. */
+export interface ReverseReplicationInput {
+ /** Reverse replication properties. */
+ properties?: ReverseReplicationInputProperties;
}
-/**
- * @interface
- * An interface representing AzureFabricCreationInput.
- * Fabric provider specific settings.
- *
- */
-export interface AzureFabricCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "Azure";
- /**
- * @member {string} [location] The Location.
- */
- location?: string;
+/** Reverse replication input properties. */
+export interface ReverseReplicationInputProperties {
+ /** Failover direction. */
+ failoverDirection?: string;
+ /** Provider specific reverse replication input. */
+ providerSpecificDetails?: ReverseReplicationProviderSpecificInputUnion;
}
-/**
- * Contains the possible cases for FabricSpecificDetails.
- */
-export type FabricSpecificDetailsUnion = FabricSpecificDetails | AzureFabricSpecificDetails | HyperVSiteDetails | VmmDetails | VMwareDetails | VMwareV2FabricSpecificDetails;
-
-/**
- * @interface
- * An interface representing FabricSpecificDetails.
- * Fabric specific details.
- *
- */
-export interface FabricSpecificDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "FabricSpecificDetails";
+/** Provider specific reverse replication input. */
+export interface ReverseReplicationProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "InMageAzureV2"
+ | "InMageRcmFailback"
+ | "InMageRcm"
+ | "InMage";
}
-/**
- * @interface
- * An interface representing AzureFabricSpecificDetails.
- * Azure Fabric Specific Details.
- *
- */
-export interface AzureFabricSpecificDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "Azure";
- /**
- * @member {string} [location] The Location for the Azure fabric.
- */
- location?: string;
- /**
- * @member {string[]} [containerIds] The container Ids for the Azure fabric.
- */
- containerIds?: string[];
+/** Resolve health input. */
+export interface ResolveHealthInput {
+ /** Disable resolve health input properties. */
+ properties?: ResolveHealthInputProperties;
}
-/**
- * Contains the possible cases for FabricSpecificCreateNetworkMappingInput.
- */
-export type FabricSpecificCreateNetworkMappingInputUnion = FabricSpecificCreateNetworkMappingInput | AzureToAzureCreateNetworkMappingInput | VmmToAzureCreateNetworkMappingInput | VmmToVmmCreateNetworkMappingInput;
-
-/**
- * @interface
- * An interface representing FabricSpecificCreateNetworkMappingInput.
- * Input details specific to fabrics during Network Mapping.
- *
- */
-export interface FabricSpecificCreateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "FabricSpecificCreateNetworkMappingInput";
+/** Resolve health input properties. */
+export interface ResolveHealthInputProperties {
+ /** Health errors. */
+ healthErrors?: ResolveHealthError[];
}
-/**
- * @interface
- * An interface representing AzureToAzureCreateNetworkMappingInput.
- * Create network mappings input properties/behaviour specific to Azure to
- * Azure Network mapping.
- *
- */
-export interface AzureToAzureCreateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "AzureToAzure";
- /**
- * @member {string} [primaryNetworkId] The primary azure vnet Id.
- */
- primaryNetworkId?: string;
+/** Resolve health errors input properties. */
+export interface ResolveHealthError {
+ /** Health error id. */
+ healthErrorId?: string;
}
-/**
- * Contains the possible cases for NetworkMappingFabricSpecificSettings.
- */
-export type NetworkMappingFabricSpecificSettingsUnion = NetworkMappingFabricSpecificSettings | AzureToAzureNetworkMappingSettings | VmmToAzureNetworkMappingSettings | VmmToVmmNetworkMappingSettings;
-
-/**
- * @interface
- * An interface representing NetworkMappingFabricSpecificSettings.
- * Network Mapping fabric specific settings.
- *
- */
-export interface NetworkMappingFabricSpecificSettings {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "NetworkMappingFabricSpecificSettings";
+/** Input definition for switch provider. */
+export interface SwitchProviderInput {
+ /** Switch provider input properties. */
+ properties?: SwitchProviderInputProperties;
}
-/**
- * @interface
- * An interface representing AzureToAzureNetworkMappingSettings.
- * A2A Network Mapping fabric specific settings.
- *
- */
-export interface AzureToAzureNetworkMappingSettings {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "AzureToAzure";
- /**
- * @member {string} [primaryFabricLocation] The primary fabric location.
- */
- primaryFabricLocation?: string;
- /**
- * @member {string} [recoveryFabricLocation] The recovery fabric location.
- */
- recoveryFabricLocation?: string;
+/** Input definition for switch provider input properties. */
+export interface SwitchProviderInputProperties {
+ /** Target provider type. */
+ targetInstanceType?: string;
+ /** Provider specific settings. */
+ providerSpecificDetails?: SwitchProviderSpecificInputUnion;
}
-/**
- * Contains the possible cases for FabricSpecificUpdateNetworkMappingInput.
- */
-export type FabricSpecificUpdateNetworkMappingInputUnion = FabricSpecificUpdateNetworkMappingInput | AzureToAzureUpdateNetworkMappingInput | VmmToAzureUpdateNetworkMappingInput | VmmToVmmUpdateNetworkMappingInput;
+/** Provider specific switch provider input. */
+export interface SwitchProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+}
-/**
- * @interface
- * An interface representing FabricSpecificUpdateNetworkMappingInput.
- * Input details specific to fabrics during Network Mapping.
- *
- */
-export interface FabricSpecificUpdateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "FabricSpecificUpdateNetworkMappingInput";
+/** Target compute size collection. */
+export interface TargetComputeSizeCollection {
+ /** The list of target compute sizes. */
+ value?: TargetComputeSize[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing AzureToAzureUpdateNetworkMappingInput.
- * Updates network mappings input.
- *
- */
-export interface AzureToAzureUpdateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "AzureToAzure";
- /**
- * @member {string} [primaryNetworkId] The primary azure vnet Id.
- */
- primaryNetworkId?: string;
+/** Represents applicable recovery vm sizes. */
+export interface TargetComputeSize {
+ /** The Id. */
+ id?: string;
+ /** The name. */
+ name?: string;
+ /** The Type of the object. */
+ type?: string;
+ /** The custom data. */
+ properties?: TargetComputeSizeProperties;
}
-/**
- * @interface
- * An interface representing AzureVmDiskDetails.
- * Disk details for E2A provider.
- *
- */
-export interface AzureVmDiskDetails {
- /**
- * @member {string} [vhdType] VHD type.
- */
- vhdType?: string;
- /**
- * @member {string} [vhdId] The VHD id.
- */
- vhdId?: string;
- /**
- * @member {string} [vhdName] VHD name.
- */
- vhdName?: string;
- /**
- * @member {string} [maxSizeMB] Max side in MB.
- */
- maxSizeMB?: string;
- /**
- * @member {string} [targetDiskLocation] Blob uri of the Azure disk.
- */
- targetDiskLocation?: string;
- /**
- * @member {string} [targetDiskName] The target Azure disk name.
- */
- targetDiskName?: string;
+/** Represents applicable recovery vm sizes properties. */
+export interface TargetComputeSizeProperties {
+ /** Target compute size name. */
+ name?: string;
+ /** Target compute size display name. */
+ friendlyName?: string;
+ /** The maximum cpu cores count supported by target compute size. */
+ cpuCoresCount?: number;
/**
- * @member {string} [lunId] Ordinal\LunId of the disk for the Azure VM.
+ * The Available vCPUs supported by target compute size.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lunId?: string;
+ readonly vCPUsAvailable?: number;
+ /** The maximum memory in GB supported by target compute size. */
+ memoryInGB?: number;
+ /** The maximum data disks count supported by target compute size. */
+ maxDataDiskCount?: number;
+ /** The maximum Nics count supported by target compute size. */
+ maxNicsCount?: number;
+ /** The reasons why the target compute size is not applicable for the protected item. */
+ errors?: ComputeSizeErrorDetails[];
+ /** The value indicating whether the target compute size supports high Iops. */
+ highIopsSupported?: string;
+ /** The supported HyperV Generations. */
+ hyperVGenerations?: string[];
}
-/**
- * @interface
- * An interface representing ComputeSizeErrorDetails.
- * Represents the error used to indicate why the target compute size is not
- * applicable.
- *
- */
+/** Represents the error used to indicate why the target compute size is not applicable. */
export interface ComputeSizeErrorDetails {
- /**
- * @member {string} [message] The error message.
- */
+ /** The error message. */
message?: string;
- /**
- * @member {string} [severity] The severity of the error.
- */
+ /** The severity of the error. */
severity?: string;
}
-/**
- * Contains the possible cases for ConfigurationSettings.
- */
-export type ConfigurationSettingsUnion = ConfigurationSettings | HyperVVirtualMachineDetails | ReplicationGroupDetails | VmmVirtualMachineDetails | VMwareVirtualMachineDetails;
+/** Input definition for test failover. */
+export interface TestFailoverInput {
+ /** Test failover input properties. */
+ properties: TestFailoverInputProperties;
+}
-/**
- * @interface
- * An interface representing ConfigurationSettings.
- * Replication provider specific settings.
- *
- */
-export interface ConfigurationSettings {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ConfigurationSettings";
+/** Input definition for test failover input properties. */
+export interface TestFailoverInputProperties {
+ /** Test failover direction. */
+ failoverDirection?: string;
+ /** Network type to be used for test failover. */
+ networkType?: string;
+ /** The id of the network to be used for test failover. */
+ networkId?: string;
+ /** Provider specific settings. */
+ providerSpecificDetails?: TestFailoverProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing ConfigureAlertRequestProperties.
- * Properties of a configure alert request.
- *
- */
-export interface ConfigureAlertRequestProperties {
- /**
- * @member {string} [sendToOwners] A value indicating whether to send email
- * to subscription administrator.
- */
- sendToOwners?: string;
- /**
- * @member {string[]} [customEmailAddresses] The custom email address for
- * sending emails.
- */
- customEmailAddresses?: string[];
- /**
- * @member {string} [locale] The locale for the email notification.
- */
- locale?: string;
+/** Provider specific test failover input. */
+export interface TestFailoverProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "InMageAzureV2"
+ | "InMageRcm"
+ | "InMage";
}
-/**
- * @interface
- * An interface representing ConfigureAlertRequest.
- * Request to configure alerts for the system.
- *
- */
-export interface ConfigureAlertRequest {
- /**
- * @member {ConfigureAlertRequestProperties} [properties] The properties of a
- * configure alert request.
- */
- properties?: ConfigureAlertRequestProperties;
+/** Input definition for test failover cleanup. */
+export interface TestFailoverCleanupInput {
+ /** Test failover cleanup input properties. */
+ properties: TestFailoverCleanupInputProperties;
}
-/**
- * @interface
- * An interface representing InconsistentVmDetails.
- * This class stores the monitoring details for consistency check of
- * inconsistent Protected Entity.
- *
- */
-export interface InconsistentVmDetails {
- /**
- * @member {string} [vmName] The Vm name.
- */
- vmName?: string;
- /**
- * @member {string} [cloudName] The Cloud name.
- */
- cloudName?: string;
- /**
- * @member {string[]} [details] The list of details regarding state of the
- * Protected Entity in SRS and On prem.
- */
- details?: string[];
- /**
- * @member {string[]} [errorIds] The list of error ids.
- */
- errorIds?: string[];
+/** Input definition for test failover cleanup input properties. */
+export interface TestFailoverCleanupInputProperties {
+ /** Test failover cleanup comments. */
+ comments?: string;
}
-/**
- * @interface
- * An interface representing ConsistencyCheckTaskDetails.
- * This class contains monitoring details of all the inconsistent Protected
- * Entites in Vmm.
- *
- */
-export interface ConsistencyCheckTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ConsistencyCheckTaskDetails";
- /**
- * @member {InconsistentVmDetails[]} [vmDetails] The list of inconsistent Vm
- * details.
- */
- vmDetails?: InconsistentVmDetails[];
+/** Input definition for unplanned failover. */
+export interface UnplannedFailoverInput {
+ /** Unplanned failover input properties. */
+ properties: UnplannedFailoverInputProperties;
}
-/**
- * @interface
- * An interface representing CreateNetworkMappingInputProperties.
- * Common input details for network mapping operation.
- *
- */
-export interface CreateNetworkMappingInputProperties {
- /**
- * @member {string} [recoveryFabricName] Recovery fabric Name.
- */
- recoveryFabricName?: string;
- /**
- * @member {string} [recoveryNetworkId] Recovery network Id.
- */
- recoveryNetworkId?: string;
- /**
- * @member {FabricSpecificCreateNetworkMappingInputUnion}
- * [fabricSpecificDetails] Fabric specific input properties.
- */
- fabricSpecificDetails?: FabricSpecificCreateNetworkMappingInputUnion;
+/** Input definition for unplanned failover input properties. */
+export interface UnplannedFailoverInputProperties {
+ /** Failover direction. */
+ failoverDirection?: string;
+ /** Source site operations status. */
+ sourceSiteOperations?: string;
+ /** Provider specific settings. */
+ providerSpecificDetails?: UnplannedFailoverProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing CreateNetworkMappingInput.
- * Create network mappings input.
- *
- */
-export interface CreateNetworkMappingInput {
- /**
- * @member {CreateNetworkMappingInputProperties} [properties] Input
- * properties for creating network mapping.
- */
- properties?: CreateNetworkMappingInputProperties;
+/** Provider specific unplanned failover input. */
+export interface UnplannedFailoverProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "InMageAzureV2"
+ | "InMageRcm"
+ | "InMage";
}
-/**
- * @interface
- * An interface representing CreatePolicyInputProperties.
- * Policy creation properties.
- *
- */
-export interface CreatePolicyInputProperties {
- /**
- * @member {PolicyProviderSpecificInputUnion} [providerSpecificInput] The
- * ReplicationProviderSettings.
- */
- providerSpecificInput?: PolicyProviderSpecificInputUnion;
+/** Update appliance for replication protected item input. */
+export interface UpdateApplianceForReplicationProtectedItemInput {
+ /** Update appliance replication protected item properties. */
+ properties: UpdateApplianceForReplicationProtectedItemInputProperties;
}
-/**
- * @interface
- * An interface representing CreatePolicyInput.
- * Protection Policy input.
- *
- */
-export interface CreatePolicyInput {
- /**
- * @member {CreatePolicyInputProperties} [properties] Policy creation
- * properties.
- */
- properties?: CreatePolicyInputProperties;
+/** Update appliance for protected item input properties. */
+export interface UpdateApplianceForReplicationProtectedItemInputProperties {
+ /** The target appliance Id. */
+ targetApplianceId: string;
+ /** The provider specific input to update replication protected item. */
+ providerSpecificDetails: UpdateApplianceForReplicationProtectedItemProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing CreateProtectionContainerInputProperties.
- * Create protection container input properties.
- *
- */
-export interface CreateProtectionContainerInputProperties {
- /**
- * @member {ReplicationProviderSpecificContainerCreationInputUnion[]}
- * [providerSpecificInput] Provider specific inputs for container creation.
- */
- providerSpecificInput?: ReplicationProviderSpecificContainerCreationInputUnion[];
+/** Update replication protected item provider specific input. */
+export interface UpdateApplianceForReplicationProtectedItemProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
}
-/**
- * @interface
- * An interface representing CreateProtectionContainerInput.
- * Create protection container input.
- *
- */
-export interface CreateProtectionContainerInput {
- /**
- * @member {CreateProtectionContainerInputProperties} [properties] Create
- * protection container input properties.
- */
- properties?: CreateProtectionContainerInputProperties;
+/** Request to update the mobility service on a protected item. */
+export interface UpdateMobilityServiceRequest {
+ /** The properties of the update mobility service request. */
+ properties?: UpdateMobilityServiceRequestProperties;
}
-/**
- * @interface
- * An interface representing CreateProtectionContainerMappingInputProperties.
- * Configure pairing input properties.
- *
- */
-export interface CreateProtectionContainerMappingInputProperties {
- /**
- * @member {string} [targetProtectionContainerId] The target unique
- * protection container name.
- */
+/** The properties of an update mobility service request. */
+export interface UpdateMobilityServiceRequestProperties {
+ /** The CS run as account Id. */
+ runAsAccountId?: string;
+}
+
+/** Protection container mapping collection class. */
+export interface ProtectionContainerMappingCollection {
+ /** List of container mappings. */
+ value?: ProtectionContainerMapping[];
+ /** Link to fetch rest of the data. */
+ nextLink?: string;
+}
+
+/** Protection container mapping properties. */
+export interface ProtectionContainerMappingProperties {
+ /** Paired protection container ARM ID. */
targetProtectionContainerId?: string;
- /**
- * @member {string} [policyId] Applicable policy.
- */
+ /** Friendly name of paired container. */
+ targetProtectionContainerFriendlyName?: string;
+ /** Provider specific provider details. */
+ providerSpecificDetails?: ProtectionContainerMappingProviderSpecificDetailsUnion;
+ /** Health of pairing. */
+ health?: string;
+ /** Health error. */
+ healthErrorDetails?: HealthError[];
+ /** Policy ARM Id. */
policyId?: string;
- /**
- * @member {ReplicationProviderSpecificContainerMappingInputUnion}
- * [providerSpecificInput] Provider specific input for pairing.
- */
- providerSpecificInput?: ReplicationProviderSpecificContainerMappingInputUnion;
+ /** Association Status. */
+ state?: string;
+ /** Friendly name of source protection container. */
+ sourceProtectionContainerFriendlyName?: string;
+ /** Friendly name of source fabric. */
+ sourceFabricFriendlyName?: string;
+ /** Friendly name of target fabric. */
+ targetFabricFriendlyName?: string;
+ /** Friendly name of replication policy. */
+ policyFriendlyName?: string;
}
-/**
- * @interface
- * An interface representing CreateProtectionContainerMappingInput.
- * Configure pairing input.
- *
- */
+/** Container mapping provider specific details. */
+export interface ProtectionContainerMappingProviderSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A" | "InMageRcm" | "VMwareCbt";
+}
+
+/** Configure pairing input. */
export interface CreateProtectionContainerMappingInput {
- /**
- * @member {CreateProtectionContainerMappingInputProperties} [properties]
- * Configure protection input properties.
- */
+ /** Configure protection input properties. */
properties?: CreateProtectionContainerMappingInputProperties;
}
-/**
- * @interface
- * An interface representing RecoveryPlanProtectedItem.
- * Recovery plan protected item.
- *
- */
-export interface RecoveryPlanProtectedItem {
- /**
- * @member {string} [id] The ARM Id of the recovery plan protected item.
- */
- id?: string;
- /**
- * @member {string} [virtualMachineId] The virtual machine Id.
- */
- virtualMachineId?: string;
+/** Configure pairing input properties. */
+export interface CreateProtectionContainerMappingInputProperties {
+ /** The target unique protection container name. */
+ targetProtectionContainerId?: string;
+ /** Applicable policy. */
+ policyId?: string;
+ /** Provider specific input for pairing. */
+ providerSpecificInput?: ReplicationProviderSpecificContainerMappingInputUnion;
}
-/**
- * Contains the possible cases for RecoveryPlanActionDetails.
- */
-export type RecoveryPlanActionDetailsUnion = RecoveryPlanActionDetails | RecoveryPlanAutomationRunbookActionDetails | RecoveryPlanManualActionDetails | RecoveryPlanScriptActionDetails;
-
-/**
- * @interface
- * An interface representing RecoveryPlanActionDetails.
- * Recovery plan action custom details.
- *
- */
-export interface RecoveryPlanActionDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "RecoveryPlanActionDetails";
+/** Provider specific input for pairing operations. */
+export interface ReplicationProviderSpecificContainerMappingInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A" | "VMwareCbt";
}
-/**
- * @interface
- * An interface representing RecoveryPlanAction.
- * Recovery plan action details.
- *
- */
-export interface RecoveryPlanAction {
- /**
- * @member {string} actionName The action name.
- */
- actionName: string;
- /**
- * @member {ReplicationProtectedItemOperation[]} failoverTypes The list of
- * failover types.
- */
- failoverTypes: ReplicationProtectedItemOperation[];
- /**
- * @member {PossibleOperationsDirections[]} failoverDirections The list of
- * failover directions.
- */
- failoverDirections: PossibleOperationsDirections[];
- /**
- * @member {RecoveryPlanActionDetailsUnion} customDetails The custom details.
- */
- customDetails: RecoveryPlanActionDetailsUnion;
+/** Container pairing update input. */
+export interface UpdateProtectionContainerMappingInput {
+ /** Update protection container mapping input properties. */
+ properties?: UpdateProtectionContainerMappingInputProperties;
}
-/**
- * @interface
- * An interface representing RecoveryPlanGroup.
- * Recovery plan group details.
- *
- */
-export interface RecoveryPlanGroup {
- /**
- * @member {RecoveryPlanGroupType} groupType The group type. Possible values
- * include: 'Shutdown', 'Boot', 'Failover'
- */
- groupType: RecoveryPlanGroupType;
- /**
- * @member {RecoveryPlanProtectedItem[]} [replicationProtectedItems] The list
- * of protected items.
- */
- replicationProtectedItems?: RecoveryPlanProtectedItem[];
- /**
- * @member {RecoveryPlanAction[]} [startGroupActions] The start group
- * actions.
- */
- startGroupActions?: RecoveryPlanAction[];
- /**
- * @member {RecoveryPlanAction[]} [endGroupActions] The end group actions.
- */
- endGroupActions?: RecoveryPlanAction[];
+/** Container pairing update input. */
+export interface UpdateProtectionContainerMappingInputProperties {
+ /** Provider specific input for updating protection container mapping. */
+ providerSpecificInput?: ReplicationProviderSpecificUpdateContainerMappingInputUnion;
}
-/**
- * @interface
- * An interface representing CreateRecoveryPlanInputProperties.
- * Recovery plan creation properties.
- *
- */
-export interface CreateRecoveryPlanInputProperties {
- /**
- * @member {string} primaryFabricId The primary fabric Id.
- */
- primaryFabricId: string;
- /**
- * @member {string} recoveryFabricId The recovery fabric Id.
- */
- recoveryFabricId: string;
- /**
- * @member {FailoverDeploymentModel} [failoverDeploymentModel] The failover
- * deployment model. Possible values include: 'NotApplicable', 'Classic',
- * 'ResourceManager'
- */
- failoverDeploymentModel?: FailoverDeploymentModel;
- /**
- * @member {RecoveryPlanGroup[]} groups The recovery plan groups.
- */
- groups: RecoveryPlanGroup[];
+/** Provider specific input for update pairing operations. */
+export interface ReplicationProviderSpecificUpdateContainerMappingInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A" | "InMageRcm";
}
-/**
- * @interface
- * An interface representing CreateRecoveryPlanInput.
- * Create recovery plan input class.
- *
- */
-export interface CreateRecoveryPlanInput {
- /**
- * @member {CreateRecoveryPlanInputProperties} properties Recovery plan
- * creation properties.
- */
- properties: CreateRecoveryPlanInputProperties;
+/** Container unpairing input. */
+export interface RemoveProtectionContainerMappingInput {
+ /** Configure protection input properties. */
+ properties?: RemoveProtectionContainerMappingInputProperties;
}
-/**
- * @interface
- * An interface representing CurrentScenarioDetails.
- * Current scenario details of the protected entity.
- *
- */
-export interface CurrentScenarioDetails {
- /**
- * @member {string} [scenarioName] Scenario name.
- */
- scenarioName?: string;
- /**
- * @member {string} [jobId] ARM Id of the job being executed.
- */
- jobId?: string;
- /**
- * @member {Date} [startTime] Start time of the workflow.
- */
- startTime?: Date;
+/** Unpairing input properties. */
+export interface RemoveProtectionContainerMappingInputProperties {
+ /** Provider specific input for unpairing. */
+ providerSpecificInput?: ReplicationProviderContainerUnmappingInput;
}
-/**
- * @interface
- * An interface representing DataStore.
- * The datastore details of the MT.
- *
- */
-export interface DataStore {
- /**
- * @member {string} [symbolicName] The symbolic name of data store.
- */
- symbolicName?: string;
- /**
- * @member {string} [uuid] The uuid of data store.
- */
- uuid?: string;
- /**
- * @member {string} [capacity] The capacity of data store in GBs.
- */
- capacity?: string;
- /**
- * @member {string} [freeSpace] The free space of data store in GBs.
- */
- freeSpace?: string;
- /**
- * @member {string} [type] The type of data store.
- */
- type?: string;
+/** Provider specific input for unpairing operations. */
+export interface ReplicationProviderContainerUnmappingInput {
+ /** The class type. */
+ instanceType?: string;
}
-/**
- * Contains the possible cases for DisableProtectionProviderSpecificInput.
- */
-export type DisableProtectionProviderSpecificInputUnion = DisableProtectionProviderSpecificInput | InMageDisableProtectionProviderSpecificInput;
+/** Switch protection input. */
+export interface SwitchProtectionInput {
+ /** Switch protection properties. */
+ properties?: SwitchProtectionInputProperties;
+}
-/**
- * @interface
- * An interface representing DisableProtectionProviderSpecificInput.
- * Disable protection provider specific input.
- *
- */
-export interface DisableProtectionProviderSpecificInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "DisableProtectionProviderSpecificInput";
+/** Switch protection input properties. */
+export interface SwitchProtectionInputProperties {
+ /** The unique replication protected item name. */
+ replicationProtectedItemName?: string;
+ /** Provider specific switch protection input. */
+ providerSpecificDetails?: SwitchProtectionProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing DisableProtectionInputProperties.
- * Disable protection input properties.
- *
- */
-export interface DisableProtectionInputProperties {
- /**
- * @member {DisableProtectionReason} [disableProtectionReason] Disable
- * protection reason. It can have values NotSpecified/MigrationComplete.
- * Possible values include: 'NotSpecified', 'MigrationComplete'
- */
- disableProtectionReason?: DisableProtectionReason;
- /**
- * @member {DisableProtectionProviderSpecificInputUnion}
- * [replicationProviderInput] Replication provider specific input.
- */
- replicationProviderInput?: DisableProtectionProviderSpecificInputUnion;
+/** Provider specific switch protection input. */
+export interface SwitchProtectionProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
}
-/**
- * @interface
- * An interface representing DisableProtectionInput.
- * Disable protection input.
- *
- */
-export interface DisableProtectionInput {
- /**
- * @member {DisableProtectionInputProperties} [properties] Disable protection
- * input properties.
- */
- properties?: DisableProtectionInputProperties;
+/** Collection of providers. */
+export interface RecoveryServicesProviderCollection {
+ /** The Servers details. */
+ value?: RecoveryServicesProvider[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing DiscoverProtectableItemRequestProperties.
- * Discover protectable item properties.
- *
- */
-export interface DiscoverProtectableItemRequestProperties {
- /**
- * @member {string} [friendlyName] The friendly name of the physical machine.
- */
+/** Recovery services provider properties. */
+export interface RecoveryServicesProviderProperties {
+ /** Type of the site. */
+ fabricType?: string;
+ /** Friendly name of the DRA. */
friendlyName?: string;
- /**
- * @member {string} [ipAddress] The IP address of the physical machine to be
- * discovered.
- */
- ipAddress?: string;
- /**
- * @member {string} [osType] The OS type on the physical machine.
- */
- osType?: string;
+ /** The provider version. */
+ providerVersion?: string;
+ /** The fabric provider. */
+ serverVersion?: string;
+ /** DRA version status. */
+ providerVersionState?: string;
+ /** Expiry date of the version. */
+ providerVersionExpiryDate?: Date;
+ /** The fabric friendly name. */
+ fabricFriendlyName?: string;
+ /** Time when last heartbeat was sent by the DRA. */
+ lastHeartBeat?: Date;
+ /** A value indicating whether DRA is responsive. */
+ connectionStatus?: string;
+ /** Number of protected VMs currently managed by the DRA. */
+ protectedItemCount?: number;
+ /** The scenarios allowed on this provider. */
+ allowedScenarios?: string[];
+ /** The recovery services provider health error details. */
+ healthErrorDetails?: HealthError[];
+ /** The DRA Id. */
+ draIdentifier?: string;
+ /** The machine Id. */
+ machineId?: string;
+ /** The machine name. */
+ machineName?: string;
+ /** The Bios Id. */
+ biosId?: string;
+ /** The authentication identity details. */
+ authenticationIdentityDetails?: IdentityProviderDetails;
+ /** The resource access identity details. */
+ resourceAccessIdentityDetails?: IdentityProviderDetails;
+ /** The data plane authentication identity details. */
+ dataPlaneAuthenticationIdentityDetails?: IdentityProviderDetails;
+ /** The provider version details. */
+ providerVersionDetails?: VersionDetails;
}
-/**
- * @interface
- * An interface representing DiscoverProtectableItemRequest.
- * Request to add a physical machine as a protectable item in a container.
- *
- */
-export interface DiscoverProtectableItemRequest {
- /**
- * @member {DiscoverProtectableItemRequestProperties} [properties] The
- * properties of a discover protectable item request.
- */
- properties?: DiscoverProtectableItemRequestProperties;
+/** Identity provider details. */
+export interface IdentityProviderDetails {
+ /** The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ tenantId?: string;
+ /** The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ applicationId?: string;
+ /** The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ objectId?: string;
+ /** The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ audience?: string;
+ /** The base authority for Azure Active Directory authentication. */
+ aadAuthority?: string;
}
-/**
- * @interface
- * An interface representing DiskDetails.
- * Onprem disk details data.
- *
- */
-export interface DiskDetails {
- /**
- * @member {number} [maxSizeMB] The hard disk max size in MB.
- */
- maxSizeMB?: number;
- /**
- * @member {string} [vhdType] The type of the volume.
- */
- vhdType?: string;
- /**
- * @member {string} [vhdId] The VHD Id.
- */
- vhdId?: string;
- /**
- * @member {string} [vhdName] The VHD name.
- */
- vhdName?: string;
+/** Version related details. */
+export interface VersionDetails {
+ /** The agent version. */
+ version?: string;
+ /** Version expiry date. */
+ expiryDate?: Date;
+ /** A value indicating whether security update required. */
+ status?: AgentVersionStatus;
}
-/**
- * @interface
- * An interface representing DiskVolumeDetails.
- * Volume details.
- *
- */
-export interface DiskVolumeDetails {
- /**
- * @member {string} [label] The volume label.
- */
- label?: string;
- /**
- * @member {string} [name] The volume name.
- */
- name?: string;
+/** Input required to add a provider. */
+export interface AddRecoveryServicesProviderInput {
+ /** The properties of an add provider request. */
+ properties: AddRecoveryServicesProviderInputProperties;
+}
+
+/** The properties of an add provider request. */
+export interface AddRecoveryServicesProviderInputProperties {
+ /** The name of the machine where the provider is getting added. */
+ machineName: string;
+ /** The Id of the machine where the provider is getting added. */
+ machineId?: string;
+ /** The Bios Id of the machine. */
+ biosId?: string;
+ /** The identity provider input for DRA authentication. */
+ authenticationIdentityInput: IdentityProviderInput;
+ /** The identity provider input for resource access. */
+ resourceAccessIdentityInput: IdentityProviderInput;
+ /** The identity provider input for data plane authentication. */
+ dataPlaneAuthenticationIdentityInput?: IdentityProviderInput;
+}
+
+/** Identity provider input. */
+export interface IdentityProviderInput {
+ /** The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ tenantId: string;
+ /** The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ applicationId: string;
+ /** The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ objectId: string;
+ /** The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services. */
+ audience: string;
+ /** The base authority for Azure Active Directory authentication. */
+ aadAuthority: string;
+}
+
+/** Collection of storage details. */
+export interface StorageClassificationCollection {
+ /** The storage details. */
+ value?: StorageClassification[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing Display.
- * Contains the localized display information for this particular operation /
- * action. These value will be used by several clients for (1) custom role
- * definitions for RBAC; (2) complex query filters for the event service; and
- * (3) audit history / records for management operations.
- *
- */
-export interface Display {
- /**
- * @member {string} [provider] The provider. The localized friendly form of
- * the resource provider name – it is expected to also include the
- * publisher/company responsible. It should use Title Casing and begin with
- * "Microsoft" for 1st party services. e.g. "Microsoft Monitoring Insights"
- * or "Microsoft Compute."
- */
- provider?: string;
- /**
- * @member {string} [resource] The resource. The localized friendly form of
- * the resource related to this action/operation – it should match the public
- * documentation for the resource provider. It should use Title Casing. This
- * value should be unique for a particular URL type (e.g. nested types should
- * *not* reuse their parent’s display.resource field). e.g. "Virtual
- * Machines" or "Scheduler Job Collections", or "Virtual Machine VM Sizes" or
- * "Scheduler Jobs"
- */
- resource?: string;
- /**
- * @member {string} [operation] The operation. The localized friendly name
- * for the operation, as it should be shown to the user. It should be concise
- * (to fit in drop downs) but clear (i.e. self-documenting). It should use
- * Title Casing. Prescriptive guidance: Read Create or Update Delete
- * 'ActionName'
- */
- operation?: string;
- /**
- * @member {string} [description] The description. The localized friendly
- * description for the operation, as it should be shown to the user. It
- * should be thorough, yet concise – it will be used in tool tips and
- * detailed views. Prescriptive guidance for namespaces: Read any
- * 'display.provider' resource Create or Update any 'display.provider'
- * resource Delete any 'display.provider' resource Perform any other action
- * on any 'display.provider' resource Prescriptive guidance for namespaces:
- * Read any 'display.resource' Create or Update any 'display.resource' Delete
- * any 'display.resource' 'ActionName' any 'display.resources'
- */
- description?: string;
+/** Storage object properties. */
+export interface StorageClassificationProperties {
+ /** Friendly name of the Storage classification. */
+ friendlyName?: string;
}
-/**
- * @interface
- * An interface representing EnableProtectionInputProperties.
- * Enable protection input properties.
- *
- */
-export interface EnableProtectionInputProperties {
- /**
- * @member {string} [policyId] The Policy Id.
- */
- policyId?: string;
- /**
- * @member {string} [protectableItemId] The protectable item Id.
- */
- protectableItemId?: string;
- /**
- * @member {EnableProtectionProviderSpecificInputUnion}
- * [providerSpecificDetails] The ReplicationProviderInput. For
- * HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object.
- * For San provider, it will be SanEnableProtectionInput object. For
- * HyperVReplicaAzure provider, it can be null.
- */
- providerSpecificDetails?: EnableProtectionProviderSpecificInputUnion;
+/** Collection of storage mapping details. */
+export interface StorageClassificationMappingCollection {
+ /** The storage details. */
+ value?: StorageClassificationMapping[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing EnableProtectionInput.
- * Enable protection input.
- *
- */
-export interface EnableProtectionInput {
- /**
- * @member {EnableProtectionInputProperties} [properties] Enable protection
- * input properties.
- */
- properties?: EnableProtectionInputProperties;
+/** Storage mapping properties. */
+export interface StorageClassificationMappingProperties {
+ /** Target storage object Id. */
+ targetStorageClassificationId?: string;
}
-/**
- * @interface
- * An interface representing EncryptionDetails.
- * Encryption details for the fabric.
- *
- */
-export interface EncryptionDetails {
- /**
- * @member {string} [kekState] The key encryption key state for the Vmm.
- */
- kekState?: string;
- /**
- * @member {string} [kekCertThumbprint] The key encryption key certificate
- * thumbprint.
- */
- kekCertThumbprint?: string;
- /**
- * @member {Date} [kekCertExpiryDate] The key encryption key certificate
- * expiry date.
- */
- kekCertExpiryDate?: Date;
+/** Storage mapping input. */
+export interface StorageClassificationMappingInput {
+ /** Storage mapping input properties. */
+ properties?: StorageMappingInputProperties;
}
-/**
- * Contains the possible cases for EventSpecificDetails.
- */
-export type EventSpecificDetailsUnion = EventSpecificDetails | JobStatusEventDetails;
+/** Storage mapping input properties. */
+export interface StorageMappingInputProperties {
+ /** The ID of the storage object. */
+ targetStorageClassificationId?: string;
+}
-/**
- * @interface
- * An interface representing EventSpecificDetails.
- * Model class for event specific details for an event.
- *
- */
-export interface EventSpecificDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "EventSpecificDetails";
+/** Collection of vCenter details. */
+export interface VCenterCollection {
+ /** The vCenter details. */
+ value?: VCenter[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing InnerHealthError.
- * Implements InnerHealthError class. HealthError object has a list of
- * InnerHealthErrors as child errors. InnerHealthError is used because this
- * will prevent an infinite loop of structures when Hydra tries to
- * auto-generate the contract. We are exposing the related health errors as
- * inner health errors and all API consumers can utilize this in the same
- * fashion as Exception -> InnerException.
- *
- */
-export interface InnerHealthError {
- /**
- * @member {string} [errorSource] Source of error.
- */
- errorSource?: string;
- /**
- * @member {string} [errorType] Type of error.
- */
- errorType?: string;
- /**
- * @member {string} [errorLevel] Level of error.
- */
- errorLevel?: string;
- /**
- * @member {string} [errorCategory] Category of error.
- */
- errorCategory?: string;
- /**
- * @member {string} [errorCode] Error code.
- */
- errorCode?: string;
- /**
- * @member {string} [summaryMessage] Summary message of the entity.
- */
- summaryMessage?: string;
- /**
- * @member {string} [errorMessage] Error message.
- */
- errorMessage?: string;
- /**
- * @member {string} [possibleCauses] Possible causes of error.
- */
- possibleCauses?: string;
- /**
- * @member {string} [recommendedAction] Recommended action to resolve error.
- */
- recommendedAction?: string;
- /**
- * @member {Date} [creationTimeUtc] Error creation time (UTC)
- */
- creationTimeUtc?: Date;
- /**
- * @member {string} [recoveryProviderErrorMessage] DRA error message.
- */
- recoveryProviderErrorMessage?: string;
- /**
- * @member {string} [entityId] ID of the entity.
- */
- entityId?: string;
+/** vCenter properties. */
+export interface VCenterProperties {
+ /** Friendly name of the vCenter. */
+ friendlyName?: string;
+ /** VCenter internal ID. */
+ internalId?: string;
+ /** The time when the last heartbeat was received by vCenter. */
+ lastHeartbeat?: Date;
+ /** The VCenter discovery status. */
+ discoveryStatus?: string;
+ /** The process server Id. */
+ processServerId?: string;
+ /** The IP address of the vCenter. */
+ ipAddress?: string;
+ /** The infrastructure Id of vCenter. */
+ infrastructureId?: string;
+ /** The port number for discovery. */
+ port?: string;
+ /** The account Id which has privileges to discover the vCenter. */
+ runAsAccountId?: string;
+ /** The ARM resource name of the fabric containing this VCenter. */
+ fabricArmResourceName?: string;
+ /** The health errors for this VCenter. */
+ healthErrors?: HealthError[];
}
-/**
- * @interface
- * An interface representing HealthError.
- * Health Error
- *
- */
-export interface HealthError {
- /**
- * @member {InnerHealthError[]} [innerHealthErrors] The inner health errors.
- * HealthError having a list of HealthError as child errors is problematic.
- * InnerHealthError is used because this will prevent an infinite loop of
- * structures when Hydra tries to auto-generate the contract. We are exposing
- * the related health errors as inner health errors and all API consumers can
- * utilize this in the same fashion as Exception -> InnerException.
- */
- innerHealthErrors?: InnerHealthError[];
- /**
- * @member {string} [errorSource] Source of error.
- */
- errorSource?: string;
- /**
- * @member {string} [errorType] Type of error.
- */
- errorType?: string;
- /**
- * @member {string} [errorLevel] Level of error.
- */
- errorLevel?: string;
- /**
- * @member {string} [errorCategory] Category of error.
- */
- errorCategory?: string;
- /**
- * @member {string} [errorCode] Error code.
- */
- errorCode?: string;
- /**
- * @member {string} [summaryMessage] Summary message of the entity.
- */
- summaryMessage?: string;
- /**
- * @member {string} [errorMessage] Error message.
- */
- errorMessage?: string;
- /**
- * @member {string} [possibleCauses] Possible causes of error.
- */
- possibleCauses?: string;
- /**
- * @member {string} [recommendedAction] Recommended action to resolve error.
- */
- recommendedAction?: string;
- /**
- * @member {Date} [creationTimeUtc] Error creation time (UTC)
- */
- creationTimeUtc?: Date;
- /**
- * @member {string} [recoveryProviderErrorMessage] DRA error message.
- */
- recoveryProviderErrorMessage?: string;
- /**
- * @member {string} [entityId] ID of the entity.
- */
- entityId?: string;
+/** Input required to add vCenter. */
+export interface AddVCenterRequest {
+ /** The properties of an add vCenter request. */
+ properties?: AddVCenterRequestProperties;
}
-/**
- * @interface
- * An interface representing EventProperties.
- * The properties of a monitoring event.
- *
- */
-export interface EventProperties {
- /**
- * @member {string} [eventCode] The Id of the monitoring event.
- */
- eventCode?: string;
- /**
- * @member {string} [description] The event name.
- */
- description?: string;
- /**
- * @member {string} [eventType] The type of the event. for example: VM
- * Health, Server Health, Job Failure etc.
- */
- eventType?: string;
- /**
- * @member {string} [affectedObjectFriendlyName] The friendly name of the
- * source of the event on which it is raised (for example, VM, VMM etc).
- */
- affectedObjectFriendlyName?: string;
- /**
- * @member {string} [severity] The severity of the event.
- */
- severity?: string;
- /**
- * @member {Date} [timeOfOccurrence] The time of occurence of the event.
- */
- timeOfOccurrence?: Date;
- /**
- * @member {string} [fabricId] The ARM ID of the fabric.
- */
- fabricId?: string;
- /**
- * @member {EventProviderSpecificDetailsUnion} [providerSpecificDetails] The
- * provider specific settings.
- */
- providerSpecificDetails?: EventProviderSpecificDetailsUnion;
- /**
- * @member {EventSpecificDetailsUnion} [eventSpecificDetails] The event
- * specific settings.
- */
- eventSpecificDetails?: EventSpecificDetailsUnion;
- /**
- * @member {HealthError[]} [healthErrors] The list of errors / warnings
- * capturing details associated with the issue(s).
- */
- healthErrors?: HealthError[];
+/** The properties of an add vCenter request. */
+export interface AddVCenterRequestProperties {
+ /** The friendly name of the vCenter. */
+ friendlyName?: string;
+ /** The IP address of the vCenter to be discovered. */
+ ipAddress?: string;
+ /** The process server Id from where the discovery is orchestrated. */
+ processServerId?: string;
+ /** The port number for discovery. */
+ port?: string;
+ /** The account Id which has privileges to discover the vCenter. */
+ runAsAccountId?: string;
}
-/**
- * @interface
- * An interface representing Event.
- * Implements the Event class.
- *
- * @extends Resource
- */
-export interface Event extends Resource {
- /**
- * @member {EventProperties} [properties] Event related data.
- */
- properties?: EventProperties;
+/** Input required to update vCenter. */
+export interface UpdateVCenterRequest {
+ /** The update VCenter Request Properties. */
+ properties?: UpdateVCenterRequestProperties;
}
-/**
- * @interface
- * An interface representing EventQueryParameter.
- * Implements the event query parameter.
- *
- */
-export interface EventQueryParameter {
- /**
- * @member {string} [eventCode] The source id of the events to be queried.
- */
- eventCode?: string;
- /**
- * @member {string} [severity] The severity of the events to be queried.
- */
- severity?: string;
- /**
- * @member {string} [eventType] The type of the events to be queried.
- */
- eventType?: string;
- /**
- * @member {string} [fabricName] The affected object server id of the events
- * to be queried.
- */
- fabricName?: string;
- /**
- * @member {string} [affectedObjectFriendlyName] The affected object name of
- * the events to be queried.
- */
- affectedObjectFriendlyName?: string;
- /**
- * @member {Date} [startTime] The start time of the time range within which
- * the events are to be queried.
- */
+/** The properties of an update vCenter request. */
+export interface UpdateVCenterRequestProperties {
+ /** The friendly name of the vCenter. */
+ friendlyName?: string;
+ /** The IP address of the vCenter to be discovered. */
+ ipAddress?: string;
+ /** The process server Id from where the update can be orchestrated. */
+ processServerId?: string;
+ /** The port number for discovery. */
+ port?: string;
+ /** The CS account Id which has privileges to update the vCenter. */
+ runAsAccountId?: string;
+}
+
+/** Collection of jobs. */
+export interface JobCollection {
+ /** The list of jobs. */
+ value?: Job[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Job custom data details. */
+export interface JobProperties {
+ /** The activity id. */
+ activityId?: string;
+ /** The ScenarioName. */
+ scenarioName?: string;
+ /** The DisplayName. */
+ friendlyName?: string;
+ /** The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other. */
+ state?: string;
+ /** The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped. */
+ stateDescription?: string;
+ /** The tasks. */
+ tasks?: ASRTask[];
+ /** The errors. */
+ errors?: JobErrorDetails[];
+ /** The start time. */
startTime?: Date;
- /**
- * @member {Date} [endTime] The end time of the time range within which the
- * events are to be queried.
- */
+ /** The end time. */
endTime?: Date;
+ /** The Allowed action the job. */
+ allowedActions?: string[];
+ /** The affected Object Id. */
+ targetObjectId?: string;
+ /** The name of the affected object. */
+ targetObjectName?: string;
+ /** The type of the affected object which is of Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType class. */
+ targetInstanceType?: string;
+ /** The custom job details like test failover job details. */
+ customDetails?: JobDetailsUnion;
}
-/**
- * @interface
- * An interface representing ExportJobDetails.
- * This class represents details for export jobs workflow.
- *
- */
-export interface ExportJobDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ExportJobDetails";
- /**
- * @member {{ [propertyName: string]: string }} [affectedObjectDetails] The
- * affected object properties like source server, source cloud, target
- * server, target cloud etc. based on the workflow object details.
- */
+/** Task of the Job. */
+export interface ASRTask {
+ /** The Id. */
+ taskId?: string;
+ /** The unique Task name. */
+ name?: string;
+ /** The start time. */
+ startTime?: Date;
+ /** The end time. */
+ endTime?: Date;
+ /** The state/actions applicable on this task. */
+ allowedActions?: string[];
+ /** The name. */
+ friendlyName?: string;
+ /** The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other. */
+ state?: string;
+ /** The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped. */
+ stateDescription?: string;
+ /** The type of task. Details in CustomDetails property depend on this type. */
+ taskType?: string;
+ /** The custom task details based on the task type. */
+ customDetails?: TaskTypeDetailsUnion;
+ /** The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it. */
+ groupTaskCustomDetails?: GroupTaskDetailsUnion;
+ /** The task error details. */
+ errors?: JobErrorDetails[];
+}
+
+/** Task details based on specific task type. */
+export interface TaskTypeDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "AutomationRunbookTaskDetails"
+ | "ConsistencyCheckTaskDetails"
+ | "JobTaskDetails"
+ | "FabricReplicationGroupTaskDetails"
+ | "ManualActionTaskDetails"
+ | "ScriptActionTaskDetails"
+ | "VirtualMachineTaskDetails"
+ | "VmNicUpdatesTaskDetails";
+}
+
+/** This class represents the group task details when parent child relationship exists in the drill down. */
+export interface GroupTaskDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "InlineWorkflowTaskDetails"
+ | "RecoveryPlanGroupTaskDetails"
+ | "RecoveryPlanShutdownGroupTaskDetails";
+ /** The child tasks. */
+ childTasks?: ASRTask[];
+}
+
+/** This class contains the error details per object. */
+export interface JobErrorDetails {
+ /** The Service error details. */
+ serviceErrorDetails?: ServiceError;
+ /** The Provider error details. */
+ providerErrorDetails?: ProviderError;
+ /** Error level of error. */
+ errorLevel?: string;
+ /** The creation time of job error. */
+ creationTime?: Date;
+ /** The Id of the task. */
+ taskId?: string;
+}
+
+/** ASR error model. */
+export interface ServiceError {
+ /** Error code. */
+ code?: string;
+ /** Error message. */
+ message?: string;
+ /** Possible causes of error. */
+ possibleCauses?: string;
+ /** Recommended action to resolve error. */
+ recommendedAction?: string;
+ /** Activity Id. */
+ activityId?: string;
+}
+
+/** This class contains the error details per object. */
+export interface ProviderError {
+ /** The Error code. */
+ errorCode?: number;
+ /** The Error message. */
+ errorMessage?: string;
+ /** The Provider error Id. */
+ errorId?: string;
+ /** The possible causes for the error. */
+ possibleCauses?: string;
+ /** The recommended action to resolve the error. */
+ recommendedAction?: string;
+}
+
+/** Job details based on specific job type. */
+export interface JobDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "AsrJobDetails"
+ | "ExportJobDetails"
+ | "FailoverJobDetails"
+ | "SwitchProtectionJobDetails"
+ | "TestFailoverJobDetails";
+ /** The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details. */
affectedObjectDetails?: { [propertyName: string]: string };
- /**
- * @member {string} [blobUri] BlobUri of the exported jobs.
- */
- blobUri?: string;
- /**
- * @member {string} [sasToken] The sas token to access blob.
- */
- sasToken?: string;
}
-/**
- * @interface
- * An interface representing FabricProperties.
- * Fabric properties.
- *
- */
-export interface FabricProperties {
- /**
- * @member {string} [friendlyName] Friendly name of the fabric.
- */
+/** Resume job params. */
+export interface ResumeJobParams {
+ /** Resume job properties. */
+ properties?: ResumeJobParamsProperties;
+}
+
+/** Resume job properties. */
+export interface ResumeJobParamsProperties {
+ /** Resume job comments. */
+ comments?: string;
+}
+
+/** Query parameter to enumerate jobs. */
+export interface JobQueryParameter {
+ /** Date time to get jobs from. */
+ startTime?: string;
+ /** Date time to get jobs upto. */
+ endTime?: string;
+ /** The Id of the fabric to search jobs under. */
+ fabricId?: string;
+ /** The type of objects. */
+ affectedObjectTypes?: string;
+ /** The states of the job to be filtered can be in. */
+ jobStatus?: string;
+ /** The output type of the jobs. */
+ jobOutputType?: ExportJobOutputSerializationType;
+ /** The job Name. */
+ jobName?: string;
+ /** The timezone offset for the location of the request (in minutes). */
+ timezoneOffset?: number;
+}
+
+/** Protection Profile Collection details. */
+export interface PolicyCollection {
+ /** The policy details. */
+ value?: Policy[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Protection profile custom data details. */
+export interface PolicyProperties {
+ /** The FriendlyName. */
friendlyName?: string;
- /**
- * @member {EncryptionDetails} [encryptionDetails] Encryption details for the
- * fabric.
- */
- encryptionDetails?: EncryptionDetails;
- /**
- * @member {EncryptionDetails} [rolloverEncryptionDetails] Rollover
- * encryption details for the fabric.
- */
- rolloverEncryptionDetails?: EncryptionDetails;
- /**
- * @member {string} [internalIdentifier] Dra Registration Id.
- */
- internalIdentifier?: string;
- /**
- * @member {string} [bcdrState] BCDR state of the fabric.
- */
- bcdrState?: string;
- /**
- * @member {FabricSpecificDetailsUnion} [customDetails] Fabric specific
- * settings.
- */
- customDetails?: FabricSpecificDetailsUnion;
- /**
- * @member {HealthError[]} [healthErrorDetails] Fabric health error details.
- */
- healthErrorDetails?: HealthError[];
- /**
- * @member {string} [health] Health of fabric.
- */
- health?: string;
+ /** The ReplicationChannelSetting. */
+ providerSpecificDetails?: PolicyProviderSpecificDetailsUnion;
}
-/**
- * @interface
- * An interface representing Fabric.
- * Fabric definition.
- *
- * @extends Resource
- */
-export interface Fabric extends Resource {
- /**
- * @member {FabricProperties} [properties] Fabric related data.
- */
- properties?: FabricProperties;
+/** Base class for Provider specific details for policies. */
+export interface PolicyProviderSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "HyperVReplicaBasePolicyDetails"
+ | "HyperVReplica2012R2"
+ | "HyperVReplica2012"
+ | "InMageAzureV2"
+ | "InMageBasePolicyDetails"
+ | "InMage"
+ | "InMageRcmFailback"
+ | "InMageRcm"
+ | "VMwareCbt";
+}
+
+/** Protection Policy input. */
+export interface CreatePolicyInput {
+ /** Policy creation properties. */
+ properties?: CreatePolicyInputProperties;
}
-/**
- * @interface
- * An interface representing FabricCreationInputProperties.
- * Properties of site details provided during the time of site creation
- *
- */
-export interface FabricCreationInputProperties {
- /**
- * @member {FabricSpecificCreationInputUnion} [customDetails] Fabric provider
- * specific creation input.
- */
- customDetails?: FabricSpecificCreationInputUnion;
+/** Policy creation properties. */
+export interface CreatePolicyInputProperties {
+ /** The ReplicationProviderSettings. */
+ providerSpecificInput?: PolicyProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing FabricCreationInput.
- * Site details provided during the time of site creation
- *
- */
-export interface FabricCreationInput {
- /**
- * @member {FabricCreationInputProperties} [properties] Fabric creation
- * input.
- */
- properties?: FabricCreationInputProperties;
+/** Base class for provider specific input. */
+export interface PolicyProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2ACrossClusterMigration"
+ | "A2A"
+ | "HyperVReplicaAzure"
+ | "HyperVReplica2012"
+ | "HyperVReplica2012R2"
+ | "InMageAzureV2"
+ | "InMage"
+ | "InMageRcmFailback"
+ | "InMageRcm"
+ | "VMwareCbt";
+}
+
+/** Update policy input. */
+export interface UpdatePolicyInput {
+ /** The ReplicationProviderSettings. */
+ properties?: UpdatePolicyInputProperties;
}
-/**
- * @interface
- * An interface representing JobEntity.
- * This class contains the minimal job details required to navigate to the
- * desired drill down.
- *
- */
-export interface JobEntity {
- /**
- * @member {string} [jobId] The job id.
- */
- jobId?: string;
- /**
- * @member {string} [jobFriendlyName] The job display name.
- */
- jobFriendlyName?: string;
- /**
- * @member {string} [targetObjectId] The object id.
- */
- targetObjectId?: string;
- /**
- * @member {string} [targetObjectName] The object name.
- */
- targetObjectName?: string;
- /**
- * @member {string} [targetInstanceType] The workflow affected object type.
- */
- targetInstanceType?: string;
- /**
- * @member {string} [jobScenarioName] The job name. Enum type ScenarioName.
- */
- jobScenarioName?: string;
+/** Policy update properties. */
+export interface UpdatePolicyInputProperties {
+ /** The ReplicationProviderSettings. */
+ replicationProviderSettings?: PolicyProviderSpecificInputUnion;
}
-/**
- * @interface
- * An interface representing FabricReplicationGroupTaskDetails.
- * This class represents the fabric replication group task details.
- *
- */
-export interface FabricReplicationGroupTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "FabricReplicationGroupTaskDetails";
- /**
- * @member {string} [skippedReason] The skipped reason.
- */
- skippedReason?: string;
- /**
- * @member {string} [skippedReasonString] The skipped reason string.
- */
- skippedReasonString?: string;
- /**
- * @member {JobEntity} [jobTask] The job entity.
- */
- jobTask?: JobEntity;
+/** Replication protection intent objects collection. */
+export interface ReplicationProtectionIntentCollection {
+ /** The Replication protection intent details. */
+ value?: ReplicationProtectionIntent[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing FailoverReplicationProtectedItemDetails.
- * Failover details for a replication protected item.
- *
- */
-export interface FailoverReplicationProtectedItemDetails {
- /**
- * @member {string} [name] The name.
- */
- name?: string;
- /**
- * @member {string} [friendlyName] The friendly name.
- */
+/** Replication protection intent custom data details. */
+export interface ReplicationProtectionIntentProperties {
+ /** The name. */
friendlyName?: string;
/**
- * @member {string} [testVmName] The test Vm name.
+ * The job Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- testVmName?: string;
- /**
- * @member {string} [testVmFriendlyName] The test Vm friendly name.
- */
- testVmFriendlyName?: string;
- /**
- * @member {string} [networkConnectionStatus] The network connection status.
- */
- networkConnectionStatus?: string;
- /**
- * @member {string} [networkFriendlyName] The network friendly name.
- */
- networkFriendlyName?: string;
+ readonly jobId?: string;
/**
- * @member {string} [subnet] The network subnet.
+ * The job state.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- subnet?: string;
+ readonly jobState?: string;
/**
- * @member {string} [recoveryPointId] The recovery point Id.
+ * A value indicating whether the intent object is active.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointId?: string;
+ readonly isActive?: boolean;
/**
- * @member {Date} [recoveryPointTime] The recovery point time.
+ * The creation time in UTC.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointTime?: Date;
+ readonly creationTimeUTC?: string;
+ /** The Replication provider custom settings. */
+ providerSpecificDetails?: ReplicationProtectionIntentProviderSpecificSettingsUnion;
}
-/**
- * @interface
- * An interface representing FailoverJobDetails.
- * This class represents the details for a failover job.
- *
- */
-export interface FailoverJobDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "FailoverJobDetails";
- /**
- * @member {{ [propertyName: string]: string }} [affectedObjectDetails] The
- * affected object properties like source server, source cloud, target
- * server, target cloud etc. based on the workflow object details.
- */
- affectedObjectDetails?: { [propertyName: string]: string };
- /**
- * @member {FailoverReplicationProtectedItemDetails[]} [protectedItemDetails]
- * The test VM details.
- */
- protectedItemDetails?: FailoverReplicationProtectedItemDetails[];
+/** Replication provider specific settings. */
+export interface ReplicationProtectionIntentProviderSpecificSettings {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
}
-/**
- * @interface
- * An interface representing FailoverProcessServerRequestProperties.
- * The properties of the Failover Process Server request.
- *
- */
-export interface FailoverProcessServerRequestProperties {
- /**
- * @member {string} [containerName] The container identifier.
- */
- containerName?: string;
- /**
- * @member {string} [sourceProcessServerId] The source process server.
- */
- sourceProcessServerId?: string;
- /**
- * @member {string} [targetProcessServerId] The new process server.
- */
- targetProcessServerId?: string;
- /**
- * @member {string[]} [vmsToMigrate] The VMS to migrate.
- */
- vmsToMigrate?: string[];
- /**
- * @member {string} [updateType] A value for failover type. It can be
- * systemlevel/serverlevel
- */
- updateType?: string;
+/** Create protection intent input. */
+export interface CreateProtectionIntentInput {
+ /** Create protection intent input properties. */
+ properties?: CreateProtectionIntentProperties;
}
-/**
- * @interface
- * An interface representing FailoverProcessServerRequest.
- * Request to failover a process server.
- *
- */
-export interface FailoverProcessServerRequest {
- /**
- * @member {FailoverProcessServerRequestProperties} [properties] The
- * properties of the PS Failover request.
- */
- properties?: FailoverProcessServerRequestProperties;
+/** Create protection intent input properties. */
+export interface CreateProtectionIntentProperties {
+ /** The ReplicationProviderInput. For A2A provider, it will be A2ACreateProtectionIntentInput object. */
+ providerSpecificDetails?: CreateProtectionIntentProviderSpecificDetailsUnion;
}
-/**
- * @interface
- * An interface representing HealthErrorSummary.
- * class to define the summary of the health error details.
- *
- */
-export interface HealthErrorSummary {
- /**
- * @member {string} [summaryCode] The code of the health error.
- */
- summaryCode?: string;
- /**
- * @member {HealthErrorCategory} [category] The category of the health error.
- * Possible values include: 'None', 'Replication', 'TestFailover',
- * 'Configuration', 'FabricInfrastructure', 'VersionExpiry',
- * 'AgentAutoUpdate'
- */
- category?: HealthErrorCategory;
- /**
- * @member {Severity} [severity] Severity of error. Possible values include:
- * 'NONE', 'Warning', 'Error', 'Info'
- */
- severity?: Severity;
- /**
- * @member {string} [summaryMessage] The summary message of the health error.
- */
- summaryMessage?: string;
- /**
- * @member {string} [affectedResourceType] The type of affected ARM resource.
- */
- affectedResourceType?: string;
- /**
- * @member {string} [affectedResourceSubtype] The sub type of any
- * subcomponent within the ARM resource that this might be applicable. Value
- * remains null if not applicable.
- */
- affectedResourceSubtype?: string;
- /**
- * @member {string[]} [affectedResourceCorrelationIds] The list of affected
- * resource correlation Ids. This can be used to uniquely identify the count
- * of items affected by a specific category and severity as well as count of
- * item affected by an specific issue.
- */
- affectedResourceCorrelationIds?: string[];
+/** Create protection intent provider specific input. */
+export interface CreateProtectionIntentProviderSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
}
-/**
- * @interface
- * An interface representing HyperVReplica2012EventDetails.
- * Model class for event details of a HyperVReplica E2E event.
- *
- */
-export interface HyperVReplica2012EventDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplica2012";
- /**
- * @member {string} [containerName] The container friendly name.
- */
- containerName?: string;
- /**
- * @member {string} [fabricName] The fabric friendly name.
- */
- fabricName?: string;
- /**
- * @member {string} [remoteContainerName] The remote container name.
- */
- remoteContainerName?: string;
- /**
- * @member {string} [remoteFabricName] The remote fabric name.
- */
- remoteFabricName?: string;
+/** Recovery plan collection details. */
+export interface RecoveryPlanCollection {
+ /** The list of recovery plans. */
+ value?: RecoveryPlan[];
+ /** The value of next link. */
+ nextLink?: string;
}
-/**
- * @interface
- * An interface representing HyperVReplica2012R2EventDetails.
- * Model class for event details of a HyperVReplica blue E2E event.
- *
- */
-export interface HyperVReplica2012R2EventDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplica2012R2";
- /**
- * @member {string} [containerName] The container friendly name.
- */
- containerName?: string;
- /**
- * @member {string} [fabricName] The fabric friendly name.
- */
- fabricName?: string;
- /**
- * @member {string} [remoteContainerName] The remote container name.
- */
- remoteContainerName?: string;
- /**
- * @member {string} [remoteFabricName] The remote fabric name.
- */
- remoteFabricName?: string;
+/** Recovery plan properties. */
+export interface RecoveryPlanProperties {
+ /** The friendly name. */
+ friendlyName?: string;
+ /** The primary fabric Id. */
+ primaryFabricId?: string;
+ /** The primary fabric friendly name. */
+ primaryFabricFriendlyName?: string;
+ /** The recovery fabric Id. */
+ recoveryFabricId?: string;
+ /** The recovery fabric friendly name. */
+ recoveryFabricFriendlyName?: string;
+ /** The failover deployment model. */
+ failoverDeploymentModel?: string;
+ /** The list of replication providers. */
+ replicationProviders?: string[];
+ /** The list of allowed operations. */
+ allowedOperations?: string[];
+ /** The start time of the last planned failover. */
+ lastPlannedFailoverTime?: Date;
+ /** The start time of the last unplanned failover. */
+ lastUnplannedFailoverTime?: Date;
+ /** The start time of the last test failover. */
+ lastTestFailoverTime?: Date;
+ /** The current scenario details. */
+ currentScenario?: CurrentScenarioDetails;
+ /** The recovery plan status. */
+ currentScenarioStatus?: string;
+ /** The recovery plan status description. */
+ currentScenarioStatusDescription?: string;
+ /** The recovery plan groups. */
+ groups?: RecoveryPlanGroup[];
+ /** The provider id and provider specific details. */
+ providerSpecificDetails?: RecoveryPlanProviderSpecificDetailsUnion[];
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureApplyRecoveryPointInput.
- * ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.
- *
- */
-export interface HyperVReplicaAzureApplyRecoveryPointInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {string} [vaultLocation] The vault location where the recovery Vm
- * resides.
- */
- vaultLocation?: string;
- /**
- * @member {string} [primaryKekCertificatePfx] The primary kek certificate
- * pfx.
- */
- primaryKekCertificatePfx?: string;
- /**
- * @member {string} [secondaryKekCertificatePfx] The secondary kek
- * certificate pfx.
- */
- secondaryKekCertificatePfx?: string;
+/** Recovery plan group details. */
+export interface RecoveryPlanGroup {
+ /** The group type. */
+ groupType: RecoveryPlanGroupType;
+ /** The list of protected items. */
+ replicationProtectedItems?: RecoveryPlanProtectedItem[];
+ /** The start group actions. */
+ startGroupActions?: RecoveryPlanAction[];
+ /** The end group actions. */
+ endGroupActions?: RecoveryPlanAction[];
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureEnableProtectionInput.
- * Azure specific enable protection input.
- *
- */
-export interface HyperVReplicaAzureEnableProtectionInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {string} [hvHostVmId] The Hyper-V host Vm Id.
- */
- hvHostVmId?: string;
- /**
- * @member {string} [vmName] The Vm Name.
- */
- vmName?: string;
- /**
- * @member {string} [osType] The OS type associated with vm.
- */
- osType?: string;
- /**
- * @member {string} [vhdId] The OS disk VHD id associated with vm.
- */
- vhdId?: string;
- /**
- * @member {string} [targetStorageAccountId] The storage account name.
- */
- targetStorageAccountId?: string;
- /**
- * @member {string} [targetAzureNetworkId] The selected target Azure network
- * Id.
- */
- targetAzureNetworkId?: string;
- /**
- * @member {string} [targetAzureSubnetId] The selected target Azure subnet
- * Id.
- */
- targetAzureSubnetId?: string;
- /**
- * @member {string} [enableRdpOnTargetOption] The selected option to enable
- * RDP\SSH on target vm after failover. String value of
- * {SrsDataContract.EnableRDPOnTargetOption} enum.
- */
- enableRdpOnTargetOption?: string;
- /**
- * @member {string} [targetAzureVmName] The target azure Vm Name.
- */
- targetAzureVmName?: string;
- /**
- * @member {string} [logStorageAccountId] The storage account to be used for
- * logging during replication.
- */
- logStorageAccountId?: string;
- /**
- * @member {string[]} [disksToInclude] The list of VHD IDs of disks to be
- * protected.
- */
- disksToInclude?: string[];
- /**
- * @member {string} [targetAzureV1ResourceGroupId] The Id of the target
- * resource group (for classic deployment) in which the failover VM is to be
- * created.
- */
- targetAzureV1ResourceGroupId?: string;
- /**
- * @member {string} [targetAzureV2ResourceGroupId] The Id of the target
- * resource group (for resource manager deployment) in which the failover VM
- * is to be created.
- */
- targetAzureV2ResourceGroupId?: string;
- /**
- * @member {string} [useManagedDisks] A value indicating whether managed
- * disks should be used during failover.
- */
- useManagedDisks?: string;
+/** Recovery plan protected item. */
+export interface RecoveryPlanProtectedItem {
+ /** The ARM Id of the recovery plan protected item. */
+ id?: string;
+ /** The virtual machine Id. */
+ virtualMachineId?: string;
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureEventDetails.
- * Model class for event details of a HyperVReplica E2A event.
- *
- */
-export interface HyperVReplicaAzureEventDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {string} [containerName] The container friendly name.
- */
- containerName?: string;
- /**
- * @member {string} [fabricName] The fabric friendly name.
- */
- fabricName?: string;
- /**
- * @member {string} [remoteContainerName] The remote container name.
- */
- remoteContainerName?: string;
+/** Recovery plan action details. */
+export interface RecoveryPlanAction {
+ /** The action name. */
+ actionName: string;
+ /** The list of failover types. */
+ failoverTypes: ReplicationProtectedItemOperation[];
+ /** The list of failover directions. */
+ failoverDirections: PossibleOperationsDirections[];
+ /** The custom details. */
+ customDetails: RecoveryPlanActionDetailsUnion;
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureFailbackProviderInput.
- * HvrA provider specific input for failback.
- *
- */
-export interface HyperVReplicaAzureFailbackProviderInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzureFailback";
- /**
- * @member {string} [dataSyncOption] Data sync option.
- */
- dataSyncOption?: string;
- /**
- * @member {string} [recoveryVmCreationOption] ALR options to create
- * alternate recovery.
- */
- recoveryVmCreationOption?: string;
- /**
- * @member {string} [providerIdForAlternateRecovery] Provider ID for
- * alternate location
- */
- providerIdForAlternateRecovery?: string;
+/** Recovery plan action custom details. */
+export interface RecoveryPlanActionDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "AutomationRunbookActionDetails"
+ | "ManualActionDetails"
+ | "ScriptActionDetails";
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureFailoverProviderInput.
- * HvrA provider specific input for failover.
- *
- */
-export interface HyperVReplicaAzureFailoverProviderInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {string} [vaultLocation] Location of the vault.
- */
- vaultLocation?: string;
- /**
- * @member {string} [primaryKekCertificatePfx] Primary kek certificate pfx.
- */
- primaryKekCertificatePfx?: string;
- /**
- * @member {string} [secondaryKekCertificatePfx] Secondary kek certificate
- * pfx.
- */
- secondaryKekCertificatePfx?: string;
- /**
- * @member {string} [recoveryPointId] The recovery point id to be passed to
- * failover to a particular recovery point. In case of latest recovery point,
- * null should be passed.
- */
- recoveryPointId?: string;
+/** Recovery plan provider specific details. */
+export interface RecoveryPlanProviderSpecificDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzurePolicyDetails.
- * Hyper-V Replica Azure specific protection profile details.
- *
- */
-export interface HyperVReplicaAzurePolicyDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {number} [recoveryPointHistoryDurationInHours] The duration (in
- * hours) to which point the recovery history needs to be maintained.
- */
- recoveryPointHistoryDurationInHours?: number;
- /**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] The
- * interval (in hours) at which Hyper-V Replica should create an application
- * consistent snapshot within the VM.
- */
- applicationConsistentSnapshotFrequencyInHours?: number;
- /**
- * @member {number} [replicationInterval] The replication interval.
- */
- replicationInterval?: number;
- /**
- * @member {string} [onlineReplicationStartTime] The scheduled start time for
- * the initial replication. If this parameter is Null, the initial
- * replication starts immediately.
- */
- onlineReplicationStartTime?: string;
- /**
- * @member {string} [encryption] A value indicating whether encryption is
- * enabled for virtual machines in this cloud.
- */
- encryption?: string;
- /**
- * @member {string} [activeStorageAccountId] The active storage account Id.
- */
- activeStorageAccountId?: string;
+/** Create recovery plan input class. */
+export interface CreateRecoveryPlanInput {
+ /** Recovery plan creation properties. */
+ properties: CreateRecoveryPlanInputProperties;
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzurePolicyInput.
- * Hyper-V Replica Azure specific input for creating a protection profile.
- *
- */
-export interface HyperVReplicaAzurePolicyInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {number} [recoveryPointHistoryDuration] The duration (in hours) to
- * which point the recovery history needs to be maintained.
- */
- recoveryPointHistoryDuration?: number;
- /**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] The
- * interval (in hours) at which Hyper-V Replica should create an application
- * consistent snapshot within the VM.
- */
- applicationConsistentSnapshotFrequencyInHours?: number;
+/** Recovery plan creation properties. */
+export interface CreateRecoveryPlanInputProperties {
+ /** The primary fabric Id. */
+ primaryFabricId: string;
+ /** The recovery fabric Id. */
+ recoveryFabricId: string;
+ /** The failover deployment model. */
+ failoverDeploymentModel?: FailoverDeploymentModel;
+ /** The recovery plan groups. */
+ groups: RecoveryPlanGroup[];
+ /** The provider specific input. */
+ providerSpecificInput?: RecoveryPlanProviderSpecificInputUnion[];
+}
+
+/** Recovery plan provider specific input base class. */
+export interface RecoveryPlanProviderSpecificInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+}
+
+/** Update recovery plan input class. */
+export interface UpdateRecoveryPlanInput {
+ /** Recovery plan update properties. */
+ properties?: UpdateRecoveryPlanInputProperties;
+}
+
+/** Recovery plan update properties. */
+export interface UpdateRecoveryPlanInputProperties {
+ /** The recovery plan groups. */
+ groups?: RecoveryPlanGroup[];
+}
+
+/** Recovery plan planned failover input. */
+export interface RecoveryPlanPlannedFailoverInput {
+ /** The recovery plan planned failover input properties. */
+ properties: RecoveryPlanPlannedFailoverInputProperties;
+}
+
+/** Recovery plan planned failover input properties. */
+export interface RecoveryPlanPlannedFailoverInputProperties {
+ /** The failover direction. */
+ failoverDirection: PossibleOperationsDirections;
+ /** The provider specific properties. */
+ providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
+}
+
+/** Recovery plan provider specific failover input. */
+export interface RecoveryPlanProviderSpecificFailoverInput {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "A2A"
+ | "HyperVReplicaAzureFailback"
+ | "HyperVReplicaAzure"
+ | "InMageAzureV2"
+ | "InMage"
+ | "InMageRcmFailback"
+ | "InMageRcm";
+}
+
+/** Recovery plan test failover input. */
+export interface RecoveryPlanTestFailoverInput {
+ /** The recovery plan test failover input properties. */
+ properties: RecoveryPlanTestFailoverInputProperties;
+}
+
+/** Recovery plan test failover input properties. */
+export interface RecoveryPlanTestFailoverInputProperties {
+ /** The failover direction. */
+ failoverDirection: PossibleOperationsDirections;
+ /** The network type to be used for test failover. */
+ networkType: string;
+ /** The Id of the network to be used for test failover. */
+ networkId?: string;
+ /** The provider specific properties. */
+ providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
+}
+
+/** Recovery plan test failover cleanup input. */
+export interface RecoveryPlanTestFailoverCleanupInput {
+ /** The recovery plan test failover cleanup input properties. */
+ properties: RecoveryPlanTestFailoverCleanupInputProperties;
+}
+
+/** Recovery plan test failover cleanup input properties. */
+export interface RecoveryPlanTestFailoverCleanupInputProperties {
+ /** The test failover cleanup comments. */
+ comments?: string;
+}
+
+/** Recovery plan unplanned failover input. */
+export interface RecoveryPlanUnplannedFailoverInput {
+ /** The recovery plan unplanned failover input properties. */
+ properties: RecoveryPlanUnplannedFailoverInputProperties;
+}
+
+/** Recovery plan unplanned failover input properties. */
+export interface RecoveryPlanUnplannedFailoverInputProperties {
+ /** The failover direction. */
+ failoverDirection: PossibleOperationsDirections;
+ /** A value indicating whether source site operations are required. */
+ sourceSiteOperations: SourceSiteOperations;
+ /** The provider specific properties. */
+ providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
+}
+
+/** Supported operating systems properties. */
+export interface SupportedOSProperties {
+ /** The supported operating systems property list. */
+ supportedOsList?: SupportedOSProperty[];
+}
+
+/** Supported operating systems property. */
+export interface SupportedOSProperty {
+ /** The replication provider type. */
+ instanceType?: string;
+ /** The list of supported operating systems. */
+ supportedOs?: SupportedOSDetails[];
+}
+
+/** Supported operating system details. */
+export interface SupportedOSDetails {
+ /** The name. */
+ osName?: string;
+ /** The type. */
+ osType?: string;
+ /** The list of version for operating system. */
+ osVersions?: OSVersionWrapper[];
+}
+
+/** Wrapper model for OSVersion to include version and service pack info. */
+export interface OSVersionWrapper {
+ /** The version. */
+ version?: string;
+ /** The service pack. */
+ servicePack?: string;
+}
+
+/** class to define the health summary of the Vault. */
+export interface VaultHealthProperties {
+ /** The list of errors on the vault. */
+ vaultErrors?: HealthError[];
+ /** The list of the health detail of the protected items in the vault. */
+ protectedItemsHealth?: ResourceHealthSummary;
+ /** The list of the health detail of the fabrics in the vault. */
+ fabricsHealth?: ResourceHealthSummary;
+ /** The list of the health detail of the containers in the vault. */
+ containersHealth?: ResourceHealthSummary;
+}
+
+/** Base class to define the health summary of the resources contained under an Arm resource. */
+export interface ResourceHealthSummary {
+ /** The count of total resources under the container. */
+ resourceCount?: number;
+ /** The list of summary of health errors across the resources under the container. */
+ issues?: HealthErrorSummary[];
+ /** The categorized resource counts. */
+ categorizedResourceCounts?: { [propertyName: string]: number };
+}
+
+/** class to define the summary of the health error details. */
+export interface HealthErrorSummary {
+ /** The code of the health error. */
+ summaryCode?: string;
+ /** The category of the health error. */
+ category?: HealthErrorCategory;
+ /** Severity of error. */
+ severity?: Severity;
+ /** The summary message of the health error. */
+ summaryMessage?: string;
+ /** The type of affected ARM resource. */
+ affectedResourceType?: string;
+ /** The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable. */
+ affectedResourceSubtype?: string;
+ /** The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue. */
+ affectedResourceCorrelationIds?: string[];
+}
+
+/** Vault setting collection. */
+export interface VaultSettingCollection {
+ /** The list of vault setting. */
+ value?: VaultSetting[];
+ /** The value of next link. */
+ nextLink?: string;
+}
+
+/** Vault setting properties. */
+export interface VaultSettingProperties {
+ /** The migration solution ARM Id. */
+ migrationSolutionId?: string;
+ /** VMware to Azure provider type. */
+ vmwareToAzureProviderType?: string;
+}
+
+/** Input to create vault setting. */
+export interface VaultSettingCreationInput {
+ /** Vault setting creation input properties. */
+ properties: VaultSettingCreationInputProperties;
+}
+
+/** Input to create vault setting. */
+export interface VaultSettingCreationInputProperties {
+ /** The migration solution Id. */
+ migrationSolutionId?: string;
+ /** VMware to Azure provider type. */
+ vmwareToAzureProviderType?: string;
+}
+
+/** A2A disk input details. */
+export interface A2AVmDiskInputDetails {
+ /** The disk Uri. */
+ diskUri: string;
+ /** The recovery VHD storage account Id. */
+ recoveryAzureStorageAccountId: string;
+ /** The primary staging storage account Id. */
+ primaryStagingAzureStorageAccountId: string;
+}
+
+/** A2A managed disk input details. */
+export interface A2AVmManagedDiskInputDetails {
+ /** The disk Id. */
+ diskId: string;
+ /** The primary staging storage account Arm Id. */
+ primaryStagingAzureStorageAccountId: string;
+ /** The target resource group Arm Id. */
+ recoveryResourceGroupId: string;
+ /** The replica disk type. Its an optional value and will be same as source disk type if not user provided. */
+ recoveryReplicaDiskAccountType?: string;
+ /** The target disk type after failover. Its an optional value and will be same as source disk type if not user provided. */
+ recoveryTargetDiskAccountType?: string;
+ /** The recovery disk encryption set Id. */
+ recoveryDiskEncryptionSetId?: string;
+ /** The recovery disk encryption information (for one / single pass flows). */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+}
+
+/** Recovery disk encryption info (BEK and KEK). */
+export interface DiskEncryptionInfo {
+ /** The recovery KeyVault reference for secret. */
+ diskEncryptionKeyInfo?: DiskEncryptionKeyInfo;
+ /** The recovery KeyVault reference for key. */
+ keyEncryptionKeyInfo?: KeyEncryptionKeyInfo;
+}
+
+/** Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows). */
+export interface DiskEncryptionKeyInfo {
+ /** The secret url / identifier. */
+ secretIdentifier?: string;
+ /** The KeyVault resource ARM id for secret. */
+ keyVaultResourceArmId?: string;
+}
+
+/** Key Encryption Key (KEK) information. */
+export interface KeyEncryptionKeyInfo {
+ /** The key URL / identifier. */
+ keyIdentifier?: string;
+ /** The KeyVault resource ARM Id for key. */
+ keyVaultResourceArmId?: string;
+}
+
+/** Protection Profile custom input. */
+export interface ProtectionProfileCustomDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing" | "New";
+}
+
+/** Storage account custom input. */
+export interface StorageAccountCustomDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+}
+
+/** Recovery Availability Set custom input. */
+export interface RecoveryAvailabilitySetCustomDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+}
+
+/** Recovery Virtual network custom input. */
+export interface RecoveryVirtualNetworkCustomDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing" | "New";
+}
+
+/** Recovery Proximity placement group custom input. */
+export interface RecoveryProximityPlacementGroupCustomDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+}
+
+/** Azure VM unmanaged disk input details. */
+export interface A2AProtectionIntentDiskInputDetails {
+ /** The disk Uri. */
+ diskUri: string;
+ /** The recovery VHD storage account input. */
+ recoveryAzureStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+ /** The primary staging storage account input. */
+ primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+}
+
+/** Azure VM managed disk input details. */
+export interface A2AProtectionIntentManagedDiskInputDetails {
+ /** The disk Id. */
+ diskId: string;
+ /** The primary staging storage account input. */
+ primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+ /** The recovery resource group input. */
+ recoveryResourceGroupCustomInput?: RecoveryResourceGroupCustomDetailsUnion;
+ /** The replica disk type. Its an optional value and will be same as source disk type if not user provided. */
+ recoveryReplicaDiskAccountType?: string;
+ /** The target disk type after failover. Its an optional value and will be same as source disk type if not user provided. */
+ recoveryTargetDiskAccountType?: string;
+ /** The recovery disk encryption set Id. */
+ recoveryDiskEncryptionSetId?: string;
+ /** The recovery disk encryption information (for one / single pass flows). */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+}
+
+/** Recovery Resource Group custom input. */
+export interface RecoveryResourceGroupCustomDetails {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+}
+
+/** Extended location of the resource. */
+export interface ExtendedLocation {
+ /** The name of the extended location. */
+ name: string;
+ /** The extended location type. */
+ type: ExtendedLocationType;
+}
+
+/** A2A protected disk details. */
+export interface A2AProtectedDiskDetails {
+ /** The disk uri. */
+ diskUri?: string;
+ /** The recovery disk storage account. */
+ recoveryAzureStorageAccountId?: string;
+ /** The primary disk storage account. */
+ primaryDiskAzureStorageAccountId?: string;
+ /** Recovery disk uri. */
+ recoveryDiskUri?: string;
+ /** The disk name. */
+ diskName?: string;
+ /** The disk capacity in bytes. */
+ diskCapacityInBytes?: number;
+ /** The primary staging storage account. */
+ primaryStagingAzureStorageAccountId?: string;
+ /** The type of disk. */
+ diskType?: string;
+ /** A value indicating whether resync is required for this disk. */
+ resyncRequired?: boolean;
+ /** The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property. */
+ monitoringPercentageCompletion?: number;
+ /** The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property. */
+ monitoringJobType?: string;
+ /** The data pending for replication in MB at staging account. */
+ dataPendingInStagingStorageAccountInMB?: number;
+ /** The data pending at source virtual machine in MB. */
+ dataPendingAtSourceAgentInMB?: number;
+ /** The disk state. */
+ diskState?: string;
+ /** The disk level operations list. */
+ allowedDiskLevelOperation?: string[];
+ /** A value indicating whether vm has encrypted os disk or not. */
+ isDiskEncrypted?: boolean;
+ /** The secret URL / identifier (BEK). */
+ secretIdentifier?: string;
+ /** The KeyVault resource id for secret (BEK). */
+ dekKeyVaultArmId?: string;
+ /** A value indicating whether disk key got encrypted or not. */
+ isDiskKeyEncrypted?: boolean;
+ /** The key URL / identifier (KEK). */
+ keyIdentifier?: string;
+ /** The KeyVault resource id for key (KEK). */
+ kekKeyVaultArmId?: string;
+ /** The failover name for the managed disk. */
+ failoverDiskName?: string;
+ /** The test failover name for the managed disk. */
+ tfoDiskName?: string;
+}
+
+/** A2A protected managed disk details. */
+export interface A2AProtectedManagedDiskDetails {
+ /** The managed disk Arm id. */
+ diskId?: string;
+ /** The recovery disk resource group Arm Id. */
+ recoveryResourceGroupId?: string;
+ /** Recovery target disk Arm Id. */
+ recoveryTargetDiskId?: string;
+ /** Recovery replica disk Arm Id. */
+ recoveryReplicaDiskId?: string;
+ /** Recovery original target disk Arm Id. */
+ recoveryOrignalTargetDiskId?: string;
+ /** The replica disk type. Its an optional value and will be same as source disk type if not user provided. */
+ recoveryReplicaDiskAccountType?: string;
+ /** The target disk type after failover. Its an optional value and will be same as source disk type if not user provided. */
+ recoveryTargetDiskAccountType?: string;
+ /** The recovery disk encryption set Id. */
+ recoveryDiskEncryptionSetId?: string;
+ /** The primary disk encryption set Id. */
+ primaryDiskEncryptionSetId?: string;
+ /** The disk name. */
+ diskName?: string;
+ /** The disk capacity in bytes. */
+ diskCapacityInBytes?: number;
+ /** The primary staging storage account. */
+ primaryStagingAzureStorageAccountId?: string;
+ /** The type of disk. */
+ diskType?: string;
+ /** A value indicating whether resync is required for this disk. */
+ resyncRequired?: boolean;
+ /** The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property. */
+ monitoringPercentageCompletion?: number;
+ /** The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property. */
+ monitoringJobType?: string;
+ /** The data pending for replication in MB at staging account. */
+ dataPendingInStagingStorageAccountInMB?: number;
+ /** The data pending at source virtual machine in MB. */
+ dataPendingAtSourceAgentInMB?: number;
+ /** The disk state. */
+ diskState?: string;
+ /** The disk level operations list. */
+ allowedDiskLevelOperation?: string[];
+ /** A value indicating whether vm has encrypted os disk or not. */
+ isDiskEncrypted?: boolean;
+ /** The secret URL / identifier (BEK). */
+ secretIdentifier?: string;
+ /** The KeyVault resource id for secret (BEK). */
+ dekKeyVaultArmId?: string;
+ /** A value indicating whether disk key got encrypted or not. */
+ isDiskKeyEncrypted?: boolean;
+ /** The key URL / identifier (KEK). */
+ keyIdentifier?: string;
+ /** The KeyVault resource id for key (KEK). */
+ kekKeyVaultArmId?: string;
+ /** The failover name for the managed disk. */
+ failoverDiskName?: string;
+ /** The test failover name for the managed disk. */
+ tfoDiskName?: string;
+}
+
+/** A2A unprotected disk details. */
+export interface A2AUnprotectedDiskDetails {
+ /** The source lun Id for the data disk. */
+ diskLunId?: number;
+ /** A value indicating whether the disk auto protection is enabled. */
+ diskAutoProtectionStatus?: AutoProtectionOfDataDisk;
+}
+
+/** Hyper V VM network details. */
+export interface VMNicDetails {
+ /** The nic Id. */
+ nicId?: string;
+ /** The replica nic Id. */
+ replicaNicId?: string;
+ /** The source nic ARM Id. */
+ sourceNicArmId?: string;
+ /** VM network name. */
+ vMNetworkName?: string;
+ /** Recovery VM network Id. */
+ recoveryVMNetworkId?: string;
+ /** The IP configurations of the NIC. */
+ ipConfigs?: IPConfigDetails[];
+ /** Selection type for failover. */
+ selectionType?: string;
+ /** The id of the NSG associated with the NIC. */
+ recoveryNetworkSecurityGroupId?: string;
+ /** A value indicating whether the NIC has accelerated networking enabled. */
+ enableAcceleratedNetworkingOnRecovery?: boolean;
+ /** The network to be used by NIC during test failover. */
+ tfoVMNetworkId?: string;
+ /** The NSG to be used by NIC during test failover. */
+ tfoNetworkSecurityGroupId?: string;
+ /** Whether the TFO NIC has accelerated networking enabled. */
+ enableAcceleratedNetworkingOnTfo?: boolean;
+ /** The name of the NIC to be used when creating target NICs. */
+ recoveryNicName?: string;
+ /** The resource group of the NIC to be used when creating target NICs. */
+ recoveryNicResourceGroupName?: string;
+ /** A value indicating whether an existing NIC is allowed to be reused during failover subject to availability. */
+ reuseExistingNic?: boolean;
+ /** The name of the NIC to be used when creating target NICs in TFO. */
+ tfoRecoveryNicName?: string;
+ /** The resource group of the NIC to be used when creating target NICs in TFO. */
+ tfoRecoveryNicResourceGroupName?: string;
+ /** A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability. */
+ tfoReuseExistingNic?: boolean;
+ /** Target NIC name. */
+ targetNicName?: string;
+}
+
+export interface IPConfigDetails {
+ name?: string;
+ isPrimary?: boolean;
+ subnetName?: string;
+ staticIPAddress?: string;
+ ipAddressType?: string;
+ isSeletedForFailover?: boolean;
+ recoverySubnetName?: string;
+ recoveryStaticIPAddress?: string;
+ recoveryIPAddressType?: string;
+ recoveryPublicIPAddressId?: string;
+ recoveryLBBackendAddressPoolIds?: string[];
+ tfoSubnetName?: string;
+ tfoStaticIPAddress?: string;
+ tfoPublicIPAddressId?: string;
+ tfoLBBackendAddressPoolIds?: string[];
+}
+
+/** Azure to Azure VM synced configuration details. */
+export interface AzureToAzureVmSyncedConfigDetails {
+ /** The Azure VM tags. */
+ tags?: { [propertyName: string]: string };
+ /** The Azure VM input endpoints. */
+ inputEndpoints?: InputEndpoint[];
+}
+
+export interface InputEndpoint {
+ endpointName?: string;
+ privatePort?: number;
+ publicPort?: number;
+ protocol?: string;
+}
+
+/** A2A Vm managed disk update details. */
+export interface A2AVmManagedDiskUpdateDetails {
+ /** The disk Id. */
+ diskId?: string;
+ /** The target disk type before failover. */
+ recoveryTargetDiskAccountType?: string;
+ /** The replica disk type before failover. */
+ recoveryReplicaDiskAccountType?: string;
+ /** The recovery os disk encryption information. */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ /** The target disk name for unplanned failover operation. */
+ failoverDiskName?: string;
+ /** The target disk name for test failover operation. */
+ tfoDiskName?: string;
+}
+
+/** Zone details data. */
+export interface A2AZoneDetails {
+ /** Source zone info. */
+ source?: string;
+ /** The target zone info. */
+ target?: string;
+}
+
+/** Agent details. */
+export interface AgentDetails {
/**
- * @member {number} [replicationInterval] The replication interval.
+ * The Id of the agent running on the server.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationInterval?: number;
+ readonly agentId?: string;
/**
- * @member {string} [onlineReplicationStartTime] The scheduled start time for
- * the initial replication. If this parameter is Null, the initial
- * replication starts immediately.
+ * The Id of the machine to which the agent is registered.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlineReplicationStartTime?: string;
+ readonly machineId?: string;
/**
- * @member {string[]} [storageAccounts] The list of storage accounts to which
- * the VMs in the primary cloud can replicate to.
+ * The machine BIOS Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- storageAccounts?: string[];
-}
-
-/**
- * @interface
- * An interface representing InitialReplicationDetails.
- * Initial replication details.
- *
- */
-export interface InitialReplicationDetails {
+ readonly biosId?: string;
/**
- * @member {string} [initialReplicationType] Initial replication type.
+ * The machine FQDN.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationType?: string;
+ readonly fqdn?: string;
/**
- * @member {string} [initialReplicationProgressPercentage] The initial
- * replication progress percentage.
+ * The disks.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationProgressPercentage?: string;
+ readonly disks?: AgentDiskDetails[];
}
-/**
- * @interface
- * An interface representing OSDetails.
- * Disk Details.
- *
- */
-export interface OSDetails {
- /**
- * @member {string} [osType] VM Disk details.
- */
- osType?: string;
+/** Agent disk details. */
+export interface AgentDiskDetails {
/**
- * @member {string} [productType] Product type.
+ * The disk Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- productType?: string;
+ readonly diskId?: string;
/**
- * @member {string} [osEdition] The OSEdition.
+ * The disk name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- osEdition?: string;
+ readonly diskName?: string;
/**
- * @member {string} [oSVersion] The OS Version.
+ * A value indicating whether the disk is the OS disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- oSVersion?: string;
+ readonly isOSDisk?: string;
/**
- * @member {string} [oSMajorVersion] The OS Major Version.
+ * The disk capacity in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- oSMajorVersion?: string;
+ readonly capacityInBytes?: number;
/**
- * @member {string} [oSMinorVersion] The OS Minor Version.
+ * The lun of disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- oSMinorVersion?: string;
+ readonly lunId?: number;
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureReplicationDetails.
- * Hyper V Replica Azure provider specific settings.
- *
- */
-export interface HyperVReplicaAzureReplicationDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {AzureVmDiskDetails[]} [azureVmDiskDetails] Azure VM Disk details.
- */
- azureVmDiskDetails?: AzureVmDiskDetails[];
- /**
- * @member {string} [recoveryAzureVmName] Recovery Azure given name.
- */
- recoveryAzureVmName?: string;
+/** Query parameter to get appliance. */
+export interface ApplianceQueryParameter {
+ /** The providerType to be used for fetching appliance details. */
+ providerType?: string;
+}
+
+/** Disk details for E2A provider. */
+export interface AzureVmDiskDetails {
+ /** VHD type. */
+ vhdType?: string;
+ /** The VHD id. */
+ vhdId?: string;
+ /** The disk resource id. */
+ diskId?: string;
+ /** VHD name. */
+ vhdName?: string;
+ /** Max side in MB. */
+ maxSizeMB?: string;
+ /** Blob uri of the Azure disk. */
+ targetDiskLocation?: string;
+ /** The target Azure disk name. */
+ targetDiskName?: string;
+ /** Ordinal\LunId of the disk for the Azure VM. */
+ lunId?: string;
+ /** The DiskEncryptionSet ARM ID. */
+ diskEncryptionSetId?: string;
+ /** The custom target Azure disk name. */
+ customTargetDiskName?: string;
+}
+
+/** This class stores the monitoring details for consistency check of inconsistent Protected Entity. */
+export interface InconsistentVmDetails {
+ /** The Vm name. */
+ vmName?: string;
+ /** The Cloud name. */
+ cloudName?: string;
+ /** The list of details regarding state of the Protected Entity in SRS and On prem. */
+ details?: string[];
+ /** The list of error ids. */
+ errorIds?: string[];
+}
+
+/** The datastore details of the MT. */
+export interface DataStore {
+ /** The symbolic name of data store. */
+ symbolicName?: string;
+ /** The uuid of data store. */
+ uuid?: string;
+ /** The capacity of data store in GBs. */
+ capacity?: string;
+ /** The free space of data store in GBs. */
+ freeSpace?: string;
+ /** The type of data store. */
+ type?: string;
+}
+
+/** Onprem disk details data. */
+export interface DiskDetails {
+ /** The hard disk max size in MB. */
+ maxSizeMB?: number;
+ /** The type of the volume. */
+ vhdType?: string;
+ /** The VHD Id. */
+ vhdId?: string;
+ /** The VHD name. */
+ vhdName?: string;
+}
+
+/** Volume details. */
+export interface DiskVolumeDetails {
+ /** The volume label. */
+ label?: string;
+ /** The volume name. */
+ name?: string;
+}
+
+/** DRA details. */
+export interface DraDetails {
/**
- * @member {string} [recoveryAzureVMSize] The Recovery Azure VM size.
+ * The DRA Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureVMSize?: string;
+ readonly id?: string;
/**
- * @member {string} [recoveryAzureStorageAccount] The recovery Azure storage
- * account.
+ * The DRA name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureStorageAccount?: string;
+ readonly name?: string;
/**
- * @member {string} [recoveryAzureLogStorageAccountId] The ARM id of the log
- * storage account used for replication. This will be set to null if no log
- * storage account was provided during enable protection.
+ * The DRA Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureLogStorageAccountId?: string;
+ readonly biosId?: string;
/**
- * @member {Date} [lastReplicatedTime] The Last replication time.
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastReplicatedTime?: Date;
+ readonly version?: string;
/**
- * @member {number} [rpoInSeconds] Last RPO value.
+ * The last heartbeat received from the DRA.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- rpoInSeconds?: number;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {Date} [lastRpoCalculatedTime] The last RPO calculated time.
+ * The health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastRpoCalculatedTime?: Date;
+ readonly health?: ProtectionHealth;
/**
- * @member {string} [vmId] The virtual machine Id.
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmId?: string;
+ readonly healthErrors?: HealthError[];
/**
- * @member {string} [vmProtectionState] The protection state for the vm.
+ * The count of protected items which are protected in forward direction.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionState?: string;
+ readonly forwardProtectedItemCount?: number;
/**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
+ * The count of protected items which are protected in reverse direction.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionStateDescription?: string;
+ readonly reverseProtectedItemCount?: number;
+}
+
+/** Implements the event query parameter. */
+export interface EventQueryParameter {
+ /** The source id of the events to be queried. */
+ eventCode?: string;
+ /** The severity of the events to be queried. */
+ severity?: string;
+ /** The type of the events to be queried. */
+ eventType?: string;
+ /** The affected object server id of the events to be queried. */
+ fabricName?: string;
+ /** The affected object name of the events to be queried. */
+ affectedObjectFriendlyName?: string;
+ /** The affected object correlationId for the events to be queried. */
+ affectedObjectCorrelationId?: string;
+ /** The start time of the time range within which the events are to be queried. */
+ startTime?: Date;
+ /** The end time of the time range within which the events are to be queried. */
+ endTime?: Date;
+}
+
+/** Query parameter to get fabric. */
+export interface FabricQueryParameter {
+ /** A value indicating whether the zone to zone mappings are to be returned. */
+ zoneToZoneMappings?: string;
+ /** A value indicating whether the agent details are to be fetched. */
+ fetchAgentDetails?: string;
+ /** The BIOS Id to be used for fetching agent details. */
+ biosId?: string;
+ /** The FQDN to be used for fetching agent details. */
+ fqdn?: string;
+ /** The type of the discovered machine to be used for fetching agent details. */
+ discoveryType?: string;
+ /** The OS type to be used for fetching agent details. */
+ osType?: string;
+}
+
+/** This class contains the minimal job details required to navigate to the desired drill down. */
+export interface JobEntity {
+ /** The job id. */
+ jobId?: string;
+ /** The job display name. */
+ jobFriendlyName?: string;
+ /** The object id. */
+ targetObjectId?: string;
+ /** The object name. */
+ targetObjectName?: string;
+ /** The workflow affected object type. */
+ targetInstanceType?: string;
+ /** The job name. Enum type ScenarioName. */
+ jobScenarioName?: string;
+}
+
+/** Failover details for a replication protected item. */
+export interface FailoverReplicationProtectedItemDetails {
+ /** The name. */
+ name?: string;
+ /** The friendly name. */
+ friendlyName?: string;
+ /** The test Vm name. */
+ testVmName?: string;
+ /** The test Vm friendly name. */
+ testVmFriendlyName?: string;
+ /** The network connection status. */
+ networkConnectionStatus?: string;
+ /** The network friendly name. */
+ networkFriendlyName?: string;
+ /** The network subnet. */
+ subnet?: string;
+ /** The recovery point Id. */
+ recoveryPointId?: string;
+ /** The recovery point time. */
+ recoveryPointTime?: Date;
+}
+
+/** Hyper-V host details. */
+export interface HyperVHostDetails {
/**
- * @member {InitialReplicationDetails} [initialReplicationDetails] Initial
- * replication details.
+ * The Hyper-V host Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationDetails?: InitialReplicationDetails;
+ readonly id?: string;
/**
- * @member {VMNicDetails[]} [vmNics] The PE Network details.
+ * The Hyper-V host name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmNics?: VMNicDetails[];
+ readonly name?: string;
/**
- * @member {string} [selectedRecoveryAzureNetworkId] The selected recovery
- * azure network Id.
+ * The Mars agent version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- selectedRecoveryAzureNetworkId?: string;
+ readonly marsAgentVersion?: string;
+}
+
+/** Disk input details. */
+export interface HyperVReplicaAzureDiskInputDetails {
+ /** The DiskId. */
+ diskId?: string;
+ /** The LogStorageAccountId. */
+ logStorageAccountId?: string;
+ /** The DiskType. */
+ diskType?: DiskAccountType;
+ /** The DiskEncryptionSet ARM ID. */
+ diskEncryptionSetId?: string;
+}
+
+/** Hyper-V Managed disk details. */
+export interface HyperVReplicaAzureManagedDiskDetails {
+ /** The disk Id. */
+ diskId?: string;
+ /** Seed managed disk Id. */
+ seedManagedDiskId?: string;
+ /** The replica disk type. */
+ replicaDiskType?: string;
+ /** The disk encryption set ARM Id. */
+ diskEncryptionSetId?: string;
+}
+
+/** Initial replication details. */
+export interface InitialReplicationDetails {
+ /** Initial replication type. */
+ initialReplicationType?: string;
+ /** The initial replication progress percentage. */
+ initialReplicationProgressPercentage?: string;
+}
+
+/** Disk Details. */
+export interface OSDetails {
+ /** VM Disk details. */
+ osType?: string;
+ /** Product type. */
+ productType?: string;
+ /** The OSEdition. */
+ osEdition?: string;
+ /** The OS Version. */
+ oSVersion?: string;
+ /** The OS Major Version. */
+ oSMajorVersion?: string;
+ /** The OS Minor Version. */
+ oSMinorVersion?: string;
+}
+
+/** Disk input for update. */
+export interface UpdateDiskInput {
+ /** The disk Id. */
+ diskId: string;
+ /** The target disk name. */
+ targetDiskName?: string;
+}
+
+/** The details of the InMage agent. */
+export interface InMageAgentDetails {
+ /** The agent version. */
+ agentVersion?: string;
+ /** A value indicating whether installed agent needs to be updated. */
+ agentUpdateStatus?: string;
+ /** A value indicating whether reboot is required after update is applied. */
+ postUpdateRebootStatus?: string;
+ /** Agent expiry date. */
+ agentExpiryDate?: Date;
+}
+
+/** Disk input details. */
+export interface InMageAzureV2DiskInputDetails {
+ /** The DiskId. */
+ diskId?: string;
+ /** The LogStorageAccountId. */
+ logStorageAccountId?: string;
+ /** The DiskType. */
+ diskType?: DiskAccountType;
+ /** The DiskEncryptionSet ARM ID. */
+ diskEncryptionSetId?: string;
+}
+
+/** InMageAzureV2 Managed disk details. */
+export interface InMageAzureV2ManagedDiskDetails {
+ /** The disk id. */
+ diskId?: string;
+ /** Seed managed disk Id. */
+ seedManagedDiskId?: string;
+ /** The replica disk type. */
+ replicaDiskType?: string;
+ /** The DiskEncryptionSet ARM ID. */
+ diskEncryptionSetId?: string;
+ /** The target disk name. */
+ targetDiskName?: string;
+}
+
+/** InMageAzureV2 protected disk details. */
+export interface InMageAzureV2ProtectedDiskDetails {
+ /** The disk id. */
+ diskId?: string;
+ /** The disk name. */
+ diskName?: string;
+ /** The protection stage. */
+ protectionStage?: string;
+ /** The health error code for the disk. */
+ healthErrorCode?: string;
+ /** The RPO in seconds. */
+ rpoInSeconds?: number;
+ /** A value indicating whether resync is required for this disk. */
+ resyncRequired?: string;
+ /** The resync progress percentage. */
+ resyncProgressPercentage?: number;
+ /** The resync duration in seconds. */
+ resyncDurationInSeconds?: number;
+ /** The disk capacity in bytes. */
+ diskCapacityInBytes?: number;
+ /** The disk file system capacity in bytes. */
+ fileSystemCapacityInBytes?: number;
+ /** The source data transit in MB. */
+ sourceDataInMegaBytes?: number;
+ /** The PS data transit in MB. */
+ psDataInMegaBytes?: number;
+ /** The target data transit in MB. */
+ targetDataInMegaBytes?: number;
+ /** A value indicating whether disk is resized. */
+ diskResized?: string;
+ /** The last RPO calculated time. */
+ lastRpoCalculatedTime?: Date;
+ /** The resync processed bytes. */
+ resyncProcessedBytes?: number;
+ /** The resync total transferred bytes. */
+ resyncTotalTransferredBytes?: number;
+ /** The resync last 15 minutes transferred bytes. */
+ resyncLast15MinutesTransferredBytes?: number;
+ /** The last data transfer time in UTC. */
+ resyncLastDataTransferTimeUTC?: Date;
+ /** The resync start time. */
+ resyncStartTime?: Date;
+ /** The Progress Health. */
+ progressHealth?: string;
+ /** The Progress Status. */
+ progressStatus?: string;
+ /** The seconds to take for switch provider. */
+ secondsToTakeSwitchProvider?: number;
+}
+
+/** InMageAzureV2 switch provider blocking error details. */
+export interface InMageAzureV2SwitchProviderBlockingErrorDetails {
/**
- * @member {string} [selectedSourceNicId] The selected source nic Id which
- * will be used as the primary nic during failover.
+ * The error code.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- selectedSourceNicId?: string;
+ readonly errorCode?: string;
/**
- * @member {string} [encryption] The encryption info.
+ * The error message.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- encryption?: string;
+ readonly errorMessage?: string;
/**
- * @member {OSDetails} [oSDetails] The operating system info.
+ * The possible causes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- oSDetails?: OSDetails;
+ readonly possibleCauses?: string;
/**
- * @member {number} [sourceVmRamSizeInMB] The RAM size of the VM on the
- * primary side.
+ * The recommended action.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceVmRamSizeInMB?: number;
+ readonly recommendedAction?: string;
/**
- * @member {number} [sourceVmCpuCount] The CPU count of the VM on the primary
- * side.
+ * The error message parameters.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceVmCpuCount?: number;
+ readonly errorMessageParameters?: { [propertyName: string]: string };
/**
- * @member {string} [enableRdpOnTargetOption] The selected option to enable
- * RDP\SSH on target vm after failover. String value of
- * {SrsDataContract.EnableRDPOnTargetOption} enum.
+ * The error tags.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- enableRdpOnTargetOption?: string;
+ readonly errorTags?: { [propertyName: string]: string };
+}
+
+/** InMageAzureV2 switch provider details. */
+export interface InMageAzureV2SwitchProviderDetails {
/**
- * @member {string} [recoveryAzureResourceGroupId] The target resource group
- * Id.
+ * The target vault Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureResourceGroupId?: string;
+ readonly targetVaultId?: string;
/**
- * @member {string} [recoveryAvailabilitySetId] The recovery availability set
- * Id.
+ * The target resource Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAvailabilitySetId?: string;
+ readonly targetResourceId?: string;
/**
- * @member {string} [useManagedDisks] A value indicating whether managed
- * disks should be used during failover.
+ * The target fabric Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- useManagedDisks?: string;
+ readonly targetFabricId?: string;
/**
- * @member {string} [licenseType] License Type of the VM to be used.
+ * The target appliance Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- licenseType?: string;
+ readonly targetApplianceId?: string;
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureReprotectInput.
- * Azure specific reprotect input.
- *
- */
-export interface HyperVReplicaAzureReprotectInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
+/** VMware/Physical specific Disk Details. */
+export interface InMageDiskDetails {
+ /** The disk Id. */
+ diskId?: string;
+ /** The disk name. */
+ diskName?: string;
+ /** The disk size in MB. */
+ diskSizeInMB?: string;
+ /** Whether disk is system disk or data disk. */
+ diskType?: string;
+ /** Whether disk is dynamic disk or basic disk. */
+ diskConfiguration?: string;
+ /** Volumes of the disk. */
+ volumeList?: DiskVolumeDetails[];
+}
+
+/** DiskExclusionInput when doing enable protection of virtual machine in InMage provider. */
+export interface InMageDiskExclusionInput {
+ /** The volume label based option for disk exclusion. */
+ volumeOptions?: InMageVolumeExclusionOptions[];
+ /** The guest disk signature based option for disk exclusion. */
+ diskSignatureOptions?: InMageDiskSignatureExclusionOptions[];
+}
+
+/** Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider. */
+export interface InMageVolumeExclusionOptions {
+ /** The volume label. The disk having any volume with this label will be excluded from replication. */
+ volumeLabel?: string;
+ /** The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false. */
+ onlyExcludeIfSingleVolume?: string;
+}
+
+/** Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider. */
+export interface InMageDiskSignatureExclusionOptions {
+ /** The guest signature of disk to be excluded from replication. */
+ diskSignature?: string;
+}
+
+/** InMageFabric switch provider blocking error details. */
+export interface InMageFabricSwitchProviderBlockingErrorDetails {
/**
- * @member {string} [hvHostVmId] The Hyper-V host Vm Id.
+ * The error code.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- hvHostVmId?: string;
+ readonly errorCode?: string;
/**
- * @member {string} [vmName] The Vm Name.
+ * The error message.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmName?: string;
+ readonly errorMessage?: string;
/**
- * @member {string} [osType] The OS type associated with vm.
+ * The possible causes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- osType?: string;
+ readonly possibleCauses?: string;
/**
- * @member {string} [vHDId] The OS disk VHD id associated with vm.
+ * The recommended action.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vHDId?: string;
+ readonly recommendedAction?: string;
/**
- * @member {string} [storageAccountId] The storage account name.
+ * The error message parameters.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- storageAccountId?: string;
+ readonly errorMessageParameters?: { [propertyName: string]: string };
/**
- * @member {string} [logStorageAccountId] The storage account to be used for
- * logging during replication.
+ * The error tags.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- logStorageAccountId?: string;
+ readonly errorTags?: { [propertyName: string]: string };
}
-/**
- * @interface
- * An interface representing HyperVReplicaAzureUpdateReplicationProtectedItemInput.
- * HyperV replica Azure input to update replication protected item.
- *
- */
-export interface HyperVReplicaAzureUpdateReplicationProtectedItemInput {
+/** InMage protected disk details. */
+export interface InMageProtectedDiskDetails {
+ /** The disk id. */
+ diskId?: string;
+ /** The disk name. */
+ diskName?: string;
+ /** The protection stage. */
+ protectionStage?: string;
+ /** The health error code for the disk. */
+ healthErrorCode?: string;
+ /** The RPO in seconds. */
+ rpoInSeconds?: number;
+ /** A value indicating whether resync is required for this disk. */
+ resyncRequired?: string;
+ /** The resync progress percentage. */
+ resyncProgressPercentage?: number;
+ /** The resync duration in seconds. */
+ resyncDurationInSeconds?: number;
+ /** The disk capacity in bytes. */
+ diskCapacityInBytes?: number;
+ /** The file system capacity in bytes. */
+ fileSystemCapacityInBytes?: number;
+ /** The source data transit in MB. */
+ sourceDataInMB?: number;
+ /** The PS data transit in MB. */
+ psDataInMB?: number;
+ /** The target data transit in MB. */
+ targetDataInMB?: number;
+ /** A value indicating whether disk is resized. */
+ diskResized?: string;
+ /** The last RPO calculated time. */
+ lastRpoCalculatedTime?: Date;
+ /** The resync processed bytes. */
+ resyncProcessedBytes?: number;
+ /** The resync total transferred bytes. */
+ resyncTotalTransferredBytes?: number;
+ /** The resync last 15 minutes transferred bytes. */
+ resyncLast15MinutesTransferredBytes?: number;
+ /** The last data transfer time in UTC. */
+ resyncLastDataTransferTimeUTC?: Date;
+ /** The resync start time. */
+ resyncStartTime?: Date;
+ /** The Progress Health. */
+ progressHealth?: string;
+ /** The Progress Status. */
+ progressStatus?: string;
+}
+
+/** InMageRcm source agent upgrade blocking error details. */
+export interface InMageRcmAgentUpgradeBlockingErrorDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The error code.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplicaAzure";
+ readonly errorCode?: string;
/**
- * @member {string} [recoveryAzureV1ResourceGroupId] The recovery Azure
- * resource group Id for classic deployment.
+ * The error message.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureV1ResourceGroupId?: string;
+ readonly errorMessage?: string;
/**
- * @member {string} [recoveryAzureV2ResourceGroupId] The recovery Azure
- * resource group Id for resource manager deployment.
+ * The possible causes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureV2ResourceGroupId?: string;
+ readonly possibleCauses?: string;
/**
- * @member {string} [useManagedDisks] A value indicating whether managed
- * disks should be used during failover.
+ * The recommended action.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- useManagedDisks?: string;
-}
-
-/**
- * @interface
- * An interface representing HyperVReplicaBaseEventDetails.
- * Abstract model class for event details of a HyperVReplica E2E event.
- *
- */
-export interface HyperVReplicaBaseEventDetails {
+ readonly recommendedAction?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The error message parameters.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplicaBaseEventDetails";
+ readonly errorMessageParameters?: { [propertyName: string]: string };
/**
- * @member {string} [containerName] The container friendly name.
+ * The error tags.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- containerName?: string;
+ readonly errorTags?: { [propertyName: string]: string };
+}
+
+/** InMageRcm appliance details. */
+export interface InMageRcmApplianceDetails {
/**
- * @member {string} [fabricName] The fabric friendly name.
+ * The appliance Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- fabricName?: string;
+ readonly id?: string;
/**
- * @member {string} [remoteContainerName] The remote container name.
+ * The appliance name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- remoteContainerName?: string;
+ readonly name?: string;
/**
- * @member {string} [remoteFabricName] The remote fabric name.
+ * The fabric ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- remoteFabricName?: string;
-}
-
-/**
- * @interface
- * An interface representing HyperVReplicaBasePolicyDetails.
- * Base class for HyperVReplica policy details.
- *
- */
-export interface HyperVReplicaBasePolicyDetails {
+ readonly fabricArmId?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The process server.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplicaBasePolicyDetails";
+ readonly processServer?: ProcessServerDetails;
/**
- * @member {number} [recoveryPoints] A value indicating the number of
- * recovery points.
+ * The of RCM proxy.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPoints?: number;
+ readonly rcmProxy?: RcmProxyDetails;
/**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] A value
- * indicating the application consistent frequency.
+ * The push installer.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- applicationConsistentSnapshotFrequencyInHours?: number;
+ readonly pushInstaller?: PushInstallerDetails;
/**
- * @member {string} [compression] A value indicating whether compression has
- * to be enabled.
+ * The replication agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- compression?: string;
+ readonly replicationAgent?: ReplicationAgentDetails;
/**
- * @member {string} [initialReplicationMethod] A value indicating whether IR
- * is online.
+ * The reprotect agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationMethod?: string;
+ readonly reprotectAgent?: ReprotectAgentDetails;
/**
- * @member {string} [onlineReplicationStartTime] A value indicating the
- * online IR start time.
+ * The Mars agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlineReplicationStartTime?: string;
+ readonly marsAgent?: MarsAgentDetails;
/**
- * @member {string} [offlineReplicationImportPath] A value indicating the
- * offline IR import path.
+ * The DRA.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationImportPath?: string;
+ readonly dra?: DraDetails;
/**
- * @member {string} [offlineReplicationExportPath] A value indicating the
- * offline IR export path.
+ * The switch provider blocking error information.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationExportPath?: string;
+ readonly switchProviderBlockingErrorDetails?: InMageRcmFabricSwitchProviderBlockingErrorDetails[];
+}
+
+/** Process server details. */
+export interface ProcessServerDetails {
/**
- * @member {number} [replicationPort] A value indicating the recovery HTTPS
- * port.
+ * The process server Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationPort?: number;
+ readonly id?: string;
/**
- * @member {number} [allowedAuthenticationType] A value indicating the
- * authentication type.
+ * The process server name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- allowedAuthenticationType?: number;
+ readonly name?: string;
/**
- * @member {string} [replicaDeletionOption] A value indicating whether the VM
- * has to be auto deleted. Supported Values: String.Empty, None,
- * OnRecoveryCloud
+ * The process server Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaDeletionOption?: string;
-}
-
-/**
- * @interface
- * An interface representing HyperVReplicaBaseReplicationDetails.
- * Hyper V replica provider specific settings base class.
- *
- */
-export interface HyperVReplicaBaseReplicationDetails {
+ readonly biosId?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The fabric object Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplicaBaseReplicationDetails";
+ readonly fabricObjectId?: string;
/**
- * @member {Date} [lastReplicatedTime] The Last replication time.
+ * The process server Fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastReplicatedTime?: Date;
+ readonly fqdn?: string;
/**
- * @member {VMNicDetails[]} [vmNics] The PE Network details.
+ * The list of IP addresses for communicating with the RCM component.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmNics?: VMNicDetails[];
+ readonly ipAddresses?: string[];
/**
- * @member {string} [vmId] The virtual machine Id.
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmId?: string;
+ readonly version?: string;
/**
- * @member {string} [vmProtectionState] The protection state for the vm.
+ * The last heartbeat received from the process server.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionState?: string;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
+ * The total memory.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionStateDescription?: string;
+ readonly totalMemoryInBytes?: number;
/**
- * @member {InitialReplicationDetails} [initialReplicationDetails] Initial
- * replication details.
+ * The available memory.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationDetails?: InitialReplicationDetails;
+ readonly availableMemoryInBytes?: number;
/**
- * @member {DiskDetails[]} [vMDiskDetails] VM disk details.
+ * The used memory.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vMDiskDetails?: DiskDetails[];
-}
-
-/**
- * @interface
- * An interface representing HyperVReplicaBluePolicyDetails.
- * Hyper-V Replica Blue specific protection profile details.
- *
- */
-export interface HyperVReplicaBluePolicyDetails {
+ readonly usedMemoryInBytes?: number;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The memory usage percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplica2012R2";
+ readonly memoryUsagePercentage?: number;
/**
- * @member {number} [replicationFrequencyInSeconds] A value indicating the
- * replication interval.
+ * The total disk space.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationFrequencyInSeconds?: number;
+ readonly totalSpaceInBytes?: number;
/**
- * @member {number} [recoveryPoints] A value indicating the number of
- * recovery points.
+ * The available disk space.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPoints?: number;
+ readonly availableSpaceInBytes?: number;
/**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] A value
- * indicating the application consistent frequency.
+ * The used disk space.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- applicationConsistentSnapshotFrequencyInHours?: number;
+ readonly usedSpaceInBytes?: number;
/**
- * @member {string} [compression] A value indicating whether compression has
- * to be enabled.
+ * The free disk space percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- compression?: string;
+ readonly freeSpacePercentage?: number;
/**
- * @member {string} [initialReplicationMethod] A value indicating whether IR
- * is online.
+ * The uploading pending data in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationMethod?: string;
+ readonly throughputUploadPendingDataInBytes?: number;
/**
- * @member {string} [onlineReplicationStartTime] A value indicating the
- * online IR start time.
+ * The throughput in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlineReplicationStartTime?: string;
+ readonly throughputInBytes?: number;
/**
- * @member {string} [offlineReplicationImportPath] A value indicating the
- * offline IR import path.
+ * The processor usage percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationImportPath?: string;
+ readonly processorUsagePercentage?: number;
/**
- * @member {string} [offlineReplicationExportPath] A value indicating the
- * offline IR export path.
+ * The throughput status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationExportPath?: string;
+ readonly throughputStatus?: RcmComponentStatus;
/**
- * @member {number} [replicationPort] A value indicating the recovery HTTPS
- * port.
+ * The system load.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationPort?: number;
+ readonly systemLoad?: number;
/**
- * @member {number} [allowedAuthenticationType] A value indicating the
- * authentication type.
+ * The system load status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- allowedAuthenticationType?: number;
+ readonly systemLoadStatus?: RcmComponentStatus;
/**
- * @member {string} [replicaDeletionOption] A value indicating whether the VM
- * has to be auto deleted. Supported Values: String.Empty, None,
- * OnRecoveryCloud
+ * The disk usage status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaDeletionOption?: string;
-}
-
-/**
- * @interface
- * An interface representing HyperVReplicaBluePolicyInput.
- * HyperV Replica Blue policy input.
- *
- */
-export interface HyperVReplicaBluePolicyInput {
+ readonly diskUsageStatus?: RcmComponentStatus;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The memory usage status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplica2012R2";
+ readonly memoryUsageStatus?: RcmComponentStatus;
/**
- * @member {number} [replicationFrequencyInSeconds] A value indicating the
- * replication interval.
+ * The processor usage status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationFrequencyInSeconds?: number;
+ readonly processorUsageStatus?: RcmComponentStatus;
/**
- * @member {number} [recoveryPoints] A value indicating the number of
- * recovery points.
+ * The health of the process server.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPoints?: number;
+ readonly health?: ProtectionHealth;
/**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] A value
- * indicating the application consistent frequency.
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- applicationConsistentSnapshotFrequencyInHours?: number;
+ readonly healthErrors?: HealthError[];
/**
- * @member {string} [compression] A value indicating whether compression has
- * to be enabled.
+ * The protected item count.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- compression?: string;
+ readonly protectedItemCount?: number;
/**
- * @member {string} [initialReplicationMethod] A value indicating whether IR
- * is online.
+ * The historic health of the process server based on the health in last 24 hours.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationMethod?: string;
+ readonly historicHealth?: ProtectionHealth;
+}
+
+/** RCM proxy details. */
+export interface RcmProxyDetails {
/**
- * @member {string} [onlineReplicationStartTime] A value indicating the
- * online IR start time.
+ * The RCM proxy Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlineReplicationStartTime?: string;
+ readonly id?: string;
/**
- * @member {string} [offlineReplicationImportPath] A value indicating the
- * offline IR import path.
+ * The RCM proxy name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationImportPath?: string;
+ readonly name?: string;
/**
- * @member {string} [offlineReplicationExportPath] A value indicating the
- * offline IR export path.
+ * The RCM proxy Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationExportPath?: string;
+ readonly biosId?: string;
/**
- * @member {number} [replicationPort] A value indicating the recovery HTTPS
- * port.
+ * The fabric object Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationPort?: number;
+ readonly fabricObjectId?: string;
/**
- * @member {number} [allowedAuthenticationType] A value indicating the
- * authentication type.
+ * The RCM proxy Fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- allowedAuthenticationType?: number;
+ readonly fqdn?: string;
/**
- * @member {string} [replicaDeletion] A value indicating whether the VM has
- * to be auto deleted.
+ * The client authentication type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaDeletion?: string;
+ readonly clientAuthenticationType?: string;
+ /**
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly version?: string;
+ /**
+ * The last heartbeat received from the RCM proxy.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly lastHeartbeatUtc?: Date;
+ /**
+ * The health of the RCM proxy.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly health?: ProtectionHealth;
+ /**
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly healthErrors?: HealthError[];
}
-/**
- * @interface
- * An interface representing HyperVReplicaBlueReplicationDetails.
- * HyperV replica 2012 R2 (Blue) replication details.
- *
- */
-export interface HyperVReplicaBlueReplicationDetails {
+/** Push installer details. */
+export interface PushInstallerDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The push installer Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplica2012R2";
+ readonly id?: string;
/**
- * @member {Date} [lastReplicatedTime] The Last replication time.
+ * The push installer name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastReplicatedTime?: Date;
+ readonly name?: string;
/**
- * @member {VMNicDetails[]} [vmNics] The PE Network details.
+ * The push installer Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmNics?: VMNicDetails[];
+ readonly biosId?: string;
/**
- * @member {string} [vmId] The virtual machine Id.
+ * The fabric object Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmId?: string;
+ readonly fabricObjectId?: string;
/**
- * @member {string} [vmProtectionState] The protection state for the vm.
+ * The push installer Fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionState?: string;
+ readonly fqdn?: string;
/**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionStateDescription?: string;
+ readonly version?: string;
/**
- * @member {InitialReplicationDetails} [initialReplicationDetails] Initial
- * replication details.
+ * The last heartbeat received from the push installer.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationDetails?: InitialReplicationDetails;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {DiskDetails[]} [vMDiskDetails] VM disk details.
+ * The health of the push installer.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vMDiskDetails?: DiskDetails[];
+ readonly health?: ProtectionHealth;
+ /**
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly healthErrors?: HealthError[];
}
-/**
- * @interface
- * An interface representing HyperVReplicaPolicyDetails.
- * Hyper-V Replica Blue specific protection profile details.
- *
- */
-export interface HyperVReplicaPolicyDetails {
+/** Replication agent details. */
+export interface ReplicationAgentDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The replication agent Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplica2012";
+ readonly id?: string;
/**
- * @member {number} [recoveryPoints] A value indicating the number of
- * recovery points.
+ * The replication agent name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPoints?: number;
+ readonly name?: string;
/**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] A value
- * indicating the application consistent frequency.
+ * The replication agent Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- applicationConsistentSnapshotFrequencyInHours?: number;
+ readonly biosId?: string;
/**
- * @member {string} [compression] A value indicating whether compression has
- * to be enabled.
+ * The fabric object Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- compression?: string;
+ readonly fabricObjectId?: string;
/**
- * @member {string} [initialReplicationMethod] A value indicating whether IR
- * is online.
+ * The replication agent Fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationMethod?: string;
+ readonly fqdn?: string;
/**
- * @member {string} [onlineReplicationStartTime] A value indicating the
- * online IR start time.
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlineReplicationStartTime?: string;
+ readonly version?: string;
/**
- * @member {string} [offlineReplicationImportPath] A value indicating the
- * offline IR import path.
+ * The last heartbeat received from the replication agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationImportPath?: string;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {string} [offlineReplicationExportPath] A value indicating the
- * offline IR export path.
+ * The health of the replication agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationExportPath?: string;
+ readonly health?: ProtectionHealth;
/**
- * @member {number} [replicationPort] A value indicating the recovery HTTPS
- * port.
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationPort?: number;
+ readonly healthErrors?: HealthError[];
+}
+
+/** Reprotect agent details. */
+export interface ReprotectAgentDetails {
/**
- * @member {number} [allowedAuthenticationType] A value indicating the
- * authentication type.
+ * The reprotect agent Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- allowedAuthenticationType?: number;
+ readonly id?: string;
/**
- * @member {string} [replicaDeletionOption] A value indicating whether the VM
- * has to be auto deleted. Supported Values: String.Empty, None,
- * OnRecoveryCloud
+ * The reprotect agent name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaDeletionOption?: string;
-}
-
-/**
- * @interface
- * An interface representing HyperVReplicaPolicyInput.
- * Hyper-V Replica specific policy Input.
- *
- */
-export interface HyperVReplicaPolicyInput {
+ readonly name?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The reprotect agent Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplica2012";
+ readonly biosId?: string;
/**
- * @member {number} [recoveryPoints] A value indicating the number of
- * recovery points.
+ * The fabric object Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPoints?: number;
+ readonly fabricObjectId?: string;
/**
- * @member {number} [applicationConsistentSnapshotFrequencyInHours] A value
- * indicating the application consistent frequency.
+ * The reprotect agent Fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- applicationConsistentSnapshotFrequencyInHours?: number;
+ readonly fqdn?: string;
/**
- * @member {string} [compression] A value indicating whether compression has
- * to be enabled.
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- compression?: string;
+ readonly version?: string;
/**
- * @member {string} [initialReplicationMethod] A value indicating whether IR
- * is online.
+ * The last heartbeat received from the reprotect agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationMethod?: string;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {string} [onlineReplicationStartTime] A value indicating the
- * online IR start time.
+ * The health of the reprotect agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlineReplicationStartTime?: string;
+ readonly health?: ProtectionHealth;
/**
- * @member {string} [offlineReplicationImportPath] A value indicating the
- * offline IR import path.
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationImportPath?: string;
+ readonly healthErrors?: HealthError[];
/**
- * @member {string} [offlineReplicationExportPath] A value indicating the
- * offline IR export path.
+ * The protected item count.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- offlineReplicationExportPath?: string;
+ readonly protectedItemCount?: number;
/**
- * @member {number} [replicationPort] A value indicating the recovery HTTPS
- * port.
+ * The list of accessible datastores fetched from discovery.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicationPort?: number;
+ readonly accessibleDatastores?: string[];
/**
- * @member {number} [allowedAuthenticationType] A value indicating the
- * authentication type.
+ * The Vcenter Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- allowedAuthenticationType?: number;
+ readonly vcenterId?: string;
/**
- * @member {string} [replicaDeletion] A value indicating whether the VM has
- * to be auto deleted.
+ * The last time when SDS information discovered in SRS.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaDeletion?: string;
+ readonly lastDiscoveryInUtc?: Date;
}
-/**
- * @interface
- * An interface representing HyperVReplicaReplicationDetails.
- * HyperV replica 2012 replication details.
- *
- */
-export interface HyperVReplicaReplicationDetails {
+/** Mars agent details. */
+export interface MarsAgentDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The Mars agent Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVReplica2012";
+ readonly id?: string;
/**
- * @member {Date} [lastReplicatedTime] The Last replication time.
+ * The Mars agent name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastReplicatedTime?: Date;
+ readonly name?: string;
/**
- * @member {VMNicDetails[]} [vmNics] The PE Network details.
+ * The Mars agent Bios Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmNics?: VMNicDetails[];
+ readonly biosId?: string;
/**
- * @member {string} [vmId] The virtual machine Id.
+ * The fabric object Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmId?: string;
+ readonly fabricObjectId?: string;
/**
- * @member {string} [vmProtectionState] The protection state for the vm.
+ * The Mars agent Fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionState?: string;
+ readonly fqdn?: string;
/**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
+ * The version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmProtectionStateDescription?: string;
+ readonly version?: string;
/**
- * @member {InitialReplicationDetails} [initialReplicationDetails] Initial
- * replication details.
+ * The last heartbeat received from the Mars agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- initialReplicationDetails?: InitialReplicationDetails;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {DiskDetails[]} [vMDiskDetails] VM disk details.
+ * The health of the Mars agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vMDiskDetails?: DiskDetails[];
-}
-
-/**
- * @interface
- * An interface representing HyperVSiteDetails.
- * HyperVSite fabric specific details.
- *
- */
-export interface HyperVSiteDetails {
+ readonly health?: ProtectionHealth;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The health errors.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVSite";
+ readonly healthErrors?: HealthError[];
}
-/**
- * @interface
- * An interface representing HyperVVirtualMachineDetails.
- * Single Host fabric provider specific VM settings.
- *
- */
-export interface HyperVVirtualMachineDetails {
+/** InMageRcmFabric switch provider blocking error details. */
+export interface InMageRcmFabricSwitchProviderBlockingErrorDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The error code.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "HyperVVirtualMachine";
+ readonly errorCode?: string;
/**
- * @member {string} [sourceItemId] The source id of the object.
+ * The error message.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceItemId?: string;
+ readonly errorMessage?: string;
/**
- * @member {string} [generation] The id of the object in fabric.
+ * The possible causes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- generation?: string;
+ readonly possibleCauses?: string;
/**
- * @member {OSDetails} [osDetails] The Last replication time.
+ * The recommended action.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- osDetails?: OSDetails;
+ readonly recommendedAction?: string;
/**
- * @member {DiskDetails[]} [diskDetails] The Last successful failover time.
+ * The error message parameters.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskDetails?: DiskDetails[];
+ readonly errorMessageParameters?: { [propertyName: string]: string };
/**
- * @member {PresenceStatus} [hasPhysicalDisk] A value indicating whether the
- * VM has a physical disk attached. String value of
- * {SrsDataContract.PresenceStatus} enum. Possible values include: 'Unknown',
- * 'Present', 'NotPresent'
+ * The error tags.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- hasPhysicalDisk?: PresenceStatus;
+ readonly errorTags?: { [propertyName: string]: string };
+}
+
+/** InMageRcm discovered protected VM details. */
+export interface InMageRcmDiscoveredProtectedVmDetails {
/**
- * @member {PresenceStatus} [hasFibreChannelAdapter] A value indicating
- * whether the VM has a fibre channel adapter attached. String value of
- * {SrsDataContract.PresenceStatus} enum. Possible values include: 'Unknown',
- * 'Present', 'NotPresent'
+ * The VCenter Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- hasFibreChannelAdapter?: PresenceStatus;
+ readonly vCenterId?: string;
/**
- * @member {PresenceStatus} [hasSharedVhd] A value indicating whether the VM
- * has a shared VHD attached. String value of
- * {SrsDataContract.PresenceStatus} enum. Possible values include: 'Unknown',
- * 'Present', 'NotPresent'
+ * The VCenter fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- hasSharedVhd?: PresenceStatus;
-}
-
-/**
- * @interface
- * An interface representing IdentityInformation.
- * Identity details.
- *
- */
-export interface IdentityInformation {
+ readonly vCenterFqdn?: string;
/**
- * @member {IdentityProviderType} [identityProviderType] The identity
- * provider type. Value is the ToString() of a IdentityProviderType value.
- * Possible values include: 'RecoveryServicesActiveDirectory'
+ * The list of datastores.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- identityProviderType?: IdentityProviderType;
+ readonly datastores?: string[];
/**
- * @member {string} [tenantId] The tenant Id for the service principal with
- * which the on-premise management/data plane components would communicate
- * with our Azure services.
+ * The list of IP addresses.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- tenantId?: string;
+ readonly ipAddresses?: string[];
/**
- * @member {string} [applicationId] The application/client Id for the service
- * principal with which the on-premise management/data plane components would
- * communicate with our Azure services.
+ * The VMware tools status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- applicationId?: string;
+ readonly vmwareToolsStatus?: string;
/**
- * @member {string} [objectId] The object Id of the service principal with
- * which the on-premise management/data plane components would communicate
- * with our Azure services.
+ * The VM power status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- objectId?: string;
+ readonly powerStatus?: string;
/**
- * @member {string} [audience] The intended Audience of the service principal
- * with which the on-premise management/data plane components would
- * communicate with our Azure services.
+ * The VM fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- audience?: string;
+ readonly vmFqdn?: string;
/**
- * @member {string} [aadAuthority] The base authority for Azure Active
- * Directory authentication.
+ * The VM's OS name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- aadAuthority?: string;
+ readonly osName?: string;
/**
- * @member {string} [certificateThumbprint] The certificate thumbprint.
- * Applicable only if IdentityProviderType is
- * RecoveryServicesActiveDirectory.
+ * The SDS created timestamp.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- certificateThumbprint?: string;
-}
-
-/**
- * @interface
- * An interface representing InlineWorkflowTaskDetails.
- * This class represents the inline workflow task details.
- *
- */
-export interface InlineWorkflowTaskDetails {
+ readonly createdTimestamp?: Date;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The SDS updated timestamp.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InlineWorkflowTaskDetails";
+ readonly updatedTimestamp?: Date;
/**
- * @member {ASRTask[]} [childTasks] The child tasks.
+ * A value indicating whether the VM is deleted.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- childTasks?: ASRTask[];
+ readonly isDeleted?: boolean;
/**
- * @member {string[]} [workflowIds] The list of child workflow ids.
+ * The last time when SDS information discovered in SRS.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- workflowIds?: string[];
+ readonly lastDiscoveryTimeInUtc?: Date;
}
-/**
- * @interface
- * An interface representing InMageAgentDetails.
- * The details of the InMage agent.
- *
- */
-export interface InMageAgentDetails {
- /**
- * @member {string} [agentVersion] The agent version.
- */
- agentVersion?: string;
+/** InMageRcm disk input. */
+export interface InMageRcmDiskInput {
+ /** The disk Id. */
+ diskId: string;
+ /** The log storage account ARM Id. */
+ logStorageAccountId: string;
+ /** The disk type. */
+ diskType: DiskAccountType;
+ /** The DiskEncryptionSet ARM Id. */
+ diskEncryptionSetId?: string;
+}
+
+/** InMageRcm disk input. */
+export interface InMageRcmDisksDefaultInput {
+ /** The log storage account ARM Id. */
+ logStorageAccountId: string;
+ /** The disk type. */
+ diskType: DiskAccountType;
+ /** The DiskEncryptionSet ARM Id. */
+ diskEncryptionSetId?: string;
+}
+
+/** InMageRcmFailback discovered VM details. */
+export interface InMageRcmFailbackDiscoveredProtectedVmDetails {
/**
- * @member {string} [agentUpdateStatus] A value indicating whether installed
- * agent needs to be updated.
+ * The VCenter Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- agentUpdateStatus?: string;
+ readonly vCenterId?: string;
/**
- * @member {string} [postUpdateRebootStatus] A value indicating whether
- * reboot is required after update is applied.
+ * The VCenter fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- postUpdateRebootStatus?: string;
+ readonly vCenterFqdn?: string;
/**
- * @member {Date} [agentExpiryDate] Agent expiry date.
+ * The list of datastores.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- agentExpiryDate?: Date;
-}
-
-/**
- * @interface
- * An interface representing InMageAgentVersionDetails.
- * InMage agent version details.
- *
- */
-export interface InMageAgentVersionDetails {
+ readonly datastores?: string[];
/**
- * @member {string} [postUpdateRebootStatus] A value indicating whether
- * reboot is required after update is applied.
+ * The list of IP addresses.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- postUpdateRebootStatus?: string;
+ readonly ipAddresses?: string[];
/**
- * @member {string} [version] The agent version.
+ * The VMware tools status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- version?: string;
+ readonly vmwareToolsStatus?: string;
/**
- * @member {Date} [expiryDate] Version expiry date.
+ * The VM power status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- expiryDate?: Date;
+ readonly powerStatus?: string;
/**
- * @member {AgentVersionStatus} [status] A value indicating whether security
- * update required. Possible values include: 'Supported', 'NotSupported',
- * 'Deprecated', 'UpdateRequired', 'SecurityUpdateRequired'
+ * The VM fqdn.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- status?: AgentVersionStatus;
-}
-
-/**
- * @interface
- * An interface representing InMageAzureV2ApplyRecoveryPointInput.
- * ApplyRecoveryPoint input specific to InMageAzureV2 provider.
- *
- */
-export interface InMageAzureV2ApplyRecoveryPointInput {
+ readonly vmFqdn?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The VM's OS name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageAzureV2";
+ readonly osName?: string;
/**
- * @member {string} [vaultLocation] The vault location where the recovery Vm
- * resides.
+ * The SDS created timestamp.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vaultLocation?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageAzureV2EnableProtectionInput.
- * VMware Azure specific enable protection input.
- *
- */
-export interface InMageAzureV2EnableProtectionInput {
+ readonly createdTimestamp?: Date;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The SDS updated timestamp.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageAzureV2";
+ readonly updatedTimestamp?: Date;
/**
- * @member {string} [masterTargetId] The Master target Id.
+ * A value indicating whether the VM is deleted.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- masterTargetId?: string;
+ readonly isDeleted?: boolean;
/**
- * @member {string} [processServerId] The Process Server Id.
+ * The last time when SDS information discovered in SRS.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- processServerId?: string;
+ readonly lastDiscoveryTimeInUtc?: Date;
+}
+
+/** InMageRcmFailback mobility agent details. */
+export interface InMageRcmFailbackMobilityAgentDetails {
/**
- * @member {string} storageAccountId The storage account name.
+ * The agent version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- storageAccountId: string;
+ readonly version?: string;
/**
- * @member {string} [runAsAccountId] The CS account Id.
+ * The latest agent version available.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- runAsAccountId?: string;
+ readonly latestVersion?: string;
/**
- * @member {string} [multiVmGroupId] The multi vm group Id.
+ * The driver version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupId?: string;
+ readonly driverVersion?: string;
/**
- * @member {string} [multiVmGroupName] The multi vm group name.
+ * The latest upgradeable version available without reboot.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupName?: string;
+ readonly latestUpgradableVersionWithoutReboot?: string;
/**
- * @member {string[]} [disksToInclude] The disks to include list.
+ * The agent version expiry date.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- disksToInclude?: string[];
+ readonly agentVersionExpiryDate?: Date;
/**
- * @member {string} [targetAzureNetworkId] The selected target Azure network
- * Id.
+ * The driver version expiry date.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetAzureNetworkId?: string;
+ readonly driverVersionExpiryDate?: Date;
/**
- * @member {string} [targetAzureSubnetId] The selected target Azure subnet
- * Id.
+ * The time of the last heartbeat received from the agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetAzureSubnetId?: string;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {string} [enableRdpOnTargetOption] The selected option to enable
- * RDP\SSH on target vm after failover. String value of
- * {SrsDataContract.EnableRDPOnTargetOption} enum.
+ * The whether update is possible or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- enableRdpOnTargetOption?: string;
+ readonly reasonsBlockingUpgrade?: AgentUpgradeBlockedReason[];
/**
- * @member {string} [targetAzureVmName] The target azure Vm Name.
+ * A value indicating whether agent is upgradeable or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetAzureVmName?: string;
+ readonly isUpgradeable?: string;
+}
+
+/** InMageRcmFailback NIC details. */
+export interface InMageRcmFailbackNicDetails {
/**
- * @member {string} [logStorageAccountId] The storage account to be used for
- * logging during replication.
+ * The mac address.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- logStorageAccountId?: string;
+ readonly macAddress?: string;
/**
- * @member {string} [targetAzureV1ResourceGroupId] The Id of the target
- * resource group (for classic deployment) in which the failover VM is to be
- * created.
+ * The network name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetAzureV1ResourceGroupId?: string;
+ readonly networkName?: string;
/**
- * @member {string} [targetAzureV2ResourceGroupId] The Id of the target
- * resource group (for resource manager deployment) in which the failover VM
- * is to be created.
+ * The adapter type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetAzureV2ResourceGroupId?: string;
+ readonly adapterType?: string;
/**
- * @member {string} [useManagedDisks] A value indicating whether managed
- * disks should be used during failover.
+ * The IP address.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- useManagedDisks?: string;
+ readonly sourceIpAddress?: string;
}
-/**
- * @interface
- * An interface representing InMageAzureV2EventDetails.
- * Model class for event details of a VMwareAzureV2 event.
- *
- */
-export interface InMageAzureV2EventDetails {
+/** InMageRcmFailback protected disk details. */
+export interface InMageRcmFailbackProtectedDiskDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The disk Id (reported by source agent).
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageAzureV2";
+ readonly diskId?: string;
/**
- * @member {string} [eventType] InMage Event type. Takes one of the values of
- * {InMageDataContract.InMageMonitoringEventType}.
+ * The disk name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- eventType?: string;
+ readonly diskName?: string;
/**
- * @member {string} [category] InMage Event Category.
+ * A value indicating whether the disk is the OS disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- category?: string;
+ readonly isOSDisk?: string;
/**
- * @member {string} [component] InMage Event Component.
+ * The disk capacity in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- component?: string;
+ readonly capacityInBytes?: number;
/**
- * @member {string} [correctiveAction] Corrective Action string for the
- * event.
+ * The disk Uuid (reported by vCenter).
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- correctiveAction?: string;
+ readonly diskUuid?: string;
/**
- * @member {string} [details] InMage Event Details.
+ * The data pending in log data store in MB.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- details?: string;
+ readonly dataPendingInLogDataStoreInMB?: number;
/**
- * @member {string} [summary] InMage Event Summary.
+ * The data pending at source agent in MB.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- summary?: string;
+ readonly dataPendingAtSourceAgentInMB?: number;
/**
- * @member {string} [siteName] VMware Site name.
+ * A value indicating whether initial replication is complete or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- siteName?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageAzureV2FailoverProviderInput.
- * InMageAzureV2 provider specific input for failover.
- *
- */
-export interface InMageAzureV2FailoverProviderInput {
+ readonly isInitialReplicationComplete?: string;
+ /** The initial replication details. */
+ irDetails?: InMageRcmFailbackSyncDetails;
+ /** The resync details. */
+ resyncDetails?: InMageRcmFailbackSyncDetails;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The last sync time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageAzureV2";
+ readonly lastSyncTime?: Date;
+}
+
+/** InMageRcmFailback disk level sync details. */
+export interface InMageRcmFailbackSyncDetails {
/**
- * @member {string} [vaultLocation] Location of the vault.
+ * The progress health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vaultLocation?: string;
+ readonly progressHealth?: DiskReplicationProgressHealth;
/**
- * @member {string} [recoveryPointId] The recovery point id to be passed to
- * failover to a particular recovery point. In case of latest recovery point,
- * null should be passed.
+ * The transferred bytes from source VM to azure for the disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointId?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageAzureV2PolicyDetails.
- * InMage Azure v2 specific protection profile details.
- *
- */
-export interface InMageAzureV2PolicyDetails {
+ readonly transferredBytes?: number;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The bytes transferred in last 15 minutes from source VM to target.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageAzureV2";
+ readonly last15MinutesTransferredBytes?: number;
/**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency in minutes.
+ * The time of the last data transfer from source VM to target.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- crashConsistentFrequencyInMinutes?: number;
+ readonly lastDataTransferTimeUtc?: string;
/**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
+ * The total processed bytes. This includes bytes that are transferred from source VM to target and matched bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointThresholdInMinutes?: number;
+ readonly processedBytes?: number;
/**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
+ * The start time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointHistory?: number;
+ readonly startTime?: string;
/**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency in minutes.
+ * The last refresh time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- appConsistentFrequencyInMinutes?: number;
+ readonly lastRefreshTime?: string;
/**
- * @member {string} [multiVmSyncStatus] A value indicating whether multi-VM
- * sync has to be enabled.
+ * Progress in percentage. Progress percentage is calculated based on processed bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmSyncStatus?: string;
+ readonly progressPercentage?: number;
}
-/**
- * @interface
- * An interface representing InMageAzureV2PolicyInput.
- * VMWare Azure specific policy Input.
- *
- */
-export interface InMageAzureV2PolicyInput {
+/** InMageRcm last source agent upgrade error details. */
+export interface InMageRcmLastAgentUpgradeErrorDetails {
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The error code.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageAzureV2";
+ readonly errorCode?: string;
/**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
+ * The error message.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointThresholdInMinutes?: number;
+ readonly errorMessage?: string;
/**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
+ * The possible causes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointHistory?: number;
+ readonly possibleCauses?: string;
/**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency (in minutes).
+ * The recommended action.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- crashConsistentFrequencyInMinutes?: number;
+ readonly recommendedAction?: string;
/**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency (in minutes).
+ * The error message parameters.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- appConsistentFrequencyInMinutes?: number;
+ readonly errorMessageParameters?: { [propertyName: string]: string };
/**
- * @member {SetMultiVmSyncStatus} multiVmSyncStatus A value indicating
- * whether multi-VM sync has to be enabled. Value should be 'Enabled' or
- * 'Disabled'. Possible values include: 'Enable', 'Disable'
+ * The error tags.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmSyncStatus: SetMultiVmSyncStatus;
+ readonly errorTags?: { [propertyName: string]: string };
}
-/**
- * @interface
- * An interface representing InMageAzureV2ProtectedDiskDetails.
- * InMageAzureV2 protected disk details.
- *
- */
-export interface InMageAzureV2ProtectedDiskDetails {
+/** InMageRcm mobility agent details. */
+export interface InMageRcmMobilityAgentDetails {
/**
- * @member {string} [diskId] The disk id.
+ * The agent version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskId?: string;
+ readonly version?: string;
/**
- * @member {string} [diskName] The disk name.
+ * The latest agent version available.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskName?: string;
+ readonly latestVersion?: string;
/**
- * @member {string} [protectionStage] The protection stage.
+ * The latest agent version release date.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- protectionStage?: string;
+ readonly latestAgentReleaseDate?: string;
/**
- * @member {string} [healthErrorCode] The health error code for the disk.
+ * The driver version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- healthErrorCode?: string;
+ readonly driverVersion?: string;
/**
- * @member {number} [rpoInSeconds] The RPO in seconds.
+ * The latest upgradeable version available without reboot.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- rpoInSeconds?: number;
+ readonly latestUpgradableVersionWithoutReboot?: string;
/**
- * @member {string} [resyncRequired] A value indicating whether resync is
- * required for this disk.
+ * The agent version expiry date.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncRequired?: string;
+ readonly agentVersionExpiryDate?: Date;
/**
- * @member {number} [resyncProgressPercentage] The resync progress
- * percentage.
+ * The driver version expiry date.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncProgressPercentage?: number;
+ readonly driverVersionExpiryDate?: Date;
/**
- * @member {number} [resyncDurationInSeconds] The resync duration in seconds.
+ * The time of the last heartbeat received from the agent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncDurationInSeconds?: number;
+ readonly lastHeartbeatUtc?: Date;
/**
- * @member {number} [diskCapacityInBytes] The disk capacity in bytes.
+ * The whether update is possible or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskCapacityInBytes?: number;
+ readonly reasonsBlockingUpgrade?: AgentUpgradeBlockedReason[];
/**
- * @member {number} [fileSystemCapacityInBytes] The disk file system capacity
- * in bytes.
+ * A value indicating whether agent is upgradeable or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- fileSystemCapacityInBytes?: number;
+ readonly isUpgradeable?: string;
+}
+
+/** InMageRcm NIC details. */
+export interface InMageRcmNicDetails {
/**
- * @member {number} [sourceDataInMegaBytes] The source data transit in MB.
+ * The NIC Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceDataInMegaBytes?: number;
+ readonly nicId?: string;
+ /** A value indicating whether this is the primary NIC. */
+ isPrimaryNic?: string;
+ /** A value indicating whether this NIC is selected for failover. */
+ isSelectedForFailover?: string;
/**
- * @member {number} [psDataInMegaBytes] The PS data transit in MB.
+ * The source IP address.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- psDataInMegaBytes?: number;
+ readonly sourceIPAddress?: string;
/**
- * @member {number} [targetDataInMegaBytes] The target data transit in MB.
+ * The source IP address type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetDataInMegaBytes?: number;
+ readonly sourceIPAddressType?: EthernetAddressType;
/**
- * @member {string} [diskResized] A value indicating whether disk is resized.
+ * Source network Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskResized?: string;
+ readonly sourceNetworkId?: string;
/**
- * @member {Date} [lastRpoCalculatedTime] The last RPO calculated time.
+ * Source subnet name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastRpoCalculatedTime?: Date;
+ readonly sourceSubnetName?: string;
+ /** The target IP address. */
+ targetIPAddress?: string;
+ /** The target IP address type. */
+ targetIPAddressType?: EthernetAddressType;
+ /** Target subnet name. */
+ targetSubnetName?: string;
+ /** Test subnet name. */
+ testSubnetName?: string;
+ /** The test IP address. */
+ testIPAddress?: string;
+ /** The test IP address type. */
+ testIPAddressType?: EthernetAddressType;
}
-/**
- * @interface
- * An interface representing InMageAzureV2RecoveryPointDetails.
- * InMage Azure V2 provider specific recovery point details.
- *
- */
-export interface InMageAzureV2RecoveryPointDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMageAzureV2";
- /**
- * @member {string} [isMultiVmSyncPoint] A value indicating whether the
- * recovery point is multi VM consistent.
- */
- isMultiVmSyncPoint?: string;
+/** InMageRcm NIC input. */
+export interface InMageRcmNicInput {
+ /** The NIC Id. */
+ nicId: string;
+ /** A value indicating whether this is the primary NIC. */
+ isPrimaryNic: string;
+ /** A value indicating whether this NIC is selected for failover. */
+ isSelectedForFailover?: string;
+ /** Target subnet name. */
+ targetSubnetName?: string;
+ /** The target static IP address. */
+ targetStaticIPAddress?: string;
+ /** The test subnet name. */
+ testSubnetName?: string;
+ /** The test static IP address. */
+ testStaticIPAddress?: string;
}
-/**
- * @interface
- * An interface representing InMageAzureV2ReplicationDetails.
- * InMageAzureV2 provider specific settings
- *
- */
-export interface InMageAzureV2ReplicationDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMageAzureV2";
- /**
- * @member {string} [infrastructureVmId] The infrastructure VM Id.
- */
- infrastructureVmId?: string;
- /**
- * @member {string} [vCenterInfrastructureId] The vCenter infrastructure Id.
- */
- vCenterInfrastructureId?: string;
+/** InMageRcm protected disk details. */
+export interface InMageRcmProtectedDiskDetails {
/**
- * @member {string} [protectionStage] The protection stage.
+ * The disk Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- protectionStage?: string;
- /**
- * @member {string} [vmId] The virtual machine Id.
- */
- vmId?: string;
- /**
- * @member {string} [vmProtectionState] The protection state for the vm.
- */
- vmProtectionState?: string;
- /**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
- */
- vmProtectionStateDescription?: string;
- /**
- * @member {number} [resyncProgressPercentage] The resync progress
- * percentage.
- */
- resyncProgressPercentage?: number;
- /**
- * @member {number} [rpoInSeconds] The RPO in seconds.
- */
- rpoInSeconds?: number;
+ readonly diskId?: string;
/**
- * @member {number} [compressedDataRateInMB] The compressed data change rate
- * in MB.
+ * The disk name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- compressedDataRateInMB?: number;
+ readonly diskName?: string;
/**
- * @member {number} [uncompressedDataRateInMB] The uncompressed data change
- * rate in MB.
+ * A value indicating whether the disk is the OS disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- uncompressedDataRateInMB?: number;
+ readonly isOSDisk?: string;
/**
- * @member {string} [ipAddress] The source IP address.
+ * The disk capacity in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- ipAddress?: string;
+ readonly capacityInBytes?: number;
/**
- * @member {string} [agentVersion] The agent version.
+ * The log storage account ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- agentVersion?: string;
+ readonly logStorageAccountId?: string;
/**
- * @member {Date} [agentExpiryDate] Agent expiry date.
+ * The DiskEncryptionSet ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- agentExpiryDate?: Date;
+ readonly diskEncryptionSetId?: string;
/**
- * @member {string} [isAgentUpdateRequired] A value indicating whether
- * installed agent needs to be updated.
+ * The ARM Id of the seed managed disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- isAgentUpdateRequired?: string;
+ readonly seedManagedDiskId?: string;
/**
- * @member {string} [isRebootAfterUpdateRequired] A value indicating whether
- * the source server requires a restart after update.
+ * The ARM Id of the target managed disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- isRebootAfterUpdateRequired?: string;
+ readonly targetManagedDiskId?: string;
+ /** The disk type. */
+ diskType?: DiskAccountType;
/**
- * @member {Date} [lastHeartbeat] The last heartbeat received from the source
- * server.
+ * The data pending in log data store in MB.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastHeartbeat?: Date;
+ readonly dataPendingInLogDataStoreInMB?: number;
/**
- * @member {string} [processServerId] The process server Id.
+ * The data pending at source agent in MB.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- processServerId?: string;
+ readonly dataPendingAtSourceAgentInMB?: number;
/**
- * @member {string} [multiVmGroupId] The multi vm group Id.
+ * A value indicating whether initial replication is complete or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupId?: string;
+ readonly isInitialReplicationComplete?: string;
+ /** The initial replication details. */
+ irDetails?: InMageRcmSyncDetails;
+ /** The resync details. */
+ resyncDetails?: InMageRcmSyncDetails;
+}
+
+/** InMageRcm disk level sync details. */
+export interface InMageRcmSyncDetails {
/**
- * @member {string} [multiVmGroupName] The multi vm group name.
+ * The progress health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupName?: string;
+ readonly progressHealth?: DiskReplicationProgressHealth;
/**
- * @member {string} [multiVmSyncStatus] A value indicating whether multi vm
- * sync is enabled or disabled.
+ * The transferred bytes from source VM to azure for the disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmSyncStatus?: string;
+ readonly transferredBytes?: number;
/**
- * @member {InMageAzureV2ProtectedDiskDetails[]} [protectedDisks] The list of
- * protected disks.
+ * The bytes transferred in last 15 minutes from source VM to azure.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- protectedDisks?: InMageAzureV2ProtectedDiskDetails[];
+ readonly last15MinutesTransferredBytes?: number;
/**
- * @member {string} [diskResized] A value indicating whether any disk is
- * resized for this VM.
+ * The time of the last data transfer from source VM to azure.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskResized?: string;
+ readonly lastDataTransferTimeUtc?: string;
/**
- * @member {string} [masterTargetId] The master target Id.
+ * The total processed bytes. This includes bytes that are transferred from source VM to azure and matched bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- masterTargetId?: string;
+ readonly processedBytes?: number;
/**
- * @member {number} [sourceVmCpuCount] The CPU count of the VM on the primary
- * side.
+ * The start time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceVmCpuCount?: number;
+ readonly startTime?: string;
/**
- * @member {number} [sourceVmRamSizeInMB] The RAM size of the VM on the
- * primary side.
+ * The last refresh time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceVmRamSizeInMB?: number;
+ readonly lastRefreshTime?: string;
/**
- * @member {string} [osType] The type of the OS on the VM.
+ * Progress in percentage. Progress percentage is calculated based on processed bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
+ readonly progressPercentage?: number;
+}
+
+/** Details of the OS Disk. */
+export interface OSDiskDetails {
+ /** The id of the disk containing the OS. */
+ osVhdId?: string;
+ /** The type of the OS on the VM. */
osType?: string;
- /**
- * @member {string} [vhdName] The OS disk VHD name.
- */
+ /** The OS disk VHD name. */
vhdName?: string;
+}
+
+/** Details of a Master Target Server. */
+export interface MasterTargetServer {
+ /** The server Id. */
+ id?: string;
+ /** The IP address of the server. */
+ ipAddress?: string;
+ /** The server name. */
+ name?: string;
+ /** The OS type of the server. */
+ osType?: string;
+ /** The version of the scout component on the server. */
+ agentVersion?: string;
+ /** The last heartbeat received from the server. */
+ lastHeartbeat?: Date;
+ /** Version status. */
+ versionStatus?: string;
+ /** The retention volumes of Master target Server. */
+ retentionVolumes?: RetentionVolume[];
+ /** The list of data stores in the fabric. */
+ dataStores?: DataStore[];
+ /** Validation errors. */
+ validationErrors?: HealthError[];
+ /** Health errors. */
+ healthErrors?: HealthError[];
+ /** Disk count of the master target. */
+ diskCount?: number;
+ /** OS Version of the master target. */
+ osVersion?: string;
+ /** Agent expiry date. */
+ agentExpiryDate?: Date;
+ /** MARS agent version. */
+ marsAgentVersion?: string;
+ /** MARS agent expiry date. */
+ marsAgentExpiryDate?: Date;
+ /** Agent version details. */
+ agentVersionDetails?: VersionDetails;
+ /** Mars agent version details. */
+ marsAgentVersionDetails?: VersionDetails;
+}
+
+/** The retention details of the MT. */
+export interface RetentionVolume {
+ /** The volume name. */
+ volumeName?: string;
+ /** The volume capacity. */
+ capacityInBytes?: number;
+ /** The free space available in this volume. */
+ freeSpaceInBytes?: number;
+ /** The threshold percentage. */
+ thresholdPercentage?: number;
+}
+
+/** Query parameter to enumerate migration items. */
+export interface MigrationItemsQueryParameter {
+ /** The source fabric name filter. */
+ sourceFabricName?: string;
+ /** The source container name filter. */
+ sourceContainerName?: string;
+ /** The replication provider type. */
+ instanceType?: string;
+}
+
+/** The Mobility Service update details. */
+export interface MobilityServiceUpdate {
+ /** The version of the latest update. */
+ version?: string;
+ /** The reboot status of the update - whether it is required or not. */
+ rebootStatus?: string;
+ /** The OS type. */
+ osType?: string;
+}
+
+/** Details of the Process Server. */
+export interface ProcessServer {
+ /** The Process Server's friendly name. */
+ friendlyName?: string;
+ /** The Process Server Id. */
+ id?: string;
+ /** The IP address of the server. */
+ ipAddress?: string;
+ /** The OS type of the server. */
+ osType?: string;
+ /** The version of the scout component on the server. */
+ agentVersion?: string;
+ /** The last heartbeat received from the server. */
+ lastHeartbeat?: Date;
+ /** Version status. */
+ versionStatus?: string;
+ /** The list of the mobility service updates available on the Process Server. */
+ mobilityServiceUpdates?: MobilityServiceUpdate[];
+ /** The agent generated Id. */
+ hostId?: string;
+ /** The servers configured with this PS. */
+ machineCount?: string;
+ /** The number of replication pairs configured in this PS. */
+ replicationPairCount?: string;
+ /** The percentage of the system load. */
+ systemLoad?: string;
+ /** The system load status. */
+ systemLoadStatus?: string;
+ /** The percentage of the CPU load. */
+ cpuLoad?: string;
+ /** The CPU load status. */
+ cpuLoadStatus?: string;
+ /** The total memory. */
+ totalMemoryInBytes?: number;
+ /** The available memory. */
+ availableMemoryInBytes?: number;
+ /** The memory usage status. */
+ memoryUsageStatus?: string;
+ /** The total space. */
+ totalSpaceInBytes?: number;
+ /** The available space. */
+ availableSpaceInBytes?: number;
+ /** The space usage status. */
+ spaceUsageStatus?: string;
+ /** The PS service status. */
+ psServiceStatus?: string;
+ /** The PS SSL cert expiry date. */
+ sslCertExpiryDate?: Date;
+ /** CS SSL cert expiry date. */
+ sslCertExpiryRemainingDays?: number;
+ /** OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0. */
+ osVersion?: string;
+ /** Health errors. */
+ healthErrors?: HealthError[];
+ /** Agent expiry date. */
+ agentExpiryDate?: Date;
+ /** The agent version details. */
+ agentVersionDetails?: VersionDetails;
/**
- * @member {string} [osDiskId] The id of the disk containing the OS.
- */
- osDiskId?: string;
- /**
- * @member {AzureVmDiskDetails[]} [azureVMDiskDetails] Azure VM Disk details.
- */
- azureVMDiskDetails?: AzureVmDiskDetails[];
- /**
- * @member {string} [recoveryAzureVMName] Recovery Azure given name.
- */
- recoveryAzureVMName?: string;
- /**
- * @member {string} [recoveryAzureVMSize] The Recovery Azure VM size.
- */
- recoveryAzureVMSize?: string;
- /**
- * @member {string} [recoveryAzureStorageAccount] The recovery Azure storage
- * account.
+ * The health of Process Server.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureStorageAccount?: string;
+ readonly health?: ProtectionHealth;
/**
- * @member {string} [recoveryAzureLogStorageAccountId] The ARM id of the log
- * storage account used for replication. This will be set to null if no log
- * storage account was provided during enable protection.
+ * The process server stats refresh time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureLogStorageAccountId?: string;
+ readonly psStatsRefreshTime?: Date;
/**
- * @member {VMNicDetails[]} [vmNics] The PE Network details.
+ * The uploading pending data in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmNics?: VMNicDetails[];
+ readonly throughputUploadPendingDataInBytes?: number;
/**
- * @member {string} [selectedRecoveryAzureNetworkId] The selected recovery
- * azure network Id.
+ * The throughput in MBps.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- selectedRecoveryAzureNetworkId?: string;
+ readonly throughputInMBps?: number;
/**
- * @member {string} [selectedSourceNicId] The selected source nic Id which
- * will be used as the primary nic during failover.
+ * The throughput in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- selectedSourceNicId?: string;
+ readonly throughputInBytes?: number;
/**
- * @member {string} [discoveryType] A value indicating the discovery type of
- * the machine. Value can be vCenter or physical.
+ * The throughput status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- discoveryType?: string;
+ readonly throughputStatus?: string;
/**
- * @member {string} [enableRdpOnTargetOption] The selected option to enable
- * RDP\SSH on target vm after failover. String value of
- * {SrsDataContract.EnableRDPOnTargetOption} enum.
+ * The MARS communication status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- enableRdpOnTargetOption?: string;
+ readonly marsCommunicationStatus?: string;
/**
- * @member {string[]} [datastores] The datastores of the on-premise machine.
- * Value can be list of strings that contain datastore names.
+ * The MARS registration status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- datastores?: string[];
+ readonly marsRegistrationStatus?: string;
+}
+
+/** Query parameter to enumerate Protectable items. */
+export interface ProtectableItemQueryParameter {
+ /** State of the Protectable item query filter. */
+ state?: string;
+}
+
+/** Query parameter to enumerate protected items. */
+export interface ProtectedItemsQueryParameter {
+ /** The source fabric name filter. */
+ sourceFabricName?: string;
+ /** The recovery plan filter. */
+ recoveryPlanName?: string;
+ /** The source fabric location filter. */
+ sourceFabricLocation?: string;
+ /** The fabric object Id filter. */
+ fabricObjectId?: string;
+ /** The vCenter name filter. */
+ vCenterName?: string;
+ /** The replication provider type. */
+ instanceType?: string;
+ /** Whether Multi VM group is auto created or specified by user. */
+ multiVmGroupCreateOption?: MultiVmGroupCreateOption;
+ /** The process server Id filter. */
+ processServerId?: string;
+}
+
+/** Azure role assignment details. */
+export interface RoleAssignment {
+ /** The ARM Id of the role assignment. */
+ id?: string;
+ /** The name of the role assignment. */
+ name?: string;
+ /** Role assignment scope. */
+ scope?: string;
+ /** Principal Id. */
+ principalId?: string;
+ /** Role definition id. */
+ roleDefinitionId?: string;
+}
+
+/** CS Accounts Details. */
+export interface RunAsAccount {
+ /** The CS RunAs account Id. */
+ accountId?: string;
+ /** The CS RunAs account name. */
+ accountName?: string;
+}
+
+/** VMwareCbt disk input. */
+export interface VMwareCbtDiskInput {
+ /** The disk Id. */
+ diskId: string;
+ /** The disk type. */
+ diskType?: DiskAccountType;
+ /** A value indicating whether the disk is the OS disk. */
+ isOSDisk: string;
+ /** The log storage account ARM Id. */
+ logStorageAccountId: string;
+ /** The key vault secret name of the log storage account. */
+ logStorageAccountSasSecretName: string;
+ /** The DiskEncryptionSet ARM Id. */
+ diskEncryptionSetId?: string;
+}
+
+/** VMwareCbt protected disk details. */
+export interface VMwareCbtProtectedDiskDetails {
/**
- * @member {string} [targetVmId] The ARM Id of the target Azure VM. This
- * value will be null until the VM is failed over. Only after failure it will
- * be populated with the ARM Id of the Azure VM.
+ * The disk id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetVmId?: string;
+ readonly diskId?: string;
/**
- * @member {string} [recoveryAzureResourceGroupId] The target resource group
- * Id.
+ * The disk name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAzureResourceGroupId?: string;
+ readonly diskName?: string;
+ /** The disk type. */
+ diskType?: DiskAccountType;
/**
- * @member {string} [recoveryAvailabilitySetId] The recovery availability set
- * Id.
+ * The disk path.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryAvailabilitySetId?: string;
+ readonly diskPath?: string;
/**
- * @member {string} [useManagedDisks] A value indicating whether managed
- * disks should be used during failover.
+ * A value indicating whether the disk is the OS disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- useManagedDisks?: string;
+ readonly isOSDisk?: string;
/**
- * @member {string} [licenseType] License Type of the VM to be used.
+ * The disk capacity in bytes.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- licenseType?: string;
+ readonly capacityInBytes?: number;
/**
- * @member {HealthError[]} [validationErrors] The validation errors of the
- * on-premise machine Value can be list of validation errors.
+ * The log storage account ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- validationErrors?: HealthError[];
+ readonly logStorageAccountId?: string;
/**
- * @member {Date} [lastRpoCalculatedTime] The last RPO calculated time.
+ * The key vault secret name of the log storage account.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastRpoCalculatedTime?: Date;
+ readonly logStorageAccountSasSecretName?: string;
/**
- * @member {Date} [lastUpdateReceivedTime] The last update time received from
- * on-prem components.
+ * The DiskEncryptionSet ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastUpdateReceivedTime?: Date;
+ readonly diskEncryptionSetId?: string;
/**
- * @member {string} [replicaId] The replica id of the protected item.
+ * The ARM Id of the seed managed disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaId?: string;
+ readonly seedManagedDiskId?: string;
/**
- * @member {string} [osVersion] The OS Version of the protected item.
+ * The ARM Id of the target managed disk.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- osVersion?: string;
+ readonly targetManagedDiskId?: string;
+ /** The name for the target managed disk. */
+ targetDiskName?: string;
}
-/**
- * @interface
- * An interface representing InMageAzureV2ReprotectInput.
- * InMageAzureV2 specific provider input.
- *
- */
-export interface InMageAzureV2ReprotectInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMageAzureV2";
- /**
- * @member {string} [masterTargetId] The Master target Id.
- */
- masterTargetId?: string;
- /**
- * @member {string} [processServerId] The Process Server Id.
- */
- processServerId?: string;
+/** VMwareCbt NIC details. */
+export interface VMwareCbtNicDetails {
/**
- * @member {string} [storageAccountId] The storage account id.
+ * The NIC Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- storageAccountId?: string;
- /**
- * @member {string} [runAsAccountId] The CS account Id.
- */
- runAsAccountId?: string;
+ readonly nicId?: string;
+ /** A value indicating whether this is the primary NIC. */
+ isPrimaryNic?: string;
/**
- * @member {string} [policyId] The Policy Id.
+ * The source IP address.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- policyId?: string;
+ readonly sourceIPAddress?: string;
/**
- * @member {string} [logStorageAccountId] The storage account to be used for
- * logging during replication.
+ * The source IP address type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- logStorageAccountId?: string;
+ readonly sourceIPAddressType?: EthernetAddressType;
/**
- * @member {string[]} [disksToInclude] The disks to include list.
+ * Source network Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- disksToInclude?: string[];
+ readonly sourceNetworkId?: string;
+ /** The target IP address. */
+ targetIPAddress?: string;
+ /** The target IP address type. */
+ targetIPAddressType?: EthernetAddressType;
+ /** Target subnet name. */
+ targetSubnetName?: string;
+ /** Target NIC name. */
+ targetNicName?: string;
+ /** A value indicating whether this NIC is selected for migration. */
+ isSelectedForMigration?: string;
}
-/**
- * @interface
- * An interface representing InMageAzureV2UpdateReplicationProtectedItemInput.
- * InMage Azure V2 input to update replication protected item.
- *
- */
-export interface InMageAzureV2UpdateReplicationProtectedItemInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMageAzureV2";
- /**
- * @member {string} [recoveryAzureV1ResourceGroupId] The recovery Azure
- * resource group Id for classic deployment.
- */
- recoveryAzureV1ResourceGroupId?: string;
- /**
- * @member {string} [recoveryAzureV2ResourceGroupId] The recovery Azure
- * resource group Id for resource manager deployment.
- */
- recoveryAzureV2ResourceGroupId?: string;
- /**
- * @member {string} [useManagedDisks] A value indicating whether managed
- * disks should be used during failover.
- */
- useManagedDisks?: string;
+/** VMwareCbt NIC input. */
+export interface VMwareCbtNicInput {
+ /** The NIC Id. */
+ nicId: string;
+ /** A value indicating whether this is the primary NIC. */
+ isPrimaryNic: string;
+ /** Target subnet name. */
+ targetSubnetName?: string;
+ /** The static IP address. */
+ targetStaticIPAddress?: string;
+ /** A value indicating whether this NIC is selected for migration. */
+ isSelectedForMigration?: string;
+ /** Target NIC name. */
+ targetNicName?: string;
}
-/**
- * @interface
- * An interface representing InMageBasePolicyDetails.
- * Base class for the policies of providers using InMage replication.
- *
- */
-export interface InMageBasePolicyDetails {
+/** VMwareCbt disk input for update. */
+export interface VMwareCbtUpdateDiskInput {
+ /** The disk Id. */
+ diskId: string;
+ /** The target disk name. */
+ targetDiskName?: string;
+}
+
+/** Implements the Alert class. */
+export type Alert = Resource & {
+ /** Alert related data. */
+ properties?: AlertProperties;
+};
+
+/** Implements the Event class. */
+export type Event = Resource & {
+ /** Event related data. */
+ properties?: EventProperties;
+};
+
+/** Fabric definition. */
+export type Fabric = Resource & {
+ /** Fabric related data. */
+ properties?: FabricProperties;
+};
+
+/** Logical network data model. */
+export type LogicalNetwork = Resource & {
+ /** The Logical Network Properties. */
+ properties?: LogicalNetworkProperties;
+};
+
+/** Network model. */
+export type Network = Resource & {
+ /** The Network Properties. */
+ properties?: NetworkProperties;
+};
+
+/** Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate extensions in subsequent versions. */
+export type NetworkMapping = Resource & {
+ /** The Network Mapping Properties. */
+ properties?: NetworkMappingProperties;
+};
+
+/** Protection container details. */
+export type ProtectionContainer = Resource & {
+ /** The custom data. */
+ properties?: ProtectionContainerProperties;
+};
+
+/** Migration item. */
+export type MigrationItem = Resource & {
+ /** The migration item properties. */
+ properties?: MigrationItemProperties;
+};
+
+/** Recovery point for a migration item. */
+export type MigrationRecoveryPoint = Resource & {
+ /** Recovery point properties. */
+ properties?: MigrationRecoveryPointProperties;
+};
+
+/** Replication protected item. */
+export type ProtectableItem = Resource & {
+ /** The custom data. */
+ properties?: ProtectableItemProperties;
+};
+
+/** Replication protected item. */
+export type ReplicationProtectedItem = Resource & {
+ /** The custom data. */
+ properties?: ReplicationProtectedItemProperties;
+};
+
+/** Recovery point. */
+export type RecoveryPoint = Resource & {
+ /** The recovery point properties. */
+ properties?: RecoveryPointProperties;
+};
+
+/** Protection container mapping object. */
+export type ProtectionContainerMapping = Resource & {
+ /** The custom data. */
+ properties?: ProtectionContainerMappingProperties;
+};
+
+/** Provider details. */
+export type RecoveryServicesProvider = Resource & {
+ /** Provider properties. */
+ properties?: RecoveryServicesProviderProperties;
+};
+
+/** Storage object definition. */
+export type StorageClassification = Resource & {
+ /** Properties of the storage object. */
+ properties?: StorageClassificationProperties;
+};
+
+/** Storage mapping object. */
+export type StorageClassificationMapping = Resource & {
+ /** Properties of the storage mapping object. */
+ properties?: StorageClassificationMappingProperties;
+};
+
+/** vCenter definition. */
+export type VCenter = Resource & {
+ /** VCenter related data. */
+ properties?: VCenterProperties;
+};
+
+/** Job details. */
+export type Job = Resource & {
+ /** The custom data. */
+ properties?: JobProperties;
+};
+
+/** Protection profile details. */
+export type Policy = Resource & {
+ /** The custom data. */
+ properties?: PolicyProperties;
+};
+
+/** Replication protection intent. */
+export type ReplicationProtectionIntent = Resource & {
+ /** The custom data. */
+ properties?: ReplicationProtectionIntentProperties;
+};
+
+/** Recovery plan details. */
+export type RecoveryPlan = Resource & {
+ /** The custom details. */
+ properties?: RecoveryPlanProperties;
+};
+
+/** Supported operating systems. */
+export type SupportedOperatingSystems = Resource & {
+ /** The supported operating systems properties. */
+ properties?: SupportedOSProperties;
+};
+
+/** Vault health details definition. */
+export type VaultHealthDetails = Resource & {
+ /** The vault health related data. */
+ properties?: VaultHealthProperties;
+};
+
+/** Vault setting. */
+export type VaultSetting = Resource & {
+ /** The vault setting properties. */
+ properties?: VaultSettingProperties;
+};
+
+/** InMageRcm appliance specific details. */
+export type InMageRcmApplianceSpecificDetails = ApplianceSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The list of appliances.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMageBasePolicyDetails";
+ readonly appliances?: InMageRcmApplianceDetails[];
+};
+
+/** Model class for event details of a A2A event. */
+export type A2AEventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The protected item arm name. */
+ protectedItemName?: string;
+ /** The azure vm arm id. */
+ fabricObjectId?: string;
+ /** Fabric arm name. */
+ fabricName?: string;
+ /** The fabric location. */
+ fabricLocation?: string;
+ /** Remote fabric arm name. */
+ remoteFabricName?: string;
+ /** Remote fabric location. */
+ remoteFabricLocation?: string;
+};
+
+/** Model class for event details of a HyperVReplica E2E event. */
+export type HyperVReplica2012EventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012";
+ /** The container friendly name. */
+ containerName?: string;
+ /** The fabric friendly name. */
+ fabricName?: string;
+ /** The remote container name. */
+ remoteContainerName?: string;
+ /** The remote fabric name. */
+ remoteFabricName?: string;
+};
+
+/** Model class for event details of a HyperVReplica blue E2E event. */
+export type HyperVReplica2012R2EventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012R2";
+ /** The container friendly name. */
+ containerName?: string;
+ /** The fabric friendly name. */
+ fabricName?: string;
+ /** The remote container name. */
+ remoteContainerName?: string;
+ /** The remote fabric name. */
+ remoteFabricName?: string;
+};
+
+/** Model class for event details of a HyperVReplica E2A event. */
+export type HyperVReplicaAzureEventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The container friendly name. */
+ containerName?: string;
+ /** The fabric friendly name. */
+ fabricName?: string;
+ /** The remote container name. */
+ remoteContainerName?: string;
+};
+
+/** Abstract model class for event details of a HyperVReplica E2E event. */
+export type HyperVReplicaBaseEventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaBaseEventDetails";
+ /** The container friendly name. */
+ containerName?: string;
+ /** The fabric friendly name. */
+ fabricName?: string;
+ /** The remote container name. */
+ remoteContainerName?: string;
+ /** The remote fabric name. */
+ remoteFabricName?: string;
+};
+
+/** Model class for event details of a VMwareAzureV2 event. */
+export type InMageAzureV2EventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** InMage Event type. Takes one of the values of InMageDataContract.InMageMonitoringEventType. */
+ eventType?: string;
+ /** InMage Event Category. */
+ category?: string;
+ /** InMage Event Component. */
+ component?: string;
+ /** Corrective Action string for the event. */
+ correctiveAction?: string;
+ /** InMage Event Details. */
+ details?: string;
+ /** InMage Event Summary. */
+ summary?: string;
+ /** VMware Site name. */
+ siteName?: string;
+};
+
+/** Event details for InMageRcm provider. */
+export type InMageRcmEventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
/**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
+ * The protected item name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointThresholdInMinutes?: number;
+ readonly protectedItemName?: string;
/**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
+ * The protected item name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointHistory?: number;
+ readonly vmName?: string;
/**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency in minutes.
+ * The latest agent version.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- appConsistentFrequencyInMinutes?: number;
+ readonly latestAgentVersion?: string;
/**
- * @member {string} [multiVmSyncStatus] A value indicating whether multi-VM
- * sync has to be enabled.
+ * The job Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmSyncStatus?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageDisableProtectionProviderSpecificInput.
- * InMage disable protection provider specific input.
- *
- */
-export interface InMageDisableProtectionProviderSpecificInput {
+ readonly jobId?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The fabric name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMage";
+ readonly fabricName?: string;
/**
- * @member {string} [replicaVmDeletionStatus] A value indicating whether the
- * replica VM should be destroyed or retained. Values from Delete and Retain.
+ * The appliance name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- replicaVmDeletionStatus?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageDiskDetails.
- * VMware/Physical specific Disk Details
- *
- */
-export interface InMageDiskDetails {
+ readonly applianceName?: string;
/**
- * @member {string} [diskId] The disk Id.
+ * The server type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskId?: string;
+ readonly serverType?: string;
/**
- * @member {string} [diskName] The disk name.
+ * The component display name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskName?: string;
+ readonly componentDisplayName?: string;
+};
+
+/** Event details for InMageRcmFailback provider. */
+export type InMageRcmFailbackEventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
/**
- * @member {string} [diskSizeInMB] The disk size in MB.
+ * The protected item name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskSizeInMB?: string;
+ readonly protectedItemName?: string;
/**
- * @member {string} [diskType] Whether disk is system disk or data disk.
+ * The protected item name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskType?: string;
+ readonly vmName?: string;
/**
- * @member {string} [diskConfiguration] Whether disk is dynamic disk or basic
- * disk.
+ * The appliance name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskConfiguration?: string;
+ readonly applianceName?: string;
/**
- * @member {DiskVolumeDetails[]} [volumeList] Volumes of the disk.
+ * The server type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- volumeList?: DiskVolumeDetails[];
-}
-
-/**
- * @interface
- * An interface representing InMageVolumeExclusionOptions.
- * Guest disk signature based disk exclusion option when doing enable
- * protection of virtual machine in InMage provider.
- *
- */
-export interface InMageVolumeExclusionOptions {
+ readonly serverType?: string;
/**
- * @member {string} [volumeLabel] The volume label. The disk having any
- * volume with this label will be excluded from replication.
+ * The component display name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- volumeLabel?: string;
+ readonly componentDisplayName?: string;
+};
+
+/** Event details for VMwareCbt provider. */
+export type VMwareCbtEventDetails = EventProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
/**
- * @member {string} [onlyExcludeIfSingleVolume] The value indicating whether
- * to exclude multi volume disk or not. If a disk has multiple volumes and
- * one of the volume has label matching with VolumeLabel this disk will be
- * excluded from replication if OnlyExcludeIfSingleVolume is false.
+ * The migration item name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- onlyExcludeIfSingleVolume?: string;
-}
+ readonly migrationItemName?: string;
+};
-/**
- * @interface
- * An interface representing InMageDiskSignatureExclusionOptions.
- * Guest disk signature based disk exclusion option when doing enable
- * protection of virtual machine in InMage provider.
- *
- */
-export interface InMageDiskSignatureExclusionOptions {
+/** Model class for event details of a job status event. */
+export type JobStatusEventDetails = EventSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "JobStatus";
+ /** Job arm id for the event. */
+ jobId?: string;
+ /** JobName for the Event. */
+ jobFriendlyName?: string;
+ /** JobStatus for the Event. */
+ jobStatus?: string;
+ /** AffectedObjectType for the event. */
+ affectedObjectType?: string;
+};
+
+/** Azure Fabric Specific Details. */
+export type AzureFabricSpecificDetails = FabricSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "Azure";
+ /** The Location for the Azure fabric. */
+ location?: string;
+ /** The container Ids for the Azure fabric. */
+ containerIds?: string[];
+ /** The zones. */
+ zones?: A2AZoneDetails[];
+};
+
+/** HyperVSite fabric specific details. */
+export type HyperVSiteDetails = FabricSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVSite";
+ /** The list of Hyper-V hosts associated with the fabric. */
+ hyperVHosts?: HyperVHostDetails[];
+};
+
+/** InMageRcm fabric specific details. */
+export type InMageRcmFabricSpecificDetails = FabricSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
/**
- * @member {string} [diskSignature] The guest signature of disk to be
- * excluded from replication.
+ * The ARM Id of the VMware site.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskSignature?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageDiskExclusionInput.
- * DiskExclusionInput when doing enable protection of virtual machine in InMage
- * provider.
- *
- */
-export interface InMageDiskExclusionInput {
+ readonly vmwareSiteId?: string;
/**
- * @member {InMageVolumeExclusionOptions[]} [volumeOptions] The volume label
- * based option for disk exclusion.
+ * The ARM Id of the physical site.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- volumeOptions?: InMageVolumeExclusionOptions[];
+ readonly physicalSiteId?: string;
/**
- * @member {InMageDiskSignatureExclusionOptions[]} [diskSignatureOptions] The
- * guest disk signature based option for disk exclusion.
+ * The service endpoint.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskSignatureOptions?: InMageDiskSignatureExclusionOptions[];
-}
-
-/**
- * @interface
- * An interface representing InMageEnableProtectionInput.
- * VMware Azure specific enable protection input.
- *
- */
-export interface InMageEnableProtectionInput {
+ readonly serviceEndpoint?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The service resource Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMage";
+ readonly serviceResourceId?: string;
/**
- * @member {string} [vmFriendlyName] The Vm Name.
+ * The service container Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- vmFriendlyName?: string;
+ readonly serviceContainerId?: string;
/**
- * @member {string} masterTargetId The Master Target Id.
+ * The data plane Uri.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- masterTargetId: string;
+ readonly dataPlaneUri?: string;
/**
- * @member {string} processServerId The Process Server Id.
+ * The control plane Uri.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- processServerId: string;
+ readonly controlPlaneUri?: string;
+ /** The source agent identity details. */
+ sourceAgentIdentityDetails?: IdentityProviderDetails;
/**
- * @member {string} retentionDrive The retention drive to use on the MT.
+ * The list of process servers.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- retentionDrive: string;
+ readonly processServers?: ProcessServerDetails[];
/**
- * @member {string} [runAsAccountId] The CS account Id.
+ * The list of RCM proxies.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- runAsAccountId?: string;
+ readonly rcmProxies?: RcmProxyDetails[];
/**
- * @member {string} multiVmGroupId The multi vm group Id.
+ * The list of push installers.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupId: string;
+ readonly pushInstallers?: PushInstallerDetails[];
/**
- * @member {string} multiVmGroupName The multi vm group name.
+ * The list of replication agents.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmGroupName: string;
+ readonly replicationAgents?: ReplicationAgentDetails[];
/**
- * @member {string} [datastoreName] The target datastore name.
+ * The list of reprotect agents.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- datastoreName?: string;
+ readonly reprotectAgents?: ReprotectAgentDetails[];
/**
- * @member {InMageDiskExclusionInput} [diskExclusionInput] The enable disk
- * exclusion input.
+ * The list of Mars agents.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskExclusionInput?: InMageDiskExclusionInput;
+ readonly marsAgents?: MarsAgentDetails[];
/**
- * @member {string[]} [disksToInclude] The disks to include list.
+ * The list of DRAs.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- disksToInclude?: string[];
-}
+ readonly dras?: DraDetails[];
+ /**
+ * The list of agent details.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly agentDetails?: AgentDetails[];
+};
-/**
- * @interface
- * An interface representing InMageFailoverProviderInput.
- * Provider specific input for InMage failover.
- *
- */
-export interface InMageFailoverProviderInput {
+/** VMM fabric specific details. */
+export type VmmDetails = FabricSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMM";
+};
+
+/** Store the fabric details specific to the VMware fabric. */
+export type VMwareDetails = FabricSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMware";
+ /** The list of Process Servers associated with the fabric. */
+ processServers?: ProcessServer[];
+ /** The list of Master Target servers associated with the fabric. */
+ masterTargetServers?: MasterTargetServer[];
+ /** The list of run as accounts created on the server. */
+ runAsAccounts?: RunAsAccount[];
+ /** The number of replication pairs configured in this CS. */
+ replicationPairCount?: string;
+ /** The number of process servers. */
+ processServerCount?: string;
+ /** The number of source and target servers configured to talk to this CS. */
+ agentCount?: string;
+ /** The number of protected servers. */
+ protectedServers?: string;
+ /** The percentage of the system load. */
+ systemLoad?: string;
+ /** The system load status. */
+ systemLoadStatus?: string;
+ /** The percentage of the CPU load. */
+ cpuLoad?: string;
+ /** The CPU load status. */
+ cpuLoadStatus?: string;
+ /** The total memory. */
+ totalMemoryInBytes?: number;
+ /** The available memory. */
+ availableMemoryInBytes?: number;
+ /** The memory usage status. */
+ memoryUsageStatus?: string;
+ /** The total space. */
+ totalSpaceInBytes?: number;
+ /** The available space. */
+ availableSpaceInBytes?: number;
+ /** The space usage status. */
+ spaceUsageStatus?: string;
+ /** The web load. */
+ webLoad?: string;
+ /** The web load status. */
+ webLoadStatus?: string;
+ /** The database server load. */
+ databaseServerLoad?: string;
+ /** The database server load status. */
+ databaseServerLoadStatus?: string;
+ /** The CS service status. */
+ csServiceStatus?: string;
+ /** The IP address. */
+ ipAddress?: string;
+ /** The agent Version. */
+ agentVersion?: string;
+ /** The host name. */
+ hostName?: string;
+ /** The last heartbeat received from CS server. */
+ lastHeartbeat?: Date;
+ /** Version status. */
+ versionStatus?: string;
+ /** CS SSL cert expiry date. */
+ sslCertExpiryDate?: Date;
+ /** CS SSL cert expiry date. */
+ sslCertExpiryRemainingDays?: number;
+ /** PS template version. */
+ psTemplateVersion?: string;
+ /** Agent expiry date. */
+ agentExpiryDate?: Date;
+ /** The agent version details. */
+ agentVersionDetails?: VersionDetails;
+ /** The switch provider blocking error information. */
+ switchProviderBlockingErrorDetails?: InMageFabricSwitchProviderBlockingErrorDetails[];
+};
+
+/** VMwareV2 fabric specific details. */
+export type VMwareV2FabricSpecificDetails = FabricSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareV2";
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The ARM Id of the VMware site.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMage";
+ readonly vmwareSiteId?: string;
/**
- * @member {RecoveryPointType} [recoveryPointType] The recovery point type.
- * Values from LatestTime, LatestTag or Custom. In the case of custom, the
- * recovery point provided by RecoveryPointId will be used. In the other two
- * cases, recovery point id will be ignored. Possible values include:
- * 'LatestTime', 'LatestTag', 'Custom'
+ * The ARM Id of the physical site.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointType?: RecoveryPointType;
+ readonly physicalSiteId?: string;
/**
- * @member {string} [recoveryPointId] The recovery point id to be passed to
- * failover to a particular recovery point. In case of latest recovery point,
- * null should be passed.
+ * The Migration solution ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointId?: string;
-}
-
-/**
- * @interface
- * An interface representing InMagePolicyDetails.
- * InMage specific protection profile details.
- *
- */
-export interface InMagePolicyDetails {
+ readonly migrationSolutionId?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The service endpoint.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "InMage";
- /**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
- */
- recoveryPointThresholdInMinutes?: number;
+ readonly serviceEndpoint?: string;
/**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
+ * The service resource Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- recoveryPointHistory?: number;
+ readonly serviceResourceId?: string;
/**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency in minutes.
+ * The service container Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- appConsistentFrequencyInMinutes?: number;
+ readonly serviceContainerId?: string;
/**
- * @member {string} [multiVmSyncStatus] A value indicating whether multi-VM
- * sync has to be enabled.
+ * The list of process servers.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- multiVmSyncStatus?: string;
-}
+ readonly processServers?: ProcessServerDetails[];
+};
-/**
- * @interface
- * An interface representing InMagePolicyInput.
- * VMWare Azure specific protection profile Input.
- *
- */
-export interface InMagePolicyInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMage";
- /**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
- */
- recoveryPointThresholdInMinutes?: number;
- /**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
- */
- recoveryPointHistory?: number;
- /**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency (in minutes).
- */
- appConsistentFrequencyInMinutes?: number;
- /**
- * @member {SetMultiVmSyncStatus} multiVmSyncStatus A value indicating
- * whether multi-VM sync has to be enabled. Value should be 'Enabled' or
- * 'Disabled'. Possible values include: 'Enable', 'Disable'
- */
- multiVmSyncStatus: SetMultiVmSyncStatus;
-}
+/** Fabric provider specific settings. */
+export type AzureFabricCreationInput = FabricSpecificCreationInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "Azure";
+ /** The Location. */
+ location?: string;
+};
-/**
- * @interface
- * An interface representing InMageProtectedDiskDetails.
- * InMage protected disk details.
- *
- */
-export interface InMageProtectedDiskDetails {
+/** InMageRcm fabric provider specific settings. */
+export type InMageRcmFabricCreationInput = FabricSpecificCreationInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The ARM Id of the VMware site. */
+ vmwareSiteId: string;
+ /** The ARM Id of the physical site. */
+ physicalSiteId: string;
+ /** The identity provider input for source agent authentication. */
+ sourceAgentIdentity: IdentityProviderInput;
+};
+
+/** VMwareV2 fabric provider specific settings. */
+export type VMwareV2FabricCreationInput = FabricSpecificCreationInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareV2";
+ /** The ARM Id of the VMware site. */
+ vmwareSiteId?: string;
+ /** The ARM Id of the physical site. */
+ physicalSiteId?: string;
+ /** The ARM Id of the migration solution. */
+ migrationSolutionId: string;
+};
+
+/** A2A Network Mapping fabric specific settings. */
+export type AzureToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AzureToAzure";
+ /** The primary fabric location. */
+ primaryFabricLocation?: string;
+ /** The recovery fabric location. */
+ recoveryFabricLocation?: string;
+};
+
+/** E2A Network Mapping fabric specific settings. */
+export type VmmToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmToAzure";
+};
+
+/** E2E Network Mapping fabric specific settings. */
+export type VmmToVmmNetworkMappingSettings = NetworkMappingFabricSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmToVmm";
+};
+
+/** Create network mappings input properties/behavior specific to Azure to Azure Network mapping. */
+export type AzureToAzureCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AzureToAzure";
+ /** The primary azure vnet Id. */
+ primaryNetworkId: string;
+};
+
+/** Create network mappings input properties/behavior specific to Vmm to Azure Network mapping. */
+export type VmmToAzureCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmToAzure";
+};
+
+/** Create network mappings input properties/behavior specific to vmm to vmm Network mapping. */
+export type VmmToVmmCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmToVmm";
+};
+
+/** Updates network mappings input. */
+export type AzureToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AzureToAzure";
+ /** The primary azure vnet Id. */
+ primaryNetworkId?: string;
+};
+
+/** Update network mappings input properties/behavior specific to vmm to azure. */
+export type VmmToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmToAzure";
+};
+
+/** Update network mappings input properties/behavior specific to vmm to vmm. */
+export type VmmToVmmUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmToVmm";
+};
+
+/** A2A cloud creation input. */
+export type A2AContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+};
+
+/** A2ACrossClusterMigration cloud creation input. */
+export type A2ACrossClusterMigrationContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2ACrossClusterMigration";
+};
+
+/** VMwareCbt container creation input. */
+export type VMwareCbtContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+};
+
+/** VMwareCbt provider specific settings. */
+export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
/**
- * @member {string} [diskId] The disk id.
+ * The ARM Id of the VM discovered in VMware.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskId?: string;
+ readonly vmwareMachineId?: string;
/**
- * @member {string} [diskName] The disk name.
+ * The type of the OS on the VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskName?: string;
+ readonly osType?: string;
/**
- * @member {string} [protectionStage] The protection stage.
+ * The firmware type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- protectionStage?: string;
+ readonly firmwareType?: string;
/**
- * @member {string} [healthErrorCode] The health error code for the disk.
+ * The target generation.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- healthErrorCode?: string;
+ readonly targetGeneration?: string;
+ /** License Type of the VM to be used. */
+ licenseType?: string;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: string;
/**
- * @member {number} [rpoInSeconds] The RPO in seconds.
+ * The data mover run as account Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- rpoInSeconds?: number;
+ readonly dataMoverRunAsAccountId?: string;
/**
- * @member {string} [resyncRequired] A value indicating whether resync is
- * required for this disk.
+ * The snapshot run as account Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncRequired?: string;
+ readonly snapshotRunAsAccountId?: string;
+ /** Target VM name. */
+ targetVmName?: string;
+ /** The target VM size. */
+ targetVmSize?: string;
/**
- * @member {number} [resyncProgressPercentage] The resync progress
- * percentage.
+ * The target location.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncProgressPercentage?: number;
+ readonly targetLocation?: string;
+ /** The target resource group Id. */
+ targetResourceGroupId?: string;
+ /** The target availability set Id. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target boot diagnostics storage account ARM Id. */
+ targetBootDiagnosticsStorageAccountId?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The list of protected disks. */
+ protectedDisks?: VMwareCbtProtectedDiskDetails[];
+ /** The target network Id. */
+ targetNetworkId?: string;
+ /** The network details. */
+ vmNics?: VMwareCbtNicDetails[];
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
/**
- * @member {number} [resyncDurationInSeconds] The resync duration in seconds.
+ * The recovery point Id to which the VM was migrated.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- resyncDurationInSeconds?: number;
+ readonly migrationRecoveryPointId?: string;
/**
- * @member {number} [diskCapacityInBytes] The disk capacity in bytes.
+ * The last recovery point received time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskCapacityInBytes?: number;
+ readonly lastRecoveryPointReceived?: Date;
/**
- * @member {number} [fileSystemCapacityInBytes] The file system capacity in
- * bytes.
+ * The last recovery point Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- fileSystemCapacityInBytes?: number;
+ readonly lastRecoveryPointId?: string;
/**
- * @member {number} [sourceDataInMB] The source data transit in MB.
+ * The initial seeding progress percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- sourceDataInMB?: number;
+ readonly initialSeedingProgressPercentage?: number;
/**
- * @member {number} [psDataInMB] The PS data transit in MB.
+ * The migration progress percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- psDataInMB?: number;
+ readonly migrationProgressPercentage?: number;
/**
- * @member {number} [targetDataInMB] The target data transit in MB.
+ * The resync progress percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetDataInMB?: number;
+ readonly resyncProgressPercentage?: number;
/**
- * @member {string} [diskResized] A value indicating whether disk is resized.
+ * The initial seeding retry count.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskResized?: string;
+ readonly initialSeedingRetryCount?: number;
/**
- * @member {Date} [lastRpoCalculatedTime] The last RPO calculated time.
+ * The resync retry count.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastRpoCalculatedTime?: Date;
-}
-
-/**
- * @interface
- * An interface representing OSDiskDetails.
- * Details of the OS Disk.
- *
- */
-export interface OSDiskDetails {
+ readonly resyncRetryCount?: number;
/**
- * @member {string} [osVhdId] The id of the disk containing the OS.
+ * A value indicating whether resync is required.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- osVhdId?: string;
+ readonly resyncRequired?: string;
/**
- * @member {string} [osType] The type of the OS on the VM.
+ * The resync state.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
+ readonly resyncState?: ResyncState;
+ /** A value indicating whether auto resync is to be done. */
+ performAutoResync?: string;
+ /** The tags for the seed disks. */
+ seedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target disks. */
+ targetDiskTags?: { [propertyName: string]: string };
+};
+
+/** VMwareCbt specific enable migration input. */
+export type VMwareCbtEnableMigrationInput = EnableMigrationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** The ARM Id of the VM discovered in VMware. */
+ vmwareMachineId: string;
+ /** The disks to include list. */
+ disksToInclude: VMwareCbtDiskInput[];
+ /** License type. */
+ licenseType?: LicenseType;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: SqlServerLicenseType;
+ /** The data mover run as account Id. */
+ dataMoverRunAsAccountId: string;
+ /** The snapshot run as account Id. */
+ snapshotRunAsAccountId: string;
+ /** The target VM name. */
+ targetVmName?: string;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The target resource group ARM Id. */
+ targetResourceGroupId: string;
+ /** The target network ARM Id. */
+ targetNetworkId: string;
+ /** The target subnet name. */
+ targetSubnetName?: string;
+ /** The target availability set ARM Id. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group ARM Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target boot diagnostics storage account ARM Id. */
+ targetBootDiagnosticsStorageAccountId?: string;
+ /** A value indicating whether auto resync is to be done. */
+ performAutoResync?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the seed disks. */
+ seedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target disks. */
+ targetDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+};
+
+/** VMwareCbt specific update migration item input. */
+export type VMwareCbtUpdateMigrationItemInput = UpdateMigrationItemProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** The target VM name. */
+ targetVmName?: string;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The target resource group ARM Id. */
+ targetResourceGroupId?: string;
+ /** The target availability set ARM Id. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group ARM Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target boot diagnostics storage account ARM Id. */
+ targetBootDiagnosticsStorageAccountId?: string;
+ /** The target network ARM Id. */
+ targetNetworkId?: string;
+ /** The list of NIC details. */
+ vmNics?: VMwareCbtNicInput[];
+ /** The list of disk update properties. */
+ vmDisks?: VMwareCbtUpdateDiskInput[];
+ /** The license type. */
+ licenseType?: LicenseType;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: SqlServerLicenseType;
+ /** A value indicating whether auto resync is to be done. */
+ performAutoResync?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the target disks. */
+ targetDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+};
+
+/** VMwareCbt specific migrate input. */
+export type VMwareCbtMigrateInput = MigrateProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** A value indicating whether VM is to be shutdown. */
+ performShutdown: string;
+};
+
+/** VMwareCbt specific resync input. */
+export type VMwareCbtResyncInput = ResyncProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** A value indicating whether CBT is to be reset. */
+ skipCbtReset: string;
+};
+
+/** VMwareCbt specific test migrate input. */
+export type VMwareCbtTestMigrateInput = TestMigrateProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** The recovery point Id. */
+ recoveryPointId: string;
+ /** The test network Id. */
+ networkId: string;
+};
+
+/** Single Host fabric provider specific VM settings. */
+export type HyperVVirtualMachineDetails = ConfigurationSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVVirtualMachine" | "VmmVirtualMachine";
+ /** The source id of the object. */
+ sourceItemId?: string;
+ /** The id of the object in fabric. */
+ generation?: string;
+ /** The Last replication time. */
+ osDetails?: OSDetails;
+ /** The Last successful failover time. */
+ diskDetails?: DiskDetails[];
+ /** A value indicating whether the VM has a physical disk attached. String value of SrsDataContract.PresenceStatus enum. */
+ hasPhysicalDisk?: PresenceStatus;
+ /** A value indicating whether the VM has a fibre channel adapter attached. String value of SrsDataContract.PresenceStatus enum. */
+ hasFibreChannelAdapter?: PresenceStatus;
+ /** A value indicating whether the VM has a shared VHD attached. String value of SrsDataContract.PresenceStatus enum. */
+ hasSharedVhd?: PresenceStatus;
+ /** The Id of the hyper-v host in fabric. */
+ hyperVHostId?: string;
+};
+
+/** Replication group details. This will be used in case of San. */
+export type ReplicationGroupDetails = ConfigurationSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ReplicationGroupDetails";
+};
+
+/** VMware provider specific settings. */
+export type VMwareVirtualMachineDetails = ConfigurationSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareVirtualMachine";
+ /** The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection. */
+ agentGeneratedId?: string;
+ /** The value indicating if InMage scout agent is installed on guest. */
+ agentInstalled?: string;
+ /** The OsType installed on VM. */
osType?: string;
- /**
- * @member {string} [vhdName] The OS disk VHD name.
- */
- vhdName?: string;
-}
+ /** The agent version. */
+ agentVersion?: string;
+ /** The IP address. */
+ ipAddress?: string;
+ /** The value indicating whether VM is powered on. */
+ poweredOn?: string;
+ /** The VCenter infrastructure Id. */
+ vCenterInfrastructureId?: string;
+ /** A value indicating the discovery type of the machine. Value can be vCenter or physical. */
+ discoveryType?: string;
+ /** The disk details. */
+ diskDetails?: InMageDiskDetails[];
+ /** The validation errors. */
+ validationErrors?: HealthError[];
+};
-/**
- * @interface
- * An interface representing InMageReplicationDetails.
- * InMage provider specific settings
- *
- */
-export interface InMageReplicationDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMage";
- /**
- * @member {string} [activeSiteType] The active location of the VM. If the VM
- * is being protected from Azure, this field will take values from { Azure,
- * OnPrem }. If the VM is being protected between two data-centers, this
- * field will be OnPrem always.
- */
- activeSiteType?: string;
- /**
- * @member {number} [sourceVmCpuCount] The CPU count of the VM on the primary
- * side.
- */
- sourceVmCpuCount?: number;
- /**
- * @member {number} [sourceVmRamSizeInMB] The RAM size of the VM on the
- * primary side.
- */
- sourceVmRamSizeInMB?: number;
- /**
- * @member {OSDiskDetails} [osDetails] The OS details.
- */
- osDetails?: OSDiskDetails;
- /**
- * @member {string} [protectionStage] The protection stage.
- */
- protectionStage?: string;
- /**
- * @member {string} [vmId] The virtual machine Id.
- */
- vmId?: string;
- /**
- * @member {string} [vmProtectionState] The protection state for the vm.
- */
+/** A2A provider specific settings. */
+export type A2ACrossClusterMigrationReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2ACrossClusterMigration";
+ /** The fabric specific object Id of the virtual machine. */
+ fabricObjectId?: string;
+ /** Primary fabric location. */
+ primaryFabricLocation?: string;
+ /** The type of operating system. */
+ osType?: string;
+ /** The protection state for the vm. */
vmProtectionState?: string;
- /**
- * @member {string} [vmProtectionStateDescription] The protection state
- * description for the vm.
- */
+ /** The protection state description for the vm. */
vmProtectionStateDescription?: string;
+ /** An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the "same" protected item even though other internal Ids/ARM Id might be changing. */
+ lifecycleId?: string;
+};
+
+/** A2A provider specific settings. */
+export type A2AReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The fabric specific object Id of the virtual machine. */
+ fabricObjectId?: string;
/**
- * @member {InitialReplicationDetails} [resyncDetails] The resync details of
- * the machine
- */
- resyncDetails?: InitialReplicationDetails;
- /**
- * @member {Date} [retentionWindowStart] The retention window start time.
- */
- retentionWindowStart?: Date;
- /**
- * @member {Date} [retentionWindowEnd] The retention window end time.
- */
- retentionWindowEnd?: Date;
- /**
- * @member {number} [compressedDataRateInMB] The compressed data change rate
- * in MB.
- */
- compressedDataRateInMB?: number;
- /**
- * @member {number} [uncompressedDataRateInMB] The uncompressed data change
- * rate in MB.
- */
- uncompressedDataRateInMB?: number;
- /**
- * @member {number} [rpoInSeconds] The RPO in seconds.
- */
- rpoInSeconds?: number;
- /**
- * @member {InMageProtectedDiskDetails[]} [protectedDisks] The list of
- * protected disks.
- */
- protectedDisks?: InMageProtectedDiskDetails[];
- /**
- * @member {string} [ipAddress] The source IP address.
- */
- ipAddress?: string;
- /**
- * @member {Date} [lastHeartbeat] The last heartbeat received from the source
- * server.
- */
- lastHeartbeat?: Date;
- /**
- * @member {string} [processServerId] The process server Id.
- */
- processServerId?: string;
- /**
- * @member {string} [masterTargetId] The master target Id.
- */
- masterTargetId?: string;
- /**
- * @member {{ [propertyName: string]: Date } | { [propertyName: string]:
- * string }} [consistencyPoints] The collection of Consistency points.
+ * The initial primary availability zone.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- consistencyPoints?: { [propertyName: string]: Date } | { [propertyName: string]: string };
+ readonly initialPrimaryZone?: string;
/**
- * @member {string} [diskResized] A value indicating whether any disk is
- * resized for this VM.
+ * The initial primary fabric location.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskResized?: string;
+ readonly initialPrimaryFabricLocation?: string;
/**
- * @member {string} [rebootAfterUpdateStatus] A value indicating whether the
- * source server requires a restart after update.
+ * The initial recovery availability zone.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- rebootAfterUpdateStatus?: string;
+ readonly initialRecoveryZone?: string;
+ /** The initial primary extended location. */
+ initialPrimaryExtendedLocation?: ExtendedLocation;
+ /** The initial recovery extended location. */
+ initialRecoveryExtendedLocation?: ExtendedLocation;
/**
- * @member {string} [multiVmGroupId] The multi vm group Id, if any.
+ * The initial recovery fabric location.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
+ readonly initialRecoveryFabricLocation?: string;
+ /** The multi vm group Id. */
multiVmGroupId?: string;
- /**
- * @member {string} [multiVmGroupName] The multi vm group name, if any.
- */
+ /** The multi vm group name. */
multiVmGroupName?: string;
- /**
- * @member {string} [multiVmSyncStatus] A value indicating whether the multi
- * vm sync is enabled or disabled.
- */
- multiVmSyncStatus?: string;
- /**
- * @member {InMageAgentDetails} [agentDetails] The agent details.
- */
- agentDetails?: InMageAgentDetails;
- /**
- * @member {string} [vCenterInfrastructureId] The vCenter infrastructure Id.
- */
- vCenterInfrastructureId?: string;
- /**
- * @member {string} [infrastructureVmId] The infrastructure VM Id.
- */
- infrastructureVmId?: string;
- /**
- * @member {VMNicDetails[]} [vmNics] The PE Network details.
- */
+ /** Whether Multi VM group is auto created or specified by user. */
+ multiVmGroupCreateOption?: MultiVmGroupCreateOption;
+ /** The management Id. */
+ managementId?: string;
+ /** The list of protected disks. */
+ protectedDisks?: A2AProtectedDiskDetails[];
+ /** The list of unprotected disks. */
+ unprotectedDisks?: A2AUnprotectedDiskDetails[];
+ /** The list of protected managed disks. */
+ protectedManagedDisks?: A2AProtectedManagedDiskDetails[];
+ /** The recovery boot diagnostic storage account Arm Id. */
+ recoveryBootDiagStorageAccountId?: string;
+ /** Primary fabric location. */
+ primaryFabricLocation?: string;
+ /** The recovery fabric location. */
+ recoveryFabricLocation?: string;
+ /** The type of operating system. */
+ osType?: string;
+ /** The size of recovery virtual machine. */
+ recoveryAzureVMSize?: string;
+ /** The name of recovery virtual machine. */
+ recoveryAzureVMName?: string;
+ /** The recovery resource group. */
+ recoveryAzureResourceGroupId?: string;
+ /** The recovery cloud service. */
+ recoveryCloudService?: string;
+ /** The recovery availability set. */
+ recoveryAvailabilitySet?: string;
+ /** The recovery virtual network. */
+ selectedRecoveryAzureNetworkId?: string;
+ /** The test failover virtual network. */
+ selectedTfoAzureNetworkId?: string;
+ /** The virtual machine nic details. */
vmNics?: VMNicDetails[];
+ /** The synced configuration details. */
+ vmSyncedConfigDetails?: AzureToAzureVmSyncedConfigDetails;
+ /** The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property. */
+ monitoringPercentageCompletion?: number;
+ /** The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property. */
+ monitoringJobType?: string;
+ /** The last heartbeat received from the source server. */
+ lastHeartbeat?: Date;
+ /** The agent version. */
+ agentVersion?: string;
+ /** Agent expiry date. */
+ agentExpiryDate?: Date;
+ /** A value indicating whether replication agent update is required. */
+ isReplicationAgentUpdateRequired?: boolean;
/**
- * @member {string} [discoveryType] A value indicating the discovery type of
- * the machine.
- */
- discoveryType?: string;
- /**
- * @member {string} [azureStorageAccountId] A value indicating the underlying
- * Azure storage account. If the VM is not running in Azure, this value shall
- * be set to null.
- */
- azureStorageAccountId?: string;
- /**
- * @member {string[]} [datastores] The datastores of the on-premise machine
- * Value can be list of strings that contain datastore names
+ * Agent certificate expiry date.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
+ readonly agentCertificateExpiryDate?: Date;
+ /** A value indicating whether agent certificate update is required. */
+ isReplicationAgentCertificateUpdateRequired?: boolean;
+ /** The recovery fabric object Id. */
+ recoveryFabricObjectId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the "same" protected item even though other internal Ids/ARM Id might be changing. */
+ lifecycleId?: string;
+ /** The test failover fabric object Id. */
+ testFailoverRecoveryFabricObjectId?: string;
+ /** The last RPO value in seconds. */
+ rpoInSeconds?: number;
+ /** The time (in UTC) when the last RPO value was calculated by Protection Service. */
+ lastRpoCalculatedTime?: Date;
+ /** The primary availability zone. */
+ primaryAvailabilityZone?: string;
+ /** The recovery availability zone. */
+ recoveryAvailabilityZone?: string;
+ /** The primary Extended Location. */
+ primaryExtendedLocation?: ExtendedLocation;
+ /** The recovery Extended Location. */
+ recoveryExtendedLocation?: ExtendedLocation;
+ /**
+ * The encryption type of the VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly vmEncryptionType?: VmEncryptionType;
+ /** The test failover vm name. */
+ tfoAzureVMName?: string;
+ /**
+ * The recovery azure generation.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly recoveryAzureGeneration?: string;
+ /** The recovery proximity placement group Id. */
+ recoveryProximityPlacementGroupId?: string;
+ /** A value indicating whether the auto protection is enabled. */
+ autoProtectionOfDataDisk?: AutoProtectionOfDataDisk;
+ /** The recovery virtual machine scale set id. */
+ recoveryVirtualMachineScaleSetId?: string;
+ /** The recovery capacity reservation group Id. */
+ recoveryCapacityReservationGroupId?: string;
+};
+
+/** Hyper V Replica Azure provider specific settings. */
+export type HyperVReplicaAzureReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** Azure VM Disk details. */
+ azureVmDiskDetails?: AzureVmDiskDetails[];
+ /** Recovery Azure given name. */
+ recoveryAzureVmName?: string;
+ /** The Recovery Azure VM size. */
+ recoveryAzureVMSize?: string;
+ /** The recovery Azure storage account. */
+ recoveryAzureStorageAccount?: string;
+ /** The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection. */
+ recoveryAzureLogStorageAccountId?: string;
+ /** The Last replication time. */
+ lastReplicatedTime?: Date;
+ /** Last RPO value. */
+ rpoInSeconds?: number;
+ /** The last RPO calculated time. */
+ lastRpoCalculatedTime?: Date;
+ /** The virtual machine Id. */
+ vmId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** Initial replication details. */
+ initialReplicationDetails?: InitialReplicationDetails;
+ /** The PE Network details. */
+ vmNics?: VMNicDetails[];
+ /** The selected recovery azure network Id. */
+ selectedRecoveryAzureNetworkId?: string;
+ /** The selected source nic Id which will be used as the primary nic during failover. */
+ selectedSourceNicId?: string;
+ /** The encryption info. */
+ encryption?: string;
+ /** The operating system info. */
+ oSDetails?: OSDetails;
+ /** The RAM size of the VM on the primary side. */
+ sourceVmRamSizeInMB?: number;
+ /** The CPU count of the VM on the primary side. */
+ sourceVmCpuCount?: number;
+ /** The selected option to enable RDP\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum. */
+ enableRdpOnTargetOption?: string;
+ /** The target resource group Id. */
+ recoveryAzureResourceGroupId?: string;
+ /** The recovery availability set Id. */
+ recoveryAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** A value indicating whether managed disks should be used during failover. */
+ useManagedDisks?: string;
+ /** License Type of the VM to be used. */
+ licenseType?: string;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: string;
+ /**
+ * The last recovery point received time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
+ */
+ readonly lastRecoveryPointReceived?: Date;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the seed managed disks. */
+ seedManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target managed disks. */
+ targetManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+ /** The list of protected managed disks. */
+ protectedManagedDisks?: HyperVReplicaAzureManagedDiskDetails[];
+};
+
+/** Hyper V replica provider specific settings base class. */
+export type HyperVReplicaBaseReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaBaseReplicationDetails";
+ /** The Last replication time. */
+ lastReplicatedTime?: Date;
+ /** The PE Network details. */
+ vmNics?: VMNicDetails[];
+ /** The virtual machine Id. */
+ vmId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** Initial replication details. */
+ initialReplicationDetails?: InitialReplicationDetails;
+ /** VM disk details. */
+ vMDiskDetails?: DiskDetails[];
+};
+
+/** HyperV replica 2012 R2 (Blue) replication details. */
+export type HyperVReplicaBlueReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012R2";
+ /** The Last replication time. */
+ lastReplicatedTime?: Date;
+ /** The PE Network details. */
+ vmNics?: VMNicDetails[];
+ /** The virtual machine Id. */
+ vmId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** Initial replication details. */
+ initialReplicationDetails?: InitialReplicationDetails;
+ /** VM disk details. */
+ vMDiskDetails?: DiskDetails[];
+};
+
+/** HyperV replica 2012 replication details. */
+export type HyperVReplicaReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012";
+ /** The Last replication time. */
+ lastReplicatedTime?: Date;
+ /** The PE Network details. */
+ vmNics?: VMNicDetails[];
+ /** The virtual machine Id. */
+ vmId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** Initial replication details. */
+ initialReplicationDetails?: InitialReplicationDetails;
+ /** VM disk details. */
+ vMDiskDetails?: DiskDetails[];
+};
+
+/** InMageAzureV2 provider specific settings. */
+export type InMageAzureV2ReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The infrastructure VM Id. */
+ infrastructureVmId?: string;
+ /** The vCenter infrastructure Id. */
+ vCenterInfrastructureId?: string;
+ /** The protection stage. */
+ protectionStage?: string;
+ /** The virtual machine Id. */
+ vmId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** The resync progress percentage. */
+ resyncProgressPercentage?: number;
+ /** The RPO in seconds. */
+ rpoInSeconds?: number;
+ /** The compressed data change rate in MB. */
+ compressedDataRateInMB?: number;
+ /** The uncompressed data change rate in MB. */
+ uncompressedDataRateInMB?: number;
+ /** The source IP address. */
+ ipAddress?: string;
+ /** The agent version. */
+ agentVersion?: string;
+ /** Agent expiry date. */
+ agentExpiryDate?: Date;
+ /** A value indicating whether installed agent needs to be updated. */
+ isAgentUpdateRequired?: string;
+ /** A value indicating whether the source server requires a restart after update. */
+ isRebootAfterUpdateRequired?: string;
+ /** The last heartbeat received from the source server. */
+ lastHeartbeat?: Date;
+ /** The process server Id. */
+ processServerId?: string;
+ /** The process server name. */
+ processServerName?: string;
+ /** The multi vm group Id. */
+ multiVmGroupId?: string;
+ /** The multi vm group name. */
+ multiVmGroupName?: string;
+ /** A value indicating whether multi vm sync is enabled or disabled. */
+ multiVmSyncStatus?: string;
+ /** The list of protected disks. */
+ protectedDisks?: InMageAzureV2ProtectedDiskDetails[];
+ /** A value indicating whether any disk is resized for this VM. */
+ diskResized?: string;
+ /** The master target Id. */
+ masterTargetId?: string;
+ /** The CPU count of the VM on the primary side. */
+ sourceVmCpuCount?: number;
+ /** The RAM size of the VM on the primary side. */
+ sourceVmRamSizeInMB?: number;
+ /** The type of the OS on the VM. */
+ osType?: string;
+ /** The OS disk VHD name. */
+ vhdName?: string;
+ /** The id of the disk containing the OS. */
+ osDiskId?: string;
+ /** Azure VM Disk details. */
+ azureVMDiskDetails?: AzureVmDiskDetails[];
+ /** Recovery Azure given name. */
+ recoveryAzureVMName?: string;
+ /** The Recovery Azure VM size. */
+ recoveryAzureVMSize?: string;
+ /** The recovery Azure storage account. */
+ recoveryAzureStorageAccount?: string;
+ /** The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection. */
+ recoveryAzureLogStorageAccountId?: string;
+ /** The PE Network details. */
+ vmNics?: VMNicDetails[];
+ /** The selected recovery azure network Id. */
+ selectedRecoveryAzureNetworkId?: string;
+ /** The test failover virtual network. */
+ selectedTfoAzureNetworkId?: string;
+ /** The selected source nic Id which will be used as the primary nic during failover. */
+ selectedSourceNicId?: string;
+ /** A value indicating the discovery type of the machine. Value can be vCenter or physical. */
+ discoveryType?: string;
+ /** The selected option to enable RDP\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum. */
+ enableRdpOnTargetOption?: string;
+ /** The datastores of the on-premise machine. Value can be list of strings that contain datastore names. */
datastores?: string[];
- /**
- * @member {HealthError[]} [validationErrors] The validation errors of the
- * on-premise machine Value can be list of validation errors
- */
+ /** The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM. */
+ targetVmId?: string;
+ /** The target resource group Id. */
+ recoveryAzureResourceGroupId?: string;
+ /** The recovery availability set Id. */
+ recoveryAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** A value indicating whether managed disks should be used during failover. */
+ useManagedDisks?: string;
+ /** License Type of the VM to be used. */
+ licenseType?: string;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: string;
+ /** The validation errors of the on-premise machine Value can be list of validation errors. */
validationErrors?: HealthError[];
- /**
- * @member {Date} [lastRpoCalculatedTime] The last RPO calculated time.
- */
+ /** The last RPO calculated time. */
lastRpoCalculatedTime?: Date;
- /**
- * @member {Date} [lastUpdateReceivedTime] The last update time received from
- * on-prem components.
- */
+ /** The last update time received from on-prem components. */
lastUpdateReceivedTime?: Date;
- /**
- * @member {string} [replicaId] The replica id of the protected item.
- */
+ /** The replica id of the protected item. */
replicaId?: string;
- /**
- * @member {string} [osVersion] The OS Version of the protected item.
- */
+ /** The OS Version of the protected item. */
osVersion?: string;
-}
-
-/**
- * @interface
- * An interface representing InMageReprotectInput.
- * InMageAzureV2 specific provider input.
- *
- */
-export interface InMageReprotectInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMage";
- /**
- * @member {string} masterTargetId The Master Target Id.
- */
- masterTargetId: string;
- /**
- * @member {string} processServerId The Process Server Id.
- */
- processServerId: string;
+ /** The list of protected managed disks. */
+ protectedManagedDisks?: InMageAzureV2ManagedDiskDetails[];
/**
- * @member {string} retentionDrive The retention drive to use on the MT.
+ * The last recovery point received time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- retentionDrive: string;
+ readonly lastRecoveryPointReceived?: Date;
+ /** The firmware type of this protected item. */
+ firmwareType?: string;
+ /** The target generation for this protected item. */
+ azureVmGeneration?: string;
+ /** A value indicating whether additional IR stats are available or not. */
+ isAdditionalStatsAvailable?: boolean;
+ /** The total transferred data in bytes. */
+ totalDataTransferred?: number;
+ /** The progress health. */
+ totalProgressHealth?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the seed managed disks. */
+ seedManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target managed disks. */
+ targetManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+ /** The switch provider blocking error information. */
+ switchProviderBlockingErrorDetails?: InMageAzureV2SwitchProviderBlockingErrorDetails[];
+ /** The switch provider blocking error information. */
+ switchProviderDetails?: InMageAzureV2SwitchProviderDetails;
+};
+
+/** InMageRcmFailback provider specific details. */
+export type InMageRcmFailbackReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
/**
- * @member {string} [runAsAccountId] The CS account Id.
+ * The virtual machine internal identifier.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- runAsAccountId?: string;
+ readonly internalIdentifier?: string;
/**
- * @member {string} [datastoreName] The target datastore name.
+ * The ARM Id of the azure VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- datastoreName?: string;
+ readonly azureVirtualMachineId?: string;
/**
- * @member {InMageDiskExclusionInput} [diskExclusionInput] The enable disk
- * exclusion input.
+ * The multi VM group name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- diskExclusionInput?: InMageDiskExclusionInput;
+ readonly multiVmGroupName?: string;
/**
- * @member {string} profileId The Policy Id.
+ * The reprotect agent Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- profileId: string;
+ readonly reprotectAgentId?: string;
/**
- * @member {string[]} [disksToInclude] The disks to include list.
+ * The reprotect agent name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- disksToInclude?: string[];
-}
-
-/**
- * @interface
- * An interface representing JobProperties.
- * Job custom data details.
- *
- */
-export interface JobProperties {
+ readonly reprotectAgentName?: string;
/**
- * @member {string} [activityId] The activity id.
+ * The type of the OS on the VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- activityId?: string;
+ readonly osType?: string;
/**
- * @member {string} [scenarioName] The ScenarioName.
+ * The log storage account ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- scenarioName?: string;
+ readonly logStorageAccountId?: string;
/**
- * @member {string} [friendlyName] The DisplayName.
+ * The target vCenter Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- friendlyName?: string;
+ readonly targetvCenterId?: string;
/**
- * @member {string} [state] The status of the Job. It is one of these values
- * - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or
- * Other.
+ * The target datastore name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- state?: string;
+ readonly targetDataStoreName?: string;
/**
- * @member {string} [stateDescription] The description of the state of the
- * Job. For e.g. - For Succeeded state, description can be Completed,
- * PartiallySucceeded, CompletedWithInformation or Skipped.
+ * The target VM name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- stateDescription?: string;
+ readonly targetVmName?: string;
/**
- * @member {ASRTask[]} [tasks] The tasks.
+ * The initial replication progress percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- tasks?: ASRTask[];
+ readonly initialReplicationProgressPercentage?: number;
/**
- * @member {JobErrorDetails[]} [errors] The errors.
+ * The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- errors?: JobErrorDetails[];
+ readonly initialReplicationProcessedBytes?: number;
/**
- * @member {Date} [startTime] The start time.
+ * The initial replication transferred bytes from source VM to target for all selected disks on source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- startTime?: Date;
+ readonly initialReplicationTransferredBytes?: number;
/**
- * @member {Date} [endTime] The end time.
+ * The initial replication progress health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- endTime?: Date;
+ readonly initialReplicationProgressHealth?: VmReplicationProgressHealth;
/**
- * @member {string[]} [allowedActions] The Allowed action the job.
+ * The resync progress percentage.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- allowedActions?: string[];
+ readonly resyncProgressPercentage?: number;
/**
- * @member {string} [targetObjectId] The affected Object Id.
+ * The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetObjectId?: string;
+ readonly resyncProcessedBytes?: number;
/**
- * @member {string} [targetObjectName] The name of the affected object.
+ * The resync transferred bytes from source VM to target for all selected disks on source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetObjectName?: string;
+ readonly resyncTransferredBytes?: number;
/**
- * @member {string} [targetInstanceType] The type of the affected object
- * which is of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType}
- * class.
+ * The resync progress health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- targetInstanceType?: string;
+ readonly resyncProgressHealth?: VmReplicationProgressHealth;
/**
- * @member {JobDetailsUnion} [customDetails] The custom job details like test
- * failover job details.
+ * A value indicating whether resync is required.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- customDetails?: JobDetailsUnion;
-}
-
-/**
- * @interface
- * An interface representing Job.
- * Job details.
- *
- * @extends Resource
- */
-export interface Job extends Resource {
+ readonly resyncRequired?: string;
/**
- * @member {JobProperties} [properties] The custom data.
+ * The resync state.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- properties?: JobProperties;
-}
-
-/**
- * @interface
- * An interface representing JobQueryParameter.
- * Query parameter to enumerate jobs.
- *
- */
-export interface JobQueryParameter {
+ readonly resyncState?: ResyncState;
+ /** The list of protected disks. */
+ protectedDisks?: InMageRcmFailbackProtectedDiskDetails[];
+ /** The mobility agent information. */
+ mobilityAgentDetails?: InMageRcmFailbackMobilityAgentDetails;
+ /** The network details. */
+ vmNics?: InMageRcmFailbackNicDetails[];
/**
- * @member {string} [startTime] Date time to get jobs from.
+ * The last planned failover start time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- startTime?: string;
+ readonly lastPlannedFailoverStartTime?: Date;
/**
- * @member {string} [endTime] Date time to get jobs upto.
+ * The last planned failover status.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- endTime?: string;
+ readonly lastPlannedFailoverStatus?: PlannedFailoverStatus;
+ /** The discovered VM information. */
+ discoveredVmDetails?: InMageRcmFailbackDiscoveredProtectedVmDetails;
/**
- * @member {string} [fabricId] The Id of the fabric to search jobs under.
+ * The policy Id used by the forward replication.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- fabricId?: string;
+ readonly lastUsedPolicyId?: string;
/**
- * @member {string} [affectedObjectTypes] The type of objects.
+ * The policy friendly name used by the forward replication.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- affectedObjectTypes?: string;
+ readonly lastUsedPolicyFriendlyName?: string;
/**
- * @member {string} [jobStatus] The states of the job to be filtered can be
- * in.
+ * A value indicating whether agent registration was successful after failover.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- jobStatus?: string;
-}
+ readonly isAgentRegistrationSuccessfulAfterFailover?: boolean;
+};
-/**
- * @interface
- * An interface representing JobStatusEventDetails.
- * Model class for event details of a job status event.
- *
- */
-export interface JobStatusEventDetails {
+/** InMageRcm provider specific details. */
+export type InMageRcmReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The virtual machine internal identifier.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "JobStatus";
+ readonly internalIdentifier?: string;
/**
- * @member {string} [jobId] Job arm id for the event.
+ * The ARM Id of the discovered VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- jobId?: string;
+ readonly fabricDiscoveryMachineId?: string;
/**
- * @member {string} [jobFriendlyName] JobName for the Event.
+ * The multi VM group name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- jobFriendlyName?: string;
+ readonly multiVmGroupName?: string;
/**
- * @member {string} [jobStatus] JobStatus for the Event.
+ * The type of the discovered VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- jobStatus?: string;
+ readonly discoveryType?: string;
/**
- * @member {string} [affectedObjectType] AffectedObjectType for the event.
+ * The process server Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- affectedObjectType?: string;
-}
-
-/**
- * @interface
- * An interface representing JobTaskDetails.
- * This class represents a task which is actually a workflow so that one can
- * navigate to its individual drill down.
- *
- */
-export interface JobTaskDetails {
+ readonly processServerId?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The processor core count.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "JobTaskDetails";
+ readonly processorCoreCount?: number;
/**
- * @member {JobEntity} [jobTask] The job entity.
+ * The allocated memory in MB.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- jobTask?: JobEntity;
-}
-
-/**
- * @interface
- * An interface representing LogicalNetworkProperties.
- * Logical Network Properties.
- *
- */
-export interface LogicalNetworkProperties {
+ readonly allocatedMemoryInMB?: number;
/**
- * @member {string} [friendlyName] The Friendly Name.
+ * The process server name.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- friendlyName?: string;
+ readonly processServerName?: string;
/**
- * @member {string} [networkVirtualizationStatus] A value indicating whether
- * Network Virtualization is enabled for the logical network.
+ * The run-as account Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- networkVirtualizationStatus?: string;
+ readonly runAsAccountId?: string;
/**
- * @member {string} [logicalNetworkUsage] A value indicating whether logical
- * network is used as private test network by test failover.
+ * The type of the OS on the VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- logicalNetworkUsage?: string;
+ readonly osType?: string;
/**
- * @member {string} [logicalNetworkDefinitionsStatus] A value indicating
- * whether logical network definitions are isolated.
+ * The firmware type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- logicalNetworkDefinitionsStatus?: string;
-}
-
-/**
- * @interface
- * An interface representing LogicalNetwork.
- * Logical network data model.
- *
- * @extends Resource
- */
-export interface LogicalNetwork extends Resource {
+ readonly firmwareType?: string;
/**
- * @member {LogicalNetworkProperties} [properties] The Logical Network
- * Properties.
+ * The IP address of the primary network interface.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- properties?: LogicalNetworkProperties;
-}
-
-/**
- * @interface
- * An interface representing ManualActionTaskDetails.
- * This class represents the manual action task details.
- *
- */
-export interface ManualActionTaskDetails {
+ readonly primaryNicIpAddress?: string;
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The target generation.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "ManualActionTaskDetails";
+ readonly targetGeneration?: string;
+ /** License Type of the VM to be used. */
+ licenseType?: string;
+ /** Target VM name. */
+ targetVmName?: string;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The target resource group Id. */
+ targetResourceGroupId?: string;
+ /** The target location. */
+ targetLocation?: string;
+ /** The target availability set Id. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target boot diagnostics storage account ARM Id. */
+ targetBootDiagnosticsStorageAccountId?: string;
+ /** The target network Id. */
+ targetNetworkId?: string;
+ /** The test network Id. */
+ testNetworkId?: string;
/**
- * @member {string} [name] The name.
+ * The recovery point Id to which the VM was failed over.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- name?: string;
+ readonly failoverRecoveryPointId?: string;
/**
- * @member {string} [instructions] The instructions.
+ * The last recovery point received time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instructions?: string;
+ readonly lastRecoveryPointReceived?: Date;
/**
- * @member {string} [observation] The observation.
+ * The last recovery point objective value.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- observation?: string;
-}
-
-/**
- * @interface
- * An interface representing RetentionVolume.
- * The retention details of the MT.
- *
- */
-export interface RetentionVolume {
+ readonly lastRpoInSeconds?: number;
/**
- * @member {string} [volumeName] The volume name.
+ * The last recovery point objective calculated time.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- volumeName?: string;
+ readonly lastRpoCalculatedTime?: Date;
/**
- * @member {number} [capacityInBytes] The volume capacity.
+ * The last recovery point Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- capacityInBytes?: number;
+ readonly lastRecoveryPointId?: string;
/**
- * @member {number} [freeSpaceInBytes] The free space available in this
- * volume.
+ * The initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- freeSpaceInBytes?: number;
+ readonly initialReplicationProgressPercentage?: number;
/**
- * @member {number} [thresholdPercentage] The threshold percentage.
+ * The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- thresholdPercentage?: number;
-}
-
-/**
- * @interface
- * An interface representing VersionDetails.
- * Version related details.
- *
- */
-export interface VersionDetails {
+ readonly initialReplicationProcessedBytes?: number;
/**
- * @member {string} [version] The agent version.
+ * The initial replication transferred bytes from source VM to azure for all selected disks on source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- version?: string;
+ readonly initialReplicationTransferredBytes?: number;
/**
- * @member {Date} [expiryDate] Version expiry date.
+ * The initial replication progress health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- expiryDate?: Date;
+ readonly initialReplicationProgressHealth?: VmReplicationProgressHealth;
/**
- * @member {AgentVersionStatus} [status] A value indicating whether security
- * update required. Possible values include: 'Supported', 'NotSupported',
- * 'Deprecated', 'UpdateRequired', 'SecurityUpdateRequired'
+ * The resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- status?: AgentVersionStatus;
-}
-
-/**
- * @interface
- * An interface representing MasterTargetServer.
- * Details of a Master Target Server.
- *
- */
-export interface MasterTargetServer {
+ readonly resyncProgressPercentage?: number;
/**
- * @member {string} [id] The server Id.
+ * The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- id?: string;
+ readonly resyncProcessedBytes?: number;
/**
- * @member {string} [ipAddress] The IP address of the server.
+ * The resync transferred bytes from source VM to azure for all selected disks on source VM.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- ipAddress?: string;
+ readonly resyncTransferredBytes?: number;
/**
- * @member {string} [name] The server name.
+ * The resync progress health.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- name?: string;
+ readonly resyncProgressHealth?: VmReplicationProgressHealth;
/**
- * @member {string} [osType] The OS type of the server.
+ * A value indicating whether resync is required.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- osType?: string;
+ readonly resyncRequired?: string;
/**
- * @member {string} [agentVersion] The version of the scout component on the
- * server.
+ * The resync state.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- agentVersion?: string;
+ readonly resyncState?: ResyncState;
/**
- * @member {Date} [lastHeartbeat] The last heartbeat received from the
- * server.
+ * The agent auto upgrade state.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- lastHeartbeat?: Date;
+ readonly agentUpgradeState?: MobilityAgentUpgradeState;
/**
- * @member {string} [versionStatus] Version status
+ * The last agent upgrade type.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- versionStatus?: string;
+ readonly lastAgentUpgradeType?: string;
/**
- * @member {RetentionVolume[]} [retentionVolumes] The retention volumes of
- * Master target Server.
+ * The agent upgrade job Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- retentionVolumes?: RetentionVolume[];
+ readonly agentUpgradeJobId?: string;
/**
- * @member {DataStore[]} [dataStores] The list of data stores in the fabric.
+ * The agent version to which last agent upgrade was attempted.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- dataStores?: DataStore[];
+ readonly agentUpgradeAttemptToVersion?: string;
+ /** The list of protected disks. */
+ protectedDisks?: InMageRcmProtectedDiskDetails[];
/**
- * @member {HealthError[]} [validationErrors] Validation errors.
+ * A value indicating whether last agent upgrade was successful or not.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- validationErrors?: HealthError[];
+ readonly isLastUpgradeSuccessful?: string;
/**
- * @member {HealthError[]} [healthErrors] Health errors.
+ * A value indicating whether agent registration was successful after failover.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- healthErrors?: HealthError[];
- /**
- * @member {number} [diskCount] Disk count of the master target.
- */
- diskCount?: number;
- /**
- * @member {string} [osVersion] OS Version of the master target.
- */
- osVersion?: string;
- /**
- * @member {Date} [agentExpiryDate] Agent expiry date.
- */
- agentExpiryDate?: Date;
- /**
- * @member {string} [marsAgentVersion] MARS agent version.
- */
- marsAgentVersion?: string;
- /**
- * @member {Date} [marsAgentExpiryDate] MARS agent expiry date.
- */
- marsAgentExpiryDate?: Date;
- /**
- * @member {VersionDetails} [agentVersionDetails] Agent version details.
- */
- agentVersionDetails?: VersionDetails;
- /**
- * @member {VersionDetails} [marsAgentVersionDetails] Mars agent version
- * details.
- */
- marsAgentVersionDetails?: VersionDetails;
-}
-
-/**
- * @interface
- * An interface representing MobilityServiceUpdate.
- * The Mobility Service update details.
- *
- */
-export interface MobilityServiceUpdate {
- /**
- * @member {string} [version] The version of the latest update.
- */
- version?: string;
- /**
- * @member {string} [rebootStatus] The reboot status of the update - whether
- * it is required or not.
- */
- rebootStatus?: string;
- /**
- * @member {string} [osType] The OS type.
- */
- osType?: string;
-}
-
-/**
- * @interface
- * An interface representing Subnet.
- * Subnets of the network.
- *
- */
-export interface Subnet {
- /**
- * @member {string} [name] The subnet name.
- */
- name?: string;
- /**
- * @member {string} [friendlyName] The subnet friendly name.
- */
- friendlyName?: string;
- /**
- * @member {string[]} [addressList] The list of addresses for the subnet.
- */
- addressList?: string[];
-}
-
-/**
- * @interface
- * An interface representing NetworkProperties.
- * Network Properties
- *
- */
-export interface NetworkProperties {
- /**
- * @member {string} [fabricType] The Fabric Type.
- */
- fabricType?: string;
- /**
- * @member {Subnet[]} [subnets] The List of subnets.
- */
- subnets?: Subnet[];
- /**
- * @member {string} [friendlyName] The Friendly Name.
- */
- friendlyName?: string;
- /**
- * @member {string} [networkType] The Network Type.
- */
- networkType?: string;
-}
-
-/**
- * @interface
- * An interface representing Network.
- * Network model.
- *
- * @extends Resource
- */
-export interface Network extends Resource {
- /**
- * @member {NetworkProperties} [properties] The Network Properties.
- */
- properties?: NetworkProperties;
-}
-
-/**
- * @interface
- * An interface representing NetworkMappingProperties.
- * Network Mapping Properties.
- *
- */
-export interface NetworkMappingProperties {
- /**
- * @member {string} [state] The pairing state for network mapping.
- */
- state?: string;
- /**
- * @member {string} [primaryNetworkFriendlyName] The primary network friendly
- * name.
- */
- primaryNetworkFriendlyName?: string;
- /**
- * @member {string} [primaryNetworkId] The primary network id for network
- * mapping.
- */
- primaryNetworkId?: string;
- /**
- * @member {string} [primaryFabricFriendlyName] The primary fabric friendly
- * name.
- */
- primaryFabricFriendlyName?: string;
- /**
- * @member {string} [recoveryNetworkFriendlyName] The recovery network
- * friendly name.
- */
- recoveryNetworkFriendlyName?: string;
- /**
- * @member {string} [recoveryNetworkId] The recovery network id for network
- * mapping.
- */
- recoveryNetworkId?: string;
- /**
- * @member {string} [recoveryFabricArmId] The recovery fabric ARM id.
- */
- recoveryFabricArmId?: string;
- /**
- * @member {string} [recoveryFabricFriendlyName] The recovery fabric friendly
- * name.
- */
- recoveryFabricFriendlyName?: string;
- /**
- * @member {NetworkMappingFabricSpecificSettingsUnion}
- * [fabricSpecificSettings] The fabric specific settings.
- */
- fabricSpecificSettings?: NetworkMappingFabricSpecificSettingsUnion;
-}
-
-/**
- * @interface
- * An interface representing NetworkMapping.
- * Network Mapping model. Ideally it should have been possible to inherit this
- * class from prev version in InheritedModels as long as there is no difference
- * in structure or method signature. Since there were no base Models for
- * certain fields and methods viz NetworkMappingProperties and Load with
- * required return type, the class has been introduced in its entirety with
- * references to base models to facilitate exensions in subsequent versions.
- *
- * @extends Resource
- */
-export interface NetworkMapping extends Resource {
- /**
- * @member {NetworkMappingProperties} [properties] The Network Mapping
- * Properties.
- */
- properties?: NetworkMappingProperties;
-}
-
-/**
- * @interface
- * An interface representing OperationsDiscovery.
- * Operations discovery class.
- *
- */
-export interface OperationsDiscovery {
- /**
- * @member {string} [name] Name of the API. The name of the operation being
- * performed on this particular object. It should match the action name that
- * appears in RBAC / the event service. Examples of operations include: *
- * Microsoft.Compute/virtualMachine/capture/action *
- * Microsoft.Compute/virtualMachine/restart/action *
- * Microsoft.Compute/virtualMachine/write *
- * Microsoft.Compute/virtualMachine/read *
- * Microsoft.Compute/virtualMachine/delete Each action should include, in
- * order: (1) Resource Provider Namespace (2) Type hierarchy for which the
- * action applies (e.g. server/databases for a SQL Azure database) (3) Read,
- * Write, Action or Delete indicating which type applies. If it is a
- * PUT/PATCH on a collection or named value, Write should be used. If it is a
- * GET, Read should be used. If it is a DELETE, Delete should be used. If it
- * is a POST, Action should be used. As a note: all resource providers would
- * need to include the "{Resource Provider Namespace}/register/action"
- * operation in their response. This API is used to register for their
- * service, and should include details about the operation (e.g. a localized
- * name for the resource provider + any special considerations like PII
- * release)
- */
- name?: string;
- /**
- * @member {Display} [display] Object type
- */
- display?: Display;
- /**
- * @member {string} [origin] Origin. The intended executor of the operation;
- * governs the display of the operation in the RBAC UX and the audit logs UX.
- * Default value is "user,system"
- */
- origin?: string;
- /**
- * @member {any} [properties] Properties. Reserved for future use.
- */
- properties?: any;
-}
-
-/**
- * @interface
- * An interface representing PlannedFailoverInputProperties.
- * Input definition for planned failover input properties.
- *
- */
-export interface PlannedFailoverInputProperties {
- /**
- * @member {string} [failoverDirection] Failover direction.
- */
- failoverDirection?: string;
- /**
- * @member {ProviderSpecificFailoverInputUnion} [providerSpecificDetails]
- * Provider specific settings
- */
- providerSpecificDetails?: ProviderSpecificFailoverInputUnion;
-}
-
-/**
- * @interface
- * An interface representing PlannedFailoverInput.
- * Input definition for planned failover.
- *
- */
-export interface PlannedFailoverInput {
- /**
- * @member {PlannedFailoverInputProperties} [properties] Planned failover
- * input properties
- */
- properties?: PlannedFailoverInputProperties;
-}
-
-/**
- * @interface
- * An interface representing PolicyProperties.
- * Protection profile custom data details.
- *
- */
-export interface PolicyProperties {
- /**
- * @member {string} [friendlyName] The FriendlyName.
- */
- friendlyName?: string;
- /**
- * @member {PolicyProviderSpecificDetailsUnion} [providerSpecificDetails] The
- * ReplicationChannelSetting.
- */
- providerSpecificDetails?: PolicyProviderSpecificDetailsUnion;
-}
-
-/**
- * @interface
- * An interface representing Policy.
- * Protection profile details.
- *
- * @extends Resource
- */
-export interface Policy extends Resource {
- /**
- * @member {PolicyProperties} [properties] The custom data.
- */
- properties?: PolicyProperties;
-}
-
-/**
- * @interface
- * An interface representing ProcessServer.
- * Details of the Process Server.
- *
- */
-export interface ProcessServer {
- /**
- * @member {string} [friendlyName] The Process Server's friendly name.
- */
- friendlyName?: string;
- /**
- * @member {string} [id] The Process Server Id.
- */
- id?: string;
- /**
- * @member {string} [ipAddress] The IP address of the server.
- */
- ipAddress?: string;
- /**
- * @member {string} [osType] The OS type of the server.
- */
- osType?: string;
- /**
- * @member {string} [agentVersion] The version of the scout component on the
- * server.
- */
- agentVersion?: string;
- /**
- * @member {Date} [lastHeartbeat] The last heartbeat received from the
- * server.
- */
- lastHeartbeat?: Date;
- /**
- * @member {string} [versionStatus] Version status
- */
- versionStatus?: string;
- /**
- * @member {MobilityServiceUpdate[]} [mobilityServiceUpdates] The list of the
- * mobility service updates available on the Process Server.
- */
- mobilityServiceUpdates?: MobilityServiceUpdate[];
- /**
- * @member {string} [hostId] The agent generated Id.
- */
- hostId?: string;
- /**
- * @member {string} [machineCount] The servers configured with this PS.
- */
- machineCount?: string;
- /**
- * @member {string} [replicationPairCount] The number of replication pairs
- * configured in this PS.
- */
- replicationPairCount?: string;
- /**
- * @member {string} [systemLoad] The percentage of the system load.
- */
- systemLoad?: string;
- /**
- * @member {string} [systemLoadStatus] The system load status.
- */
- systemLoadStatus?: string;
- /**
- * @member {string} [cpuLoad] The percentage of the CPU load.
- */
- cpuLoad?: string;
- /**
- * @member {string} [cpuLoadStatus] The CPU load status.
- */
- cpuLoadStatus?: string;
- /**
- * @member {number} [totalMemoryInBytes] The total memory.
- */
- totalMemoryInBytes?: number;
- /**
- * @member {number} [availableMemoryInBytes] The available memory.
- */
- availableMemoryInBytes?: number;
- /**
- * @member {string} [memoryUsageStatus] The memory usage status.
- */
- memoryUsageStatus?: string;
- /**
- * @member {number} [totalSpaceInBytes] The total space.
- */
- totalSpaceInBytes?: number;
- /**
- * @member {number} [availableSpaceInBytes] The available space.
- */
- availableSpaceInBytes?: number;
- /**
- * @member {string} [spaceUsageStatus] The space usage status.
- */
- spaceUsageStatus?: string;
- /**
- * @member {string} [psServiceStatus] The PS service status.
- */
- psServiceStatus?: string;
- /**
- * @member {Date} [sslCertExpiryDate] The PS SSL cert expiry date.
- */
- sslCertExpiryDate?: Date;
- /**
- * @member {number} [sslCertExpiryRemainingDays] CS SSL cert expiry date.
- */
- sslCertExpiryRemainingDays?: number;
- /**
- * @member {string} [osVersion] OS Version of the process server. Note: This
- * will get populated if user has CS version greater than 9.12.0.0.
- */
- osVersion?: string;
- /**
- * @member {HealthError[]} [healthErrors] Health errors.
- */
- healthErrors?: HealthError[];
- /**
- * @member {Date} [agentExpiryDate] Agent expiry date.
- */
- agentExpiryDate?: Date;
- /**
- * @member {VersionDetails} [agentVersionDetails] The agent version details.
- */
- agentVersionDetails?: VersionDetails;
-}
-
-/**
- * @interface
- * An interface representing ProtectableItemProperties.
- * Replication protected item custom data details.
- *
- */
-export interface ProtectableItemProperties {
- /**
- * @member {string} [friendlyName] The name.
- */
- friendlyName?: string;
- /**
- * @member {string} [protectionStatus] The protection status.
- */
- protectionStatus?: string;
- /**
- * @member {string} [replicationProtectedItemId] The ARM resource of
- * protected items.
- */
- replicationProtectedItemId?: string;
- /**
- * @member {string} [recoveryServicesProviderId] The recovery provider ARM
- * Id.
- */
- recoveryServicesProviderId?: string;
- /**
- * @member {string[]} [protectionReadinessErrors] The Current protection
- * readiness errors.
- */
- protectionReadinessErrors?: string[];
- /**
- * @member {string[]} [supportedReplicationProviders] The list of replication
- * providers supported for the protectable item.
- */
- supportedReplicationProviders?: string[];
- /**
- * @member {ConfigurationSettingsUnion} [customDetails] The Replication
- * provider custom settings.
- */
- customDetails?: ConfigurationSettingsUnion;
-}
-
-/**
- * @interface
- * An interface representing ProtectableItem.
- * Replication protected item
- *
- * @extends Resource
- */
-export interface ProtectableItem extends Resource {
- /**
- * @member {ProtectableItemProperties} [properties] The custom data.
- */
- properties?: ProtectableItemProperties;
-}
-
-/**
- * @interface
- * An interface representing ProtectableItemQueryParameter.
- * Query parameter to enumerate Protectable items.
- *
- */
-export interface ProtectableItemQueryParameter {
- /**
- * @member {string} [state] State of the Protectable item query filter.
- */
- state?: string;
-}
-
-/**
- * @interface
- * An interface representing ProtectedItemsQueryParameter.
- * Query parameter to enumerate protected items.
- *
- */
-export interface ProtectedItemsQueryParameter {
- /**
- * @member {string} [sourceFabricName] The source fabric name filter.
- */
- sourceFabricName?: string;
- /**
- * @member {string} [recoveryPlanName] The recovery plan filter.
- */
- recoveryPlanName?: string;
- /**
- * @member {string} [vCenterName] The vCenter name filter.
- */
- vCenterName?: string;
- /**
- * @member {string} [instanceType] The replication provider type.
- */
- instanceType?: string;
- /**
- * @member {MultiVmGroupCreateOption} [multiVmGroupCreateOption] Whether
- * Multi VM group is auto created or specified by user. Possible values
- * include: 'AutoCreated', 'UserSpecified'
- */
- multiVmGroupCreateOption?: MultiVmGroupCreateOption;
-}
-
-/**
- * @interface
- * An interface representing ProtectionContainerFabricSpecificDetails.
- * Base class for fabric specific details of container.
- *
- */
-export interface ProtectionContainerFabricSpecificDetails {
- /**
- * @member {string} [instanceType] Gets the class type. Overriden in derived
- * classes.
- * **NOTE: This property will not be serialized. It can only be populated by
- * the server.**
- */
- readonly instanceType?: string;
-}
-
-/**
- * @interface
- * An interface representing ProtectionContainerProperties.
- * Protection profile custom data details.
- *
- */
-export interface ProtectionContainerProperties {
- /**
- * @member {string} [fabricFriendlyName] Fabric friendly name.
- */
- fabricFriendlyName?: string;
- /**
- * @member {string} [friendlyName] The name.
- */
- friendlyName?: string;
- /**
- * @member {string} [fabricType] The fabric type.
- */
- fabricType?: string;
- /**
- * @member {number} [protectedItemCount] Number of protected PEs
- */
- protectedItemCount?: number;
- /**
- * @member {string} [pairingStatus] The pairing status of this cloud.
- */
- pairingStatus?: string;
- /**
- * @member {string} [role] The role of this cloud.
- */
- role?: string;
- /**
- * @member {ProtectionContainerFabricSpecificDetails} [fabricSpecificDetails]
- * Fabric specific details.
- */
- fabricSpecificDetails?: ProtectionContainerFabricSpecificDetails;
-}
-
-/**
- * @interface
- * An interface representing ProtectionContainer.
- * Protection container details.
- *
- * @extends Resource
- */
-export interface ProtectionContainer extends Resource {
- /**
- * @member {ProtectionContainerProperties} [properties] The custom data.
- */
- properties?: ProtectionContainerProperties;
-}
-
-/**
- * @interface
- * An interface representing ProtectionContainerMappingProperties.
- * Protection container mapping properties.
- *
- */
-export interface ProtectionContainerMappingProperties {
- /**
- * @member {string} [targetProtectionContainerId] Paired protection container
- * ARM ID.
- */
- targetProtectionContainerId?: string;
- /**
- * @member {string} [targetProtectionContainerFriendlyName] Friendly name of
- * paired container.
- */
- targetProtectionContainerFriendlyName?: string;
- /**
- * @member {ProtectionContainerMappingProviderSpecificDetailsUnion}
- * [providerSpecificDetails] Provider specific provider details.
- */
- providerSpecificDetails?: ProtectionContainerMappingProviderSpecificDetailsUnion;
- /**
- * @member {string} [health] Health of pairing.
- */
- health?: string;
- /**
- * @member {HealthError[]} [healthErrorDetails] Health error.
- */
- healthErrorDetails?: HealthError[];
- /**
- * @member {string} [policyId] Policy ARM Id.
- */
- policyId?: string;
- /**
- * @member {string} [state] Association Status
- */
- state?: string;
- /**
- * @member {string} [sourceProtectionContainerFriendlyName] Friendly name of
- * source protection container.
- */
- sourceProtectionContainerFriendlyName?: string;
- /**
- * @member {string} [sourceFabricFriendlyName] Friendly name of source
- * fabric.
- */
- sourceFabricFriendlyName?: string;
- /**
- * @member {string} [targetFabricFriendlyName] Friendly name of target
- * fabric.
- */
- targetFabricFriendlyName?: string;
- /**
- * @member {string} [policyFriendlyName] Friendly name of replication policy.
- */
- policyFriendlyName?: string;
-}
-
-/**
- * @interface
- * An interface representing ProtectionContainerMapping.
- * Protection container mapping object.
- *
- * @extends Resource
- */
-export interface ProtectionContainerMapping extends Resource {
- /**
- * @member {ProtectionContainerMappingProperties} [properties] The custom
- * data.
- */
- properties?: ProtectionContainerMappingProperties;
-}
-
-/**
- * @interface
- * An interface representing RcmAzureMigrationPolicyDetails.
- * RCM based Azure migration specific policy details.
- *
- */
-export interface RcmAzureMigrationPolicyDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "RcmAzureMigration";
- /**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
- */
- recoveryPointThresholdInMinutes?: number;
- /**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
- */
- recoveryPointHistory?: number;
- /**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency in minutes.
- */
- appConsistentFrequencyInMinutes?: number;
- /**
- * @member {MultiVmSyncStatus} [multiVmSyncStatus] A value indicating whether
- * multi-VM sync has to be enabled. Possible values include: 'Enabled',
- * 'Disabled'
- */
- multiVmSyncStatus?: MultiVmSyncStatus;
- /**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency in minutes.
- */
- crashConsistentFrequencyInMinutes?: number;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanProperties.
- * Recovery plan custom details.
- *
- */
-export interface RecoveryPlanProperties {
- /**
- * @member {string} [friendlyName] The friendly name.
- */
- friendlyName?: string;
- /**
- * @member {string} [primaryFabricId] The primary fabric Id.
- */
- primaryFabricId?: string;
- /**
- * @member {string} [primaryFabricFriendlyName] The primary fabric friendly
- * name.
- */
- primaryFabricFriendlyName?: string;
- /**
- * @member {string} [recoveryFabricId] The recovery fabric Id.
- */
- recoveryFabricId?: string;
- /**
- * @member {string} [recoveryFabricFriendlyName] The recovery fabric friendly
- * name.
- */
- recoveryFabricFriendlyName?: string;
- /**
- * @member {string} [failoverDeploymentModel] The failover deployment model.
- */
- failoverDeploymentModel?: string;
- /**
- * @member {string[]} [replicationProviders] The list of replication
- * providers.
- */
- replicationProviders?: string[];
- /**
- * @member {string[]} [allowedOperations] The list of allowed operations.
- */
- allowedOperations?: string[];
- /**
- * @member {Date} [lastPlannedFailoverTime] The start time of the last
- * planned failover.
- */
- lastPlannedFailoverTime?: Date;
- /**
- * @member {Date} [lastUnplannedFailoverTime] The start time of the last
- * unplanned failover.
- */
- lastUnplannedFailoverTime?: Date;
- /**
- * @member {Date} [lastTestFailoverTime] The start time of the last test
- * failover.
- */
- lastTestFailoverTime?: Date;
- /**
- * @member {CurrentScenarioDetails} [currentScenario] The current scenario
- * details.
- */
- currentScenario?: CurrentScenarioDetails;
- /**
- * @member {string} [currentScenarioStatus] The recovery plan status.
- */
- currentScenarioStatus?: string;
- /**
- * @member {string} [currentScenarioStatusDescription] The recovery plan
- * status description.
- */
- currentScenarioStatusDescription?: string;
- /**
- * @member {RecoveryPlanGroup[]} [groups] The recovery plan groups.
- */
- groups?: RecoveryPlanGroup[];
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlan.
- * Recovery plan details.
- *
- * @extends Resource
- */
-export interface RecoveryPlan extends Resource {
- /**
- * @member {RecoveryPlanProperties} [properties] The custom details.
- */
- properties?: RecoveryPlanProperties;
-}
-
-/**
- * Contains the possible cases for RecoveryPlanProviderSpecificFailoverInput.
- */
-export type RecoveryPlanProviderSpecificFailoverInputUnion = RecoveryPlanProviderSpecificFailoverInput | RecoveryPlanA2AFailoverInput | RecoveryPlanHyperVReplicaAzureFailbackInput | RecoveryPlanHyperVReplicaAzureFailoverInput | RecoveryPlanInMageAzureV2FailoverInput | RecoveryPlanInMageFailoverInput;
-
-/**
- * @interface
- * An interface representing RecoveryPlanProviderSpecificFailoverInput.
- * Recovery plan provider specific failover input base class.
- *
- */
-export interface RecoveryPlanProviderSpecificFailoverInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "RecoveryPlanProviderSpecificFailoverInput";
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanA2AFailoverInput.
- * Recovery plan A2A failover input.
- *
- */
-export interface RecoveryPlanA2AFailoverInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "A2A";
- /**
- * @member {A2ARpRecoveryPointType} recoveryPointType The recovery point
- * type. Possible values include: 'Latest', 'LatestApplicationConsistent',
- * 'LatestCrashConsistent', 'LatestProcessed'
- */
- recoveryPointType: A2ARpRecoveryPointType;
- /**
- * @member {string} [cloudServiceCreationOption] A value indicating whether
- * to use recovery cloud service for TFO or not.
- */
- cloudServiceCreationOption?: string;
- /**
- * @member {MultiVmSyncPointOption} [multiVmSyncPointOption] A value
- * indicating whether multi VM sync enabled VMs should use multi VM sync
- * points for failover. Possible values include:
- * 'UseMultiVmSyncRecoveryPoint', 'UsePerVmRecoveryPoint'
- */
- multiVmSyncPointOption?: MultiVmSyncPointOption;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanAutomationRunbookActionDetails.
- * Recovery plan Automation runbook action details.
- *
- */
-export interface RecoveryPlanAutomationRunbookActionDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "AutomationRunbookActionDetails";
- /**
- * @member {string} [runbookId] The runbook ARM Id.
- */
- runbookId?: string;
- /**
- * @member {string} [timeout] The runbook timeout.
- */
- timeout?: string;
- /**
- * @member {RecoveryPlanActionLocation} fabricLocation The fabric location.
- * Possible values include: 'Primary', 'Recovery'
- */
- fabricLocation: RecoveryPlanActionLocation;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanGroupTaskDetails.
- * This class represents the recovery plan group task.
- *
- */
-export interface RecoveryPlanGroupTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "RecoveryPlanGroupTaskDetails";
- /**
- * @member {ASRTask[]} [childTasks] The child tasks.
- */
- childTasks?: ASRTask[];
- /**
- * @member {string} [name] The name.
- */
- name?: string;
- /**
- * @member {string} [groupId] The group identifier.
- */
- groupId?: string;
- /**
- * @member {string} [rpGroupType] The group type.
- */
- rpGroupType?: string;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanHyperVReplicaAzureFailbackInput.
- * Recovery plan HVR Azure failback input.
- *
- */
-export interface RecoveryPlanHyperVReplicaAzureFailbackInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzureFailback";
- /**
- * @member {DataSyncStatus} dataSyncOption The data sync option. Possible
- * values include: 'ForDownTime', 'ForSynchronization'
- */
- dataSyncOption: DataSyncStatus;
- /**
- * @member {AlternateLocationRecoveryOption} recoveryVmCreationOption The ALR
- * option. Possible values include: 'CreateVmIfNotFound', 'NoAction'
- */
- recoveryVmCreationOption: AlternateLocationRecoveryOption;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanHyperVReplicaAzureFailoverInput.
- * Recovery plan HVR Azure failover input.
- *
- */
-export interface RecoveryPlanHyperVReplicaAzureFailoverInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "HyperVReplicaAzure";
- /**
- * @member {string} vaultLocation The vault location.
- */
- vaultLocation: string;
- /**
- * @member {string} [primaryKekCertificatePfx] The primary KEK certificate
- * PFX.
- */
- primaryKekCertificatePfx?: string;
- /**
- * @member {string} [secondaryKekCertificatePfx] The secondary KEK
- * certificate PFX.
- */
- secondaryKekCertificatePfx?: string;
- /**
- * @member {HyperVReplicaAzureRpRecoveryPointType} [recoveryPointType] The
- * recovery point type. Possible values include: 'Latest',
- * 'LatestApplicationConsistent', 'LatestProcessed'
- */
- recoveryPointType?: HyperVReplicaAzureRpRecoveryPointType;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanInMageAzureV2FailoverInput.
- * Recovery plan InMageAzureV2 failover input.
- *
- */
-export interface RecoveryPlanInMageAzureV2FailoverInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "InMageAzureV2";
- /**
- * @member {string} vaultLocation The vault location.
- */
- vaultLocation: string;
- /**
- * @member {InMageV2RpRecoveryPointType} recoveryPointType The recovery point
- * type. Possible values include: 'Latest', 'LatestApplicationConsistent',
- * 'LatestCrashConsistent', 'LatestProcessed'
- */
- recoveryPointType: InMageV2RpRecoveryPointType;
- /**
- * @member {string} [useMultiVmSyncPoint] A value indicating whether multi VM
- * sync enabled VMs should use multi VM sync points for failover.
- */
- useMultiVmSyncPoint?: string;
-}
+ readonly isAgentRegistrationSuccessfulAfterFailover?: boolean;
+ /** The mobility agent information. */
+ mobilityAgentDetails?: InMageRcmMobilityAgentDetails;
+ /** The last agent upgrade error information. */
+ lastAgentUpgradeErrorDetails?: InMageRcmLastAgentUpgradeErrorDetails[];
+ /** The agent upgrade blocking error information. */
+ agentUpgradeBlockingErrorDetails?: InMageRcmAgentUpgradeBlockingErrorDetails[];
+ /** The network details. */
+ vmNics?: InMageRcmNicDetails[];
+ /** The discovered VM details. */
+ discoveredVmDetails?: InMageRcmDiscoveredProtectedVmDetails;
+};
-/**
- * @interface
- * An interface representing RecoveryPlanInMageFailoverInput.
- * Recovery plan InMage failover input.
- *
- */
-export interface RecoveryPlanInMageFailoverInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
+/** InMage provider specific settings. */
+export type InMageReplicationDetails = ReplicationProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
instanceType: "InMage";
- /**
- * @member {RpInMageRecoveryPointType} recoveryPointType The recovery point
- * type. Possible values include: 'LatestTime', 'LatestTag', 'Custom'
- */
- recoveryPointType: RpInMageRecoveryPointType;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanManualActionDetails.
- * Recovery plan manual action details.
- *
- */
-export interface RecoveryPlanManualActionDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ManualActionDetails";
- /**
- * @member {string} [description] The manual action description.
- */
- description?: string;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanPlannedFailoverInputProperties.
- * Recovery plan planned failover input properties.
- *
- */
-export interface RecoveryPlanPlannedFailoverInputProperties {
- /**
- * @member {PossibleOperationsDirections} failoverDirection The failover
- * direction. Possible values include: 'PrimaryToRecovery',
- * 'RecoveryToPrimary'
- */
- failoverDirection: PossibleOperationsDirections;
- /**
- * @member {RecoveryPlanProviderSpecificFailoverInputUnion[]}
- * [providerSpecificDetails] The provider specific properties.
- */
- providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanPlannedFailoverInput.
- * Recovery plan planned failover input.
- *
- */
-export interface RecoveryPlanPlannedFailoverInput {
- /**
- * @member {RecoveryPlanPlannedFailoverInputProperties} properties The
- * recovery plan planned failover input properties.
- */
- properties: RecoveryPlanPlannedFailoverInputProperties;
-}
-
-/**
- * @interface
- * An interface representing RecoveryPlanScriptActionDetails.
- * Recovery plan script action details.
- *
- */
-export interface RecoveryPlanScriptActionDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ScriptActionDetails";
- /**
- * @member {string} path The script path.
- */
- path: string;
- /**
- * @member {string} [timeout] The script timeout.
- */
- timeout?: string;
- /**
- * @member {RecoveryPlanActionLocation} fabricLocation The fabric location.
- * Possible values include: 'Primary', 'Recovery'
- */
- fabricLocation: RecoveryPlanActionLocation;
-}
+ /** The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always. */
+ activeSiteType?: string;
+ /** The CPU count of the VM on the primary side. */
+ sourceVmCpuCount?: number;
+ /** The RAM size of the VM on the primary side. */
+ sourceVmRamSizeInMB?: number;
+ /** The OS details. */
+ osDetails?: OSDiskDetails;
+ /** The protection stage. */
+ protectionStage?: string;
+ /** The virtual machine Id. */
+ vmId?: string;
+ /** The protection state for the vm. */
+ vmProtectionState?: string;
+ /** The protection state description for the vm. */
+ vmProtectionStateDescription?: string;
+ /** The resync details of the machine. */
+ resyncDetails?: InitialReplicationDetails;
+ /** The retention window start time. */
+ retentionWindowStart?: Date;
+ /** The retention window end time. */
+ retentionWindowEnd?: Date;
+ /** The compressed data change rate in MB. */
+ compressedDataRateInMB?: number;
+ /** The uncompressed data change rate in MB. */
+ uncompressedDataRateInMB?: number;
+ /** The RPO in seconds. */
+ rpoInSeconds?: number;
+ /** The list of protected disks. */
+ protectedDisks?: InMageProtectedDiskDetails[];
+ /** The source IP address. */
+ ipAddress?: string;
+ /** The last heartbeat received from the source server. */
+ lastHeartbeat?: Date;
+ /** The process server Id. */
+ processServerId?: string;
+ /** The master target Id. */
+ masterTargetId?: string;
+ /** The collection of Consistency points. */
+ consistencyPoints?: { [propertyName: string]: Date };
+ /** A value indicating whether any disk is resized for this VM. */
+ diskResized?: string;
+ /** A value indicating whether the source server requires a restart after update. */
+ rebootAfterUpdateStatus?: string;
+ /** The multi vm group Id, if any. */
+ multiVmGroupId?: string;
+ /** The multi vm group name, if any. */
+ multiVmGroupName?: string;
+ /** A value indicating whether the multi vm sync is enabled or disabled. */
+ multiVmSyncStatus?: string;
+ /** The agent details. */
+ agentDetails?: InMageAgentDetails;
+ /** The vCenter infrastructure Id. */
+ vCenterInfrastructureId?: string;
+ /** The infrastructure VM Id. */
+ infrastructureVmId?: string;
+ /** The PE Network details. */
+ vmNics?: VMNicDetails[];
+ /** A value indicating the discovery type of the machine. */
+ discoveryType?: string;
+ /** A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null. */
+ azureStorageAccountId?: string;
+ /** The datastores of the on-premise machine Value can be list of strings that contain datastore names. */
+ datastores?: string[];
+ /** The validation errors of the on-premise machine Value can be list of validation errors. */
+ validationErrors?: HealthError[];
+ /** The last RPO calculated time. */
+ lastRpoCalculatedTime?: Date;
+ /** The last update time received from on-prem components. */
+ lastUpdateReceivedTime?: Date;
+ /** The replica id of the protected item. */
+ replicaId?: string;
+ /** The OS Version of the protected item. */
+ osVersion?: string;
+ /** A value indicating whether additional IR stats are available or not. */
+ isAdditionalStatsAvailable?: boolean;
+ /** The total transferred data in bytes. */
+ totalDataTransferred?: number;
+ /** The progress health. */
+ totalProgressHealth?: string;
+};
+
+/** A2A Cross-Cluster Migration enable protection input. */
+export type A2ACrossClusterMigrationEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2ACrossClusterMigration";
+ /** The fabric specific object Id of the virtual machine. */
+ fabricObjectId?: string;
+ /** The recovery container Id. */
+ recoveryContainerId?: string;
+};
-/**
- * @interface
- * An interface representing RecoveryPlanShutdownGroupTaskDetails.
- * This class represents the recovery plan shutdown group task details.
- *
- */
-export interface RecoveryPlanShutdownGroupTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "RecoveryPlanShutdownGroupTaskDetails";
- /**
- * @member {ASRTask[]} [childTasks] The child tasks.
- */
- childTasks?: ASRTask[];
- /**
- * @member {string} [name] The name.
- */
- name?: string;
- /**
- * @member {string} [groupId] The group identifier.
- */
- groupId?: string;
- /**
- * @member {string} [rpGroupType] The group type.
- */
- rpGroupType?: string;
-}
+/** A2A enable protection input. */
+export type A2AEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The fabric specific object Id of the virtual machine. */
+ fabricObjectId: string;
+ /** The recovery container Id. */
+ recoveryContainerId?: string;
+ /** The recovery resource group Id. Valid for V2 scenarios. */
+ recoveryResourceGroupId?: string;
+ /** The recovery cloud service Id. Valid for V1 scenarios. */
+ recoveryCloudServiceId?: string;
+ /** The recovery availability set Id. */
+ recoveryAvailabilitySetId?: string;
+ /** The recovery proximity placement group Id. */
+ recoveryProximityPlacementGroupId?: string;
+ /** The list of vm disk details. */
+ vmDisks?: A2AVmDiskInputDetails[];
+ /** The list of vm managed disk details. */
+ vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+ /** The multi vm group name. */
+ multiVmGroupName?: string;
+ /** The multi vm group id. */
+ multiVmGroupId?: string;
+ /** The boot diagnostic storage account. */
+ recoveryBootDiagStorageAccountId?: string;
+ /** The recovery disk encryption information (for two pass flows). */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ /** The recovery availability zone. */
+ recoveryAvailabilityZone?: string;
+ /** The recovery extended location. */
+ recoveryExtendedLocation?: ExtendedLocation;
+ /** The recovery Azure virtual network ARM id. */
+ recoveryAzureNetworkId?: string;
+ /** The recovery subnet name. */
+ recoverySubnetName?: string;
+ /** The virtual machine scale set Id. */
+ recoveryVirtualMachineScaleSetId?: string;
+ /** The recovery capacity reservation group Id. */
+ recoveryCapacityReservationGroupId?: string;
+};
+
+/** HyperVReplicaAzure specific enable protection input. */
+export type HyperVReplicaAzureEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The Hyper-V host VM Id. */
+ hvHostVmId?: string;
+ /** The VM Name. */
+ vmName?: string;
+ /** The OS type associated with VM. */
+ osType?: string;
+ /** The OS disk VHD id associated with VM. */
+ vhdId?: string;
+ /** The storage account Id. */
+ targetStorageAccountId?: string;
+ /** The selected target Azure network Id. */
+ targetAzureNetworkId?: string;
+ /** The selected target Azure subnet Id. */
+ targetAzureSubnetId?: string;
+ /** The selected option to enable RDP\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum. */
+ enableRdpOnTargetOption?: string;
+ /** The target azure VM Name. */
+ targetAzureVmName?: string;
+ /** The storage account to be used for logging during replication. */
+ logStorageAccountId?: string;
+ /** The list of VHD Ids of disks to be protected. */
+ disksToInclude?: string[];
+ /** The Id of the target resource group (for classic deployment) in which the failover VM is to be created. */
+ targetAzureV1ResourceGroupId?: string;
+ /** The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created. */
+ targetAzureV2ResourceGroupId?: string;
+ /** A value indicating whether managed disks should be used during failover. */
+ useManagedDisks?: string;
+ /** The target availability set ARM Id for resource manager deployment. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** License type. */
+ licenseType?: LicenseType;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: SqlServerLicenseType;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The proximity placement group ARM Id. */
+ targetProximityPlacementGroupId?: string;
+ /** A value indicating whether managed disks should be used during replication. */
+ useManagedDisksForReplication?: string;
+ /** The DiskType. */
+ diskType?: DiskAccountType;
+ /** The disks to include list for managed disks. */
+ disksToIncludeForManagedDisks?: HyperVReplicaAzureDiskInputDetails[];
+ /** The DiskEncryptionSet ARM Id. */
+ diskEncryptionSetId?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the seed managed disks. */
+ seedManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target managed disks. */
+ targetManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+};
+
+/** VMware Azure specific enable protection input. */
+export type InMageAzureV2EnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The Master target Id. */
+ masterTargetId?: string;
+ /** The Process Server Id. */
+ processServerId?: string;
+ /** The storage account Id. */
+ storageAccountId?: string;
+ /** The CS account Id. */
+ runAsAccountId?: string;
+ /** The multi VM group Id. */
+ multiVmGroupId?: string;
+ /** The multi VM group name. */
+ multiVmGroupName?: string;
+ /** The disks to include list. */
+ disksToInclude?: InMageAzureV2DiskInputDetails[];
+ /** The selected target Azure network Id. */
+ targetAzureNetworkId?: string;
+ /** The selected target Azure subnet Id. */
+ targetAzureSubnetId?: string;
+ /** The selected option to enable RDP\SSH on target VM after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum. */
+ enableRdpOnTargetOption?: string;
+ /** The target azure VM Name. */
+ targetAzureVmName?: string;
+ /** The storage account to be used for logging during replication. */
+ logStorageAccountId?: string;
+ /** The Id of the target resource group (for classic deployment) in which the failover VM is to be created. */
+ targetAzureV1ResourceGroupId?: string;
+ /** The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created. */
+ targetAzureV2ResourceGroupId?: string;
+ /** The DiskType. */
+ diskType?: DiskAccountType;
+ /** The target availability set ARM Id for resource manager deployment. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The proximity placement group ARM Id. */
+ targetProximityPlacementGroupId?: string;
+ /** License type. */
+ licenseType?: LicenseType;
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: SqlServerLicenseType;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The DiskEncryptionSet ARM Id. */
+ diskEncryptionSetId?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the seed managed disks. */
+ seedManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target managed disks. */
+ targetManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+};
+
+/** VMware Azure specific enable protection input. */
+export type InMageEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The VM Name. */
+ vmFriendlyName?: string;
+ /** The Master Target Id. */
+ masterTargetId: string;
+ /** The Process Server Id. */
+ processServerId: string;
+ /** The retention drive to use on the MT. */
+ retentionDrive: string;
+ /** The CS account Id. */
+ runAsAccountId?: string;
+ /** The multi VM group Id. */
+ multiVmGroupId: string;
+ /** The multi VM group name. */
+ multiVmGroupName: string;
+ /** The target datastore name. */
+ datastoreName?: string;
+ /** The enable disk exclusion input. */
+ diskExclusionInput?: InMageDiskExclusionInput;
+ /** The disks to include list. */
+ disksToInclude?: string[];
+};
-/**
- * @interface
- * An interface representing RecoveryPlanTestFailoverCleanupInputProperties.
- * Recovery plan test failover cleanup input properties.
- *
- */
-export interface RecoveryPlanTestFailoverCleanupInputProperties {
- /**
- * @member {string} [comments] The test failover cleanup comments.
- */
- comments?: string;
-}
+/** InMageRcm specific enable protection input. */
+export type InMageRcmEnableProtectionInput = EnableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The ARM Id of discovered machine. */
+ fabricDiscoveryMachineId: string;
+ /** The disks to include list. */
+ disksToInclude?: InMageRcmDiskInput[];
+ /** The default disk input. */
+ disksDefault?: InMageRcmDisksDefaultInput;
+ /** The target resource group ARM Id. */
+ targetResourceGroupId: string;
+ /** The selected target network ARM Id. */
+ targetNetworkId?: string;
+ /** The selected test network ARM Id. */
+ testNetworkId?: string;
+ /** The selected target subnet name. */
+ targetSubnetName?: string;
+ /** The selected test subnet name. */
+ testSubnetName?: string;
+ /** The target VM name. */
+ targetVmName?: string;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The license type. */
+ licenseType?: LicenseType;
+ /** The target availability set ARM Id. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target boot diagnostics storage account ARM Id. */
+ targetBootDiagnosticsStorageAccountId?: string;
+ /** The run-as account Id. */
+ runAsAccountId?: string;
+ /** The process server Id. */
+ processServerId: string;
+ /** The multi VM group name. */
+ multiVmGroupName?: string;
+};
-/**
- * @interface
- * An interface representing RecoveryPlanTestFailoverCleanupInput.
- * Recovery plan test failover cleanup input.
- *
- */
-export interface RecoveryPlanTestFailoverCleanupInput {
- /**
- * @member {RecoveryPlanTestFailoverCleanupInputProperties} properties The
- * recovery plan test failover cleanup input properties.
- */
- properties: RecoveryPlanTestFailoverCleanupInputProperties;
-}
+/** InMage Azure V2 input to update replication protected item. */
+export type A2AUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The target cloud service ARM Id (for V1). */
+ recoveryCloudServiceId?: string;
+ /** The target resource group ARM Id (for V2). */
+ recoveryResourceGroupId?: string;
+ /** Managed disk update details. */
+ managedDiskUpdateDetails?: A2AVmManagedDiskUpdateDetails[];
+ /** The boot diagnostic storage account. */
+ recoveryBootDiagStorageAccountId?: string;
+ /** The recovery os disk encryption information. */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ /** The user given name for Test Failover VM. */
+ tfoAzureVMName?: string;
+ /** The recovery proximity placement group Id. */
+ recoveryProximityPlacementGroupId?: string;
+ /** The recovery virtual machine scale set Id. */
+ recoveryVirtualMachineScaleSetId?: string;
+ /** The recovery capacity reservation group Id. */
+ recoveryCapacityReservationGroupId?: string;
+};
+
+/** HyperV replica Azure input to update replication protected item. */
+export type HyperVReplicaAzureUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The recovery Azure resource group Id for classic deployment. */
+ recoveryAzureV1ResourceGroupId?: string;
+ /** The recovery Azure resource group Id for resource manager deployment. */
+ recoveryAzureV2ResourceGroupId?: string;
+ /** A value indicating whether managed disks should be used during failover. */
+ useManagedDisks?: string;
+ /** The dictionary of disk resource Id to disk encryption set ARM Id. */
+ diskIdToDiskEncryptionMap?: { [propertyName: string]: string };
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the target managed disks. */
+ targetManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: SqlServerLicenseType;
+ /** The list of disk update properties. */
+ vmDisks?: UpdateDiskInput[];
+};
+
+/** InMage Azure V2 input to update replication protected item. */
+export type InMageAzureV2UpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The recovery Azure resource group Id for classic deployment. */
+ recoveryAzureV1ResourceGroupId?: string;
+ /** The recovery Azure resource group Id for resource manager deployment. */
+ recoveryAzureV2ResourceGroupId?: string;
+ /** A value indicating whether managed disks should be used during failover. */
+ useManagedDisks?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target VM tags. */
+ targetVmTags?: { [propertyName: string]: string };
+ /** The tags for the target managed disks. */
+ targetManagedDiskTags?: { [propertyName: string]: string };
+ /** The tags for the target NICs. */
+ targetNicTags?: { [propertyName: string]: string };
+ /** The SQL Server license type. */
+ sqlServerLicenseType?: SqlServerLicenseType;
+ /** The list of disk update properties. */
+ vmDisks?: UpdateDiskInput[];
+};
+
+/** InMageRcm provider specific input to update replication protected item. */
+export type InMageRcmUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The target VM name. */
+ targetVmName?: string;
+ /** The target VM size. */
+ targetVmSize?: string;
+ /** The target resource group ARM Id. */
+ targetResourceGroupId?: string;
+ /** The target availability set ARM Id. */
+ targetAvailabilitySetId?: string;
+ /** The target availability zone. */
+ targetAvailabilityZone?: string;
+ /** The target proximity placement group Id. */
+ targetProximityPlacementGroupId?: string;
+ /** The target boot diagnostics storage account ARM Id. */
+ targetBootDiagnosticsStorageAccountId?: string;
+ /** The target network ARM Id. */
+ targetNetworkId?: string;
+ /** The test network ARM Id. */
+ testNetworkId?: string;
+ /** The list of NIC details. */
+ vmNics?: InMageRcmNicInput[];
+ /** The license type. */
+ licenseType?: LicenseType;
+};
-/**
- * @interface
- * An interface representing RecoveryPlanTestFailoverInputProperties.
- * Recovery plan test failover input properties.
- *
- */
-export interface RecoveryPlanTestFailoverInputProperties {
- /**
- * @member {PossibleOperationsDirections} failoverDirection The failover
- * direction. Possible values include: 'PrimaryToRecovery',
- * 'RecoveryToPrimary'
- */
- failoverDirection: PossibleOperationsDirections;
- /**
- * @member {string} networkType The network type to be used for test
- * failover.
- */
- networkType: string;
- /**
- * @member {string} [networkId] The Id of the network to be used for test
- * failover.
- */
- networkId?: string;
- /**
- * @member {string} [skipTestFailoverCleanup] A value indicating whether the
- * test failover cleanup is to be skipped.
- */
- skipTestFailoverCleanup?: string;
- /**
- * @member {RecoveryPlanProviderSpecificFailoverInputUnion[]}
- * [providerSpecificDetails] The provider specific properties.
- */
- providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
-}
+/** A2A add disk(s) input. */
+export type A2AAddDisksInput = AddDisksProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The list of vm disk details. */
+ vmDisks?: A2AVmDiskInputDetails[];
+ /** The list of vm managed disk details. */
+ vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+};
-/**
- * @interface
- * An interface representing RecoveryPlanTestFailoverInput.
- * Recovery plan test failover input.
- *
- */
-export interface RecoveryPlanTestFailoverInput {
- /**
- * @member {RecoveryPlanTestFailoverInputProperties} properties The recovery
- * plan test failover input properties.
- */
- properties: RecoveryPlanTestFailoverInputProperties;
-}
+/** ApplyRecoveryPoint input specific to A2A provider. */
+export type A2AApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+};
-/**
- * @interface
- * An interface representing RecoveryPlanUnplannedFailoverInputProperties.
- * Recovery plan unplanned failover input properties.
- *
- */
-export interface RecoveryPlanUnplannedFailoverInputProperties {
- /**
- * @member {PossibleOperationsDirections} failoverDirection The failover
- * direction. Possible values include: 'PrimaryToRecovery',
- * 'RecoveryToPrimary'
- */
- failoverDirection: PossibleOperationsDirections;
- /**
- * @member {SourceSiteOperations} sourceSiteOperations A value indicating
- * whether source site operations are required. Possible values include:
- * 'Required', 'NotRequired'
- */
- sourceSiteOperations: SourceSiteOperations;
- /**
- * @member {RecoveryPlanProviderSpecificFailoverInputUnion[]}
- * [providerSpecificDetails] The provider specific properties.
- */
- providerSpecificDetails?: RecoveryPlanProviderSpecificFailoverInputUnion[];
-}
+/** ApplyRecoveryPoint input specific to A2ACrossClusterMigration provider. */
+export type A2ACrossClusterMigrationApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2ACrossClusterMigration";
+};
-/**
- * @interface
- * An interface representing RecoveryPlanUnplannedFailoverInput.
- * Recovery plan unplanned failover input.
- *
- */
-export interface RecoveryPlanUnplannedFailoverInput {
- /**
- * @member {RecoveryPlanUnplannedFailoverInputProperties} properties The
- * recovery plan unplanned failover input properties.
- */
- properties: RecoveryPlanUnplannedFailoverInputProperties;
-}
+/** ApplyRecoveryPoint input specific to HyperVReplicaAzure provider. */
+export type HyperVReplicaAzureApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The primary kek certificate pfx. */
+ primaryKekCertificatePfx?: string;
+ /** The secondary kek certificate pfx. */
+ secondaryKekCertificatePfx?: string;
+};
-/**
- * @interface
- * An interface representing RecoveryPointProperties.
- * Recovery point properties.
- *
- */
-export interface RecoveryPointProperties {
- /**
- * @member {Date} [recoveryPointTime] The recovery point time.
- */
- recoveryPointTime?: Date;
- /**
- * @member {string} [recoveryPointType] The recovery point type:
- * ApplicationConsistent, CrashConsistent.
- */
- recoveryPointType?: string;
- /**
- * @member {ProviderSpecificRecoveryPointDetailsUnion}
- * [providerSpecificDetails] The provider specific details for the recovery
- * point.
- */
- providerSpecificDetails?: ProviderSpecificRecoveryPointDetailsUnion;
-}
+/** ApplyRecoveryPoint input specific to InMageAzureV2 provider. */
+export type InMageAzureV2ApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+};
-/**
- * @interface
- * An interface representing RecoveryPoint.
- * Base class representing a recovery point.
- *
- * @extends Resource
- */
-export interface RecoveryPoint extends Resource {
- /**
- * @member {RecoveryPointProperties} [properties] Recovery point related
- * data.
- */
- properties?: RecoveryPointProperties;
-}
+/** ApplyRecoveryPoint input specific to InMageRcm provider. */
+export type InMageRcmApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The recovery point Id. */
+ recoveryPointId: string;
+};
-/**
- * @interface
- * An interface representing RecoveryServicesProviderProperties.
- * Recovery services provider properties.
- *
- */
-export interface RecoveryServicesProviderProperties {
- /**
- * @member {string} [fabricType] Type of the site.
- */
- fabricType?: string;
- /**
- * @member {string} [friendlyName] Friendly name of the DRA.
- */
- friendlyName?: string;
- /**
- * @member {string} [providerVersion] The provider version.
- */
- providerVersion?: string;
- /**
- * @member {string} [serverVersion] The fabric provider.
- */
- serverVersion?: string;
- /**
- * @member {string} [providerVersionState] DRA version status.
- */
- providerVersionState?: string;
- /**
- * @member {Date} [providerVersionExpiryDate] Expiry date of the version.
- */
- providerVersionExpiryDate?: Date;
- /**
- * @member {string} [fabricFriendlyName] The fabric friendly name.
- */
- fabricFriendlyName?: string;
- /**
- * @member {Date} [lastHeartBeat] Time when last heartbeat was sent by the
- * DRA.
- */
- lastHeartBeat?: Date;
- /**
- * @member {string} [connectionStatus] A value indicating whether DRA is
- * responsive.
- */
- connectionStatus?: string;
- /**
- * @member {number} [protectedItemCount] Number of protected VMs currently
- * managed by the DRA.
- */
- protectedItemCount?: number;
- /**
- * @member {string[]} [allowedScenarios] The scenarios allowed on this
- * provider.
- */
- allowedScenarios?: string[];
- /**
- * @member {HealthError[]} [healthErrorDetails] The recovery services
- * provider health error details.
- */
- healthErrorDetails?: HealthError[];
- /**
- * @member {string} [draIdentifier] The DRA Id.
- */
- draIdentifier?: string;
- /**
- * @member {IdentityInformation} [identityDetails] The identity details.
- */
- identityDetails?: IdentityInformation;
- /**
- * @member {VersionDetails} [providerVersionDetails] The provider version
- * details.
- */
- providerVersionDetails?: VersionDetails;
-}
+/** HyperVReplicaAzureFailback specific planned failover input. */
+export type HyperVReplicaAzureFailbackProviderInput = PlannedFailoverProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzureFailback";
+ /** Data sync option. */
+ dataSyncOption?: string;
+ /** ALR options to create alternate recovery. */
+ recoveryVmCreationOption?: string;
+ /** Provider Id for alternate location. */
+ providerIdForAlternateRecovery?: string;
+};
-/**
- * @interface
- * An interface representing RecoveryServicesProvider.
- * Provider details.
- *
- * @extends Resource
- */
-export interface RecoveryServicesProvider extends Resource {
- /**
- * @member {RecoveryServicesProviderProperties} [properties] Provider
- * properties.
- */
- properties?: RecoveryServicesProviderProperties;
-}
+/** HyperVReplicaAzure specific planned failover input. */
+export type HyperVReplicaAzurePlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** Primary kek certificate pfx. */
+ primaryKekCertificatePfx?: string;
+ /** Secondary kek certificate pfx. */
+ secondaryKekCertificatePfx?: string;
+ /** The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
-/**
- * @interface
- * An interface representing ReplicationProviderContainerUnmappingInput.
- * Provider specific input for unpairing operations.
- *
- */
-export interface ReplicationProviderContainerUnmappingInput {
- /**
- * @member {string} [instanceType] The class type.
- */
- instanceType?: string;
-}
+/** Provider specific input for InMageRcmFailback failover. */
+export type InMageRcmFailbackPlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
+ /** The recovery point type. */
+ recoveryPointType: InMageRcmFailbackRecoveryPointType;
+};
-/**
- * @interface
- * An interface representing RemoveProtectionContainerMappingInputProperties.
- * Unpairing input properties.
- *
- */
-export interface RemoveProtectionContainerMappingInputProperties {
- /**
- * @member {ReplicationProviderContainerUnmappingInput}
- * [providerSpecificInput] Provider specific input for unpairing.
- */
- providerSpecificInput?: ReplicationProviderContainerUnmappingInput;
-}
+/** A2A provider specific recovery point details. */
+export type A2ARecoveryPointDetails = ProviderSpecificRecoveryPointDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** A value indicating whether the recovery point is multi VM consistent. */
+ recoveryPointSyncType?: RecoveryPointSyncType;
+ /** List of disk ids representing a recovery point. */
+ disks?: string[];
+};
-/**
- * @interface
- * An interface representing RemoveProtectionContainerMappingInput.
- * Container unpairing input.
- *
- */
-export interface RemoveProtectionContainerMappingInput {
- /**
- * @member {RemoveProtectionContainerMappingInputProperties} [properties]
- * Configure protection input properties.
- */
- properties?: RemoveProtectionContainerMappingInputProperties;
-}
+/** InMage Azure V2 provider specific recovery point details. */
+export type InMageAzureV2RecoveryPointDetails = ProviderSpecificRecoveryPointDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** A value indicating whether the recovery point is multi VM consistent. */
+ isMultiVmSyncPoint?: string;
+};
-/**
- * @interface
- * An interface representing RenewCertificateInputProperties.
- * Renew Certificate input properties.
- *
- */
-export interface RenewCertificateInputProperties {
+/** InMageRcm provider specific recovery point details. */
+export type InMageRcmRecoveryPointDetails = ProviderSpecificRecoveryPointDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
/**
- * @member {string} [renewCertificateType] Renew certificate type.
+ * A value indicating whether the recovery point is multi VM consistent.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- renewCertificateType?: string;
-}
+ readonly isMultiVmSyncPoint?: string;
+};
-/**
- * @interface
- * An interface representing RenewCertificateInput.
- * Certificate renewal input.
- *
- */
-export interface RenewCertificateInput {
- /**
- * @member {RenewCertificateInputProperties} [properties] Renew certificate
- * input properties.
- */
- properties?: RenewCertificateInputProperties;
-}
+/** InMage disable protection provider specific input. */
+export type InMageDisableProtectionProviderSpecificInput = DisableProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain. */
+ replicaVmDeletionStatus?: string;
+};
-/**
- * @interface
- * An interface representing ReplicationGroupDetails.
- * Replication group details. This will be used in case of San and Wvr.
- *
- */
-export interface ReplicationGroupDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "ReplicationGroupDetails";
-}
+/** A2A remove disk(s) input. */
+export type A2ARemoveDisksInput = RemoveDisksProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The list of vm disk vhd URIs. */
+ vmDisksUris?: string[];
+ /** The list of vm managed disk Ids. */
+ vmManagedDisksIds?: string[];
+};
-/**
- * @interface
- * An interface representing ReplicationProtectedItemProperties.
- * Replication protected item custom data details.
- *
- */
-export interface ReplicationProtectedItemProperties {
- /**
- * @member {string} [friendlyName] The name.
- */
- friendlyName?: string;
- /**
- * @member {string} [protectedItemType] The type of protected item type.
- */
- protectedItemType?: string;
- /**
- * @member {string} [protectableItemId] The protected item ARM Id.
- */
- protectableItemId?: string;
- /**
- * @member {string} [recoveryServicesProviderId] The recovery provider ARM
- * Id.
- */
- recoveryServicesProviderId?: string;
- /**
- * @member {string} [primaryFabricFriendlyName] The friendly name of the
- * primary fabric.
- */
- primaryFabricFriendlyName?: string;
- /**
- * @member {string} [primaryFabricProvider] The fabric provider of the
- * primary fabric.
- */
- primaryFabricProvider?: string;
- /**
- * @member {string} [recoveryFabricFriendlyName] The friendly name of
- * recovery fabric.
- */
- recoveryFabricFriendlyName?: string;
- /**
- * @member {string} [recoveryFabricId] The Arm Id of recovery fabric.
- */
- recoveryFabricId?: string;
- /**
- * @member {string} [primaryProtectionContainerFriendlyName] The name of
- * primary protection container friendly name.
- */
- primaryProtectionContainerFriendlyName?: string;
- /**
- * @member {string} [recoveryProtectionContainerFriendlyName] The name of
- * recovery container friendly name.
- */
- recoveryProtectionContainerFriendlyName?: string;
- /**
- * @member {string} [protectionState] The protection status.
- */
- protectionState?: string;
- /**
- * @member {string} [protectionStateDescription] The protection state
- * description.
- */
- protectionStateDescription?: string;
- /**
- * @member {string} [activeLocation] The Current active location of the PE.
- */
- activeLocation?: string;
- /**
- * @member {string} [testFailoverState] The Test failover state.
- */
- testFailoverState?: string;
- /**
- * @member {string} [testFailoverStateDescription] The Test failover state
- * description.
- */
- testFailoverStateDescription?: string;
- /**
- * @member {string[]} [allowedOperations] The allowed operations on the
- * Replication protected item.
- */
- allowedOperations?: string[];
- /**
- * @member {string} [replicationHealth] The consolidated protection health
- * for the VM taking any issues with SRS as well as all the replication units
- * associated with the VM's replication group into account. This is a string
- * representation of the ProtectionHealth enumeration.
- */
- replicationHealth?: string;
- /**
- * @member {string} [failoverHealth] The consolidated failover health for the
- * VM.
- */
- failoverHealth?: string;
- /**
- * @member {HealthError[]} [healthErrors] List of health errors.
- */
- healthErrors?: HealthError[];
- /**
- * @member {string} [policyId] The ID of Policy governing this PE.
- */
- policyId?: string;
- /**
- * @member {string} [policyFriendlyName] The name of Policy governing this
- * PE.
- */
- policyFriendlyName?: string;
- /**
- * @member {Date} [lastSuccessfulFailoverTime] The Last successful failover
- * time.
- */
- lastSuccessfulFailoverTime?: Date;
- /**
- * @member {Date} [lastSuccessfulTestFailoverTime] The Last successful test
- * failover time.
- */
- lastSuccessfulTestFailoverTime?: Date;
- /**
- * @member {CurrentScenarioDetails} [currentScenario] The current scenario.
- */
- currentScenario?: CurrentScenarioDetails;
- /**
- * @member {string} [failoverRecoveryPointId] The recovery point ARM Id to
- * which the Vm was failed over.
- */
- failoverRecoveryPointId?: string;
- /**
- * @member {ReplicationProviderSpecificSettingsUnion}
- * [providerSpecificDetails] The Replication provider custom settings.
- */
- providerSpecificDetails?: ReplicationProviderSpecificSettingsUnion;
- /**
- * @member {string} [recoveryContainerId] The recovery container Id.
- */
+/** Azure specific reprotect input. */
+export type A2AReprotectInput = ReverseReplicationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The recovery container Id. */
recoveryContainerId?: string;
-}
+ /** The list of vm disk details. */
+ vmDisks?: A2AVmDiskInputDetails[];
+ /** The recovery resource group Id. Valid for V2 scenarios. */
+ recoveryResourceGroupId?: string;
+ /** The recovery cloud service Id. Valid for V1 scenarios. */
+ recoveryCloudServiceId?: string;
+ /** The recovery availability set. */
+ recoveryAvailabilitySetId?: string;
+ /** The Policy Id. */
+ policyId?: string;
+};
-/**
- * @interface
- * An interface representing ReplicationProtectedItem.
- * Replication protected item.
- *
- * @extends Resource
- */
-export interface ReplicationProtectedItem extends Resource {
- /**
- * @member {ReplicationProtectedItemProperties} [properties] The custom data.
- */
- properties?: ReplicationProtectedItemProperties;
-}
+/** Azure specific reprotect input. */
+export type HyperVReplicaAzureReprotectInput = ReverseReplicationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The Hyper-V host Vm Id. */
+ hvHostVmId?: string;
+ /** The Vm Name. */
+ vmName?: string;
+ /** The OS type associated with vm. */
+ osType?: string;
+ /** The OS disk VHD id associated with vm. */
+ vHDId?: string;
+ /** The storage account name. */
+ storageAccountId?: string;
+ /** The storage account to be used for logging during replication. */
+ logStorageAccountId?: string;
+};
-/**
- * @interface
- * An interface representing ResourceHealthSummary.
- * Base class to define the health summary of the resources contained under an
- * Arm resource.
- *
- */
-export interface ResourceHealthSummary {
- /**
- * @member {number} [resourceCount] The count of total resources umder the
- * container.
- */
- resourceCount?: number;
- /**
- * @member {HealthErrorSummary[]} [issues] The list of summary of health
- * errors across the resources under the container.
- */
- issues?: HealthErrorSummary[];
-}
+/** InMageAzureV2 specific provider input. */
+export type InMageAzureV2ReprotectInput = ReverseReplicationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The Master target Id. */
+ masterTargetId?: string;
+ /** The Process Server Id. */
+ processServerId?: string;
+ /** The storage account id. */
+ storageAccountId?: string;
+ /** The CS account Id. */
+ runAsAccountId?: string;
+ /** The Policy Id. */
+ policyId?: string;
+ /** The storage account to be used for logging during replication. */
+ logStorageAccountId?: string;
+ /** The disks to include list. */
+ disksToInclude?: string[];
+};
-/**
- * @interface
- * An interface representing ResumeJobParamsProperties.
- * Resume job properties.
- *
- */
-export interface ResumeJobParamsProperties {
- /**
- * @member {string} [comments] Resume job comments.
- */
- comments?: string;
-}
+/** InMageRcmFailback specific provider input. */
+export type InMageRcmFailbackReprotectInput = ReverseReplicationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
+ /** The process server Id. */
+ processServerId: string;
+ /** The run as account Id. */
+ runAsAccountId?: string;
+ /** The Policy Id. */
+ policyId: string;
+};
+
+/** InMageRcm specific provider input. */
+export type InMageRcmReprotectInput = ReverseReplicationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The reprotect agent Id. */
+ reprotectAgentId: string;
+ /** The target datastore name. */
+ datastoreName: string;
+ /** The log storage account ARM Id. */
+ logStorageAccountId: string;
+ /** The Policy Id. */
+ policyId?: string;
+};
-/**
- * @interface
- * An interface representing ResumeJobParams.
- * Resume job params.
- *
- */
-export interface ResumeJobParams {
- /**
- * @member {ResumeJobParamsProperties} [properties] Resume job properties.
- */
- properties?: ResumeJobParamsProperties;
-}
+/** InMageAzureV2 specific provider input. */
+export type InMageReprotectInput = ReverseReplicationProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The Master Target Id. */
+ masterTargetId: string;
+ /** The Process Server Id. */
+ processServerId: string;
+ /** The retention drive to use on the MT. */
+ retentionDrive: string;
+ /** The CS account Id. */
+ runAsAccountId?: string;
+ /** The target datastore name. */
+ datastoreName?: string;
+ /** The enable disk exclusion input. */
+ diskExclusionInput?: InMageDiskExclusionInput;
+ /** The Policy Id. */
+ profileId: string;
+ /** The disks to include list. */
+ disksToInclude?: string[];
+};
-/**
- * @interface
- * An interface representing ReverseReplicationInputProperties.
- * Reverse replication input properties.
- *
- */
-export interface ReverseReplicationInputProperties {
- /**
- * @member {string} [failoverDirection] Failover direction.
- */
- failoverDirection?: string;
- /**
- * @member {ReverseReplicationProviderSpecificInputUnion}
- * [providerSpecificDetails] Provider specific reverse replication input.
- */
- providerSpecificDetails?: ReverseReplicationProviderSpecificInputUnion;
-}
+/** Provider specific input for InMageAzureV2 switch provider. */
+export type InMageAzureV2SwitchProviderInput = SwitchProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The target vault Id. */
+ targetVaultID: string;
+ /** The target fabric Id. */
+ targetFabricID: string;
+ /** The target appliance Id. */
+ targetApplianceID: string;
+};
+
+/** A2A provider specific input for test failover. */
+export type A2ATestFailoverInput = TestFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+ /** A value indicating whether to use recovery cloud service for TFO or not. */
+ cloudServiceCreationOption?: string;
+};
+
+/** HvrA provider specific input for test failover. */
+export type HyperVReplicaAzureTestFailoverInput = TestFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** Primary kek certificate pfx. */
+ primaryKekCertificatePfx?: string;
+ /** Secondary kek certificate pfx. */
+ secondaryKekCertificatePfx?: string;
+ /** The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** InMageAzureV2 provider specific input for test failover. */
+export type InMageAzureV2TestFailoverInput = TestFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** InMageRcm provider specific input for test failover. */
+export type InMageRcmTestFailoverInput = TestFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The test network Id. */
+ networkId?: string;
+ /** The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** Provider specific input for InMage test failover. */
+export type InMageTestFailoverInput = TestFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored. */
+ recoveryPointType?: RecoveryPointType;
+ /** The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** A2A provider specific input for unplanned failover. */
+export type A2AUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+ /** A value indicating whether to use recovery cloud service for failover or not. */
+ cloudServiceCreationOption?: string;
+};
+
+/** HvrA provider specific input for unplanned failover. */
+export type HyperVReplicaAzureUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** Primary kek certificate pfx. */
+ primaryKekCertificatePfx?: string;
+ /** Secondary kek certificate pfx. */
+ secondaryKekCertificatePfx?: string;
+ /** The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** InMageAzureV2 provider specific input for unplanned failover. */
+export type InMageAzureV2UnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** InMageRcm provider specific input for unplanned failover. */
+export type InMageRcmUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** A value indicating whether VM is to be shutdown. */
+ performShutdown: string;
+ /** The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
+
+/** Provider specific input for InMage unplanned failover. */
+export type InMageUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored. */
+ recoveryPointType?: RecoveryPointType;
+ /** The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed. */
+ recoveryPointId?: string;
+};
-/**
- * @interface
- * An interface representing ReverseReplicationInput.
- * Reverse replication input.
- *
- */
-export interface ReverseReplicationInput {
- /**
- * @member {ReverseReplicationInputProperties} [properties] Reverse
- * replication properties
- */
- properties?: ReverseReplicationInputProperties;
-}
+/** InMageRcm provider specific input to update appliance for replication protected item. */
+export type InMageRcmUpdateApplianceForReplicationProtectedItemInput = UpdateApplianceForReplicationProtectedItemProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The run as account Id. */
+ runAsAccountId?: string;
+};
-/**
- * @interface
- * An interface representing RunAsAccount.
- * CS Accounts Details.
- *
- */
-export interface RunAsAccount {
- /**
- * @member {string} [accountId] The CS RunAs account Id.
- */
- accountId?: string;
- /**
- * @member {string} [accountName] The CS RunAs account name.
- */
- accountName?: string;
-}
+/** A2A provider specific settings. */
+export type A2AProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** A value indicating whether the auto update is enabled. */
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ /** The automation account arm id. */
+ automationAccountArmId?: string;
+ /** A value indicating the type authentication to use for automation Account. */
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+ /** The schedule arm name. */
+ scheduleName?: string;
+ /** The job schedule arm name. */
+ jobScheduleName?: string;
+};
-/**
- * @interface
- * An interface representing SanEnableProtectionInput.
- * San enable protection provider specific input.
- *
- */
-export interface SanEnableProtectionInput {
+/** InMageRcm provider specific container mapping details. */
+export type InMageRcmProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * A value indicating whether the flag for enable agent auto upgrade.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "San";
-}
+ readonly enableAgentAutoUpgrade?: string;
+};
-/**
- * @interface
- * An interface representing ScriptActionTaskDetails.
- * This class represents the script action task details.
- *
- */
-export interface ScriptActionTaskDetails {
+/** VMwareCbt provider specific container mapping details. */
+export type VMwareCbtProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
/**
- * @member {string} instanceType Polymorphic Discriminator
+ * The target key vault ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- instanceType: "ScriptActionTaskDetails";
+ readonly keyVaultId?: string;
/**
- * @member {string} [name] The name.
+ * The target key vault URI.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- name?: string;
+ readonly keyVaultUri?: string;
/**
- * @member {string} [path] The path.
+ * The storage account ARM Id.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- path?: string;
+ readonly storageAccountId?: string;
/**
- * @member {string} [output] The output.
+ * The secret name of the storage account.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- output?: string;
+ readonly storageAccountSasSecretName?: string;
/**
- * @member {boolean} [isPrimarySideScript] A value indicating whether it is a
- * primary side script or not.
+ * The secret name of the service bus connection string.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- isPrimarySideScript?: boolean;
-}
-
-/**
- * @interface
- * An interface representing StorageClassificationProperties.
- * Storage object properties.
- *
- */
-export interface StorageClassificationProperties {
+ readonly serviceBusConnectionStringSecretName?: string;
/**
- * @member {string} [friendlyName] Friendly name of the Storage
- * classification.
+ * The target location.
+ * NOTE: This property will not be serialized. It can only be populated by the server.
*/
- friendlyName?: string;
-}
+ readonly targetLocation?: string;
+};
-/**
- * @interface
- * An interface representing StorageClassification.
- * Storage object definition.
- *
- * @extends Resource
- */
-export interface StorageClassification extends Resource {
- /**
- * @member {StorageClassificationProperties} [properties] Proprties of the
- * storage object.
- */
- properties?: StorageClassificationProperties;
-}
+/** A2A container mapping input. */
+export type A2AContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** A value indicating whether the auto update is enabled. */
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ /** The automation account arm id. */
+ automationAccountArmId?: string;
+ /** A value indicating the type authentication to use for automation Account. */
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+};
-/**
- * @interface
- * An interface representing StorageClassificationMappingProperties.
- * Storage mapping properties.
- *
- */
-export interface StorageClassificationMappingProperties {
- /**
- * @member {string} [targetStorageClassificationId] Target storage object Id.
- */
- targetStorageClassificationId?: string;
-}
+/** VMwareCbt container mapping input. */
+export type VMwareCbtContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** The target key vault ARM Id. */
+ keyVaultId?: string;
+ /** The target key vault URL. */
+ keyVaultUri?: string;
+ /** The storage account ARM Id. */
+ storageAccountId: string;
+ /** The secret name of the storage account. */
+ storageAccountSasSecretName?: string;
+ /** The secret name of the service bus connection string. */
+ serviceBusConnectionStringSecretName?: string;
+ /** The target location. */
+ targetLocation: string;
+};
-/**
- * @interface
- * An interface representing StorageClassificationMapping.
- * Storage mapping object.
- *
- * @extends Resource
- */
-export interface StorageClassificationMapping extends Resource {
- /**
- * @member {StorageClassificationMappingProperties} [properties] Proprties of
- * the storage mappping object.
- */
- properties?: StorageClassificationMappingProperties;
-}
+/** A2A update protection container mapping. */
+export type A2AUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** A value indicating whether the auto update is enabled. */
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ /** The automation account arm id. */
+ automationAccountArmId?: string;
+ /** A value indicating the type authentication to use for automation Account. */
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+};
-/**
- * @interface
- * An interface representing StorageMappingInputProperties.
- * Storage mapping input properties.
- *
- */
-export interface StorageMappingInputProperties {
- /**
- * @member {string} [targetStorageClassificationId] The ID of the storage
- * object.
- */
- targetStorageClassificationId?: string;
-}
+/** InMageRcm update protection container mapping. */
+export type InMageRcmUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** A value indicating whether agent auto upgrade has to be enabled. */
+ enableAgentAutoUpgrade: string;
+};
-/**
- * @interface
- * An interface representing StorageClassificationMappingInput.
- * Storage mapping input.
- *
- */
-export interface StorageClassificationMappingInput {
- /**
- * @member {StorageMappingInputProperties} [properties] Storage mapping input
- * properties.
- */
- properties?: StorageMappingInputProperties;
-}
+/** A2A specific switch protection input. */
+export type A2ASwitchProtectionInput = SwitchProtectionProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The recovery container Id. */
+ recoveryContainerId?: string;
+ /** The list of vm disk details. */
+ vmDisks?: A2AVmDiskInputDetails[];
+ /** The list of vm managed disk details. */
+ vmManagedDisks?: A2AVmManagedDiskInputDetails[];
+ /** The recovery resource group Id. Valid for V2 scenarios. */
+ recoveryResourceGroupId?: string;
+ /** The recovery cloud service Id. Valid for V1 scenarios. */
+ recoveryCloudServiceId?: string;
+ /** The recovery availability set. */
+ recoveryAvailabilitySetId?: string;
+ /** The Policy Id. */
+ policyId?: string;
+ /** The boot diagnostic storage account. */
+ recoveryBootDiagStorageAccountId?: string;
+ /** The recovery availability zone. */
+ recoveryAvailabilityZone?: string;
+ /** The recovery proximity placement group Id. */
+ recoveryProximityPlacementGroupId?: string;
+ /** The virtual machine scale set id. */
+ recoveryVirtualMachineScaleSetId?: string;
+ /** The recovery capacity reservation group Id. */
+ recoveryCapacityReservationGroupId?: string;
+ /** The recovery disk encryption information. */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+};
-/**
- * @interface
- * An interface representing SwitchProtectionInputProperties.
- * Switch protection input properties.
- *
- */
-export interface SwitchProtectionInputProperties {
- /**
- * @member {string} [replicationProtectedItemName] The unique replication
- * protected item name.
- */
- replicationProtectedItemName?: string;
- /**
- * @member {SwitchProtectionProviderSpecificInputUnion}
- * [providerSpecificDetails] Provider specific switch protection input.
- */
- providerSpecificDetails?: SwitchProtectionProviderSpecificInputUnion;
-}
+/** This class represents the task details for an automation runbook. */
+export type AutomationRunbookTaskDetails = TaskTypeDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AutomationRunbookTaskDetails";
+ /** The recovery plan task name. */
+ name?: string;
+ /** The cloud service of the automation runbook account. */
+ cloudServiceName?: string;
+ /** The subscription Id of the automation runbook account. */
+ subscriptionId?: string;
+ /** The automation account name of the runbook. */
+ accountName?: string;
+ /** The runbook Id. */
+ runbookId?: string;
+ /** The runbook name. */
+ runbookName?: string;
+ /** The job Id of the runbook execution. */
+ jobId?: string;
+ /** The execution output of the runbook. */
+ jobOutput?: string;
+ /** A value indicating whether it is a primary side script or not. */
+ isPrimarySideScript?: boolean;
+};
-/**
- * @interface
- * An interface representing SwitchProtectionInput.
- * Switch protection input.
- *
- */
-export interface SwitchProtectionInput {
- /**
- * @member {SwitchProtectionInputProperties} [properties] Switch protection
- * properties
- */
- properties?: SwitchProtectionInputProperties;
-}
+/** This class contains monitoring details of all the inconsistent Protected Entities in Vmm. */
+export type ConsistencyCheckTaskDetails = TaskTypeDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ConsistencyCheckTaskDetails";
+ /** The list of inconsistent Vm details. */
+ vmDetails?: InconsistentVmDetails[];
+};
-/**
- * @interface
- * An interface representing SwitchProtectionJobDetails.
- * This class represents details for switch protection job.
- *
- */
-export interface SwitchProtectionJobDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "SwitchProtectionJobDetails";
- /**
- * @member {{ [propertyName: string]: string }} [affectedObjectDetails] The
- * affected object properties like source server, source cloud, target
- * server, target cloud etc. based on the workflow object details.
- */
- affectedObjectDetails?: { [propertyName: string]: string };
- /**
- * @member {string} [newReplicationProtectedItemId] ARM Id of the new
- * replication protected item.
- */
- newReplicationProtectedItemId?: string;
-}
+/** This class represents a task which is actually a workflow so that one can navigate to its individual drill down. */
+export type JobTaskDetails = TaskTypeDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "JobTaskDetails"
+ | "FabricReplicationGroupTaskDetails"
+ | "VirtualMachineTaskDetails";
+ /** The job entity. */
+ jobTask?: JobEntity;
+};
-/**
- * @interface
- * An interface representing TargetComputeSizeProperties.
- * Represents applicable recovery vm sizes properties.
- *
- */
-export interface TargetComputeSizeProperties {
- /**
- * @member {string} [name] Target compute size name.
- */
+/** This class represents the manual action task details. */
+export type ManualActionTaskDetails = TaskTypeDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ManualActionTaskDetails";
+ /** The name. */
name?: string;
- /**
- * @member {string} [friendlyName] Target compute size display name.
- */
- friendlyName?: string;
- /**
- * @member {number} [cpuCoresCount] The maximum cpu cores count supported by
- * target compute size.
- */
- cpuCoresCount?: number;
- /**
- * @member {number} [memoryInGB] The maximum memory in GB supported by target
- * compute size.
- */
- memoryInGB?: number;
- /**
- * @member {number} [maxDataDiskCount] The maximum data disks count supported
- * by target compute size.
- */
- maxDataDiskCount?: number;
- /**
- * @member {number} [maxNicsCount] The maximum Nics count supported by target
- * compute size.
- */
- maxNicsCount?: number;
- /**
- * @member {ComputeSizeErrorDetails[]} [errors] The reasons why the target
- * compute size is not applicable for the protected item.
- */
- errors?: ComputeSizeErrorDetails[];
- /**
- * @member {string} [highIopsSupported] The value indicating whether the
- * target compute size supports high Iops.
- */
- highIopsSupported?: string;
-}
+ /** The instructions. */
+ instructions?: string;
+ /** The observation. */
+ observation?: string;
+};
-/**
- * @interface
- * An interface representing TargetComputeSize.
- * Represents applicable recovery vm sizes.
- *
- */
-export interface TargetComputeSize {
- /**
- * @member {string} [id] The Id.
- */
- id?: string;
- /**
- * @member {string} [name] The name.
- */
+/** This class represents the script action task details. */
+export type ScriptActionTaskDetails = TaskTypeDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ScriptActionTaskDetails";
+ /** The name. */
name?: string;
- /**
- * @member {string} [type] The Type of the object.
- */
- type?: string;
- /**
- * @member {TargetComputeSizeProperties} [properties] The custom data.
- */
- properties?: TargetComputeSizeProperties;
-}
+ /** The path. */
+ path?: string;
+ /** The output. */
+ output?: string;
+ /** A value indicating whether it is a primary side script or not. */
+ isPrimarySideScript?: boolean;
+};
-/**
- * @interface
- * An interface representing TestFailoverCleanupInputProperties.
- * Input definition for test failover cleanup input properties.
- *
- */
-export interface TestFailoverCleanupInputProperties {
- /**
- * @member {string} [comments] Test failover cleanup comments.
- */
- comments?: string;
-}
+/** This class represents the vm NicUpdates task details. */
+export type VmNicUpdatesTaskDetails = TaskTypeDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmNicUpdatesTaskDetails";
+ /** Virtual machine Id. */
+ vmId?: string;
+ /** Nic Id. */
+ nicId?: string;
+ /** Name of the Nic. */
+ name?: string;
+};
-/**
- * @interface
- * An interface representing TestFailoverCleanupInput.
- * Input definition for test failover cleanup.
- *
- */
-export interface TestFailoverCleanupInput {
- /**
- * @member {TestFailoverCleanupInputProperties} properties Test failover
- * cleanup input properties.
- */
- properties: TestFailoverCleanupInputProperties;
-}
+/** This class represents the inline workflow task details. */
+export type InlineWorkflowTaskDetails = GroupTaskDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InlineWorkflowTaskDetails";
+ /** The list of child workflow ids. */
+ workflowIds?: string[];
+};
-/**
- * @interface
- * An interface representing TestFailoverInputProperties.
- * Input definition for planned failover input properties.
- *
- */
-export interface TestFailoverInputProperties {
- /**
- * @member {string} [failoverDirection] Failover direction.
- */
- failoverDirection?: string;
- /**
- * @member {string} [networkType] Network type to be used for test failover.
- */
- networkType?: string;
- /**
- * @member {string} [networkId] The id of the network to be used for test
- * failover
- */
- networkId?: string;
- /**
- * @member {string} [skipTestFailoverCleanup] A value indicating whether the
- * test failover cleanup is to be skipped.
- */
- skipTestFailoverCleanup?: string;
- /**
- * @member {ProviderSpecificFailoverInputUnion} [providerSpecificDetails]
- * Provider specific settings
- */
- providerSpecificDetails?: ProviderSpecificFailoverInputUnion;
-}
+/** This class represents the recovery plan group task. */
+export type RecoveryPlanGroupTaskDetails = GroupTaskDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType:
+ | "RecoveryPlanGroupTaskDetails"
+ | "RecoveryPlanShutdownGroupTaskDetails";
+ /** The name. */
+ name?: string;
+ /** The group identifier. */
+ groupId?: string;
+ /** The group type. */
+ rpGroupType?: string;
+};
-/**
- * @interface
- * An interface representing TestFailoverInput.
- * Input definition for planned failover.
- *
- */
-export interface TestFailoverInput {
- /**
- * @member {TestFailoverInputProperties} [properties] Planned failover input
- * properties
- */
- properties?: TestFailoverInputProperties;
-}
+/** This class represents job details based on specific job type. */
+export type AsrJobDetails = JobDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AsrJobDetails";
+};
-/**
- * @interface
- * An interface representing TestFailoverJobDetails.
- * This class represents the details for a test failover job.
- *
- */
-export interface TestFailoverJobDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
+/** This class represents details for export jobs workflow. */
+export type ExportJobDetails = JobDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ExportJobDetails";
+ /** BlobUri of the exported jobs. */
+ blobUri?: string;
+ /** The sas token to access blob. */
+ sasToken?: string;
+};
+
+/** This class represents the details for a failover job. */
+export type FailoverJobDetails = JobDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "FailoverJobDetails";
+ /** The test VM details. */
+ protectedItemDetails?: FailoverReplicationProtectedItemDetails[];
+};
+
+/** This class represents details for switch protection job. */
+export type SwitchProtectionJobDetails = JobDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "SwitchProtectionJobDetails";
+ /** ARM Id of the new replication protected item. */
+ newReplicationProtectedItemId?: string;
+};
+
+/** This class represents the details for a test failover job. */
+export type TestFailoverJobDetails = JobDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
instanceType: "TestFailoverJobDetails";
- /**
- * @member {{ [propertyName: string]: string }} [affectedObjectDetails] The
- * affected object properties like source server, source cloud, target
- * server, target cloud etc. based on the workflow object details.
- */
- affectedObjectDetails?: { [propertyName: string]: string };
- /**
- * @member {string} [testFailoverStatus] The test failover status.
- */
+ /** The test failover status. */
testFailoverStatus?: string;
- /**
- * @member {string} [comments] The test failover comments.
- */
+ /** The test failover comments. */
comments?: string;
- /**
- * @member {string} [networkName] The test network name.
- */
+ /** The test network name. */
networkName?: string;
- /**
- * @member {string} [networkFriendlyName] The test network friendly name.
- */
+ /** The test network friendly name. */
networkFriendlyName?: string;
- /**
- * @member {string} [networkType] The test network type (see
- * TestFailoverInput enum for possible values).
- */
+ /** The test network type (see TestFailoverInput enum for possible values). */
networkType?: string;
- /**
- * @member {FailoverReplicationProtectedItemDetails[]} [protectedItemDetails]
- * The test VM details.
- */
+ /** The test VM details. */
protectedItemDetails?: FailoverReplicationProtectedItemDetails[];
-}
+};
-/**
- * @interface
- * An interface representing UnplannedFailoverInputProperties.
- * Input definition for planned failover input properties.
- *
- */
-export interface UnplannedFailoverInputProperties {
- /**
- * @member {string} [failoverDirection] Failover direction.
- */
- failoverDirection?: string;
- /**
- * @member {string} [sourceSiteOperations] Source site operations status
- */
- sourceSiteOperations?: string;
- /**
- * @member {ProviderSpecificFailoverInputUnion} [providerSpecificDetails]
- * Provider specific settings
- */
- providerSpecificDetails?: ProviderSpecificFailoverInputUnion;
-}
+/** A2A specific policy details. */
+export type A2APolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The recovery point threshold in minutes. */
+ recoveryPointThresholdInMinutes?: number;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. */
+ multiVmSyncStatus?: string;
+ /** The crash consistent snapshot frequency in minutes. */
+ crashConsistentFrequencyInMinutes?: number;
+};
-/**
- * @interface
- * An interface representing UnplannedFailoverInput.
- * Input definition for planned failover.
- *
- */
-export interface UnplannedFailoverInput {
- /**
- * @member {UnplannedFailoverInputProperties} [properties] Planned failover
- * input properties
- */
- properties?: UnplannedFailoverInputProperties;
-}
+/** Hyper-V Replica Azure specific protection profile details. */
+export type HyperVReplicaAzurePolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The duration (in hours) to which point the recovery history needs to be maintained. */
+ recoveryPointHistoryDurationInHours?: number;
+ /** The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM. */
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ /** The replication interval. */
+ replicationInterval?: number;
+ /** The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately. */
+ onlineReplicationStartTime?: string;
+ /** A value indicating whether encryption is enabled for virtual machines in this cloud. */
+ encryption?: string;
+ /** The active storage account Id. */
+ activeStorageAccountId?: string;
+};
-/**
- * @interface
- * An interface representing UpdateMobilityServiceRequestProperties.
- * The properties of an update mobility service request.
- *
- */
-export interface UpdateMobilityServiceRequestProperties {
- /**
- * @member {string} [runAsAccountId] The CS run as account Id.
- */
- runAsAccountId?: string;
-}
+/** Base class for HyperVReplica policy details. */
+export type HyperVReplicaBasePolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaBasePolicyDetails";
+ /** A value indicating the number of recovery points. */
+ recoveryPoints?: number;
+ /** A value indicating the application consistent frequency. */
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ /** A value indicating whether compression has to be enabled. */
+ compression?: string;
+ /** A value indicating whether IR is online. */
+ initialReplicationMethod?: string;
+ /** A value indicating the online IR start time. */
+ onlineReplicationStartTime?: string;
+ /** A value indicating the offline IR import path. */
+ offlineReplicationImportPath?: string;
+ /** A value indicating the offline IR export path. */
+ offlineReplicationExportPath?: string;
+ /** A value indicating the recovery HTTPS port. */
+ replicationPort?: number;
+ /** A value indicating the authentication type. */
+ allowedAuthenticationType?: number;
+ /** A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud. */
+ replicaDeletionOption?: string;
+};
-/**
- * @interface
- * An interface representing UpdateMobilityServiceRequest.
- * Request to update the mobility service on a protected item.
- *
- */
-export interface UpdateMobilityServiceRequest {
- /**
- * @member {UpdateMobilityServiceRequestProperties} [properties] The
- * properties of the update mobility service request.
- */
- properties?: UpdateMobilityServiceRequestProperties;
-}
+/** Hyper-V Replica Blue specific protection profile details. */
+export type HyperVReplicaBluePolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012R2";
+ /** A value indicating the replication interval. */
+ replicationFrequencyInSeconds?: number;
+ /** A value indicating the number of recovery points. */
+ recoveryPoints?: number;
+ /** A value indicating the application consistent frequency. */
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ /** A value indicating whether compression has to be enabled. */
+ compression?: string;
+ /** A value indicating whether IR is online. */
+ initialReplicationMethod?: string;
+ /** A value indicating the online IR start time. */
+ onlineReplicationStartTime?: string;
+ /** A value indicating the offline IR import path. */
+ offlineReplicationImportPath?: string;
+ /** A value indicating the offline IR export path. */
+ offlineReplicationExportPath?: string;
+ /** A value indicating the recovery HTTPS port. */
+ replicationPort?: number;
+ /** A value indicating the authentication type. */
+ allowedAuthenticationType?: number;
+ /** A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud */
+ replicaDeletionOption?: string;
+};
-/**
- * @interface
- * An interface representing UpdateNetworkMappingInputProperties.
- * Common input details for network mapping operation.
- *
- */
-export interface UpdateNetworkMappingInputProperties {
- /**
- * @member {string} [recoveryFabricName] Recovery fabric name.
- */
- recoveryFabricName?: string;
- /**
- * @member {string} [recoveryNetworkId] Recovery network Id.
- */
- recoveryNetworkId?: string;
- /**
- * @member {FabricSpecificUpdateNetworkMappingInputUnion}
- * [fabricSpecificDetails] Fabrics specific input network Id.
- */
- fabricSpecificDetails?: FabricSpecificUpdateNetworkMappingInputUnion;
-}
+/** Hyper-V Replica Blue specific protection profile details. */
+export type HyperVReplicaPolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012";
+ /** A value indicating the number of recovery points. */
+ recoveryPoints?: number;
+ /** A value indicating the application consistent frequency. */
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ /** A value indicating whether compression has to be enabled. */
+ compression?: string;
+ /** A value indicating whether IR is online. */
+ initialReplicationMethod?: string;
+ /** A value indicating the online IR start time. */
+ onlineReplicationStartTime?: string;
+ /** A value indicating the offline IR import path. */
+ offlineReplicationImportPath?: string;
+ /** A value indicating the offline IR export path. */
+ offlineReplicationExportPath?: string;
+ /** A value indicating the recovery HTTPS port. */
+ replicationPort?: number;
+ /** A value indicating the authentication type. */
+ allowedAuthenticationType?: number;
+ /** A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud */
+ replicaDeletionOption?: string;
+};
+
+/** InMage Azure v2 specific protection profile details. */
+export type InMageAzureV2PolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The crash consistent snapshot frequency in minutes. */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The recovery point threshold in minutes. */
+ recoveryPointThresholdInMinutes?: number;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. */
+ multiVmSyncStatus?: string;
+};
+
+/** Base class for the policies of providers using InMage replication. */
+export type InMageBasePolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageBasePolicyDetails";
+ /** The recovery point threshold in minutes. */
+ recoveryPointThresholdInMinutes?: number;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. */
+ multiVmSyncStatus?: string;
+};
+
+/** InMage specific protection profile details. */
+export type InMagePolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The recovery point threshold in minutes. */
+ recoveryPointThresholdInMinutes?: number;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. */
+ multiVmSyncStatus?: string;
+};
+
+/** InMageRcm failback specific policy details. */
+export type InMageRcmFailbackPolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** The crash consistent snapshot frequency in minutes. */
+ crashConsistentFrequencyInMinutes?: number;
+};
+
+/** InMageRcm specific policy details. */
+export type InMageRcmPolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistoryInMinutes?: number;
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** The crash consistent snapshot frequency in minutes. */
+ crashConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. */
+ enableMultiVmSync?: string;
+};
+
+/** VMware Cbt specific policy details. */
+export type VmwareCbtPolicyDetails = PolicyProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistoryInMinutes?: number;
+ /** The app consistent snapshot frequency in minutes. */
+ appConsistentFrequencyInMinutes?: number;
+ /** The crash consistent snapshot frequency in minutes. */
+ crashConsistentFrequencyInMinutes?: number;
+};
+
+/** A2A Cross-Cluster Migration Policy creation input. */
+export type A2ACrossClusterMigrationPolicyCreationInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2ACrossClusterMigration";
+};
+
+/** A2A Policy creation input. */
+export type A2APolicyCreationInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The crash consistent snapshot frequency (in minutes). */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. */
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+/** Hyper-V Replica Azure specific input for creating a protection profile. */
+export type HyperVReplicaAzurePolicyInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The duration (in hours) to which point the recovery history needs to be maintained. */
+ recoveryPointHistoryDuration?: number;
+ /** The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM. */
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ /** The replication interval. */
+ replicationInterval?: number;
+ /** The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately. */
+ onlineReplicationStartTime?: string;
+ /** The list of storage accounts to which the VMs in the primary cloud can replicate to. */
+ storageAccounts?: string[];
+};
+
+/** Hyper-V Replica specific policy Input. */
+export type HyperVReplicaPolicyInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012" | "HyperVReplica2012R2";
+ /** A value indicating the number of recovery points. */
+ recoveryPoints?: number;
+ /** A value indicating the application consistent frequency. */
+ applicationConsistentSnapshotFrequencyInHours?: number;
+ /** A value indicating whether compression has to be enabled. */
+ compression?: string;
+ /** A value indicating whether IR is online. */
+ initialReplicationMethod?: string;
+ /** A value indicating the online IR start time. */
+ onlineReplicationStartTime?: string;
+ /** A value indicating the offline IR import path. */
+ offlineReplicationImportPath?: string;
+ /** A value indicating the offline IR export path. */
+ offlineReplicationExportPath?: string;
+ /** A value indicating the recovery HTTPS port. */
+ replicationPort?: number;
+ /** A value indicating the authentication type. */
+ allowedAuthenticationType?: number;
+ /** A value indicating whether the VM has to be auto deleted. */
+ replicaDeletion?: string;
+};
+
+/** VMWare Azure specific policy Input. */
+export type InMageAzureV2PolicyInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The recovery point threshold in minutes. */
+ recoveryPointThresholdInMinutes?: number;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The crash consistent snapshot frequency (in minutes). */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. */
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+/** VMWare Azure specific protection profile Input. */
+export type InMagePolicyInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The recovery point threshold in minutes. */
+ recoveryPointThresholdInMinutes?: number;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. */
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
+
+/** InMageRcmFailback policy creation input. */
+export type InMageRcmFailbackPolicyCreationInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
+ /** The crash consistent snapshot frequency (in minutes). */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+};
+
+/** InMageRcm policy creation input. */
+export type InMageRcmPolicyCreationInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistoryInMinutes?: number;
+ /** The crash consistent snapshot frequency (in minutes). */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. */
+ enableMultiVmSync?: string;
+};
+
+/** VMware Cbt policy creation input. */
+export type VMwareCbtPolicyCreationInput = PolicyProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VMwareCbt";
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistoryInMinutes?: number;
+ /** The crash consistent snapshot frequency (in minutes). */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+};
+
+/** A2A provider specific settings. */
+export type A2AReplicationIntentDetails = ReplicationProtectionIntentProviderSpecificSettings & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The fabric specific object Id of the virtual machine. */
+ fabricObjectId?: string;
+ /** The primary location for the virtual machine. */
+ primaryLocation?: string;
+ /** The recovery location for the virtual machine. */
+ recoveryLocation?: string;
+ /** The recovery subscription Id of the virtual machine. */
+ recoverySubscriptionId?: string;
+ /** The list of vm disk details. */
+ vmDisks?: A2AProtectionIntentDiskInputDetails[];
+ /** The list of vm managed disk details. */
+ vmManagedDisks?: A2AProtectionIntentManagedDiskInputDetails[];
+ /** The recovery resource group id. */
+ recoveryResourceGroupId?: string;
+ /** The protection profile custom details. */
+ protectionProfile?: ProtectionProfileCustomDetailsUnion;
+ /** The primary staging storage account details. */
+ primaryStagingStorageAccount?: StorageAccountCustomDetailsUnion;
+ /** The recovery availability set details. */
+ recoveryAvailabilitySet?: RecoveryAvailabilitySetCustomDetailsUnion;
+ /** The recovery virtual network details. */
+ recoveryVirtualNetwork?: RecoveryVirtualNetworkCustomDetailsUnion;
+ /** The recovery proximity placement group custom details. */
+ recoveryProximityPlacementGroup?: RecoveryProximityPlacementGroupCustomDetailsUnion;
+ /** A value indicating whether the auto protection is enabled. */
+ autoProtectionOfDataDisk?: AutoProtectionOfDataDisk;
+ /** The multi vm group name. */
+ multiVmGroupName?: string;
+ /** The multi vm group id. */
+ multiVmGroupId?: string;
+ /** The boot diagnostic storage account. */
+ recoveryBootDiagStorageAccount?: StorageAccountCustomDetailsUnion;
+ /** The recovery disk encryption information (for two pass flows). */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ /** The recovery availability zone. */
+ recoveryAvailabilityZone?: string;
+ /** The recovery availability type of the virtual machine. */
+ recoveryAvailabilityType: string;
+ /** A value indicating whether the auto update is enabled. */
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ /** The automation account arm id. */
+ automationAccountArmId?: string;
+ /** A value indicating the type authentication to use for automation Account. */
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+};
+
+/** A2A create protection intent input. */
+export type A2ACreateProtectionIntentInput = CreateProtectionIntentProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The fabric specific object Id of the virtual machine. */
+ fabricObjectId: string;
+ /** The primary location for the virtual machine. */
+ primaryLocation: string;
+ /** The recovery location for the virtual machine. */
+ recoveryLocation: string;
+ /** The recovery subscription Id of the virtual machine. */
+ recoverySubscriptionId: string;
+ /** The recovery availability type of the virtual machine. */
+ recoveryAvailabilityType: A2ARecoveryAvailabilityType;
+ /** The protection profile custom inputs. */
+ protectionProfileCustomInput?: ProtectionProfileCustomDetailsUnion;
+ /** The recovery resource group Id. Valid for V2 scenarios. */
+ recoveryResourceGroupId: string;
+ /** The primary staging storage account input. */
+ primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion;
+ /** The recovery availability set input. */
+ recoveryAvailabilitySetCustomInput?: RecoveryAvailabilitySetCustomDetailsUnion;
+ /** The recovery virtual network input. */
+ recoveryVirtualNetworkCustomInput?: RecoveryVirtualNetworkCustomDetailsUnion;
+ /** The recovery proximity placement group custom input. */
+ recoveryProximityPlacementGroupCustomInput?: RecoveryProximityPlacementGroupCustomDetailsUnion;
+ /** A value indicating whether the auto protection is enabled. */
+ autoProtectionOfDataDisk?: AutoProtectionOfDataDisk;
+ /** The list of vm disk inputs. */
+ vmDisks?: A2AProtectionIntentDiskInputDetails[];
+ /** The list of vm managed disk inputs. */
+ vmManagedDisks?: A2AProtectionIntentManagedDiskInputDetails[];
+ /** The multi vm group name. */
+ multiVmGroupName?: string;
+ /** The multi vm group id. */
+ multiVmGroupId?: string;
+ /** The boot diagnostic storage account. */
+ recoveryBootDiagStorageAccount?: StorageAccountCustomDetailsUnion;
+ /** The recovery disk encryption information (for two pass flows). */
+ diskEncryptionInfo?: DiskEncryptionInfo;
+ /** The recovery availability zone. */
+ recoveryAvailabilityZone?: string;
+ /** A value indicating whether the auto update is enabled. */
+ agentAutoUpdateStatus?: AgentAutoUpdateStatus;
+ /** A value indicating the authentication type for automation account. The default value is "RunAsAccount". */
+ automationAccountAuthenticationType?: AutomationAccountAuthenticationType;
+ /** The automation account arm id. */
+ automationAccountArmId?: string;
+};
-/**
- * @interface
- * An interface representing UpdateNetworkMappingInput.
- * Update network mapping input.
- *
- */
-export interface UpdateNetworkMappingInput {
- /**
- * @member {UpdateNetworkMappingInputProperties} [properties] The input
- * properties needed to update network mapping.
- */
- properties?: UpdateNetworkMappingInputProperties;
-}
+/** Recovery plan Automation runbook action details. */
+export type RecoveryPlanAutomationRunbookActionDetails = RecoveryPlanActionDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "AutomationRunbookActionDetails";
+ /** The runbook ARM Id. */
+ runbookId?: string;
+ /** The runbook timeout. */
+ timeout?: string;
+ /** The fabric location. */
+ fabricLocation: RecoveryPlanActionLocation;
+};
-/**
- * @interface
- * An interface representing UpdatePolicyInputProperties.
- * Policy update properties.
- *
- */
-export interface UpdatePolicyInputProperties {
- /**
- * @member {PolicyProviderSpecificInputUnion} [replicationProviderSettings]
- * The ReplicationProviderSettings.
- */
- replicationProviderSettings?: PolicyProviderSpecificInputUnion;
-}
+/** Recovery plan manual action details. */
+export type RecoveryPlanManualActionDetails = RecoveryPlanActionDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ManualActionDetails";
+ /** The manual action description. */
+ description?: string;
+};
-/**
- * @interface
- * An interface representing UpdatePolicyInput.
- * Update policy input.
- *
- */
-export interface UpdatePolicyInput {
- /**
- * @member {UpdatePolicyInputProperties} [properties] The
- * ReplicationProviderSettings.
- */
- properties?: UpdatePolicyInputProperties;
-}
+/** Recovery plan script action details. */
+export type RecoveryPlanScriptActionDetails = RecoveryPlanActionDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "ScriptActionDetails";
+ /** The script path. */
+ path: string;
+ /** The script timeout. */
+ timeout?: string;
+ /** The fabric location. */
+ fabricLocation: RecoveryPlanActionLocation;
+};
-/**
- * @interface
- * An interface representing UpdateProtectionContainerMappingInputProperties.
- * Container pairing update input.
- *
- */
-export interface UpdateProtectionContainerMappingInputProperties {
- /**
- * @member {ReplicationProviderSpecificUpdateContainerMappingInputUnion}
- * [providerSpecificInput] Provider specific input for updating protection
- * container mapping.
- */
- providerSpecificInput?: ReplicationProviderSpecificUpdateContainerMappingInputUnion;
-}
+/** Recovery plan A2A specific details. */
+export type RecoveryPlanA2ADetails = RecoveryPlanProviderSpecificDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The primary zone. */
+ primaryZone?: string;
+ /** The recovery zone. */
+ recoveryZone?: string;
+};
-/**
- * @interface
- * An interface representing UpdateProtectionContainerMappingInput.
- * Container pairing update input.
- *
- */
-export interface UpdateProtectionContainerMappingInput {
- /**
- * @member {UpdateProtectionContainerMappingInputProperties} [properties]
- * Update protection container mapping input properties.
- */
- properties?: UpdateProtectionContainerMappingInputProperties;
-}
+/** Recovery plan A2A input. */
+export type RecoveryPlanA2AInput = RecoveryPlanProviderSpecificInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The primary zone. */
+ primaryZone?: string;
+ /** The recovery zone. */
+ recoveryZone?: string;
+ /** The primary extended location. */
+ primaryExtendedLocation?: ExtendedLocation;
+ /** The recovery extended location. */
+ recoveryExtendedLocation?: ExtendedLocation;
+};
+
+/** Recovery plan A2A failover input. */
+export type RecoveryPlanA2AFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "A2A";
+ /** The recovery point type. */
+ recoveryPointType: A2ARpRecoveryPointType;
+ /** A value indicating whether to use recovery cloud service for TFO or not. */
+ cloudServiceCreationOption?: string;
+ /** A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover. */
+ multiVmSyncPointOption?: MultiVmSyncPointOption;
+};
-/**
- * @interface
- * An interface representing UpdateRecoveryPlanInputProperties.
- * Recovery plan updation properties.
- *
- */
-export interface UpdateRecoveryPlanInputProperties {
- /**
- * @member {RecoveryPlanGroup[]} [groups] The recovery plan groups.
- */
- groups?: RecoveryPlanGroup[];
-}
+/** Recovery plan HVR Azure failback input. */
+export type RecoveryPlanHyperVReplicaAzureFailbackInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzureFailback";
+ /** The data sync option. */
+ dataSyncOption: DataSyncStatus;
+ /** The ALR option. */
+ recoveryVmCreationOption: AlternateLocationRecoveryOption;
+};
-/**
- * @interface
- * An interface representing UpdateRecoveryPlanInput.
- * Update recovery plan input class.
- *
- */
-export interface UpdateRecoveryPlanInput {
- /**
- * @member {UpdateRecoveryPlanInputProperties} [properties] Recovery plan
- * update properties.
- */
- properties?: UpdateRecoveryPlanInputProperties;
-}
+/** Recovery plan HVR Azure failover input. */
+export type RecoveryPlanHyperVReplicaAzureFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplicaAzure";
+ /** The primary KEK certificate PFX. */
+ primaryKekCertificatePfx?: string;
+ /** The secondary KEK certificate PFX. */
+ secondaryKekCertificatePfx?: string;
+ /** The recovery point type. */
+ recoveryPointType?: HyperVReplicaAzureRpRecoveryPointType;
+};
-/**
- * @interface
- * An interface representing VMNicInputDetails.
- * Hyper V VM network input details.
- *
- */
-export interface VMNicInputDetails {
- /**
- * @member {string} [nicId] The nic Id.
- */
- nicId?: string;
- /**
- * @member {string} [recoveryVMSubnetName] Recovery VM subnet name.
- */
- recoveryVMSubnetName?: string;
- /**
- * @member {string} [replicaNicStaticIPAddress] Replica nic static IP
- * address.
- */
- replicaNicStaticIPAddress?: string;
- /**
- * @member {string} [selectionType] Selection type for failover.
- */
- selectionType?: string;
- /**
- * @member {boolean} [enableAcceleratedNetworkingOnRecovery] Whether the NIC
- * has accerated networking enabled.
- */
- enableAcceleratedNetworkingOnRecovery?: boolean;
-}
+/** Recovery plan InMageAzureV2 failover input. */
+export type RecoveryPlanInMageAzureV2FailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageAzureV2";
+ /** The recovery point type. */
+ recoveryPointType: InMageV2RpRecoveryPointType;
+ /** A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover. */
+ useMultiVmSyncPoint?: string;
+};
-/**
- * @interface
- * An interface representing UpdateReplicationProtectedItemInputProperties.
- * Update protected item input properties.
- *
- */
-export interface UpdateReplicationProtectedItemInputProperties {
- /**
- * @member {string} [recoveryAzureVMName] Target azure VM name given by the
- * user.
- */
- recoveryAzureVMName?: string;
- /**
- * @member {string} [recoveryAzureVMSize] Target Azure Vm size.
- */
- recoveryAzureVMSize?: string;
- /**
- * @member {string} [selectedRecoveryAzureNetworkId] Target Azure Network Id.
- */
- selectedRecoveryAzureNetworkId?: string;
- /**
- * @member {string} [selectedSourceNicId] The selected source nic Id which
- * will be used as the primary nic during failover.
- */
- selectedSourceNicId?: string;
- /**
- * @member {string} [enableRdpOnTargetOption] The selected option to enable
- * RDP\SSH on target vm after failover. String value of
- * {SrsDataContract.EnableRDPOnTargetOption} enum.
- */
- enableRdpOnTargetOption?: string;
- /**
- * @member {VMNicInputDetails[]} [vmNics] The list of vm nic details.
- */
- vmNics?: VMNicInputDetails[];
- /**
- * @member {LicenseType} [licenseType] License type. Possible values include:
- * 'NotSpecified', 'NoLicenseType', 'WindowsServer'
- */
- licenseType?: LicenseType;
- /**
- * @member {string} [recoveryAvailabilitySetId] The target availability set
- * id.
- */
- recoveryAvailabilitySetId?: string;
- /**
- * @member {UpdateReplicationProtectedItemProviderInputUnion}
- * [providerSpecificDetails] The provider specific input to update
- * replication protected item.
- */
- providerSpecificDetails?: UpdateReplicationProtectedItemProviderInputUnion;
-}
+/** Recovery plan InMage failover input. */
+export type RecoveryPlanInMageFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMage";
+ /** The recovery point type. */
+ recoveryPointType: RpInMageRecoveryPointType;
+};
-/**
- * @interface
- * An interface representing UpdateReplicationProtectedItemInput.
- * Update replication protected item input.
- *
- */
-export interface UpdateReplicationProtectedItemInput {
- /**
- * @member {UpdateReplicationProtectedItemInputProperties} [properties]
- * Update replication protected item properties.
- */
- properties?: UpdateReplicationProtectedItemInputProperties;
-}
+/** Recovery plan InMageRcmFailback failover input. */
+export type RecoveryPlanInMageRcmFailbackFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcmFailback";
+ /** The recovery point type. */
+ recoveryPointType: InMageRcmFailbackRecoveryPointType;
+ /** A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover. */
+ useMultiVmSyncPoint?: string;
+};
-/**
- * @interface
- * An interface representing UpdateVCenterRequestProperties.
- * The properties of an update vCenter request.
- *
- */
-export interface UpdateVCenterRequestProperties {
- /**
- * @member {string} [friendlyName] The friendly name of the vCenter.
- */
- friendlyName?: string;
- /**
- * @member {string} [ipAddress] The IP address of the vCenter to be
- * discovered.
- */
- ipAddress?: string;
- /**
- * @member {string} [processServerId] The process server Id from where the
- * update can be orchestrated.
- */
- processServerId?: string;
- /**
- * @member {string} [port] The port number for discovery.
- */
- port?: string;
- /**
- * @member {string} [runAsAccountId] The CS account Id which has priviliges
- * to update the vCenter.
- */
- runAsAccountId?: string;
-}
+/** Recovery plan InMageRcm failover input. */
+export type RecoveryPlanInMageRcmFailoverInput = RecoveryPlanProviderSpecificFailoverInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "InMageRcm";
+ /** The recovery point type. */
+ recoveryPointType: RecoveryPlanPointType;
+ /** A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover. */
+ useMultiVmSyncPoint?: string;
+};
-/**
- * @interface
- * An interface representing UpdateVCenterRequest.
- * Input required to update vCenter.
- *
- */
-export interface UpdateVCenterRequest {
- /**
- * @member {UpdateVCenterRequestProperties} [properties] The update VCenter
- * Request Properties.
- */
- properties?: UpdateVCenterRequestProperties;
-}
+/** Existing storage account input. */
+export type ExistingProtectionProfile = ProtectionProfileCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+ /** The protection profile Arm Id. Throw error, if resource does not exists. */
+ protectionProfileId: string;
+};
-/**
- * @interface
- * An interface representing VaultHealthProperties.
- * class to define the health summary of the Vault.
- *
- */
-export interface VaultHealthProperties {
- /**
- * @member {HealthError[]} [vaultErrors] The list of errors on the vault.
- */
- vaultErrors?: HealthError[];
- /**
- * @member {ResourceHealthSummary} [protectedItemsHealth] The list of the
- * health detail of the protected items in the vault.
- */
- protectedItemsHealth?: ResourceHealthSummary;
- /**
- * @member {ResourceHealthSummary} [fabricsHealth] The list of the health
- * detail of the fabrics in the vault.
- */
- fabricsHealth?: ResourceHealthSummary;
- /**
- * @member {ResourceHealthSummary} [containersHealth] The list of the health
- * detail of the containers in the vault.
- */
- containersHealth?: ResourceHealthSummary;
-}
+/** New Protection profile input. */
+export type NewProtectionProfile = ProtectionProfileCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "New";
+ /** The protection profile input. */
+ policyName: string;
+ /** The duration in minutes until which the recovery points need to be stored. */
+ recoveryPointHistory?: number;
+ /** The crash consistent snapshot frequency (in minutes). */
+ crashConsistentFrequencyInMinutes?: number;
+ /** The app consistent snapshot frequency (in minutes). */
+ appConsistentFrequencyInMinutes?: number;
+ /** A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. */
+ multiVmSyncStatus: SetMultiVmSyncStatus;
+};
-/**
- * @interface
- * An interface representing VaultHealthDetails.
- * Vault health details definition.
- *
- * @extends Resource
- */
-export interface VaultHealthDetails extends Resource {
- /**
- * @member {VaultHealthProperties} [properties] The vault health related
- * data.
- */
- properties?: VaultHealthProperties;
-}
+/** Existing storage account input. */
+export type ExistingStorageAccount = StorageAccountCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+ /** The storage account Arm Id. Throw error, if resource does not exists. */
+ azureStorageAccountId: string;
+};
-/**
- * @interface
- * An interface representing VCenterProperties.
- * vCenter properties.
- *
- */
-export interface VCenterProperties {
- /**
- * @member {string} [friendlyName] Friendly name of the vCenter.
- */
- friendlyName?: string;
- /**
- * @member {string} [internalId] VCenter internal ID.
- */
- internalId?: string;
- /**
- * @member {Date} [lastHeartbeat] The time when the last heartbeat was
- * reveived by vCenter.
- */
- lastHeartbeat?: Date;
- /**
- * @member {string} [discoveryStatus] The VCenter discovery status.
- */
- discoveryStatus?: string;
- /**
- * @member {string} [processServerId] The process server Id.
- */
- processServerId?: string;
- /**
- * @member {string} [ipAddress] The IP address of the vCenter.
- */
- ipAddress?: string;
- /**
- * @member {string} [infrastructureId] The infrastructure Id of vCenter.
- */
- infrastructureId?: string;
- /**
- * @member {string} [port] The port number for discovery.
- */
- port?: string;
- /**
- * @member {string} [runAsAccountId] The account Id which has privileges to
- * discover the vCenter.
- */
- runAsAccountId?: string;
- /**
- * @member {string} [fabricArmResourceName] The ARM resource name of the
- * fabric containing this VCenter.
- */
- fabricArmResourceName?: string;
- /**
- * @member {HealthError[]} [healthErrors] The health errors for this VCenter.
- */
- healthErrors?: HealthError[];
-}
+/** Existing recovery availability set input. */
+export type ExistingRecoveryAvailabilitySet = RecoveryAvailabilitySetCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+ /** The recovery availability set Id. Will throw error, if resource does not exist. */
+ recoveryAvailabilitySetId?: string;
+};
-/**
- * @interface
- * An interface representing VCenter.
- * vCenter definition.
- *
- * @extends Resource
- */
-export interface VCenter extends Resource {
- /**
- * @member {VCenterProperties} [properties] VCenter related data.
- */
- properties?: VCenterProperties;
-}
+/** Existing recovery virtual network input. */
+export type ExistingRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+ /** The recovery virtual network Id. Will throw error, if resource does not exist. */
+ recoveryVirtualNetworkId: string;
+ /** The recovery subnet name. */
+ recoverySubnetName?: string;
+};
-/**
- * @interface
- * An interface representing VirtualMachineTaskDetails.
- * This class represents the virtual machine task details.
- *
- */
-export interface VirtualMachineTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
+/** Recovery virtual network input to create new virtual network from given source network. */
+export type NewRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "New";
+ /** The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM. */
+ recoveryVirtualNetworkResourceGroupName?: string;
+ /** The recovery virtual network name. */
+ recoveryVirtualNetworkName?: string;
+};
+
+/** Existing recovery proximity placement group input. */
+export type ExistingRecoveryProximityPlacementGroup = RecoveryProximityPlacementGroupCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+ /** The recovery proximity placement group Id. Will throw error, if resource does not exist. */
+ recoveryProximityPlacementGroupId?: string;
+};
+
+/** Existing recovery resource group input. */
+export type ExistingRecoveryResourceGroup = RecoveryResourceGroupCustomDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ resourceType: "Existing";
+ /** The recovery resource group Id. Valid for V2 scenarios. */
+ recoveryResourceGroupId?: string;
+};
+
+/** VMM fabric provider specific VM settings. */
+export type VmmVirtualMachineDetails = HyperVVirtualMachineDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "VmmVirtualMachine";
+};
+
+/** This class represents the fabric replication group task details. */
+export type FabricReplicationGroupTaskDetails = JobTaskDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "FabricReplicationGroupTaskDetails";
+ /** The skipped reason. */
+ skippedReason?: string;
+ /** The skipped reason string. */
+ skippedReasonString?: string;
+};
+
+/** This class represents the virtual machine task details. */
+export type VirtualMachineTaskDetails = JobTaskDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
instanceType: "VirtualMachineTaskDetails";
- /**
- * @member {string} [skippedReason] The skipped reason.
- */
+ /** The skipped reason. */
skippedReason?: string;
- /**
- * @member {string} [skippedReasonString] The skipped reason string.
- */
+ /** The skipped reason string. */
skippedReasonString?: string;
- /**
- * @member {JobEntity} [jobTask] The job entity.
- */
- jobTask?: JobEntity;
-}
+};
-/**
- * @interface
- * An interface representing VmmDetails.
- * VMM fabric specific details.
- *
- */
-export interface VmmDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMM";
-}
+/** This class represents the recovery plan shutdown group task details. */
+export type RecoveryPlanShutdownGroupTaskDetails = RecoveryPlanGroupTaskDetails & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "RecoveryPlanShutdownGroupTaskDetails";
+};
-/**
- * @interface
- * An interface representing VmmToAzureCreateNetworkMappingInput.
- * Create network mappings input properties/behaviour specific to Vmm to Azure
- * Network mapping.
- *
- */
-export interface VmmToAzureCreateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmToAzure";
+/** HyperV Replica Blue policy input. */
+export type HyperVReplicaBluePolicyInput = HyperVReplicaPolicyInput & {
+ /** Polymorphic discriminator, which specifies the different types this object can be */
+ instanceType: "HyperVReplica2012R2";
+ /** A value indicating the replication interval. */
+ replicationFrequencyInSeconds?: number;
+};
+
+/** Known values of {@link HealthErrorCustomerResolvability} that the service accepts. */
+export enum KnownHealthErrorCustomerResolvability {
+ Allowed = "Allowed",
+ NotAllowed = "NotAllowed"
+}
+
+/**
+ * Defines values for HealthErrorCustomerResolvability. \
+ * {@link KnownHealthErrorCustomerResolvability} can be used interchangeably with HealthErrorCustomerResolvability,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Allowed** \
+ * **NotAllowed**
+ */
+export type HealthErrorCustomerResolvability = string;
+
+/** Known values of {@link MigrationState} that the service accepts. */
+export enum KnownMigrationState {
+ None = "None",
+ EnableMigrationInProgress = "EnableMigrationInProgress",
+ EnableMigrationFailed = "EnableMigrationFailed",
+ DisableMigrationInProgress = "DisableMigrationInProgress",
+ DisableMigrationFailed = "DisableMigrationFailed",
+ InitialSeedingInProgress = "InitialSeedingInProgress",
+ InitialSeedingFailed = "InitialSeedingFailed",
+ Replicating = "Replicating",
+ MigrationInProgress = "MigrationInProgress",
+ MigrationSucceeded = "MigrationSucceeded",
+ MigrationFailed = "MigrationFailed"
+}
+
+/**
+ * Defines values for MigrationState. \
+ * {@link KnownMigrationState} can be used interchangeably with MigrationState,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **EnableMigrationInProgress** \
+ * **EnableMigrationFailed** \
+ * **DisableMigrationInProgress** \
+ * **DisableMigrationFailed** \
+ * **InitialSeedingInProgress** \
+ * **InitialSeedingFailed** \
+ * **Replicating** \
+ * **MigrationInProgress** \
+ * **MigrationSucceeded** \
+ * **MigrationFailed**
+ */
+export type MigrationState = string;
+
+/** Known values of {@link TestMigrationState} that the service accepts. */
+export enum KnownTestMigrationState {
+ None = "None",
+ TestMigrationInProgress = "TestMigrationInProgress",
+ TestMigrationSucceeded = "TestMigrationSucceeded",
+ TestMigrationFailed = "TestMigrationFailed",
+ TestMigrationCleanupInProgress = "TestMigrationCleanupInProgress"
}
/**
- * @interface
- * An interface representing VmmToAzureNetworkMappingSettings.
- * E2A Network Mapping fabric specific settings.
- *
- */
-export interface VmmToAzureNetworkMappingSettings {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmToAzure";
+ * Defines values for TestMigrationState. \
+ * {@link KnownTestMigrationState} can be used interchangeably with TestMigrationState,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **TestMigrationInProgress** \
+ * **TestMigrationSucceeded** \
+ * **TestMigrationFailed** \
+ * **TestMigrationCleanupInProgress**
+ */
+export type TestMigrationState = string;
+
+/** Known values of {@link ProtectionHealth} that the service accepts. */
+export enum KnownProtectionHealth {
+ None = "None",
+ Normal = "Normal",
+ Warning = "Warning",
+ Critical = "Critical"
}
/**
- * @interface
- * An interface representing VmmToAzureUpdateNetworkMappingInput.
- * Update network mappings input properties/behaviour specific to vmm to azure.
- *
+ * Defines values for ProtectionHealth. \
+ * {@link KnownProtectionHealth} can be used interchangeably with ProtectionHealth,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **Normal** \
+ * **Warning** \
+ * **Critical**
+ */
+export type ProtectionHealth = string;
+
+/** Known values of {@link MigrationItemOperation} that the service accepts. */
+export enum KnownMigrationItemOperation {
+ DisableMigration = "DisableMigration",
+ TestMigrate = "TestMigrate",
+ TestMigrateCleanup = "TestMigrateCleanup",
+ Migrate = "Migrate",
+ StartResync = "StartResync"
+}
+
+/**
+ * Defines values for MigrationItemOperation. \
+ * {@link KnownMigrationItemOperation} can be used interchangeably with MigrationItemOperation,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **DisableMigration** \
+ * **TestMigrate** \
+ * **TestMigrateCleanup** \
+ * **Migrate** \
+ * **StartResync**
+ */
+export type MigrationItemOperation = string;
+
+/** Known values of {@link MigrationRecoveryPointType} that the service accepts. */
+export enum KnownMigrationRecoveryPointType {
+ NotSpecified = "NotSpecified",
+ ApplicationConsistent = "ApplicationConsistent",
+ CrashConsistent = "CrashConsistent"
+}
+
+/**
+ * Defines values for MigrationRecoveryPointType. \
+ * {@link KnownMigrationRecoveryPointType} can be used interchangeably with MigrationRecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NotSpecified** \
+ * **ApplicationConsistent** \
+ * **CrashConsistent**
*/
-export interface VmmToAzureUpdateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmToAzure";
+export type MigrationRecoveryPointType = string;
+
+/** Known values of {@link LicenseType} that the service accepts. */
+export enum KnownLicenseType {
+ NotSpecified = "NotSpecified",
+ NoLicenseType = "NoLicenseType",
+ WindowsServer = "WindowsServer"
+}
+
+/**
+ * Defines values for LicenseType. \
+ * {@link KnownLicenseType} can be used interchangeably with LicenseType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NotSpecified** \
+ * **NoLicenseType** \
+ * **WindowsServer**
+ */
+export type LicenseType = string;
+
+/** Known values of {@link DisableProtectionReason} that the service accepts. */
+export enum KnownDisableProtectionReason {
+ NotSpecified = "NotSpecified",
+ MigrationComplete = "MigrationComplete"
+}
+
+/**
+ * Defines values for DisableProtectionReason. \
+ * {@link KnownDisableProtectionReason} can be used interchangeably with DisableProtectionReason,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NotSpecified** \
+ * **MigrationComplete**
+ */
+export type DisableProtectionReason = string;
+
+/** Known values of {@link AgentVersionStatus} that the service accepts. */
+export enum KnownAgentVersionStatus {
+ Supported = "Supported",
+ NotSupported = "NotSupported",
+ Deprecated = "Deprecated",
+ UpdateRequired = "UpdateRequired",
+ SecurityUpdateRequired = "SecurityUpdateRequired"
+}
+
+/**
+ * Defines values for AgentVersionStatus. \
+ * {@link KnownAgentVersionStatus} can be used interchangeably with AgentVersionStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Supported** \
+ * **NotSupported** \
+ * **Deprecated** \
+ * **UpdateRequired** \
+ * **SecurityUpdateRequired**
+ */
+export type AgentVersionStatus = string;
+
+/** Known values of {@link ExportJobOutputSerializationType} that the service accepts. */
+export enum KnownExportJobOutputSerializationType {
+ Json = "Json",
+ Xml = "Xml",
+ Excel = "Excel"
+}
+
+/**
+ * Defines values for ExportJobOutputSerializationType. \
+ * {@link KnownExportJobOutputSerializationType} can be used interchangeably with ExportJobOutputSerializationType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Json** \
+ * **Xml** \
+ * **Excel**
+ */
+export type ExportJobOutputSerializationType = string;
+
+/** Known values of {@link RecoveryPlanGroupType} that the service accepts. */
+export enum KnownRecoveryPlanGroupType {
+ Shutdown = "Shutdown",
+ Boot = "Boot",
+ Failover = "Failover"
}
/**
- * @interface
- * An interface representing VmmToVmmCreateNetworkMappingInput.
- * Create network mappings input properties/behaviour specific to vmm to vmm
- * Network mapping.
- *
+ * Defines values for RecoveryPlanGroupType. \
+ * {@link KnownRecoveryPlanGroupType} can be used interchangeably with RecoveryPlanGroupType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Shutdown** \
+ * **Boot** \
+ * **Failover**
+ */
+export type RecoveryPlanGroupType = string;
+
+/** Known values of {@link ReplicationProtectedItemOperation} that the service accepts. */
+export enum KnownReplicationProtectedItemOperation {
+ ReverseReplicate = "ReverseReplicate",
+ Commit = "Commit",
+ PlannedFailover = "PlannedFailover",
+ UnplannedFailover = "UnplannedFailover",
+ DisableProtection = "DisableProtection",
+ TestFailover = "TestFailover",
+ TestFailoverCleanup = "TestFailoverCleanup",
+ Failback = "Failback",
+ FinalizeFailback = "FinalizeFailback",
+ CancelFailover = "CancelFailover",
+ ChangePit = "ChangePit",
+ RepairReplication = "RepairReplication",
+ SwitchProtection = "SwitchProtection",
+ CompleteMigration = "CompleteMigration"
+}
+
+/**
+ * Defines values for ReplicationProtectedItemOperation. \
+ * {@link KnownReplicationProtectedItemOperation} can be used interchangeably with ReplicationProtectedItemOperation,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **ReverseReplicate** \
+ * **Commit** \
+ * **PlannedFailover** \
+ * **UnplannedFailover** \
+ * **DisableProtection** \
+ * **TestFailover** \
+ * **TestFailoverCleanup** \
+ * **Failback** \
+ * **FinalizeFailback** \
+ * **CancelFailover** \
+ * **ChangePit** \
+ * **RepairReplication** \
+ * **SwitchProtection** \
+ * **CompleteMigration**
+ */
+export type ReplicationProtectedItemOperation = string;
+
+/** Known values of {@link PossibleOperationsDirections} that the service accepts. */
+export enum KnownPossibleOperationsDirections {
+ PrimaryToRecovery = "PrimaryToRecovery",
+ RecoveryToPrimary = "RecoveryToPrimary"
+}
+
+/**
+ * Defines values for PossibleOperationsDirections. \
+ * {@link KnownPossibleOperationsDirections} can be used interchangeably with PossibleOperationsDirections,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **PrimaryToRecovery** \
+ * **RecoveryToPrimary**
+ */
+export type PossibleOperationsDirections = string;
+
+/** Known values of {@link FailoverDeploymentModel} that the service accepts. */
+export enum KnownFailoverDeploymentModel {
+ NotApplicable = "NotApplicable",
+ Classic = "Classic",
+ ResourceManager = "ResourceManager"
+}
+
+/**
+ * Defines values for FailoverDeploymentModel. \
+ * {@link KnownFailoverDeploymentModel} can be used interchangeably with FailoverDeploymentModel,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NotApplicable** \
+ * **Classic** \
+ * **ResourceManager**
+ */
+export type FailoverDeploymentModel = string;
+
+/** Known values of {@link SourceSiteOperations} that the service accepts. */
+export enum KnownSourceSiteOperations {
+ Required = "Required",
+ NotRequired = "NotRequired"
+}
+
+/**
+ * Defines values for SourceSiteOperations. \
+ * {@link KnownSourceSiteOperations} can be used interchangeably with SourceSiteOperations,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Required** \
+ * **NotRequired**
+ */
+export type SourceSiteOperations = string;
+
+/** Known values of {@link HealthErrorCategory} that the service accepts. */
+export enum KnownHealthErrorCategory {
+ None = "None",
+ Replication = "Replication",
+ TestFailover = "TestFailover",
+ Configuration = "Configuration",
+ FabricInfrastructure = "FabricInfrastructure",
+ VersionExpiry = "VersionExpiry",
+ AgentAutoUpdateInfra = "AgentAutoUpdateInfra",
+ AgentAutoUpdateArtifactDeleted = "AgentAutoUpdateArtifactDeleted",
+ AgentAutoUpdateRunAsAccount = "AgentAutoUpdateRunAsAccount",
+ AgentAutoUpdateRunAsAccountExpiry = "AgentAutoUpdateRunAsAccountExpiry",
+ AgentAutoUpdateRunAsAccountExpired = "AgentAutoUpdateRunAsAccountExpired"
+}
+
+/**
+ * Defines values for HealthErrorCategory. \
+ * {@link KnownHealthErrorCategory} can be used interchangeably with HealthErrorCategory,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **Replication** \
+ * **TestFailover** \
+ * **Configuration** \
+ * **FabricInfrastructure** \
+ * **VersionExpiry** \
+ * **AgentAutoUpdateInfra** \
+ * **AgentAutoUpdateArtifactDeleted** \
+ * **AgentAutoUpdateRunAsAccount** \
+ * **AgentAutoUpdateRunAsAccountExpiry** \
+ * **AgentAutoUpdateRunAsAccountExpired**
*/
-export interface VmmToVmmCreateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmToVmm";
+export type HealthErrorCategory = string;
+
+/** Known values of {@link Severity} that the service accepts. */
+export enum KnownSeverity {
+ None = "NONE",
+ Warning = "Warning",
+ Error = "Error",
+ Info = "Info"
}
/**
- * @interface
- * An interface representing VmmToVmmNetworkMappingSettings.
- * E2E Network Mapping fabric specific settings.
- *
+ * Defines values for Severity. \
+ * {@link KnownSeverity} can be used interchangeably with Severity,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NONE** \
+ * **Warning** \
+ * **Error** \
+ * **Info**
*/
-export interface VmmToVmmNetworkMappingSettings {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmToVmm";
+export type Severity = string;
+
+/** Known values of {@link AgentAutoUpdateStatus} that the service accepts. */
+export enum KnownAgentAutoUpdateStatus {
+ Disabled = "Disabled",
+ Enabled = "Enabled"
}
/**
- * @interface
- * An interface representing VmmToVmmUpdateNetworkMappingInput.
- * Update network mappings input properties/behaviour specific to vmm to vmm.
- *
+ * Defines values for AgentAutoUpdateStatus. \
+ * {@link KnownAgentAutoUpdateStatus} can be used interchangeably with AgentAutoUpdateStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Disabled** \
+ * **Enabled**
*/
-export interface VmmToVmmUpdateNetworkMappingInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmToVmm";
+export type AgentAutoUpdateStatus = string;
+
+/** Known values of {@link AutomationAccountAuthenticationType} that the service accepts. */
+export enum KnownAutomationAccountAuthenticationType {
+ RunAsAccount = "RunAsAccount",
+ SystemAssignedIdentity = "SystemAssignedIdentity"
}
/**
- * @interface
- * An interface representing VmmVirtualMachineDetails.
- * VMM fabric provider specific VM settings.
- *
+ * Defines values for AutomationAccountAuthenticationType. \
+ * {@link KnownAutomationAccountAuthenticationType} can be used interchangeably with AutomationAccountAuthenticationType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **RunAsAccount** \
+ * **SystemAssignedIdentity**
*/
-export interface VmmVirtualMachineDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmmVirtualMachine";
- /**
- * @member {string} [sourceItemId] The source id of the object.
- */
- sourceItemId?: string;
- /**
- * @member {string} [generation] The id of the object in fabric.
- */
- generation?: string;
- /**
- * @member {OSDetails} [osDetails] The Last replication time.
- */
- osDetails?: OSDetails;
- /**
- * @member {DiskDetails[]} [diskDetails] The Last successful failover time.
- */
- diskDetails?: DiskDetails[];
- /**
- * @member {PresenceStatus} [hasPhysicalDisk] A value indicating whether the
- * VM has a physical disk attached. String value of
- * {SrsDataContract.PresenceStatus} enum. Possible values include: 'Unknown',
- * 'Present', 'NotPresent'
- */
- hasPhysicalDisk?: PresenceStatus;
- /**
- * @member {PresenceStatus} [hasFibreChannelAdapter] A value indicating
- * whether the VM has a fibre channel adapter attached. String value of
- * {SrsDataContract.PresenceStatus} enum. Possible values include: 'Unknown',
- * 'Present', 'NotPresent'
- */
- hasFibreChannelAdapter?: PresenceStatus;
- /**
- * @member {PresenceStatus} [hasSharedVhd] A value indicating whether the VM
- * has a shared VHD attached. String value of
- * {SrsDataContract.PresenceStatus} enum. Possible values include: 'Unknown',
- * 'Present', 'NotPresent'
- */
- hasSharedVhd?: PresenceStatus;
+export type AutomationAccountAuthenticationType = string;
+
+/** Known values of {@link A2ARecoveryAvailabilityType} that the service accepts. */
+export enum KnownA2ARecoveryAvailabilityType {
+ Single = "Single",
+ AvailabilitySet = "AvailabilitySet",
+ AvailabilityZone = "AvailabilityZone"
}
/**
- * @interface
- * An interface representing VmNicUpdatesTaskDetails.
- * This class represents the vm NicUpdates task details.
- *
+ * Defines values for A2ARecoveryAvailabilityType. \
+ * {@link KnownA2ARecoveryAvailabilityType} can be used interchangeably with A2ARecoveryAvailabilityType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Single** \
+ * **AvailabilitySet** \
+ * **AvailabilityZone**
*/
-export interface VmNicUpdatesTaskDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VmNicUpdatesTaskDetails";
- /**
- * @member {string} [vmId] Virtual machine Id.
- */
- vmId?: string;
- /**
- * @member {string} [nicId] Nic Id.
- */
- nicId?: string;
- /**
- * @member {string} [name] Name of the Nic.
- */
- name?: string;
+export type A2ARecoveryAvailabilityType = string;
+
+/** Known values of {@link AutoProtectionOfDataDisk} that the service accepts. */
+export enum KnownAutoProtectionOfDataDisk {
+ Disabled = "Disabled",
+ Enabled = "Enabled"
}
/**
- * @interface
- * An interface representing VMwareCbtPolicyCreationInput.
- * VMware Cbt Policy creation input.
- *
+ * Defines values for AutoProtectionOfDataDisk. \
+ * {@link KnownAutoProtectionOfDataDisk} can be used interchangeably with AutoProtectionOfDataDisk,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Disabled** \
+ * **Enabled**
*/
-export interface VMwareCbtPolicyCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMwareCbt";
- /**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
- */
- recoveryPointHistory?: number;
- /**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency (in minutes).
- */
- crashConsistentFrequencyInMinutes?: number;
- /**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency (in minutes).
- */
- appConsistentFrequencyInMinutes?: number;
+export type AutoProtectionOfDataDisk = string;
+
+/** Known values of {@link ExtendedLocationType} that the service accepts. */
+export enum KnownExtendedLocationType {
+ EdgeZone = "EdgeZone"
}
/**
- * @interface
- * An interface representing VmwareCbtPolicyDetails.
- * VMware Cbt specific policy details.
- *
+ * Defines values for ExtendedLocationType. \
+ * {@link KnownExtendedLocationType} can be used interchangeably with ExtendedLocationType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **EdgeZone**
*/
-export interface VmwareCbtPolicyDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMwareCbt";
- /**
- * @member {number} [recoveryPointThresholdInMinutes] The recovery point
- * threshold in minutes.
- */
- recoveryPointThresholdInMinutes?: number;
- /**
- * @member {number} [recoveryPointHistory] The duration in minutes until
- * which the recovery points need to be stored.
- */
- recoveryPointHistory?: number;
- /**
- * @member {number} [appConsistentFrequencyInMinutes] The app consistent
- * snapshot frequency in minutes.
- */
- appConsistentFrequencyInMinutes?: number;
- /**
- * @member {number} [crashConsistentFrequencyInMinutes] The crash consistent
- * snapshot frequency in minutes.
- */
- crashConsistentFrequencyInMinutes?: number;
+export type ExtendedLocationType = string;
+
+/** Known values of {@link SetMultiVmSyncStatus} that the service accepts. */
+export enum KnownSetMultiVmSyncStatus {
+ Enable = "Enable",
+ Disable = "Disable"
}
/**
- * @interface
- * An interface representing VMwareDetails.
- * Store the fabric details specific to the VMware fabric.
- *
- */
-export interface VMwareDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMware";
- /**
- * @member {ProcessServer[]} [processServers] The list of Process Servers
- * associated with the fabric.
- */
- processServers?: ProcessServer[];
- /**
- * @member {MasterTargetServer[]} [masterTargetServers] The list of Master
- * Target servers associated with the fabric.
- */
- masterTargetServers?: MasterTargetServer[];
- /**
- * @member {RunAsAccount[]} [runAsAccounts] The list of run as accounts
- * created on the server.
- */
- runAsAccounts?: RunAsAccount[];
- /**
- * @member {string} [replicationPairCount] The number of replication pairs
- * configured in this CS.
- */
- replicationPairCount?: string;
- /**
- * @member {string} [processServerCount] The number of process servers.
- */
- processServerCount?: string;
- /**
- * @member {string} [agentCount] The number of source and target servers
- * configured to talk to this CS.
- */
- agentCount?: string;
- /**
- * @member {string} [protectedServers] The number of protected servers.
- */
- protectedServers?: string;
- /**
- * @member {string} [systemLoad] The percentage of the system load.
- */
- systemLoad?: string;
- /**
- * @member {string} [systemLoadStatus] The system load status.
- */
- systemLoadStatus?: string;
- /**
- * @member {string} [cpuLoad] The percentage of the CPU load.
- */
- cpuLoad?: string;
- /**
- * @member {string} [cpuLoadStatus] The CPU load status.
- */
- cpuLoadStatus?: string;
- /**
- * @member {number} [totalMemoryInBytes] The total memory.
- */
- totalMemoryInBytes?: number;
- /**
- * @member {number} [availableMemoryInBytes] The available memory.
- */
- availableMemoryInBytes?: number;
- /**
- * @member {string} [memoryUsageStatus] The memory usage status.
- */
- memoryUsageStatus?: string;
- /**
- * @member {number} [totalSpaceInBytes] The total space.
- */
- totalSpaceInBytes?: number;
- /**
- * @member {number} [availableSpaceInBytes] The available space.
- */
- availableSpaceInBytes?: number;
- /**
- * @member {string} [spaceUsageStatus] The space usage status.
- */
- spaceUsageStatus?: string;
- /**
- * @member {string} [webLoad] The web load.
- */
- webLoad?: string;
- /**
- * @member {string} [webLoadStatus] The web load status.
- */
- webLoadStatus?: string;
- /**
- * @member {string} [databaseServerLoad] The database server load.
- */
- databaseServerLoad?: string;
- /**
- * @member {string} [databaseServerLoadStatus] The database server load
- * status.
- */
- databaseServerLoadStatus?: string;
- /**
- * @member {string} [csServiceStatus] The CS service status.
- */
- csServiceStatus?: string;
- /**
- * @member {string} [ipAddress] The IP address.
- */
- ipAddress?: string;
- /**
- * @member {string} [agentVersion] The agent Version.
- */
- agentVersion?: string;
- /**
- * @member {string} [hostName] The host name.
- */
- hostName?: string;
- /**
- * @member {Date} [lastHeartbeat] The last heartbeat received from CS server.
- */
- lastHeartbeat?: Date;
- /**
- * @member {string} [versionStatus] Version status
- */
- versionStatus?: string;
- /**
- * @member {Date} [sslCertExpiryDate] CS SSL cert expiry date.
- */
- sslCertExpiryDate?: Date;
- /**
- * @member {number} [sslCertExpiryRemainingDays] CS SSL cert expiry date.
- */
- sslCertExpiryRemainingDays?: number;
- /**
- * @member {string} [psTemplateVersion] PS template version.
- */
- psTemplateVersion?: string;
- /**
- * @member {Date} [agentExpiryDate] Agent expiry date.
- */
- agentExpiryDate?: Date;
- /**
- * @member {VersionDetails} [agentVersionDetails] The agent version details.
- */
- agentVersionDetails?: VersionDetails;
+ * Defines values for SetMultiVmSyncStatus. \
+ * {@link KnownSetMultiVmSyncStatus} can be used interchangeably with SetMultiVmSyncStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Enable** \
+ * **Disable**
+ */
+export type SetMultiVmSyncStatus = string;
+
+/** Known values of {@link RecoveryPointSyncType} that the service accepts. */
+export enum KnownRecoveryPointSyncType {
+ MultiVmSyncRecoveryPoint = "MultiVmSyncRecoveryPoint",
+ PerVmRecoveryPoint = "PerVmRecoveryPoint"
}
/**
- * @interface
- * An interface representing VMwareV2FabricCreationInput.
- * Fabric provider specific settings.
- *
+ * Defines values for RecoveryPointSyncType. \
+ * {@link KnownRecoveryPointSyncType} can be used interchangeably with RecoveryPointSyncType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **MultiVmSyncRecoveryPoint** \
+ * **PerVmRecoveryPoint**
*/
-export interface VMwareV2FabricCreationInput {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMwareV2";
- /**
- * @member {string} [keyVaultUrl] The Key Vault URL.
- */
- keyVaultUrl?: string;
- /**
- * @member {string} [keyVaultResourceArmId] The Key Vault ARM Id.
- */
- keyVaultResourceArmId?: string;
+export type RecoveryPointSyncType = string;
+
+/** Known values of {@link MultiVmGroupCreateOption} that the service accepts. */
+export enum KnownMultiVmGroupCreateOption {
+ AutoCreated = "AutoCreated",
+ UserSpecified = "UserSpecified"
}
/**
- * @interface
- * An interface representing VMwareV2FabricSpecificDetails.
- * VMwareV2 fabric Specific Details.
- *
+ * Defines values for MultiVmGroupCreateOption. \
+ * {@link KnownMultiVmGroupCreateOption} can be used interchangeably with MultiVmGroupCreateOption,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **AutoCreated** \
+ * **UserSpecified**
*/
-export interface VMwareV2FabricSpecificDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMwareV2";
- /**
- * @member {string} [srsServiceEndpoint] The endpoint for making requests to
- * the SRS Service.
- */
- srsServiceEndpoint?: string;
- /**
- * @member {string} [rcmServiceEndpoint] The endpoint for making requests to
- * the RCM Service.
- */
- rcmServiceEndpoint?: string;
- /**
- * @member {string} [keyVaultUrl] The Key Vault URL.
- */
- keyVaultUrl?: string;
- /**
- * @member {string} [keyVaultResourceArmId] The Key Vault ARM Id.
- */
- keyVaultResourceArmId?: string;
+export type MultiVmGroupCreateOption = string;
+
+/** Known values of {@link VmEncryptionType} that the service accepts. */
+export enum KnownVmEncryptionType {
+ NotEncrypted = "NotEncrypted",
+ OnePassEncrypted = "OnePassEncrypted",
+ TwoPassEncrypted = "TwoPassEncrypted"
}
/**
- * @interface
- * An interface representing VMwareVirtualMachineDetails.
- * VMware provider specific settings
- *
+ * Defines values for VmEncryptionType. \
+ * {@link KnownVmEncryptionType} can be used interchangeably with VmEncryptionType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NotEncrypted** \
+ * **OnePassEncrypted** \
+ * **TwoPassEncrypted**
*/
-export interface VMwareVirtualMachineDetails {
- /**
- * @member {string} instanceType Polymorphic Discriminator
- */
- instanceType: "VMwareVirtualMachine";
- /**
- * @member {string} [agentGeneratedId] The ID generated by the InMage agent
- * after it gets installed on guest. This is the ID to be used during InMage
- * CreateProtection.
- */
- agentGeneratedId?: string;
- /**
- * @member {string} [agentInstalled] The value indicating if InMage scout
- * agent is installed on guest.
- */
- agentInstalled?: string;
- /**
- * @member {string} [osType] The OsType installed on VM.
- */
- osType?: string;
- /**
- * @member {string} [agentVersion] The agent version.
- */
- agentVersion?: string;
- /**
- * @member {string} [ipAddress] The IP address.
- */
- ipAddress?: string;
- /**
- * @member {string} [poweredOn] The value indicating whether VM is powered
- * on.
- */
- poweredOn?: string;
- /**
- * @member {string} [vCenterInfrastructureId] The VCenter infrastructure Id.
- */
- vCenterInfrastructureId?: string;
- /**
- * @member {string} [discoveryType] A value inidicating the discovery type of
- * the machine. Value can be vCenter or physical.
- */
- discoveryType?: string;
- /**
- * @member {InMageDiskDetails[]} [diskDetails] The disk details.
- */
- diskDetails?: InMageDiskDetails[];
- /**
- * @member {HealthError[]} [validationErrors] The validation errors.
- */
- validationErrors?: HealthError[];
+export type VmEncryptionType = string;
+
+/** Known values of {@link DiskAccountType} that the service accepts. */
+export enum KnownDiskAccountType {
+ StandardLRS = "Standard_LRS",
+ PremiumLRS = "Premium_LRS",
+ StandardSSDLRS = "StandardSSD_LRS"
}
/**
- * @interface
- * An interface representing ReplicationEventsListOptionalParams.
- * Optional Parameters.
- *
- * @extends RequestOptionsBase
+ * Defines values for DiskAccountType. \
+ * {@link KnownDiskAccountType} can be used interchangeably with DiskAccountType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Standard_LRS** \
+ * **Premium_LRS** \
+ * **StandardSSD_LRS**
*/
-export interface ReplicationEventsListOptionalParams extends msRest.RequestOptionsBase {
- /**
- * @member {string} [filter] OData filter options.
- */
- filter?: string;
+export type DiskAccountType = string;
+
+/** Known values of {@link SqlServerLicenseType} that the service accepts. */
+export enum KnownSqlServerLicenseType {
+ NotSpecified = "NotSpecified",
+ NoLicenseType = "NoLicenseType",
+ Payg = "PAYG",
+ Ahub = "AHUB"
}
/**
- * @interface
- * An interface representing ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams.
- * Optional Parameters.
- *
- * @extends RequestOptionsBase
+ * Defines values for SqlServerLicenseType. \
+ * {@link KnownSqlServerLicenseType} can be used interchangeably with SqlServerLicenseType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **NotSpecified** \
+ * **NoLicenseType** \
+ * **PAYG** \
+ * **AHUB**
*/
-export interface ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams extends msRest.RequestOptionsBase {
- /**
- * @member {string} [filter] OData filter options.
- */
- filter?: string;
+export type SqlServerLicenseType = string;
+
+/** Known values of {@link PresenceStatus} that the service accepts. */
+export enum KnownPresenceStatus {
+ Unknown = "Unknown",
+ Present = "Present",
+ NotPresent = "NotPresent"
}
/**
- * @interface
- * An interface representing ReplicationProtectedItemsListOptionalParams.
- * Optional Parameters.
- *
- * @extends RequestOptionsBase
+ * Defines values for PresenceStatus. \
+ * {@link KnownPresenceStatus} can be used interchangeably with PresenceStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Unknown** \
+ * **Present** \
+ * **NotPresent**
*/
-export interface ReplicationProtectedItemsListOptionalParams extends msRest.RequestOptionsBase {
- /**
- * @member {string} [skipToken] The pagination token. Possible values:
- * "FabricId" or "FabricId_CloudId" or null
- */
- skipToken?: string;
- /**
- * @member {string} [filter] OData filter options.
- */
- filter?: string;
+export type PresenceStatus = string;
+
+/** Known values of {@link RcmComponentStatus} that the service accepts. */
+export enum KnownRcmComponentStatus {
+ Healthy = "Healthy",
+ Warning = "Warning",
+ Critical = "Critical",
+ Unknown = "Unknown"
+}
+
+/**
+ * Defines values for RcmComponentStatus. \
+ * {@link KnownRcmComponentStatus} can be used interchangeably with RcmComponentStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Healthy** \
+ * **Warning** \
+ * **Critical** \
+ * **Unknown**
+ */
+export type RcmComponentStatus = string;
+
+/** Known values of {@link AgentUpgradeBlockedReason} that the service accepts. */
+export enum KnownAgentUpgradeBlockedReason {
+ AlreadyOnLatestVersion = "AlreadyOnLatestVersion",
+ RebootRequired = "RebootRequired",
+ AgentNoHeartbeat = "AgentNoHeartbeat",
+ RcmProxyNoHeartbeat = "RcmProxyNoHeartbeat",
+ ProcessServerNoHeartbeat = "ProcessServerNoHeartbeat",
+ IncompatibleApplianceVersion = "IncompatibleApplianceVersion",
+ NotProtected = "NotProtected",
+ UnsupportedProtectionScenario = "UnsupportedProtectionScenario",
+ DistroIsNotReported = "DistroIsNotReported",
+ DistroNotSupportedForUpgrade = "DistroNotSupportedForUpgrade",
+ MissingUpgradePath = "MissingUpgradePath",
+ InvalidAgentVersion = "InvalidAgentVersion",
+ InvalidDriverVersion = "InvalidDriverVersion",
+ Unknown = "Unknown"
+}
+
+/**
+ * Defines values for AgentUpgradeBlockedReason. \
+ * {@link KnownAgentUpgradeBlockedReason} can be used interchangeably with AgentUpgradeBlockedReason,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **AlreadyOnLatestVersion** \
+ * **RebootRequired** \
+ * **AgentNoHeartbeat** \
+ * **RcmProxyNoHeartbeat** \
+ * **ProcessServerNoHeartbeat** \
+ * **IncompatibleApplianceVersion** \
+ * **NotProtected** \
+ * **UnsupportedProtectionScenario** \
+ * **DistroIsNotReported** \
+ * **DistroNotSupportedForUpgrade** \
+ * **MissingUpgradePath** \
+ * **InvalidAgentVersion** \
+ * **InvalidDriverVersion** \
+ * **Unknown**
+ */
+export type AgentUpgradeBlockedReason = string;
+
+/** Known values of {@link InMageRcmFailbackRecoveryPointType} that the service accepts. */
+export enum KnownInMageRcmFailbackRecoveryPointType {
+ ApplicationConsistent = "ApplicationConsistent",
+ CrashConsistent = "CrashConsistent"
+}
+
+/**
+ * Defines values for InMageRcmFailbackRecoveryPointType. \
+ * {@link KnownInMageRcmFailbackRecoveryPointType} can be used interchangeably with InMageRcmFailbackRecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **ApplicationConsistent** \
+ * **CrashConsistent**
+ */
+export type InMageRcmFailbackRecoveryPointType = string;
+
+/** Known values of {@link DiskReplicationProgressHealth} that the service accepts. */
+export enum KnownDiskReplicationProgressHealth {
+ None = "None",
+ InProgress = "InProgress",
+ SlowProgress = "SlowProgress",
+ NoProgress = "NoProgress",
+ Queued = "Queued"
+}
+
+/**
+ * Defines values for DiskReplicationProgressHealth. \
+ * {@link KnownDiskReplicationProgressHealth} can be used interchangeably with DiskReplicationProgressHealth,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **InProgress** \
+ * **SlowProgress** \
+ * **NoProgress** \
+ * **Queued**
+ */
+export type DiskReplicationProgressHealth = string;
+
+/** Known values of {@link VmReplicationProgressHealth} that the service accepts. */
+export enum KnownVmReplicationProgressHealth {
+ None = "None",
+ InProgress = "InProgress",
+ SlowProgress = "SlowProgress",
+ NoProgress = "NoProgress"
+}
+
+/**
+ * Defines values for VmReplicationProgressHealth. \
+ * {@link KnownVmReplicationProgressHealth} can be used interchangeably with VmReplicationProgressHealth,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **InProgress** \
+ * **SlowProgress** \
+ * **NoProgress**
+ */
+export type VmReplicationProgressHealth = string;
+
+/** Known values of {@link ResyncState} that the service accepts. */
+export enum KnownResyncState {
+ None = "None",
+ PreparedForResynchronization = "PreparedForResynchronization",
+ StartedResynchronization = "StartedResynchronization"
+}
+
+/**
+ * Defines values for ResyncState. \
+ * {@link KnownResyncState} can be used interchangeably with ResyncState,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **PreparedForResynchronization** \
+ * **StartedResynchronization**
+ */
+export type ResyncState = string;
+
+/** Known values of {@link PlannedFailoverStatus} that the service accepts. */
+export enum KnownPlannedFailoverStatus {
+ Succeeded = "Succeeded",
+ Failed = "Failed",
+ Cancelled = "Cancelled",
+ Unknown = "Unknown"
}
/**
- * @interface
- * An interface representing ReplicationJobsListOptionalParams.
- * Optional Parameters.
- *
- * @extends RequestOptionsBase
+ * Defines values for PlannedFailoverStatus. \
+ * {@link KnownPlannedFailoverStatus} can be used interchangeably with PlannedFailoverStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Succeeded** \
+ * **Failed** \
+ * **Cancelled** \
+ * **Unknown**
*/
-export interface ReplicationJobsListOptionalParams extends msRest.RequestOptionsBase {
- /**
- * @member {string} [filter] OData filter options.
- */
- filter?: string;
+export type PlannedFailoverStatus = string;
+
+/** Known values of {@link EthernetAddressType} that the service accepts. */
+export enum KnownEthernetAddressType {
+ Dynamic = "Dynamic",
+ Static = "Static"
}
/**
- * @interface
- * An interface representing SiteRecoveryManagementClientOptions.
- * @extends AzureServiceClientOptions
+ * Defines values for EthernetAddressType. \
+ * {@link KnownEthernetAddressType} can be used interchangeably with EthernetAddressType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Dynamic** \
+ * **Static**
*/
-export interface SiteRecoveryManagementClientOptions extends AzureServiceClientOptions {
- /**
- * @member {string} [baseUri]
- */
- baseUri?: string;
+export type EthernetAddressType = string;
+
+/** Known values of {@link MobilityAgentUpgradeState} that the service accepts. */
+export enum KnownMobilityAgentUpgradeState {
+ None = "None",
+ Started = "Started",
+ Completed = "Completed",
+ Commit = "Commit"
}
+/**
+ * Defines values for MobilityAgentUpgradeState. \
+ * {@link KnownMobilityAgentUpgradeState} can be used interchangeably with MobilityAgentUpgradeState,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **None** \
+ * **Started** \
+ * **Completed** \
+ * **Commit**
+ */
+export type MobilityAgentUpgradeState = string;
+
+/** Known values of {@link RecoveryPointType} that the service accepts. */
+export enum KnownRecoveryPointType {
+ LatestTime = "LatestTime",
+ LatestTag = "LatestTag",
+ Custom = "Custom"
+}
/**
- * @interface
- * An interface representing the OperationsDiscoveryCollection.
- * Collection of ClientDiscovery details.
- *
- * @extends Array
+ * Defines values for RecoveryPointType. \
+ * {@link KnownRecoveryPointType} can be used interchangeably with RecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **LatestTime** \
+ * **LatestTag** \
+ * **Custom**
*/
-export interface OperationsDiscoveryCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type RecoveryPointType = string;
+
+/** Known values of {@link A2ARpRecoveryPointType} that the service accepts. */
+export enum KnownA2ARpRecoveryPointType {
+ Latest = "Latest",
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ LatestCrashConsistent = "LatestCrashConsistent",
+ LatestProcessed = "LatestProcessed"
}
/**
- * @interface
- * An interface representing the AlertCollection.
- * Collection of alerts.
- *
- * @extends Array
+ * Defines values for A2ARpRecoveryPointType. \
+ * {@link KnownA2ARpRecoveryPointType} can be used interchangeably with A2ARpRecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Latest** \
+ * **LatestApplicationConsistent** \
+ * **LatestCrashConsistent** \
+ * **LatestProcessed**
*/
-export interface AlertCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type A2ARpRecoveryPointType = string;
+
+/** Known values of {@link MultiVmSyncPointOption} that the service accepts. */
+export enum KnownMultiVmSyncPointOption {
+ UseMultiVmSyncRecoveryPoint = "UseMultiVmSyncRecoveryPoint",
+ UsePerVmRecoveryPoint = "UsePerVmRecoveryPoint"
}
/**
- * @interface
- * An interface representing the EventCollection.
- * Collection of fabric details.
- *
- * @extends Array
+ * Defines values for MultiVmSyncPointOption. \
+ * {@link KnownMultiVmSyncPointOption} can be used interchangeably with MultiVmSyncPointOption,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **UseMultiVmSyncRecoveryPoint** \
+ * **UsePerVmRecoveryPoint**
*/
-export interface EventCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type MultiVmSyncPointOption = string;
+
+/** Known values of {@link RecoveryPlanActionLocation} that the service accepts. */
+export enum KnownRecoveryPlanActionLocation {
+ Primary = "Primary",
+ Recovery = "Recovery"
}
/**
- * @interface
- * An interface representing the FabricCollection.
- * Collection of fabric details.
- *
- * @extends Array
+ * Defines values for RecoveryPlanActionLocation. \
+ * {@link KnownRecoveryPlanActionLocation} can be used interchangeably with RecoveryPlanActionLocation,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Primary** \
+ * **Recovery**
*/
-export interface FabricCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type RecoveryPlanActionLocation = string;
+
+/** Known values of {@link DataSyncStatus} that the service accepts. */
+export enum KnownDataSyncStatus {
+ ForDownTime = "ForDownTime",
+ ForSynchronization = "ForSynchronization"
}
/**
- * @interface
- * An interface representing the LogicalNetworkCollection.
- * List of logical networks.
- *
- * @extends Array
+ * Defines values for DataSyncStatus. \
+ * {@link KnownDataSyncStatus} can be used interchangeably with DataSyncStatus,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **ForDownTime** \
+ * **ForSynchronization**
*/
-export interface LogicalNetworkCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type DataSyncStatus = string;
+
+/** Known values of {@link AlternateLocationRecoveryOption} that the service accepts. */
+export enum KnownAlternateLocationRecoveryOption {
+ CreateVmIfNotFound = "CreateVmIfNotFound",
+ NoAction = "NoAction"
}
/**
- * @interface
- * An interface representing the NetworkCollection.
- * List of networks.
- *
- * @extends Array
+ * Defines values for AlternateLocationRecoveryOption. \
+ * {@link KnownAlternateLocationRecoveryOption} can be used interchangeably with AlternateLocationRecoveryOption,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **CreateVmIfNotFound** \
+ * **NoAction**
*/
-export interface NetworkCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type AlternateLocationRecoveryOption = string;
+
+/** Known values of {@link HyperVReplicaAzureRpRecoveryPointType} that the service accepts. */
+export enum KnownHyperVReplicaAzureRpRecoveryPointType {
+ Latest = "Latest",
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ LatestProcessed = "LatestProcessed"
}
/**
- * @interface
- * An interface representing the NetworkMappingCollection.
- * List of network mappings. As with NetworkMapping, it should be possible to
- * reuse a prev version of this class. It doesn't seem likely this class could
- * be anything more than a slightly bespoke collection of NetworkMapping. Hence
- * it makes sense to override Load with Base.NetworkMapping instead of existing
- * CurrentVersion.NetworkMapping.
- *
- * @extends Array
+ * Defines values for HyperVReplicaAzureRpRecoveryPointType. \
+ * {@link KnownHyperVReplicaAzureRpRecoveryPointType} can be used interchangeably with HyperVReplicaAzureRpRecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Latest** \
+ * **LatestApplicationConsistent** \
+ * **LatestProcessed**
*/
-export interface NetworkMappingCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type HyperVReplicaAzureRpRecoveryPointType = string;
+
+/** Known values of {@link InMageV2RpRecoveryPointType} that the service accepts. */
+export enum KnownInMageV2RpRecoveryPointType {
+ Latest = "Latest",
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ LatestCrashConsistent = "LatestCrashConsistent",
+ LatestProcessed = "LatestProcessed"
}
/**
- * @interface
- * An interface representing the ProtectionContainerCollection.
- * Protection Container collection.
- *
- * @extends Array
+ * Defines values for InMageV2RpRecoveryPointType. \
+ * {@link KnownInMageV2RpRecoveryPointType} can be used interchangeably with InMageV2RpRecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Latest** \
+ * **LatestApplicationConsistent** \
+ * **LatestCrashConsistent** \
+ * **LatestProcessed**
*/
-export interface ProtectionContainerCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+export type InMageV2RpRecoveryPointType = string;
+
+/** Known values of {@link RpInMageRecoveryPointType} that the service accepts. */
+export enum KnownRpInMageRecoveryPointType {
+ LatestTime = "LatestTime",
+ LatestTag = "LatestTag",
+ Custom = "Custom"
+}
+
+/**
+ * Defines values for RpInMageRecoveryPointType. \
+ * {@link KnownRpInMageRecoveryPointType} can be used interchangeably with RpInMageRecoveryPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **LatestTime** \
+ * **LatestTag** \
+ * **Custom**
+ */
+export type RpInMageRecoveryPointType = string;
+
+/** Known values of {@link RecoveryPlanPointType} that the service accepts. */
+export enum KnownRecoveryPlanPointType {
+ Latest = "Latest",
+ LatestApplicationConsistent = "LatestApplicationConsistent",
+ LatestCrashConsistent = "LatestCrashConsistent",
+ LatestProcessed = "LatestProcessed"
+}
+
+/**
+ * Defines values for RecoveryPlanPointType. \
+ * {@link KnownRecoveryPlanPointType} can be used interchangeably with RecoveryPlanPointType,
+ * this enum contains the known values that the service supports.
+ * ### Known values supported by the service
+ * **Latest** \
+ * **LatestApplicationConsistent** \
+ * **LatestCrashConsistent** \
+ * **LatestProcessed**
+ */
+export type RecoveryPlanPointType = string;
+
+/** Optional parameters. */
+export interface OperationsListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type OperationsListResponse = OperationsDiscoveryCollection;
+
+/** Optional parameters. */
+export interface OperationsListNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listNext operation. */
+export type OperationsListNextResponse = OperationsDiscoveryCollection;
+
+/** Optional parameters. */
+export interface ReplicationAlertSettingsListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type ReplicationAlertSettingsListResponse = AlertCollection;
+
+/** Optional parameters. */
+export interface ReplicationAlertSettingsGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationAlertSettingsGetResponse = Alert;
+
+/** Optional parameters. */
+export interface ReplicationAlertSettingsCreateOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the create operation. */
+export type ReplicationAlertSettingsCreateResponse = Alert;
+
+/** Optional parameters. */
+export interface ReplicationAlertSettingsListNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationAlertSettingsListNextResponse = AlertCollection;
+
+/** Optional parameters. */
+export interface ReplicationAppliancesListOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+}
+
+/** Contains response data for the list operation. */
+export type ReplicationAppliancesListResponse = ApplianceCollection;
+
+/** Optional parameters. */
+export interface ReplicationAppliancesListNextOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationAppliancesListNextResponse = ApplianceCollection;
+
+/** Optional parameters. */
+export interface ReplicationEligibilityResultsListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type ReplicationEligibilityResultsListResponse = ReplicationEligibilityResultsCollection;
+
+/** Optional parameters. */
+export interface ReplicationEligibilityResultsGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationEligibilityResultsGetResponse = ReplicationEligibilityResults;
+
+/** Optional parameters. */
+export interface ReplicationEventsListOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+}
+
+/** Contains response data for the list operation. */
+export type ReplicationEventsListResponse = EventCollection;
+
+/** Optional parameters. */
+export interface ReplicationEventsGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationEventsGetResponse = Event;
+
+/** Optional parameters. */
+export interface ReplicationEventsListNextOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationEventsListNextResponse = EventCollection;
+
+/** Optional parameters. */
+export interface ReplicationFabricsListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type ReplicationFabricsListResponse = FabricCollection;
+
+/** Optional parameters. */
+export interface ReplicationFabricsGetOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+}
+
+/** Contains response data for the get operation. */
+export type ReplicationFabricsGetResponse = Fabric;
+
+/** Optional parameters. */
+export interface ReplicationFabricsCreateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the create operation. */
+export type ReplicationFabricsCreateResponse = Fabric;
+
+/** Optional parameters. */
+export interface ReplicationFabricsPurgeOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Optional parameters. */
+export interface ReplicationFabricsCheckConsistencyOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the checkConsistency operation. */
+export type ReplicationFabricsCheckConsistencyResponse = Fabric;
+
+/** Optional parameters. */
+export interface ReplicationFabricsMigrateToAadOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the ProtectableItemCollection.
- * Protectable item collection.
- *
- * @extends Array
- */
-export interface ProtectableItemCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Optional parameters. */
+export interface ReplicationFabricsReassociateGatewayOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the reassociateGateway operation. */
+export type ReplicationFabricsReassociateGatewayResponse = Fabric;
+
+/** Optional parameters. */
+export interface ReplicationFabricsDeleteOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Optional parameters. */
+export interface ReplicationFabricsRenewCertificateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the renewCertificate operation. */
+export type ReplicationFabricsRenewCertificateResponse = Fabric;
+
+/** Optional parameters. */
+export interface ReplicationFabricsListNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationFabricsListNextResponse = FabricCollection;
+
+/** Optional parameters. */
+export interface ReplicationLogicalNetworksListByReplicationFabricsOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationFabrics operation. */
+export type ReplicationLogicalNetworksListByReplicationFabricsResponse = LogicalNetworkCollection;
+
+/** Optional parameters. */
+export interface ReplicationLogicalNetworksGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationLogicalNetworksGetResponse = LogicalNetwork;
+
+/** Optional parameters. */
+export interface ReplicationLogicalNetworksListByReplicationFabricsNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationFabricsNext operation. */
+export type ReplicationLogicalNetworksListByReplicationFabricsNextResponse = LogicalNetworkCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworksListByReplicationFabricsOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationFabrics operation. */
+export type ReplicationNetworksListByReplicationFabricsResponse = NetworkCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworksGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationNetworksGetResponse = Network;
+
+/** Optional parameters. */
+export interface ReplicationNetworksListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type ReplicationNetworksListResponse = NetworkCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworksListByReplicationFabricsNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationFabricsNext operation. */
+export type ReplicationNetworksListByReplicationFabricsNextResponse = NetworkCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworksListNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationNetworksListNextResponse = NetworkCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsListByReplicationNetworksOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationNetworks operation. */
+export type ReplicationNetworkMappingsListByReplicationNetworksResponse = NetworkMappingCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationNetworkMappingsGetResponse = NetworkMapping;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsCreateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the create operation. */
+export type ReplicationNetworkMappingsCreateResponse = NetworkMapping;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsDeleteOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsUpdateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the update operation. */
+export type ReplicationNetworkMappingsUpdateResponse = NetworkMapping;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type ReplicationNetworkMappingsListResponse = NetworkMappingCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsListByReplicationNetworksNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationNetworksNext operation. */
+export type ReplicationNetworkMappingsListByReplicationNetworksNextResponse = NetworkMappingCollection;
+
+/** Optional parameters. */
+export interface ReplicationNetworkMappingsListNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationNetworkMappingsListNextResponse = NetworkMappingCollection;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersListByReplicationFabricsOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationFabrics operation. */
+export type ReplicationProtectionContainersListByReplicationFabricsResponse = ProtectionContainerCollection;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationProtectionContainersGetResponse = ProtectionContainer;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersCreateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the create operation. */
+export type ReplicationProtectionContainersCreateResponse = ProtectionContainer;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersDiscoverProtectableItemOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the discoverProtectableItem operation. */
+export type ReplicationProtectionContainersDiscoverProtectableItemResponse = ProtectionContainer;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersDeleteOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersSwitchProtectionOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
+}
+
+/** Contains response data for the switchProtection operation. */
+export type ReplicationProtectionContainersSwitchProtectionResponse = ProtectionContainer;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersListOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the list operation. */
+export type ReplicationProtectionContainersListResponse = ProtectionContainerCollection;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersListByReplicationFabricsNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listByReplicationFabricsNext operation. */
+export type ReplicationProtectionContainersListByReplicationFabricsNextResponse = ProtectionContainerCollection;
+
+/** Optional parameters. */
+export interface ReplicationProtectionContainersListNextOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the listNext operation. */
+export type ReplicationProtectionContainersListNextResponse = ProtectionContainerCollection;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+ /** The pagination token. */
+ skipToken?: string;
+ /** The page size. */
+ takeToken?: string;
}
-/**
- * @interface
- * An interface representing the ReplicationProtectedItemCollection.
- * Replication protected item collection.
- *
- * @extends Array
- */
-export interface ReplicationProtectedItemCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the listByReplicationProtectionContainers operation. */
+export type ReplicationMigrationItemsListByReplicationProtectionContainersResponse = MigrationItemCollection;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsGetOptionalParams
+ extends coreClient.OperationOptions {}
+
+/** Contains response data for the get operation. */
+export type ReplicationMigrationItemsGetResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsCreateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the RecoveryPointCollection.
- * Collection of recovery point details.
- *
- * @extends Array
- */
-export interface RecoveryPointCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the create operation. */
+export type ReplicationMigrationItemsCreateResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsDeleteOptionalParams
+ extends coreClient.OperationOptions {
+ /** The delete option. */
+ deleteOption?: string;
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the TargetComputeSizeCollection.
- * Target compute size collection.
- *
- * @extends Array
- */
-export interface TargetComputeSizeCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Optional parameters. */
+export interface ReplicationMigrationItemsUpdateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the ProtectionContainerMappingCollection.
- * Protection container mapping collection class.
- *
- * @extends Array
- */
-export interface ProtectionContainerMappingCollection extends Array {
- /**
- * @member {string} [nextLink] Link to fetch rest of the data.
- */
- nextLink?: string;
+/** Contains response data for the update operation. */
+export type ReplicationMigrationItemsUpdateResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsMigrateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the RecoveryServicesProviderCollection.
- * Collection of providers.
- *
- * @extends Array
- */
-export interface RecoveryServicesProviderCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the migrate operation. */
+export type ReplicationMigrationItemsMigrateResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsResyncOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the StorageClassificationCollection.
- * Collection of storage details.
- *
- * @extends Array
- */
-export interface StorageClassificationCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the resync operation. */
+export type ReplicationMigrationItemsResyncResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsTestMigrateOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the StorageClassificationMappingCollection.
- * Collection of storage mapping details.
- *
- * @extends Array
- */
-export interface StorageClassificationMappingCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the testMigrate operation. */
+export type ReplicationMigrationItemsTestMigrateResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsTestMigrateCleanupOptionalParams
+ extends coreClient.OperationOptions {
+ /** Delay to wait until next poll, in milliseconds. */
+ updateIntervalInMs?: number;
+ /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
+ resumeFrom?: string;
}
-/**
- * @interface
- * An interface representing the VCenterCollection.
- * Collection of vCenter details.
- *
- * @extends Array
- */
-export interface VCenterCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the testMigrateCleanup operation. */
+export type ReplicationMigrationItemsTestMigrateCleanupResponse = MigrationItem;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsListOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+ /** The pagination token. */
+ skipToken?: string;
+ /** The page size. */
+ takeToken?: string;
}
-/**
- * @interface
- * An interface representing the JobCollection.
- * Collection of jobs.
- *
- * @extends Array
- */
-export interface JobCollection extends Array {
- /**
- * @member {string} [nextLink] The value of next link.
- */
- nextLink?: string;
+/** Contains response data for the list operation. */
+export type ReplicationMigrationItemsListResponse = MigrationItemCollection;
+
+/** Optional parameters. */
+export interface ReplicationMigrationItemsListByReplicationProtectionContainersNextOptionalParams
+ extends coreClient.OperationOptions {
+ /** OData filter options. */
+ filter?: string;
+ /** The pagination token. */
+ skipToken?: string;
+ /** The page size. */
+ takeToken?: string;
}
-/**
- * @interface
- * An interface representing the PolicyCollection.
- * Protection Profile Collection details.
- *
- * @extends Array
- */
-export interface PolicyCollection extends Array