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 { - /** - * @member {string} [nextLink] The value of next link. - */ - nextLink?: string; +/** Contains response data for the listByReplicationProtectionContainersNext operation. */ +export type ReplicationMigrationItemsListByReplicationProtectionContainersNextResponse = MigrationItemCollection; + +/** Optional parameters. */ +export interface ReplicationMigrationItemsListNextOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; + /** The pagination token. */ + skipToken?: string; + /** The page size. */ + takeToken?: string; } -/** - * @interface - * An interface representing the RecoveryPlanCollection. - * Recovery plan collection details. - * - * @extends Array - */ -export interface RecoveryPlanCollection extends Array { - /** - * @member {string} [nextLink] The value of next link. - */ - nextLink?: string; +/** Contains response data for the listNext operation. */ +export type ReplicationMigrationItemsListNextResponse = MigrationItemCollection; + +/** Optional parameters. */ +export interface MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByReplicationMigrationItems operation. */ +export type MigrationRecoveryPointsListByReplicationMigrationItemsResponse = MigrationRecoveryPointCollection; + +/** Optional parameters. */ +export interface MigrationRecoveryPointsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type MigrationRecoveryPointsGetResponse = MigrationRecoveryPoint; + +/** Optional parameters. */ +export interface MigrationRecoveryPointsListByReplicationMigrationItemsNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByReplicationMigrationItemsNext operation. */ +export type MigrationRecoveryPointsListByReplicationMigrationItemsNextResponse = MigrationRecoveryPointCollection; + +/** Optional parameters. */ +export interface ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; + /** take OData query parameter. */ + take?: string; + /** skipToken OData query parameter. */ + skipToken?: string; } -/** - * Defines values for AgentAutoUpdateStatus. - * Possible values include: 'Disabled', 'Enabled' - * @readonly - * @enum {string} - */ -export type AgentAutoUpdateStatus = 'Disabled' | 'Enabled'; +/** Contains response data for the listByReplicationProtectionContainers operation. */ +export type ReplicationProtectableItemsListByReplicationProtectionContainersResponse = ProtectableItemCollection; -/** - * Defines values for SetMultiVmSyncStatus. - * Possible values include: 'Enable', 'Disable' - * @readonly - * @enum {string} - */ -export type SetMultiVmSyncStatus = 'Enable' | 'Disable'; +/** Optional parameters. */ +export interface ReplicationProtectableItemsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for RecoveryPointSyncType. - * Possible values include: 'MultiVmSyncRecoveryPoint', 'PerVmRecoveryPoint' - * @readonly - * @enum {string} - */ -export type RecoveryPointSyncType = 'MultiVmSyncRecoveryPoint' | 'PerVmRecoveryPoint'; +/** Contains response data for the get operation. */ +export type ReplicationProtectableItemsGetResponse = ProtectableItem; -/** - * Defines values for MultiVmGroupCreateOption. - * Possible values include: 'AutoCreated', 'UserSpecified' - * @readonly - * @enum {string} - */ -export type MultiVmGroupCreateOption = 'AutoCreated' | 'UserSpecified'; +/** Optional parameters. */ +export interface ReplicationProtectableItemsListByReplicationProtectionContainersNextOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; + /** take OData query parameter. */ + take?: string; + /** skipToken OData query parameter. */ + skipToken?: string; +} -/** - * Defines values for FailoverDeploymentModel. - * Possible values include: 'NotApplicable', 'Classic', 'ResourceManager' - * @readonly - * @enum {string} - */ -export type FailoverDeploymentModel = 'NotApplicable' | 'Classic' | 'ResourceManager'; +/** Contains response data for the listByReplicationProtectionContainersNext operation. */ +export type ReplicationProtectableItemsListByReplicationProtectionContainersNextResponse = ProtectableItemCollection; -/** - * Defines values for RecoveryPlanGroupType. - * Possible values include: 'Shutdown', 'Boot', 'Failover' - * @readonly - * @enum {string} - */ -export type RecoveryPlanGroupType = 'Shutdown' | 'Boot' | 'Failover'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for ReplicationProtectedItemOperation. - * Possible values include: 'ReverseReplicate', 'Commit', 'PlannedFailover', 'UnplannedFailover', - * 'DisableProtection', 'TestFailover', 'TestFailoverCleanup', 'Failback', 'FinalizeFailback', - * 'ChangePit', 'RepairReplication', 'SwitchProtection', 'CompleteMigration' - * @readonly - * @enum {string} - */ -export type ReplicationProtectedItemOperation = 'ReverseReplicate' | 'Commit' | 'PlannedFailover' | 'UnplannedFailover' | 'DisableProtection' | 'TestFailover' | 'TestFailoverCleanup' | 'Failback' | 'FinalizeFailback' | 'ChangePit' | 'RepairReplication' | 'SwitchProtection' | 'CompleteMigration'; +/** Contains response data for the listByReplicationProtectionContainers operation. */ +export type ReplicationProtectedItemsListByReplicationProtectionContainersResponse = ReplicationProtectedItemCollection; -/** - * Defines values for PossibleOperationsDirections. - * Possible values include: 'PrimaryToRecovery', 'RecoveryToPrimary' - * @readonly - * @enum {string} - */ -export type PossibleOperationsDirections = 'PrimaryToRecovery' | 'RecoveryToPrimary'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for DisableProtectionReason. - * Possible values include: 'NotSpecified', 'MigrationComplete' - * @readonly - * @enum {string} - */ -export type DisableProtectionReason = 'NotSpecified' | 'MigrationComplete'; +/** Contains response data for the get operation. */ +export type ReplicationProtectedItemsGetResponse = ReplicationProtectedItem; -/** - * Defines values for HealthErrorCategory. - * Possible values include: 'None', 'Replication', 'TestFailover', 'Configuration', - * 'FabricInfrastructure', 'VersionExpiry', 'AgentAutoUpdate' - * @readonly - * @enum {string} - */ -export type HealthErrorCategory = 'None' | 'Replication' | 'TestFailover' | 'Configuration' | 'FabricInfrastructure' | 'VersionExpiry' | 'AgentAutoUpdate'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsCreateOptionalParams + 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; +} -/** - * Defines values for Severity. - * Possible values include: 'NONE', 'Warning', 'Error', 'Info' - * @readonly - * @enum {string} - */ -export type Severity = 'NONE' | 'Warning' | 'Error' | 'Info'; +/** Contains response data for the create operation. */ +export type ReplicationProtectedItemsCreateResponse = ReplicationProtectedItem; -/** - * Defines values for PresenceStatus. - * Possible values include: 'Unknown', 'Present', 'NotPresent' - * @readonly - * @enum {string} - */ -export type PresenceStatus = 'Unknown' | 'Present' | 'NotPresent'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsPurgeOptionalParams + 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; +} -/** - * Defines values for IdentityProviderType. - * Possible values include: 'RecoveryServicesActiveDirectory' - * @readonly - * @enum {string} - */ -export type IdentityProviderType = 'RecoveryServicesActiveDirectory'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsUpdateOptionalParams + 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; +} -/** - * Defines values for AgentVersionStatus. - * Possible values include: 'Supported', 'NotSupported', 'Deprecated', 'UpdateRequired', - * 'SecurityUpdateRequired' - * @readonly - * @enum {string} - */ -export type AgentVersionStatus = 'Supported' | 'NotSupported' | 'Deprecated' | 'UpdateRequired' | 'SecurityUpdateRequired'; +/** Contains response data for the update operation. */ +export type ReplicationProtectedItemsUpdateResponse = ReplicationProtectedItem; -/** - * Defines values for RecoveryPointType. - * Possible values include: 'LatestTime', 'LatestTag', 'Custom' - * @readonly - * @enum {string} - */ -export type RecoveryPointType = 'LatestTime' | 'LatestTag' | 'Custom'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsAddDisksOptionalParams + 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; +} -/** - * Defines values for MultiVmSyncStatus. - * Possible values include: 'Enabled', 'Disabled' - * @readonly - * @enum {string} - */ -export type MultiVmSyncStatus = 'Enabled' | 'Disabled'; +/** Contains response data for the addDisks operation. */ +export type ReplicationProtectedItemsAddDisksResponse = ReplicationProtectedItem; -/** - * Defines values for A2ARpRecoveryPointType. - * Possible values include: 'Latest', 'LatestApplicationConsistent', 'LatestCrashConsistent', - * 'LatestProcessed' - * @readonly - * @enum {string} - */ -export type A2ARpRecoveryPointType = 'Latest' | 'LatestApplicationConsistent' | 'LatestCrashConsistent' | 'LatestProcessed'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsApplyRecoveryPointOptionalParams + 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; +} -/** - * Defines values for MultiVmSyncPointOption. - * Possible values include: 'UseMultiVmSyncRecoveryPoint', 'UsePerVmRecoveryPoint' - * @readonly - * @enum {string} - */ -export type MultiVmSyncPointOption = 'UseMultiVmSyncRecoveryPoint' | 'UsePerVmRecoveryPoint'; +/** Contains response data for the applyRecoveryPoint operation. */ +export type ReplicationProtectedItemsApplyRecoveryPointResponse = ReplicationProtectedItem; -/** - * Defines values for RecoveryPlanActionLocation. - * Possible values include: 'Primary', 'Recovery' - * @readonly - * @enum {string} - */ -export type RecoveryPlanActionLocation = 'Primary' | 'Recovery'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsFailoverCancelOptionalParams + 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; +} -/** - * Defines values for DataSyncStatus. - * Possible values include: 'ForDownTime', 'ForSynchronization' - * @readonly - * @enum {string} - */ -export type DataSyncStatus = 'ForDownTime' | 'ForSynchronization'; +/** Contains response data for the failoverCancel operation. */ +export type ReplicationProtectedItemsFailoverCancelResponse = ReplicationProtectedItem; -/** - * Defines values for AlternateLocationRecoveryOption. - * Possible values include: 'CreateVmIfNotFound', 'NoAction' - * @readonly - * @enum {string} - */ -export type AlternateLocationRecoveryOption = 'CreateVmIfNotFound' | 'NoAction'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsFailoverCommitOptionalParams + 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; +} -/** - * Defines values for HyperVReplicaAzureRpRecoveryPointType. - * Possible values include: 'Latest', 'LatestApplicationConsistent', 'LatestProcessed' - * @readonly - * @enum {string} - */ -export type HyperVReplicaAzureRpRecoveryPointType = 'Latest' | 'LatestApplicationConsistent' | 'LatestProcessed'; +/** Contains response data for the failoverCommit operation. */ +export type ReplicationProtectedItemsFailoverCommitResponse = ReplicationProtectedItem; -/** - * Defines values for InMageV2RpRecoveryPointType. - * Possible values include: 'Latest', 'LatestApplicationConsistent', 'LatestCrashConsistent', - * 'LatestProcessed' - * @readonly - * @enum {string} - */ -export type InMageV2RpRecoveryPointType = 'Latest' | 'LatestApplicationConsistent' | 'LatestCrashConsistent' | 'LatestProcessed'; +/** Optional parameters. */ +export interface ReplicationProtectedItemsPlannedFailoverOptionalParams + 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; +} -/** - * Defines values for RpInMageRecoveryPointType. - * Possible values include: 'LatestTime', 'LatestTag', 'Custom' - * @readonly - * @enum {string} - */ -export type RpInMageRecoveryPointType = 'LatestTime' | 'LatestTag' | 'Custom'; +/** Contains response data for the plannedFailover operation. */ +export type ReplicationProtectedItemsPlannedFailoverResponse = ReplicationProtectedItem; + +/** Optional parameters. */ +export interface ReplicationProtectedItemsDeleteOptionalParams + 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 ReplicationProtectedItemsRemoveDisksOptionalParams + 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; +} -/** - * Defines values for SourceSiteOperations. - * Possible values include: 'Required', 'NotRequired' - * @readonly - * @enum {string} - */ -export type SourceSiteOperations = 'Required' | 'NotRequired'; +/** Contains response data for the removeDisks operation. */ +export type ReplicationProtectedItemsRemoveDisksResponse = ReplicationProtectedItem; + +/** Optional parameters. */ +export interface ReplicationProtectedItemsRepairReplicationOptionalParams + 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; +} -/** - * Defines values for LicenseType. - * Possible values include: 'NotSpecified', 'NoLicenseType', 'WindowsServer' - * @readonly - * @enum {string} - */ -export type LicenseType = 'NotSpecified' | 'NoLicenseType' | 'WindowsServer'; +/** Contains response data for the repairReplication operation. */ +export type ReplicationProtectedItemsRepairReplicationResponse = ReplicationProtectedItem; -/** - * Contains response data for the list operation. - */ -export type OperationsListResponse = OperationsDiscoveryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationsDiscoveryCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsReprotectOptionalParams + 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 reprotect operation. */ +export type ReplicationProtectedItemsReprotectResponse = ReplicationProtectedItem; -/** - * Contains response data for the listNext operation. - */ -export type OperationsListNextResponse = OperationsDiscoveryCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: OperationsDiscoveryCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsResolveHealthErrorsOptionalParams + 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 resolveHealthErrors operation. */ +export type ReplicationProtectedItemsResolveHealthErrorsResponse = ReplicationProtectedItem; -/** - * Contains response data for the list operation. - */ -export type ReplicationAlertSettingsListResponse = AlertCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AlertCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsSwitchProviderOptionalParams + 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 switchProvider operation. */ +export type ReplicationProtectedItemsSwitchProviderResponse = ReplicationProtectedItem; -/** - * Contains response data for the get operation. - */ -export type ReplicationAlertSettingsGetResponse = Alert & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Alert; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsTestFailoverOptionalParams + 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 testFailover operation. */ +export type ReplicationProtectedItemsTestFailoverResponse = ReplicationProtectedItem; -/** - * Contains response data for the create operation. - */ -export type ReplicationAlertSettingsCreateResponse = Alert & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Alert; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsTestFailoverCleanupOptionalParams + 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 testFailoverCleanup operation. */ +export type ReplicationProtectedItemsTestFailoverCleanupResponse = ReplicationProtectedItem; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationAlertSettingsListNextResponse = AlertCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: AlertCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsUnplannedFailoverOptionalParams + 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 unplannedFailover operation. */ +export type ReplicationProtectedItemsUnplannedFailoverResponse = ReplicationProtectedItem; -/** - * Contains response data for the list operation. - */ -export type ReplicationEventsListResponse = EventCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: EventCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsUpdateApplianceOptionalParams + 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 get operation. - */ -export type ReplicationEventsGetResponse = Event & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Event; - }; -}; +/** Contains response data for the updateAppliance operation. */ +export type ReplicationProtectedItemsUpdateApplianceResponse = ReplicationProtectedItem; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationEventsListNextResponse = EventCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: EventCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsUpdateMobilityServiceOptionalParams + 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 list operation. - */ -export type ReplicationFabricsListResponse = FabricCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FabricCollection; - }; -}; +/** Contains response data for the updateMobilityService operation. */ +export type ReplicationProtectedItemsUpdateMobilityServiceResponse = ReplicationProtectedItem; -/** - * Contains response data for the get operation. - */ -export type ReplicationFabricsGetResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsListOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; + /** The pagination token. Possible values: "FabricId" or "FabricId_CloudId" or null. */ + skipToken?: string; +} -/** - * Contains response data for the create operation. - */ -export type ReplicationFabricsCreateResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationProtectedItemsListResponse = ReplicationProtectedItemCollection; -/** - * Contains response data for the checkConsistency operation. - */ -export type ReplicationFabricsCheckConsistencyResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsListByReplicationProtectionContainersNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the reassociateGateway operation. - */ -export type ReplicationFabricsReassociateGatewayResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Contains response data for the listByReplicationProtectionContainersNext operation. */ +export type ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse = ReplicationProtectedItemCollection; -/** - * Contains response data for the renewCertificate operation. - */ -export type ReplicationFabricsRenewCertificateResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectedItemsListNextOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; + /** The pagination token. Possible values: "FabricId" or "FabricId_CloudId" or null. */ + skipToken?: string; +} -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationFabricsBeginCreateResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationProtectedItemsListNextResponse = ReplicationProtectedItemCollection; + +/** Optional parameters. */ +export interface RecoveryPointsListByReplicationProtectedItemsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByReplicationProtectedItems operation. */ +export type RecoveryPointsListByReplicationProtectedItemsResponse = RecoveryPointCollection; -/** - * Contains response data for the beginCheckConsistency operation. - */ -export type ReplicationFabricsBeginCheckConsistencyResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Optional parameters. */ +export interface RecoveryPointsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginReassociateGateway operation. - */ -export type ReplicationFabricsBeginReassociateGatewayResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Contains response data for the get operation. */ +export type RecoveryPointsGetResponse = RecoveryPoint; -/** - * Contains response data for the beginRenewCertificate operation. - */ -export type ReplicationFabricsBeginRenewCertificateResponse = Fabric & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Fabric; - }; -}; +/** Optional parameters. */ +export interface RecoveryPointsListByReplicationProtectedItemsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ReplicationFabricsListNextResponse = FabricCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: FabricCollection; - }; -}; +/** Contains response data for the listByReplicationProtectedItemsNext operation. */ +export type RecoveryPointsListByReplicationProtectedItemsNextResponse = RecoveryPointCollection; -/** - * Contains response data for the listByReplicationFabrics operation. - */ -export type ReplicationLogicalNetworksListByReplicationFabricsResponse = LogicalNetworkCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LogicalNetworkCollection; - }; -}; +/** Optional parameters. */ +export interface TargetComputeSizesListByReplicationProtectedItemsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ReplicationLogicalNetworksGetResponse = LogicalNetwork & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LogicalNetwork; - }; -}; +/** Contains response data for the listByReplicationProtectedItems operation. */ +export type TargetComputeSizesListByReplicationProtectedItemsResponse = TargetComputeSizeCollection; -/** - * Contains response data for the listByReplicationFabricsNext operation. - */ -export type ReplicationLogicalNetworksListByReplicationFabricsNextResponse = LogicalNetworkCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: LogicalNetworkCollection; - }; -}; +/** Optional parameters. */ +export interface TargetComputeSizesListByReplicationProtectedItemsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByReplicationFabrics operation. - */ -export type ReplicationNetworksListByReplicationFabricsResponse = NetworkCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkCollection; - }; -}; +/** Contains response data for the listByReplicationProtectedItemsNext operation. */ +export type TargetComputeSizesListByReplicationProtectedItemsNextResponse = TargetComputeSizeCollection; -/** - * Contains response data for the get operation. - */ -export type ReplicationNetworksGetResponse = Network & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Network; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type ReplicationNetworksListResponse = NetworkCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkCollection; - }; -}; +/** Contains response data for the listByReplicationProtectionContainers operation. */ +export type ReplicationProtectionContainerMappingsListByReplicationProtectionContainersResponse = ProtectionContainerMappingCollection; -/** - * Contains response data for the listByReplicationFabricsNext operation. - */ -export type ReplicationNetworksListByReplicationFabricsNextResponse = NetworkCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ReplicationNetworksListNextResponse = NetworkCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkCollection; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationProtectionContainerMappingsGetResponse = ProtectionContainerMapping; -/** - * Contains response data for the listByReplicationNetworks operation. - */ -export type ReplicationNetworkMappingsListByReplicationNetworksResponse = NetworkMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsCreateOptionalParams + 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 get operation. - */ -export type ReplicationNetworkMappingsGetResponse = NetworkMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMapping; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationProtectionContainerMappingsCreateResponse = ProtectionContainerMapping; -/** - * Contains response data for the create operation. - */ -export type ReplicationNetworkMappingsCreateResponse = NetworkMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsPurgeOptionalParams + 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 & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsUpdateOptionalParams + 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 list operation. - */ -export type ReplicationNetworkMappingsListResponse = NetworkMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMappingCollection; - }; -}; +/** Contains response data for the update operation. */ +export type ReplicationProtectionContainerMappingsUpdateResponse = ProtectionContainerMapping; -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationNetworkMappingsBeginCreateResponse = NetworkMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsDeleteOptionalParams + 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 beginUpdate operation. - */ -export type ReplicationNetworkMappingsBeginUpdateResponse = NetworkMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByReplicationNetworksNext operation. - */ -export type ReplicationNetworkMappingsListByReplicationNetworksNextResponse = NetworkMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMappingCollection; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationProtectionContainerMappingsListResponse = ProtectionContainerMappingCollection; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationNetworkMappingsListNextResponse = NetworkMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: NetworkMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByReplicationFabrics operation. - */ -export type ReplicationProtectionContainersListByReplicationFabricsResponse = ProtectionContainerCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerCollection; - }; -}; +/** Contains response data for the listByReplicationProtectionContainersNext operation. */ +export type ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextResponse = ProtectionContainerMappingCollection; -/** - * Contains response data for the get operation. - */ -export type ReplicationProtectionContainersGetResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionContainerMappingsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the create operation. - */ -export type ReplicationProtectionContainersCreateResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationProtectionContainerMappingsListNextResponse = ProtectionContainerMappingCollection; -/** - * Contains response data for the discoverProtectableItem operation. - */ -export type ReplicationProtectionContainersDiscoverProtectableItemResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the switchProtection operation. - */ -export type ReplicationProtectionContainersSwitchProtectionResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Contains response data for the listByReplicationFabrics operation. */ +export type ReplicationRecoveryServicesProvidersListByReplicationFabricsResponse = RecoveryServicesProviderCollection; -/** - * Contains response data for the list operation. - */ -export type ReplicationProtectionContainersListResponse = ProtectionContainerCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationProtectionContainersBeginCreateResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationRecoveryServicesProvidersGetResponse = RecoveryServicesProvider; -/** - * Contains response data for the beginDiscoverProtectableItem operation. - */ -export type ReplicationProtectionContainersBeginDiscoverProtectableItemResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersCreateOptionalParams + 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 beginSwitchProtection operation. - */ -export type ReplicationProtectionContainersBeginSwitchProtectionResponse = ProtectionContainer & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainer; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationRecoveryServicesProvidersCreateResponse = RecoveryServicesProvider; -/** - * Contains response data for the listByReplicationFabricsNext operation. - */ -export type ReplicationProtectionContainersListByReplicationFabricsNextResponse = ProtectionContainerCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersPurgeOptionalParams + 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 listNext operation. - */ -export type ReplicationProtectionContainersListNextResponse = ProtectionContainerCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams + 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 listByReplicationProtectionContainers operation. - */ -export type ReplicationProtectableItemsListByReplicationProtectionContainersResponse = ProtectableItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectableItemCollection; - }; -}; +/** Contains response data for the refreshProvider operation. */ +export type ReplicationRecoveryServicesProvidersRefreshProviderResponse = RecoveryServicesProvider; -/** - * Contains response data for the get operation. - */ -export type ReplicationProtectableItemsGetResponse = ProtectableItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectableItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersDeleteOptionalParams + 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 listByReplicationProtectionContainersNext operation. - */ -export type ReplicationProtectableItemsListByReplicationProtectionContainersNextResponse = ProtectableItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectableItemCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByReplicationProtectionContainers operation. - */ -export type ReplicationProtectedItemsListByReplicationProtectionContainersResponse = ReplicationProtectedItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItemCollection; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationRecoveryServicesProvidersListResponse = RecoveryServicesProviderCollection; -/** - * Contains response data for the get operation. - */ -export type ReplicationProtectedItemsGetResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersListByReplicationFabricsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the create operation. - */ -export type ReplicationProtectedItemsCreateResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the listByReplicationFabricsNext operation. */ +export type ReplicationRecoveryServicesProvidersListByReplicationFabricsNextResponse = RecoveryServicesProviderCollection; -/** - * Contains response data for the update operation. - */ -export type ReplicationProtectedItemsUpdateResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryServicesProvidersListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the applyRecoveryPoint operation. - */ -export type ReplicationProtectedItemsApplyRecoveryPointResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationRecoveryServicesProvidersListNextResponse = RecoveryServicesProviderCollection; -/** - * Contains response data for the failoverCommit operation. - */ -export type ReplicationProtectedItemsFailoverCommitResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationsListByReplicationFabricsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the plannedFailover operation. - */ -export type ReplicationProtectedItemsPlannedFailoverResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the listByReplicationFabrics operation. */ +export type ReplicationStorageClassificationsListByReplicationFabricsResponse = StorageClassificationCollection; -/** - * Contains response data for the repairReplication operation. - */ -export type ReplicationProtectedItemsRepairReplicationResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the reprotect operation. - */ -export type ReplicationProtectedItemsReprotectResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationStorageClassificationsGetResponse = StorageClassification; -/** - * Contains response data for the testFailover operation. - */ -export type ReplicationProtectedItemsTestFailoverResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the testFailoverCleanup operation. - */ -export type ReplicationProtectedItemsTestFailoverCleanupResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationStorageClassificationsListResponse = StorageClassificationCollection; -/** - * Contains response data for the unplannedFailover operation. - */ -export type ReplicationProtectedItemsUnplannedFailoverResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationsListByReplicationFabricsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the updateMobilityService operation. - */ -export type ReplicationProtectedItemsUpdateMobilityServiceResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the listByReplicationFabricsNext operation. */ +export type ReplicationStorageClassificationsListByReplicationFabricsNextResponse = StorageClassificationCollection; -/** - * Contains response data for the list operation. - */ -export type ReplicationProtectedItemsListResponse = ReplicationProtectedItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItemCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ReplicationStorageClassificationsListNextResponse = StorageClassificationCollection; + +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByReplicationStorageClassifications operation. */ +export type ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsResponse = StorageClassificationMappingCollection; -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationProtectedItemsBeginCreateResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginUpdate operation. - */ -export type ReplicationProtectedItemsBeginUpdateResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationStorageClassificationMappingsGetResponse = StorageClassificationMapping; -/** - * Contains response data for the beginApplyRecoveryPoint operation. - */ -export type ReplicationProtectedItemsBeginApplyRecoveryPointResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsCreateOptionalParams + 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 beginFailoverCommit operation. - */ -export type ReplicationProtectedItemsBeginFailoverCommitResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationStorageClassificationMappingsCreateResponse = StorageClassificationMapping; -/** - * Contains response data for the beginPlannedFailover operation. - */ -export type ReplicationProtectedItemsBeginPlannedFailoverResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsDeleteOptionalParams + 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 beginRepairReplication operation. - */ -export type ReplicationProtectedItemsBeginRepairReplicationResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginReprotect operation. - */ -export type ReplicationProtectedItemsBeginReprotectResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationStorageClassificationMappingsListResponse = StorageClassificationMappingCollection; -/** - * Contains response data for the beginTestFailover operation. - */ -export type ReplicationProtectedItemsBeginTestFailoverResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginTestFailoverCleanup operation. - */ -export type ReplicationProtectedItemsBeginTestFailoverCleanupResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the listByReplicationStorageClassificationsNext operation. */ +export type ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextResponse = StorageClassificationMappingCollection; -/** - * Contains response data for the beginUnplannedFailover operation. - */ -export type ReplicationProtectedItemsBeginUnplannedFailoverResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Optional parameters. */ +export interface ReplicationStorageClassificationMappingsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginUpdateMobilityService operation. - */ -export type ReplicationProtectedItemsBeginUpdateMobilityServiceResponse = ReplicationProtectedItem & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItem; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationStorageClassificationMappingsListNextResponse = StorageClassificationMappingCollection; -/** - * Contains response data for the listByReplicationProtectionContainersNext operation. - */ -export type ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse = ReplicationProtectedItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItemCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersListByReplicationFabricsOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ReplicationProtectedItemsListNextResponse = ReplicationProtectedItemCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ReplicationProtectedItemCollection; - }; -}; +/** Contains response data for the listByReplicationFabrics operation. */ +export type ReplicationvCentersListByReplicationFabricsResponse = VCenterCollection; -/** - * Contains response data for the listByReplicationProtectedItems operation. - */ -export type RecoveryPointsListByReplicationProtectedItemsResponse = RecoveryPointCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPointCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type RecoveryPointsGetResponse = RecoveryPoint & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPoint; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationvCentersGetResponse = VCenter; -/** - * Contains response data for the listByReplicationProtectedItemsNext operation. - */ -export type RecoveryPointsListByReplicationProtectedItemsNextResponse = RecoveryPointCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPointCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersCreateOptionalParams + 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 listByReplicationProtectedItems operation. - */ -export type TargetComputeSizesListByReplicationProtectedItemsResponse = TargetComputeSizeCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TargetComputeSizeCollection; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationvCentersCreateResponse = VCenter; -/** - * Contains response data for the listByReplicationProtectedItemsNext operation. - */ -export type TargetComputeSizesListByReplicationProtectedItemsNextResponse = TargetComputeSizeCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: TargetComputeSizeCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersDeleteOptionalParams + 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 listByReplicationProtectionContainers operation. - */ -export type ReplicationProtectionContainerMappingsListByReplicationProtectionContainersResponse = ProtectionContainerMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersUpdateOptionalParams + 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 get operation. - */ -export type ReplicationProtectionContainerMappingsGetResponse = ProtectionContainerMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMapping; - }; -}; +/** Contains response data for the update operation. */ +export type ReplicationvCentersUpdateResponse = VCenter; -/** - * Contains response data for the create operation. - */ -export type ReplicationProtectionContainerMappingsCreateResponse = ProtectionContainerMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the update operation. - */ -export type ReplicationProtectionContainerMappingsUpdateResponse = ProtectionContainerMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMapping; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationvCentersListResponse = VCenterCollection; -/** - * Contains response data for the list operation. - */ -export type ReplicationProtectionContainerMappingsListResponse = ProtectionContainerMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersListByReplicationFabricsNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationProtectionContainerMappingsBeginCreateResponse = ProtectionContainerMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMapping; - }; -}; +/** Contains response data for the listByReplicationFabricsNext operation. */ +export type ReplicationvCentersListByReplicationFabricsNextResponse = VCenterCollection; -/** - * Contains response data for the beginUpdate operation. - */ -export type ReplicationProtectionContainerMappingsBeginUpdateResponse = ProtectionContainerMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationvCentersListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listByReplicationProtectionContainersNext operation. - */ -export type ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextResponse = ProtectionContainerMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMappingCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationvCentersListNextResponse = VCenterCollection; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationProtectionContainerMappingsListNextResponse = ProtectionContainerMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: ProtectionContainerMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsListOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; +} -/** - * Contains response data for the listByReplicationFabrics operation. - */ -export type ReplicationRecoveryServicesProvidersListByReplicationFabricsResponse = RecoveryServicesProviderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProviderCollection; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationJobsListResponse = JobCollection; -/** - * Contains response data for the get operation. - */ -export type ReplicationRecoveryServicesProvidersGetResponse = RecoveryServicesProvider & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProvider; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the refreshProvider operation. - */ -export type ReplicationRecoveryServicesProvidersRefreshProviderResponse = RecoveryServicesProvider & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProvider; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationJobsGetResponse = Job; -/** - * Contains response data for the list operation. - */ -export type ReplicationRecoveryServicesProvidersListResponse = RecoveryServicesProviderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProviderCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsCancelOptionalParams + 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 beginRefreshProvider operation. - */ -export type ReplicationRecoveryServicesProvidersBeginRefreshProviderResponse = RecoveryServicesProvider & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProvider; - }; -}; +/** Contains response data for the cancel operation. */ +export type ReplicationJobsCancelResponse = Job; -/** - * Contains response data for the listByReplicationFabricsNext operation. - */ -export type ReplicationRecoveryServicesProvidersListByReplicationFabricsNextResponse = RecoveryServicesProviderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProviderCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsRestartOptionalParams + 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 listNext operation. - */ -export type ReplicationRecoveryServicesProvidersListNextResponse = RecoveryServicesProviderCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryServicesProviderCollection; - }; -}; +/** Contains response data for the restart operation. */ +export type ReplicationJobsRestartResponse = Job; -/** - * Contains response data for the listByReplicationFabrics operation. - */ -export type ReplicationStorageClassificationsListByReplicationFabricsResponse = StorageClassificationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsResumeOptionalParams + 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 get operation. - */ -export type ReplicationStorageClassificationsGetResponse = StorageClassification & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassification; - }; -}; +/** Contains response data for the resume operation. */ +export type ReplicationJobsResumeResponse = Job; -/** - * Contains response data for the list operation. - */ -export type ReplicationStorageClassificationsListResponse = StorageClassificationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsExportOptionalParams + 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 listByReplicationFabricsNext operation. - */ -export type ReplicationStorageClassificationsListByReplicationFabricsNextResponse = StorageClassificationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationCollection; - }; -}; +/** Contains response data for the export operation. */ +export type ReplicationJobsExportResponse = Job; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationStorageClassificationsListNextResponse = StorageClassificationCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationJobsListNextOptionalParams + extends coreClient.OperationOptions { + /** OData filter options. */ + filter?: string; +} -/** - * Contains response data for the listByReplicationStorageClassifications operation. - */ -export type ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsResponse = StorageClassificationMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMappingCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationJobsListNextResponse = JobCollection; -/** - * Contains response data for the get operation. - */ -export type ReplicationStorageClassificationMappingsGetResponse = StorageClassificationMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMapping; - }; -}; +/** Optional parameters. */ +export interface ReplicationPoliciesListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the create operation. - */ -export type ReplicationStorageClassificationMappingsCreateResponse = StorageClassificationMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMapping; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationPoliciesListResponse = PolicyCollection; -/** - * Contains response data for the list operation. - */ -export type ReplicationStorageClassificationMappingsListResponse = StorageClassificationMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationPoliciesGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationStorageClassificationMappingsBeginCreateResponse = StorageClassificationMapping & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMapping; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationPoliciesGetResponse = Policy; -/** - * Contains response data for the listByReplicationStorageClassificationsNext operation. - */ -export type ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextResponse = StorageClassificationMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMappingCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationPoliciesCreateOptionalParams + 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 listNext operation. - */ -export type ReplicationStorageClassificationMappingsListNextResponse = StorageClassificationMappingCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: StorageClassificationMappingCollection; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationPoliciesCreateResponse = Policy; -/** - * Contains response data for the listByReplicationFabrics operation. - */ -export type ReplicationvCentersListByReplicationFabricsResponse = VCenterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenterCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationPoliciesDeleteOptionalParams + 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 get operation. - */ -export type ReplicationvCentersGetResponse = VCenter & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenter; - }; -}; +/** Optional parameters. */ +export interface ReplicationPoliciesUpdateOptionalParams + 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 ReplicationvCentersCreateResponse = VCenter & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenter; - }; -}; +/** Contains response data for the update operation. */ +export type ReplicationPoliciesUpdateResponse = Policy; -/** - * Contains response data for the update operation. - */ -export type ReplicationvCentersUpdateResponse = VCenter & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenter; - }; -}; +/** Optional parameters. */ +export interface ReplicationPoliciesListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the list operation. - */ -export type ReplicationvCentersListResponse = VCenterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenterCollection; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationPoliciesListNextResponse = PolicyCollection; -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationvCentersBeginCreateResponse = VCenter & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenter; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionIntentsListOptionalParams + extends coreClient.OperationOptions { + /** The pagination token. */ + skipToken?: string; + /** The page size. */ + takeToken?: string; +} -/** - * Contains response data for the beginUpdate operation. - */ -export type ReplicationvCentersBeginUpdateResponse = VCenter & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenter; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationProtectionIntentsListResponse = ReplicationProtectionIntentCollection; -/** - * Contains response data for the listByReplicationFabricsNext operation. - */ -export type ReplicationvCentersListByReplicationFabricsNextResponse = VCenterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenterCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionIntentsGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ReplicationvCentersListNextResponse = VCenterCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VCenterCollection; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationProtectionIntentsGetResponse = ReplicationProtectionIntent; -/** - * Contains response data for the list operation. - */ -export type ReplicationJobsListResponse = JobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionIntentsCreateOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the get operation. - */ -export type ReplicationJobsGetResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationProtectionIntentsCreateResponse = ReplicationProtectionIntent; -/** - * Contains response data for the cancel operation. - */ -export type ReplicationJobsCancelResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Optional parameters. */ +export interface ReplicationProtectionIntentsListNextOptionalParams + extends coreClient.OperationOptions { + /** The pagination token. */ + skipToken?: string; + /** The page size. */ + takeToken?: string; +} -/** - * Contains response data for the restart operation. - */ -export type ReplicationJobsRestartResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationProtectionIntentsListNextResponse = ReplicationProtectionIntentCollection; -/** - * Contains response data for the resume operation. - */ -export type ReplicationJobsResumeResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the exportMethod operation. - */ -export type ReplicationJobsExportMethodResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationRecoveryPlansListResponse = RecoveryPlanCollection; -/** - * Contains response data for the beginCancel operation. - */ -export type ReplicationJobsBeginCancelResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginRestart operation. - */ -export type ReplicationJobsBeginRestartResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationRecoveryPlansGetResponse = RecoveryPlan; -/** - * Contains response data for the beginResume operation. - */ -export type ReplicationJobsBeginResumeResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansCreateOptionalParams + 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 beginExportMethod operation. - */ -export type ReplicationJobsBeginExportMethodResponse = Job & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Job; - }; -}; +/** Contains response data for the create operation. */ +export type ReplicationRecoveryPlansCreateResponse = RecoveryPlan; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationJobsListNextResponse = JobCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: JobCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansDeleteOptionalParams + 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 list operation. - */ -export type ReplicationPoliciesListResponse = PolicyCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PolicyCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansUpdateOptionalParams + 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 get operation. - */ -export type ReplicationPoliciesGetResponse = Policy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Policy; - }; -}; +/** Contains response data for the update operation. */ +export type ReplicationRecoveryPlansUpdateResponse = RecoveryPlan; -/** - * Contains response data for the create operation. - */ -export type ReplicationPoliciesCreateResponse = Policy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Policy; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansFailoverCancelOptionalParams + 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 ReplicationPoliciesUpdateResponse = Policy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Policy; - }; -}; +/** Contains response data for the failoverCancel operation. */ +export type ReplicationRecoveryPlansFailoverCancelResponse = RecoveryPlan; -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationPoliciesBeginCreateResponse = Policy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Policy; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansFailoverCommitOptionalParams + 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 beginUpdate operation. - */ -export type ReplicationPoliciesBeginUpdateResponse = Policy & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: Policy; - }; -}; +/** Contains response data for the failoverCommit operation. */ +export type ReplicationRecoveryPlansFailoverCommitResponse = RecoveryPlan; -/** - * Contains response data for the listNext operation. - */ -export type ReplicationPoliciesListNextResponse = PolicyCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: PolicyCollection; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansPlannedFailoverOptionalParams + 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 list operation. - */ -export type ReplicationRecoveryPlansListResponse = RecoveryPlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlanCollection; - }; -}; +/** Contains response data for the plannedFailover operation. */ +export type ReplicationRecoveryPlansPlannedFailoverResponse = RecoveryPlan; -/** - * Contains response data for the get operation. - */ -export type ReplicationRecoveryPlansGetResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansReprotectOptionalParams + 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 ReplicationRecoveryPlansCreateResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the reprotect operation. */ +export type ReplicationRecoveryPlansReprotectResponse = RecoveryPlan; -/** - * Contains response data for the update operation. - */ -export type ReplicationRecoveryPlansUpdateResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansTestFailoverOptionalParams + 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 failoverCommit operation. - */ -export type ReplicationRecoveryPlansFailoverCommitResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the testFailover operation. */ +export type ReplicationRecoveryPlansTestFailoverResponse = RecoveryPlan; -/** - * Contains response data for the plannedFailover operation. - */ -export type ReplicationRecoveryPlansPlannedFailoverResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansTestFailoverCleanupOptionalParams + 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 reprotect operation. - */ -export type ReplicationRecoveryPlansReprotectResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the testFailoverCleanup operation. */ +export type ReplicationRecoveryPlansTestFailoverCleanupResponse = RecoveryPlan; -/** - * Contains response data for the testFailover operation. - */ -export type ReplicationRecoveryPlansTestFailoverResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansUnplannedFailoverOptionalParams + 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 testFailoverCleanup operation. - */ -export type ReplicationRecoveryPlansTestFailoverCleanupResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the unplannedFailover operation. */ +export type ReplicationRecoveryPlansUnplannedFailoverResponse = RecoveryPlan; -/** - * Contains response data for the unplannedFailover operation. - */ -export type ReplicationRecoveryPlansUnplannedFailoverResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationRecoveryPlansListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginCreate operation. - */ -export type ReplicationRecoveryPlansBeginCreateResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the listNext operation. */ +export type ReplicationRecoveryPlansListNextResponse = RecoveryPlanCollection; -/** - * Contains response data for the beginUpdate operation. - */ -export type ReplicationRecoveryPlansBeginUpdateResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface SupportedOperatingSystemsGetOptionalParams + extends coreClient.OperationOptions { + /** The instance type. */ + instanceType?: string; +} -/** - * Contains response data for the beginFailoverCommit operation. - */ -export type ReplicationRecoveryPlansBeginFailoverCommitResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the get operation. */ +export type SupportedOperatingSystemsGetResponse = SupportedOperatingSystems; -/** - * Contains response data for the beginPlannedFailover operation. - */ -export type ReplicationRecoveryPlansBeginPlannedFailoverResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationVaultHealthGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the beginReprotect operation. - */ -export type ReplicationRecoveryPlansBeginReprotectResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationVaultHealthGetResponse = VaultHealthDetails; -/** - * Contains response data for the beginTestFailover operation. - */ -export type ReplicationRecoveryPlansBeginTestFailoverResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationVaultHealthRefreshOptionalParams + 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 beginTestFailoverCleanup operation. - */ -export type ReplicationRecoveryPlansBeginTestFailoverCleanupResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Contains response data for the refresh operation. */ +export type ReplicationVaultHealthRefreshResponse = VaultHealthDetails; -/** - * Contains response data for the beginUnplannedFailover operation. - */ -export type ReplicationRecoveryPlansBeginUnplannedFailoverResponse = RecoveryPlan & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlan; - }; -}; +/** Optional parameters. */ +export interface ReplicationVaultSettingListOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the listNext operation. - */ -export type ReplicationRecoveryPlansListNextResponse = RecoveryPlanCollection & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: RecoveryPlanCollection; - }; -}; +/** Contains response data for the list operation. */ +export type ReplicationVaultSettingListResponse = VaultSettingCollection; -/** - * Contains response data for the get operation. - */ -export type ReplicationVaultHealthGetResponse = VaultHealthDetails & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultHealthDetails; - }; -}; +/** Optional parameters. */ +export interface ReplicationVaultSettingGetOptionalParams + extends coreClient.OperationOptions {} -/** - * Contains response data for the refresh operation. - */ -export type ReplicationVaultHealthRefreshResponse = VaultHealthDetails & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultHealthDetails; - }; -}; +/** Contains response data for the get operation. */ +export type ReplicationVaultSettingGetResponse = VaultSetting; -/** - * Contains response data for the beginRefresh operation. - */ -export type ReplicationVaultHealthBeginRefreshResponse = VaultHealthDetails & { - /** - * The underlying HTTP response. - */ - _response: msRest.HttpResponse & { - /** - * The response body as text (string format) - */ - bodyAsText: string; - /** - * The response body as parsed JSON or XML - */ - parsedBody: VaultHealthDetails; - }; -}; +/** Optional parameters. */ +export interface ReplicationVaultSettingCreateOptionalParams + 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 ReplicationVaultSettingCreateResponse = VaultSetting; + +/** Optional parameters. */ +export interface ReplicationVaultSettingListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ReplicationVaultSettingListNextResponse = VaultSettingCollection; + +/** Optional parameters. */ +export interface SiteRecoveryManagementClientOptionalParams + extends coreClient.ServiceClientOptions { + /** server parameter */ + $host?: string; + /** Api Version */ + apiVersion?: string; + /** Overrides client endpoint. */ + endpoint?: string; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts index 334f3b50b4ba..a67b2820a2d7 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts @@ -1,33 +1,32 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; -import * as msRest from "@azure/ms-rest-js"; +import * as coreClient from "@azure/core-client"; -export const CloudError = CloudErrorMapper; -export const BaseResource = BaseResourceMapper; - -export const ApplyRecoveryPointProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "ApplyRecoveryPointProviderSpecificInput", +export const OperationsDiscoveryCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ApplyRecoveryPointProviderSpecificInput", - className: "ApplyRecoveryPointProviderSpecificInput", + className: "OperationsDiscoveryCollection", modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationsDiscovery" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -36,68 +35,66 @@ export const ApplyRecoveryPointProviderSpecificInput: msRest.CompositeMapper = { } }; -export const A2AApplyRecoveryPointInput: msRest.CompositeMapper = { - serializedName: "A2A", - type: { - name: "Composite", - polymorphicDiscriminator: ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ApplyRecoveryPointProviderSpecificInput", - className: "A2AApplyRecoveryPointInput", - modelProperties: { - ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties - } - } -}; - -export const ReplicationProviderSpecificContainerCreationInput: msRest.CompositeMapper = { - serializedName: "ReplicationProviderSpecificContainerCreationInput", +export const OperationsDiscovery: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ReplicationProviderSpecificContainerCreationInput", - className: "ReplicationProviderSpecificContainerCreationInput", + className: "OperationsDiscovery", modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + name: { + serializedName: "name", + type: { + name: "String" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "Display" + } + }, + origin: { + serializedName: "origin", type: { name: "String" } + }, + properties: { + serializedName: "properties", + type: { + name: "Dictionary", + value: { type: { name: "any" } } + } } } } }; -export const A2AContainerCreationInput: msRest.CompositeMapper = { - serializedName: "A2A", - type: { - name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificContainerCreationInput.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificContainerCreationInput", - className: "A2AContainerCreationInput", - modelProperties: { - ...ReplicationProviderSpecificContainerCreationInput.type.modelProperties - } - } -}; - -export const ReplicationProviderSpecificContainerMappingInput: msRest.CompositeMapper = { - serializedName: "ReplicationProviderSpecificContainerMappingInput", +export const Display: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ReplicationProviderSpecificContainerMappingInput", - className: "ReplicationProviderSpecificContainerMappingInput", + className: "Display", modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + type: { + name: "String" + } + }, + description: { + serializedName: "description", type: { name: "String" } @@ -106,23 +103,25 @@ export const ReplicationProviderSpecificContainerMappingInput: msRest.CompositeM } }; -export const A2AContainerMappingInput: msRest.CompositeMapper = { - serializedName: "A2A", +export const AlertCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificContainerMappingInput.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificContainerMappingInput", - className: "A2AContainerMappingInput", + className: "AlertCollection", modelProperties: { - ...ReplicationProviderSpecificContainerMappingInput.type.modelProperties, - agentAutoUpdateStatus: { - serializedName: "agentAutoUpdateStatus", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Alert" + } + } } }, - automationAccountArmId: { - serializedName: "automationAccountArmId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -131,26 +130,30 @@ export const A2AContainerMappingInput: msRest.CompositeMapper = { } }; -export const A2AVmDiskInputDetails: msRest.CompositeMapper = { - serializedName: "A2AVmDiskInputDetails", +export const AlertProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "A2AVmDiskInputDetails", + className: "AlertProperties", modelProperties: { - diskUri: { - serializedName: "diskUri", + sendToOwners: { + serializedName: "sendToOwners", type: { name: "String" } }, - recoveryAzureStorageAccountId: { - serializedName: "recoveryAzureStorageAccountId", + customEmailAddresses: { + serializedName: "customEmailAddresses", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - primaryStagingAzureStorageAccountId: { - serializedName: "primaryStagingAzureStorageAccountId", + locale: { + serializedName: "locale", type: { name: "String" } @@ -159,60 +162,82 @@ export const A2AVmDiskInputDetails: msRest.CompositeMapper = { } }; -export const A2AVmManagedDiskInputDetails: msRest.CompositeMapper = { - serializedName: "A2AVmManagedDiskInputDetails", +export const Resource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "A2AVmManagedDiskInputDetails", + className: "Resource", modelProperties: { - diskId: { - serializedName: "diskId", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - primaryStagingAzureStorageAccountId: { - serializedName: "primaryStagingAzureStorageAccountId", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - recoveryResourceGroupId: { - serializedName: "recoveryResourceGroupId", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - recoveryReplicaDiskAccountType: { - serializedName: "recoveryReplicaDiskAccountType", + location: { + serializedName: "location", type: { name: "String" } - }, - recoveryTargetDiskAccountType: { - serializedName: "recoveryTargetDiskAccountType", + } + } + } +}; + +export const ConfigureAlertRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConfigureAlertRequest", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "ConfigureAlertRequestProperties" } } } } }; -export const DiskEncryptionKeyInfo: msRest.CompositeMapper = { - serializedName: "DiskEncryptionKeyInfo", +export const ConfigureAlertRequestProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiskEncryptionKeyInfo", + className: "ConfigureAlertRequestProperties", modelProperties: { - secretIdentifier: { - serializedName: "secretIdentifier", + sendToOwners: { + serializedName: "sendToOwners", type: { name: "String" } }, - keyVaultResourceArmId: { - serializedName: "keyVaultResourceArmId", + customEmailAddresses: { + serializedName: "customEmailAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + locale: { + serializedName: "locale", type: { name: "String" } @@ -221,20 +246,25 @@ export const DiskEncryptionKeyInfo: msRest.CompositeMapper = { } }; -export const KeyEncryptionKeyInfo: msRest.CompositeMapper = { - serializedName: "KeyEncryptionKeyInfo", +export const ApplianceCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "KeyEncryptionKeyInfo", + className: "ApplianceCollection", modelProperties: { - keyIdentifier: { - serializedName: "keyIdentifier", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReplicationAppliance" + } + } } }, - keyVaultResourceArmId: { - serializedName: "keyVaultResourceArmId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -243,44 +273,51 @@ export const KeyEncryptionKeyInfo: msRest.CompositeMapper = { } }; -export const DiskEncryptionInfo: msRest.CompositeMapper = { - serializedName: "DiskEncryptionInfo", +export const ReplicationAppliance: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiskEncryptionInfo", + className: "ReplicationAppliance", modelProperties: { - diskEncryptionKeyInfo: { - serializedName: "diskEncryptionKeyInfo", + properties: { + serializedName: "properties", type: { name: "Composite", - className: "DiskEncryptionKeyInfo" + className: "ReplicationApplianceProperties" } - }, - keyEncryptionKeyInfo: { - serializedName: "keyEncryptionKeyInfo", + } + } + } +}; + +export const ReplicationApplianceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationApplianceProperties", + modelProperties: { + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "KeyEncryptionKeyInfo" + className: "ApplianceSpecificDetails" } } } } }; -export const EnableProtectionProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "EnableProtectionProviderSpecificInput", +export const ApplianceSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", + className: "ApplianceSpecificDetails", + uberParent: "ApplianceSpecificDetails", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "EnableProtectionProviderSpecificInput", - className: "EnableProtectionProviderSpecificInput", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -289,106 +326,151 @@ export const EnableProtectionProviderSpecificInput: msRest.CompositeMapper = { } }; -export const A2AEnableProtectionInput: msRest.CompositeMapper = { - serializedName: "A2A", +export const ReplicationEligibilityResultsCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "EnableProtectionProviderSpecificInput", - className: "A2AEnableProtectionInput", + className: "ReplicationEligibilityResultsCollection", modelProperties: { - ...EnableProtectionProviderSpecificInput.type.modelProperties, - fabricObjectId: { - serializedName: "fabricObjectId", + value: { + serializedName: "value", type: { - name: "String" - } - }, - recoveryContainerId: { - serializedName: "recoveryContainerId", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReplicationEligibilityResults" + } + } + } + } + } + } +}; + +export const ReplicationEligibilityResults: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationEligibilityResults", + modelProperties: { + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - recoveryResourceGroupId: { - serializedName: "recoveryResourceGroupId", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - recoveryCloudServiceId: { - serializedName: "recoveryCloudServiceId", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - recoveryAvailabilitySetId: { - serializedName: "recoveryAvailabilitySetId", + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ReplicationEligibilityResultsProperties" + } + } + } + } +}; + +export const ReplicationEligibilityResultsProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationEligibilityResultsProperties", + modelProperties: { + clientRequestId: { + serializedName: "clientRequestId", + readOnly: true, type: { name: "String" } }, - vmDisks: { - serializedName: "vmDisks", + errors: { + serializedName: "errors", type: { name: "Sequence", element: { type: { name: "Composite", - className: "A2AVmDiskInputDetails" + className: "ReplicationEligibilityResultsErrorInfo" } } } + } + } + } +}; + +export const ReplicationEligibilityResultsErrorInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationEligibilityResultsErrorInfo", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } }, - vmManagedDisks: { - serializedName: "vmManagedDisks", + message: { + serializedName: "message", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "A2AVmManagedDiskInputDetails" - } - } + name: "String" } }, - multiVmGroupName: { - serializedName: "multiVmGroupName", + possibleCauses: { + serializedName: "possibleCauses", type: { name: "String" } }, - recoveryBootDiagStorageAccountId: { - serializedName: "recoveryBootDiagStorageAccountId", + recommendedAction: { + serializedName: "recommendedAction", type: { name: "String" } }, - diskEncryptionInfo: { - serializedName: "diskEncryptionInfo", + status: { + serializedName: "status", + readOnly: true, type: { - name: "Composite", - className: "DiskEncryptionInfo" + name: "String" } } } } }; -export const EventProviderSpecificDetails: msRest.CompositeMapper = { - serializedName: "EventProviderSpecificDetails", +export const EventCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "EventProviderSpecificDetails", - className: "EventProviderSpecificDetails", + className: "EventCollection", modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Event" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -397,69 +479,102 @@ export const EventProviderSpecificDetails: msRest.CompositeMapper = { } }; -export const A2AEventDetails: msRest.CompositeMapper = { - serializedName: "A2A", +export const EventProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EventProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventProviderSpecificDetails", - className: "A2AEventDetails", + className: "EventProperties", modelProperties: { - ...EventProviderSpecificDetails.type.modelProperties, - protectedItemName: { - serializedName: "protectedItemName", + eventCode: { + serializedName: "eventCode", type: { name: "String" } }, - fabricObjectId: { - serializedName: "fabricObjectId", + description: { + serializedName: "description", type: { name: "String" } }, - fabricName: { - serializedName: "fabricName", + eventType: { + serializedName: "eventType", type: { name: "String" } }, - fabricLocation: { - serializedName: "fabricLocation", + affectedObjectFriendlyName: { + serializedName: "affectedObjectFriendlyName", type: { name: "String" } }, - remoteFabricName: { - serializedName: "remoteFabricName", + affectedObjectCorrelationId: { + serializedName: "affectedObjectCorrelationId", type: { name: "String" } }, - remoteFabricLocation: { - serializedName: "remoteFabricLocation", + severity: { + serializedName: "severity", + type: { + name: "String" + } + }, + timeOfOccurrence: { + serializedName: "timeOfOccurrence", + type: { + name: "DateTime" + } + }, + fabricId: { + serializedName: "fabricId", type: { name: "String" } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Composite", + className: "EventProviderSpecificDetails" + } + }, + eventSpecificDetails: { + serializedName: "eventSpecificDetails", + type: { + name: "Composite", + className: "EventSpecificDetails" + } + }, + healthErrors: { + serializedName: "healthErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } } } } }; -export const ProviderSpecificFailoverInput: msRest.CompositeMapper = { - serializedName: "ProviderSpecificFailoverInput", +export const EventProviderSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", + className: "EventProviderSpecificDetails", + uberParent: "EventProviderSpecificDetails", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "ProviderSpecificFailoverInput", - className: "ProviderSpecificFailoverInput", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -468,45 +583,19 @@ export const ProviderSpecificFailoverInput: msRest.CompositeMapper = { } }; -export const A2AFailoverProviderInput: msRest.CompositeMapper = { - serializedName: "A2A", - type: { - name: "Composite", - polymorphicDiscriminator: ProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificFailoverInput", - className: "A2AFailoverProviderInput", - modelProperties: { - ...ProviderSpecificFailoverInput.type.modelProperties, - recoveryPointId: { - serializedName: "recoveryPointId", - type: { - name: "String" - } - }, - cloudServiceCreationOption: { - serializedName: "cloudServiceCreationOption", - type: { - name: "String" - } - } - } - } -}; - -export const PolicyProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "PolicyProviderSpecificInput", +export const EventSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", + className: "EventSpecificDetails", + uberParent: "EventSpecificDetails", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "PolicyProviderSpecificInput", - className: "PolicyProviderSpecificInput", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -515,225 +604,196 @@ export const PolicyProviderSpecificInput: msRest.CompositeMapper = { } }; -export const A2APolicyCreationInput: msRest.CompositeMapper = { - serializedName: "A2A", +export const HealthError: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificInput", - className: "A2APolicyCreationInput", + className: "HealthError", modelProperties: { - ...PolicyProviderSpecificInput.type.modelProperties, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + innerHealthErrors: { + serializedName: "innerHealthErrors", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InnerHealthError" + } + } } }, - crashConsistentFrequencyInMinutes: { - serializedName: "crashConsistentFrequencyInMinutes", + errorSource: { + serializedName: "errorSource", type: { - name: "Number" + name: "String" } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + errorType: { + serializedName: "errorType", type: { - name: "Number" + name: "String" } }, - multiVmSyncStatus: { - required: true, - serializedName: "multiVmSyncStatus", + errorLevel: { + serializedName: "errorLevel", type: { name: "String" } - } - } - } -}; - -export const PolicyProviderSpecificDetails: msRest.CompositeMapper = { - serializedName: "PolicyProviderSpecificDetails", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "PolicyProviderSpecificDetails", - className: "PolicyProviderSpecificDetails", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + }, + errorCategory: { + serializedName: "errorCategory", type: { name: "String" } - } - } - } -}; - -export const A2APolicyDetails: msRest.CompositeMapper = { - serializedName: "A2A", - type: { - name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "A2APolicyDetails", - modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + }, + errorCode: { + serializedName: "errorCode", type: { - name: "Number" + name: "String" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + summaryMessage: { + serializedName: "summaryMessage", type: { - name: "Number" + name: "String" } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + errorMessage: { + serializedName: "errorMessage", type: { - name: "Number" + name: "String" } }, - multiVmSyncStatus: { - serializedName: "multiVmSyncStatus", + possibleCauses: { + serializedName: "possibleCauses", type: { name: "String" } }, - crashConsistentFrequencyInMinutes: { - serializedName: "crashConsistentFrequencyInMinutes", + recommendedAction: { + serializedName: "recommendedAction", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const A2AProtectedDiskDetails: msRest.CompositeMapper = { - serializedName: "A2AProtectedDiskDetails", - type: { - name: "Composite", - className: "A2AProtectedDiskDetails", - modelProperties: { - diskUri: { - serializedName: "diskUri", + }, + creationTimeUtc: { + serializedName: "creationTimeUtc", type: { - name: "String" + name: "DateTime" } }, - recoveryAzureStorageAccountId: { - serializedName: "recoveryAzureStorageAccountId", + recoveryProviderErrorMessage: { + serializedName: "recoveryProviderErrorMessage", type: { name: "String" } }, - primaryDiskAzureStorageAccountId: { - serializedName: "primaryDiskAzureStorageAccountId", + entityId: { + serializedName: "entityId", type: { name: "String" } }, - recoveryDiskUri: { - serializedName: "recoveryDiskUri", + errorId: { + serializedName: "errorId", type: { name: "String" } }, - diskName: { - serializedName: "diskName", + customerResolvability: { + serializedName: "customerResolvability", type: { name: "String" } - }, - diskCapacityInBytes: { - serializedName: "diskCapacityInBytes", + } + } + } +}; + +export const InnerHealthError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InnerHealthError", + modelProperties: { + errorSource: { + serializedName: "errorSource", type: { - name: "Number" + name: "String" } }, - primaryStagingAzureStorageAccountId: { - serializedName: "primaryStagingAzureStorageAccountId", + errorType: { + serializedName: "errorType", type: { name: "String" } }, - diskType: { - serializedName: "diskType", + errorLevel: { + serializedName: "errorLevel", type: { name: "String" } }, - resyncRequired: { - serializedName: "resyncRequired", + errorCategory: { + serializedName: "errorCategory", type: { - name: "Boolean" + name: "String" } }, - monitoringPercentageCompletion: { - serializedName: "monitoringPercentageCompletion", + errorCode: { + serializedName: "errorCode", type: { - name: "Number" + name: "String" } }, - monitoringJobType: { - serializedName: "monitoringJobType", + summaryMessage: { + serializedName: "summaryMessage", type: { name: "String" } }, - dataPendingInStagingStorageAccountInMB: { - serializedName: "dataPendingInStagingStorageAccountInMB", + errorMessage: { + serializedName: "errorMessage", type: { - name: "Number" + name: "String" } }, - dataPendingAtSourceAgentInMB: { - serializedName: "dataPendingAtSourceAgentInMB", + possibleCauses: { + serializedName: "possibleCauses", type: { - name: "Number" + name: "String" } }, - isDiskEncrypted: { - serializedName: "isDiskEncrypted", + recommendedAction: { + serializedName: "recommendedAction", type: { - name: "Boolean" + name: "String" } }, - secretIdentifier: { - serializedName: "secretIdentifier", + creationTimeUtc: { + serializedName: "creationTimeUtc", type: { - name: "String" + name: "DateTime" } }, - dekKeyVaultArmId: { - serializedName: "dekKeyVaultArmId", + recoveryProviderErrorMessage: { + serializedName: "recoveryProviderErrorMessage", type: { name: "String" } }, - isDiskKeyEncrypted: { - serializedName: "isDiskKeyEncrypted", + entityId: { + serializedName: "entityId", type: { - name: "Boolean" + name: "String" } }, - keyIdentifier: { - serializedName: "keyIdentifier", + errorId: { + serializedName: "errorId", type: { name: "String" } }, - kekKeyVaultArmId: { - serializedName: "kekKeyVaultArmId", + customerResolvability: { + serializedName: "customerResolvability", type: { name: "String" } @@ -742,156 +802,139 @@ export const A2AProtectedDiskDetails: msRest.CompositeMapper = { } }; -export const A2AProtectedManagedDiskDetails: msRest.CompositeMapper = { - serializedName: "A2AProtectedManagedDiskDetails", +export const FabricCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "A2AProtectedManagedDiskDetails", + className: "FabricCollection", modelProperties: { - diskId: { - serializedName: "diskId", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Fabric" + } + } } }, - recoveryResourceGroupId: { - serializedName: "recoveryResourceGroupId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - recoveryTargetDiskId: { - serializedName: "recoveryTargetDiskId", + } + } + } +}; + +export const FabricProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FabricProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - recoveryReplicaDiskId: { - serializedName: "recoveryReplicaDiskId", + encryptionDetails: { + serializedName: "encryptionDetails", type: { - name: "String" + name: "Composite", + className: "EncryptionDetails" } }, - recoveryReplicaDiskAccountType: { - serializedName: "recoveryReplicaDiskAccountType", + rolloverEncryptionDetails: { + serializedName: "rolloverEncryptionDetails", type: { - name: "String" + name: "Composite", + className: "EncryptionDetails" } }, - recoveryTargetDiskAccountType: { - serializedName: "recoveryTargetDiskAccountType", + internalIdentifier: { + serializedName: "internalIdentifier", type: { name: "String" } }, - diskName: { - serializedName: "diskName", + bcdrState: { + serializedName: "bcdrState", type: { name: "String" } }, - diskCapacityInBytes: { - serializedName: "diskCapacityInBytes", + customDetails: { + serializedName: "customDetails", type: { - name: "Number" + name: "Composite", + className: "FabricSpecificDetails" } }, - primaryStagingAzureStorageAccountId: { - serializedName: "primaryStagingAzureStorageAccountId", + healthErrorDetails: { + serializedName: "healthErrorDetails", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } } }, - diskType: { - serializedName: "diskType", + health: { + serializedName: "health", type: { name: "String" } - }, - resyncRequired: { - serializedName: "resyncRequired", + } + } + } +}; + +export const EncryptionDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EncryptionDetails", + modelProperties: { + kekState: { + serializedName: "kekState", type: { - name: "Boolean" + name: "String" } }, - monitoringPercentageCompletion: { - serializedName: "monitoringPercentageCompletion", - type: { - name: "Number" - } - }, - monitoringJobType: { - serializedName: "monitoringJobType", - type: { - name: "String" - } - }, - dataPendingInStagingStorageAccountInMB: { - serializedName: "dataPendingInStagingStorageAccountInMB", - type: { - name: "Number" - } - }, - dataPendingAtSourceAgentInMB: { - serializedName: "dataPendingAtSourceAgentInMB", - type: { - name: "Number" - } - }, - isDiskEncrypted: { - serializedName: "isDiskEncrypted", - type: { - name: "Boolean" - } - }, - secretIdentifier: { - serializedName: "secretIdentifier", - type: { - name: "String" - } - }, - dekKeyVaultArmId: { - serializedName: "dekKeyVaultArmId", - type: { - name: "String" - } - }, - isDiskKeyEncrypted: { - serializedName: "isDiskKeyEncrypted", - type: { - name: "Boolean" - } - }, - keyIdentifier: { - serializedName: "keyIdentifier", + kekCertThumbprint: { + serializedName: "kekCertThumbprint", type: { name: "String" } }, - kekKeyVaultArmId: { - serializedName: "kekKeyVaultArmId", + kekCertExpiryDate: { + serializedName: "kekCertExpiryDate", type: { - name: "String" + name: "DateTime" } } } } }; -export const ProtectionContainerMappingProviderSpecificDetails: msRest.CompositeMapper = { - serializedName: "ProtectionContainerMappingProviderSpecificDetails", +export const FabricSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", + className: "FabricSpecificDetails", + uberParent: "FabricSpecificDetails", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "ProtectionContainerMappingProviderSpecificDetails", - className: "ProtectionContainerMappingProviderSpecificDetails", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -900,57 +943,51 @@ export const ProtectionContainerMappingProviderSpecificDetails: msRest.Composite } }; -export const A2AProtectionContainerMappingDetails: msRest.CompositeMapper = { - serializedName: "A2A", +export const FabricCreationInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ProtectionContainerMappingProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "ProtectionContainerMappingProviderSpecificDetails", - className: "A2AProtectionContainerMappingDetails", + className: "FabricCreationInput", modelProperties: { - ...ProtectionContainerMappingProviderSpecificDetails.type.modelProperties, - agentAutoUpdateStatus: { - serializedName: "agentAutoUpdateStatus", - type: { - name: "String" - } - }, - automationAccountArmId: { - serializedName: "automationAccountArmId", - type: { - name: "String" - } - }, - scheduleName: { - serializedName: "scheduleName", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "FabricCreationInputProperties" } - }, - jobScheduleName: { - serializedName: "jobScheduleName", + } + } + } +}; + +export const FabricCreationInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FabricCreationInputProperties", + modelProperties: { + customDetails: { + serializedName: "customDetails", type: { - name: "String" + name: "Composite", + className: "FabricSpecificCreationInput" } } } } }; -export const ProviderSpecificRecoveryPointDetails: msRest.CompositeMapper = { - serializedName: "ProviderSpecificRecoveryPointDetails", +export const FabricSpecificCreationInput: coreClient.CompositeMapper = { type: { name: "Composite", + className: "FabricSpecificCreationInput", + uberParent: "FabricSpecificCreationInput", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "ProviderSpecificRecoveryPointDetails", - className: "ProviderSpecificRecoveryPointDetails", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -959,145 +996,176 @@ export const ProviderSpecificRecoveryPointDetails: msRest.CompositeMapper = { } }; -export const A2ARecoveryPointDetails: msRest.CompositeMapper = { - serializedName: "A2A", +export const FailoverProcessServerRequest: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ProviderSpecificRecoveryPointDetails.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificRecoveryPointDetails", - className: "A2ARecoveryPointDetails", + className: "FailoverProcessServerRequest", modelProperties: { - ...ProviderSpecificRecoveryPointDetails.type.modelProperties, - recoveryPointSyncType: { - serializedName: "recoveryPointSyncType", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "FailoverProcessServerRequestProperties" } } } } }; -export const VMNicDetails: msRest.CompositeMapper = { - serializedName: "VMNicDetails", +export const FailoverProcessServerRequestProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "VMNicDetails", + className: "FailoverProcessServerRequestProperties", modelProperties: { - nicId: { - serializedName: "nicId", + containerName: { + serializedName: "containerName", type: { name: "String" } }, - replicaNicId: { - serializedName: "replicaNicId", + sourceProcessServerId: { + serializedName: "sourceProcessServerId", type: { name: "String" } }, - sourceNicArmId: { - serializedName: "sourceNicArmId", + targetProcessServerId: { + serializedName: "targetProcessServerId", type: { name: "String" } }, - vMSubnetName: { - serializedName: "vMSubnetName", + vmsToMigrate: { + serializedName: "vmsToMigrate", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - vMNetworkName: { - serializedName: "vMNetworkName", + updateType: { + serializedName: "updateType", type: { name: "String" } - }, - recoveryVMNetworkId: { - serializedName: "recoveryVMNetworkId", + } + } + } +}; + +export const RenewCertificateInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RenewCertificateInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "RenewCertificateInputProperties" } - }, - recoveryVMSubnetName: { - serializedName: "recoveryVMSubnetName", + } + } + } +}; + +export const RenewCertificateInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RenewCertificateInputProperties", + modelProperties: { + renewCertificateType: { + serializedName: "renewCertificateType", type: { name: "String" } - }, - ipAddressType: { - serializedName: "ipAddressType", + } + } + } +}; + +export const LogicalNetworkCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LogicalNetworkCollection", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LogicalNetwork" + } + } } }, - primaryNicStaticIPAddress: { - serializedName: "primaryNicStaticIPAddress", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - replicaNicStaticIPAddress: { - serializedName: "replicaNicStaticIPAddress", + } + } + } +}; + +export const LogicalNetworkProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LogicalNetworkProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - selectionType: { - serializedName: "selectionType", + networkVirtualizationStatus: { + serializedName: "networkVirtualizationStatus", type: { name: "String" } }, - recoveryNicIpAddressType: { - serializedName: "recoveryNicIpAddressType", + logicalNetworkUsage: { + serializedName: "logicalNetworkUsage", type: { name: "String" } }, - enableAcceleratedNetworkingOnRecovery: { - serializedName: "enableAcceleratedNetworkingOnRecovery", + logicalNetworkDefinitionsStatus: { + serializedName: "logicalNetworkDefinitionsStatus", type: { - name: "Boolean" + name: "String" } } } } }; -export const RoleAssignment: msRest.CompositeMapper = { - serializedName: "RoleAssignment", +export const NetworkCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignment", + className: "NetworkCollection", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - name: { - serializedName: "name", - type: { - name: "String" - } - }, - scope: { - serializedName: "scope", - type: { - name: "String" - } - }, - principalId: { - serializedName: "principalId", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Network" + } + } } }, - roleDefinitionId: { - serializedName: "roleDefinitionId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -1106,32 +1174,37 @@ export const RoleAssignment: msRest.CompositeMapper = { } }; -export const InputEndpoint: msRest.CompositeMapper = { - serializedName: "InputEndpoint", +export const NetworkProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InputEndpoint", + className: "NetworkProperties", modelProperties: { - endpointName: { - serializedName: "endpointName", + fabricType: { + serializedName: "fabricType", type: { name: "String" } }, - privatePort: { - serializedName: "privatePort", + subnets: { + serializedName: "subnets", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Subnet" + } + } } }, - publicPort: { - serializedName: "publicPort", + friendlyName: { + serializedName: "friendlyName", type: { - name: "Number" + name: "String" } }, - protocol: { - serializedName: "protocol", + networkType: { + serializedName: "networkType", type: { name: "String" } @@ -1140,43 +1213,30 @@ export const InputEndpoint: msRest.CompositeMapper = { } }; -export const AzureToAzureVmSyncedConfigDetails: msRest.CompositeMapper = { - serializedName: "AzureToAzureVmSyncedConfigDetails", +export const Subnet: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AzureToAzureVmSyncedConfigDetails", + className: "Subnet", modelProperties: { - tags: { - serializedName: "tags", + name: { + serializedName: "name", type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } + name: "String" } }, - roleAssignments: { - serializedName: "roleAssignments", + friendlyName: { + serializedName: "friendlyName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleAssignment" - } - } + name: "String" } }, - inputEndpoints: { - serializedName: "inputEndpoints", + addressList: { + serializedName: "addressList", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "InputEndpoint" + name: "String" } } } @@ -1185,20 +1245,25 @@ export const AzureToAzureVmSyncedConfigDetails: msRest.CompositeMapper = { } }; -export const ReplicationProviderSpecificSettings: msRest.CompositeMapper = { - serializedName: "ReplicationProviderSpecificSettings", +export const NetworkMappingCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ReplicationProviderSpecificSettings", - className: "ReplicationProviderSpecificSettings", + className: "NetworkMappingCollection", modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkMapping" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -1207,238 +1272,309 @@ export const ReplicationProviderSpecificSettings: msRest.CompositeMapper = { } }; -export const A2AReplicationDetails: msRest.CompositeMapper = { - serializedName: "A2A", +export const NetworkMappingProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", - className: "A2AReplicationDetails", + className: "NetworkMappingProperties", modelProperties: { - ...ReplicationProviderSpecificSettings.type.modelProperties, - fabricObjectId: { - serializedName: "fabricObjectId", + state: { + serializedName: "state", type: { name: "String" } }, - multiVmGroupId: { - serializedName: "multiVmGroupId", + primaryNetworkFriendlyName: { + serializedName: "primaryNetworkFriendlyName", type: { name: "String" } }, - multiVmGroupName: { - serializedName: "multiVmGroupName", + primaryNetworkId: { + serializedName: "primaryNetworkId", type: { name: "String" } }, - multiVmGroupCreateOption: { - serializedName: "multiVmGroupCreateOption", + primaryFabricFriendlyName: { + serializedName: "primaryFabricFriendlyName", type: { name: "String" } }, - managementId: { - serializedName: "managementId", + recoveryNetworkFriendlyName: { + serializedName: "recoveryNetworkFriendlyName", type: { name: "String" } }, - protectedDisks: { - serializedName: "protectedDisks", + recoveryNetworkId: { + serializedName: "recoveryNetworkId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "A2AProtectedDiskDetails" - } - } + name: "String" } }, - protectedManagedDisks: { - serializedName: "protectedManagedDisks", + recoveryFabricArmId: { + serializedName: "recoveryFabricArmId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "A2AProtectedManagedDiskDetails" - } - } + name: "String" } }, - recoveryBootDiagStorageAccountId: { - serializedName: "recoveryBootDiagStorageAccountId", + recoveryFabricFriendlyName: { + serializedName: "recoveryFabricFriendlyName", type: { name: "String" } }, - primaryFabricLocation: { - serializedName: "primaryFabricLocation", + fabricSpecificSettings: { + serializedName: "fabricSpecificSettings", type: { - name: "String" + name: "Composite", + className: "NetworkMappingFabricSpecificSettings" } - }, - recoveryFabricLocation: { - serializedName: "recoveryFabricLocation", + } + } + } +}; + +export const NetworkMappingFabricSpecificSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkMappingFabricSpecificSettings", + uberParent: "NetworkMappingFabricSpecificSettings", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - osType: { - serializedName: "osType", + } + } + } +}; + +export const CreateNetworkMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreateNetworkMappingInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "CreateNetworkMappingInputProperties" } - }, - recoveryAzureVMSize: { - serializedName: "recoveryAzureVMSize", + } + } + } +}; + +export const CreateNetworkMappingInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreateNetworkMappingInputProperties", + modelProperties: { + recoveryFabricName: { + serializedName: "recoveryFabricName", type: { name: "String" } }, - recoveryAzureVMName: { - serializedName: "recoveryAzureVMName", + recoveryNetworkId: { + serializedName: "recoveryNetworkId", + required: true, type: { name: "String" } }, - recoveryAzureResourceGroupId: { - serializedName: "recoveryAzureResourceGroupId", + fabricSpecificDetails: { + serializedName: "fabricSpecificDetails", type: { - name: "String" + name: "Composite", + className: "FabricSpecificCreateNetworkMappingInput" } - }, - recoveryCloudService: { - serializedName: "recoveryCloudService", + } + } + } +}; + +export const FabricSpecificCreateNetworkMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FabricSpecificCreateNetworkMappingInput", + uberParent: "FabricSpecificCreateNetworkMappingInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - recoveryAvailabilitySet: { - serializedName: "recoveryAvailabilitySet", + } + } + } +}; + +export const UpdateNetworkMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateNetworkMappingInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "UpdateNetworkMappingInputProperties" + } + } + } + } +}; + +export const UpdateNetworkMappingInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateNetworkMappingInputProperties", + modelProperties: { + recoveryFabricName: { + serializedName: "recoveryFabricName", type: { name: "String" } }, - selectedRecoveryAzureNetworkId: { - serializedName: "selectedRecoveryAzureNetworkId", + recoveryNetworkId: { + serializedName: "recoveryNetworkId", type: { name: "String" } }, - vmNics: { - serializedName: "vmNics", + fabricSpecificDetails: { + serializedName: "fabricSpecificDetails", + type: { + name: "Composite", + className: "FabricSpecificUpdateNetworkMappingInput" + } + } + } + } +}; + +export const FabricSpecificUpdateNetworkMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FabricSpecificUpdateNetworkMappingInput", + uberParent: "FabricSpecificUpdateNetworkMappingInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ProtectionContainerCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectionContainerCollection", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VMNicDetails" + className: "ProtectionContainer" } } } }, - vmSyncedConfigDetails: { - serializedName: "vmSyncedConfigDetails", - type: { - name: "Composite", - className: "AzureToAzureVmSyncedConfigDetails" - } - }, - monitoringPercentageCompletion: { - serializedName: "monitoringPercentageCompletion", - type: { - name: "Number" - } - }, - monitoringJobType: { - serializedName: "monitoringJobType", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - lastHeartbeat: { - serializedName: "lastHeartbeat", - type: { - name: "DateTime" - } - }, - agentVersion: { - serializedName: "agentVersion", + } + } + } +}; + +export const ProtectionContainerProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectionContainerProperties", + modelProperties: { + fabricFriendlyName: { + serializedName: "fabricFriendlyName", type: { name: "String" } }, - isReplicationAgentUpdateRequired: { - serializedName: "isReplicationAgentUpdateRequired", - type: { - name: "Boolean" - } - }, - recoveryFabricObjectId: { - serializedName: "recoveryFabricObjectId", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - vmProtectionState: { - serializedName: "vmProtectionState", + fabricType: { + serializedName: "fabricType", type: { name: "String" } }, - vmProtectionStateDescription: { - serializedName: "vmProtectionStateDescription", + protectedItemCount: { + serializedName: "protectedItemCount", type: { - name: "String" + name: "Number" } }, - lifecycleId: { - serializedName: "lifecycleId", + pairingStatus: { + serializedName: "pairingStatus", type: { name: "String" } }, - testFailoverRecoveryFabricObjectId: { - serializedName: "testFailoverRecoveryFabricObjectId", + role: { + serializedName: "role", type: { name: "String" } }, - rpoInSeconds: { - serializedName: "rpoInSeconds", - type: { - name: "Number" - } - }, - lastRpoCalculatedTime: { - serializedName: "lastRpoCalculatedTime", + fabricSpecificDetails: { + serializedName: "fabricSpecificDetails", type: { - name: "DateTime" + name: "Composite", + className: "ProtectionContainerFabricSpecificDetails" } } } } }; -export const ReverseReplicationProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "ReverseReplicationProviderSpecificInput", +export const ProtectionContainerFabricSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ReverseReplicationProviderSpecificInput", - className: "ReverseReplicationProviderSpecificInput", + className: "ProtectionContainerFabricSpecificDetails", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + readOnly: true, type: { name: "String" } @@ -1447,75 +1583,56 @@ export const ReverseReplicationProviderSpecificInput: msRest.CompositeMapper = { } }; -export const A2AReprotectInput: msRest.CompositeMapper = { - serializedName: "A2A", +export const CreateProtectionContainerInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ReverseReplicationProviderSpecificInput", - className: "A2AReprotectInput", + className: "CreateProtectionContainerInput", modelProperties: { - ...ReverseReplicationProviderSpecificInput.type.modelProperties, - recoveryContainerId: { - serializedName: "recoveryContainerId", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "CreateProtectionContainerInputProperties" } - }, - vmDisks: { - serializedName: "vmDisks", + } + } + } +}; + +export const CreateProtectionContainerInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreateProtectionContainerInputProperties", + modelProperties: { + providerSpecificInput: { + serializedName: "providerSpecificInput", type: { name: "Sequence", element: { type: { name: "Composite", - className: "A2AVmDiskInputDetails" + className: "ReplicationProviderSpecificContainerCreationInput" } } } - }, - recoveryResourceGroupId: { - serializedName: "recoveryResourceGroupId", - type: { - name: "String" - } - }, - recoveryCloudServiceId: { - serializedName: "recoveryCloudServiceId", - type: { - name: "String" - } - }, - recoveryAvailabilitySetId: { - serializedName: "recoveryAvailabilitySetId", - type: { - name: "String" - } - }, - policyId: { - serializedName: "policyId", - type: { - name: "String" - } } } } }; -export const SwitchProtectionProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "SwitchProtectionProviderSpecificInput", +export const ReplicationProviderSpecificContainerCreationInput: coreClient.CompositeMapper = { type: { name: "Composite", + className: "ReplicationProviderSpecificContainerCreationInput", + uberParent: "ReplicationProviderSpecificContainerCreationInput", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "SwitchProtectionProviderSpecificInput", - className: "SwitchProtectionProviderSpecificInput", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -1524,265 +1641,244 @@ export const SwitchProtectionProviderSpecificInput: msRest.CompositeMapper = { } }; -export const A2ASwitchProtectionInput: msRest.CompositeMapper = { - serializedName: "A2A", +export const DiscoverProtectableItemRequest: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: SwitchProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "SwitchProtectionProviderSpecificInput", - className: "A2ASwitchProtectionInput", + className: "DiscoverProtectableItemRequest", modelProperties: { - ...SwitchProtectionProviderSpecificInput.type.modelProperties, - recoveryContainerId: { - serializedName: "recoveryContainerId", + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "DiscoverProtectableItemRequestProperties" + } + } + } + } +}; + +export const DiscoverProtectableItemRequestProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiscoverProtectableItemRequestProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - vmDisks: { - serializedName: "vmDisks", + ipAddress: { + serializedName: "ipAddress", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "A2AVmDiskInputDetails" - } - } + name: "String" } }, - vmManagedDisks: { - serializedName: "vmManagedDisks", + osType: { + serializedName: "osType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrationItemCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationItemCollection", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "A2AVmManagedDiskInputDetails" + className: "MigrationItem" } } } }, - recoveryResourceGroupId: { - serializedName: "recoveryResourceGroupId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - recoveryCloudServiceId: { - serializedName: "recoveryCloudServiceId", - type: { - name: "String" - } - }, - recoveryAvailabilitySetId: { - serializedName: "recoveryAvailabilitySetId", + } + } + } +}; + +export const MigrationItemProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationItemProperties", + modelProperties: { + machineName: { + serializedName: "machineName", + readOnly: true, type: { name: "String" } }, policyId: { serializedName: "policyId", + readOnly: true, type: { name: "String" } }, - recoveryBootDiagStorageAccountId: { - serializedName: "recoveryBootDiagStorageAccountId", + policyFriendlyName: { + serializedName: "policyFriendlyName", + readOnly: true, type: { name: "String" } }, - diskEncryptionInfo: { - serializedName: "diskEncryptionInfo", - type: { - name: "Composite", - className: "DiskEncryptionInfo" - } - } - } - } -}; - -export const ReplicationProviderSpecificUpdateContainerMappingInput: msRest.CompositeMapper = { - serializedName: "ReplicationProviderSpecificUpdateContainerMappingInput", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ReplicationProviderSpecificUpdateContainerMappingInput", - className: "ReplicationProviderSpecificUpdateContainerMappingInput", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", - type: { - name: "String" - } - } - } - } -}; - -export const A2AUpdateContainerMappingInput: msRest.CompositeMapper = { - serializedName: "A2A", - type: { - name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificUpdateContainerMappingInput.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificUpdateContainerMappingInput", - className: "A2AUpdateContainerMappingInput", - modelProperties: { - ...ReplicationProviderSpecificUpdateContainerMappingInput.type.modelProperties, - agentAutoUpdateStatus: { - serializedName: "agentAutoUpdateStatus", + migrationState: { + serializedName: "migrationState", + readOnly: true, type: { name: "String" } }, - automationAccountArmId: { - serializedName: "automationAccountArmId", + migrationStateDescription: { + serializedName: "migrationStateDescription", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const A2AVmManagedDiskUpdateDetails: msRest.CompositeMapper = { - serializedName: "A2AVmManagedDiskUpdateDetails", - type: { - name: "Composite", - className: "A2AVmManagedDiskUpdateDetails", - modelProperties: { - diskId: { - serializedName: "diskId", + }, + lastTestMigrationTime: { + serializedName: "lastTestMigrationTime", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - recoveryTargetDiskAccountType: { - serializedName: "recoveryTargetDiskAccountType", + lastTestMigrationStatus: { + serializedName: "lastTestMigrationStatus", + readOnly: true, type: { name: "String" } }, - recoveryReplicaDiskAccountType: { - serializedName: "recoveryReplicaDiskAccountType", + testMigrateState: { + serializedName: "testMigrateState", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const UpdateReplicationProtectedItemProviderInput: msRest.CompositeMapper = { - serializedName: "UpdateReplicationProtectedItemProviderInput", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "UpdateReplicationProtectedItemProviderInput", - className: "UpdateReplicationProtectedItemProviderInput", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + }, + testMigrateStateDescription: { + serializedName: "testMigrateStateDescription", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const A2AUpdateReplicationProtectedItemInput: msRest.CompositeMapper = { - serializedName: "A2A", - type: { - name: "Composite", - polymorphicDiscriminator: UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, - uberParent: "UpdateReplicationProtectedItemProviderInput", - className: "A2AUpdateReplicationProtectedItemInput", - modelProperties: { - ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, - recoveryCloudServiceId: { - serializedName: "recoveryCloudServiceId", + }, + health: { + serializedName: "health", + readOnly: true, type: { name: "String" } }, - recoveryResourceGroupId: { - serializedName: "recoveryResourceGroupId", + healthErrors: { + serializedName: "healthErrors", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } } }, - managedDiskUpdateDetails: { - serializedName: "managedDiskUpdateDetails", + allowedOperations: { + serializedName: "allowedOperations", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "A2AVmManagedDiskUpdateDetails" + name: "String" } } } }, - recoveryBootDiagStorageAccountId: { - serializedName: "recoveryBootDiagStorageAccountId", + currentJob: { + serializedName: "currentJob", + type: { + name: "Composite", + className: "CurrentJobDetails" + } + }, + eventCorrelationId: { + serializedName: "eventCorrelationId", + readOnly: true, type: { name: "String" } }, - diskEncryptionInfo: { - serializedName: "diskEncryptionInfo", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "DiskEncryptionInfo" + className: "MigrationProviderSpecificSettings" } } } } }; -export const AddVCenterRequestProperties: msRest.CompositeMapper = { - serializedName: "AddVCenterRequestProperties", +export const CurrentJobDetails: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AddVCenterRequestProperties", + className: "CurrentJobDetails", modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" - } - }, - ipAddress: { - serializedName: "ipAddress", + jobName: { + serializedName: "jobName", + readOnly: true, type: { name: "String" } }, - processServerId: { - serializedName: "processServerId", + jobId: { + serializedName: "jobId", + readOnly: true, type: { name: "String" } }, - port: { - serializedName: "port", + startTime: { + serializedName: "startTime", + readOnly: true, type: { - name: "String" + name: "DateTime" } - }, - runAsAccountId: { - serializedName: "runAsAccountId", + } + } + } +}; + +export const MigrationProviderSpecificSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationProviderSpecificSettings", + uberParent: "MigrationProviderSpecificSettings", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -1791,85 +1887,58 @@ export const AddVCenterRequestProperties: msRest.CompositeMapper = { } }; -export const AddVCenterRequest: msRest.CompositeMapper = { - serializedName: "AddVCenterRequest", +export const EnableMigrationInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AddVCenterRequest", + className: "EnableMigrationInput", modelProperties: { properties: { serializedName: "properties", type: { name: "Composite", - className: "AddVCenterRequestProperties" + className: "EnableMigrationInputProperties" } } } } }; -export const AlertProperties: msRest.CompositeMapper = { - serializedName: "AlertProperties", +export const EnableMigrationInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AlertProperties", + className: "EnableMigrationInputProperties", modelProperties: { - sendToOwners: { - serializedName: "sendToOwners", + policyId: { + serializedName: "policyId", + required: true, type: { name: "String" } }, - customEmailAddresses: { - serializedName: "customEmailAddresses", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - locale: { - serializedName: "locale", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "EnableMigrationProviderSpecificInput" } } } } }; -export const Resource: msRest.CompositeMapper = { - serializedName: "Resource", +export const EnableMigrationProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Resource", + className: "EnableMigrationProviderSpecificInput", + uberParent: "EnableMigrationProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - id: { - readOnly: true, - serializedName: "id", - type: { - name: "String" - } - }, - name: { - readOnly: true, - serializedName: "name", - type: { - name: "String" - } - }, - type: { - readOnly: true, - serializedName: "type", - type: { - name: "String" - } - }, - location: { - serializedName: "location", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -1878,124 +1947,104 @@ export const Resource: msRest.CompositeMapper = { } }; -export const Alert: msRest.CompositeMapper = { - serializedName: "Alert", +export const UpdateMigrationItemInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Alert", + className: "UpdateMigrationItemInput", modelProperties: { - ...Resource.type.modelProperties, properties: { serializedName: "properties", type: { name: "Composite", - className: "AlertProperties" + className: "UpdateMigrationItemInputProperties" } } } } }; -export const ApplyRecoveryPointInputProperties: msRest.CompositeMapper = { - serializedName: "ApplyRecoveryPointInputProperties", +export const UpdateMigrationItemInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplyRecoveryPointInputProperties", + className: "UpdateMigrationItemInputProperties", modelProperties: { - recoveryPointId: { - serializedName: "recoveryPointId", - type: { - name: "String" - } - }, providerSpecificDetails: { serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "ApplyRecoveryPointProviderSpecificInput" + className: "UpdateMigrationItemProviderSpecificInput" } } } } }; -export const ApplyRecoveryPointInput: msRest.CompositeMapper = { - serializedName: "ApplyRecoveryPointInput", +export const UpdateMigrationItemProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplyRecoveryPointInput", + className: "UpdateMigrationItemProviderSpecificInput", + uberParent: "UpdateMigrationItemProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - properties: { - serializedName: "properties", + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Composite", - className: "ApplyRecoveryPointInputProperties" + name: "String" } } } } }; -export const JobDetails: msRest.CompositeMapper = { - serializedName: "JobDetails", +export const MigrateInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "JobDetails", - className: "JobDetails", + className: "MigrateInput", modelProperties: { - affectedObjectDetails: { - serializedName: "affectedObjectDetails", - type: { - name: "Dictionary", - value: { - type: { - name: "String" - } - } - } - }, - instanceType: { - required: true, - serializedName: "instanceType", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "MigrateInputProperties" } } } } }; -export const AsrJobDetails: msRest.CompositeMapper = { - serializedName: "AsrJobDetails", +export const MigrateInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, - uberParent: "JobDetails", - className: "AsrJobDetails", + className: "MigrateInputProperties", modelProperties: { - ...JobDetails.type.modelProperties + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Composite", + className: "MigrateProviderSpecificInput" + } + } } } }; -export const TaskTypeDetails: msRest.CompositeMapper = { - serializedName: "TaskTypeDetails", +export const MigrateProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", + className: "MigrateProviderSpecificInput", + uberParent: "MigrateProviderSpecificInput", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "TaskTypeDetails", - className: "TaskTypeDetails", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -2004,32 +2053,25 @@ export const TaskTypeDetails: msRest.CompositeMapper = { } }; -export const GroupTaskDetails: msRest.CompositeMapper = { - serializedName: "GroupTaskDetails", +export const MigrationRecoveryPointCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "GroupTaskDetails", - className: "GroupTaskDetails", + className: "MigrationRecoveryPointCollection", modelProperties: { - childTasks: { - serializedName: "childTasks", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ASRTask" + className: "MigrationRecoveryPoint" } } } }, - instanceType: { - required: true, - serializedName: "instanceType", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2038,78 +2080,127 @@ export const GroupTaskDetails: msRest.CompositeMapper = { } }; -export const ServiceError: msRest.CompositeMapper = { - serializedName: "ServiceError", +export const MigrationRecoveryPointProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ServiceError", + className: "MigrationRecoveryPointProperties", modelProperties: { - code: { - serializedName: "code", - type: { - name: "String" - } - }, - message: { - serializedName: "message", - type: { - name: "String" - } - }, - possibleCauses: { - serializedName: "possibleCauses", + recoveryPointTime: { + serializedName: "recoveryPointTime", + readOnly: true, type: { - name: "String" + name: "DateTime" } }, - recommendedAction: { - serializedName: "recommendedAction", + recoveryPointType: { + serializedName: "recoveryPointType", + readOnly: true, type: { name: "String" } - }, - activityId: { - serializedName: "activityId", + } + } + } +}; + +export const ResyncInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResyncInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "ResyncInputProperties" } } } } }; -export const ProviderError: msRest.CompositeMapper = { - serializedName: "ProviderError", +export const ResyncInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProviderError", + className: "ResyncInputProperties", modelProperties: { - errorCode: { - serializedName: "errorCode", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "Number" + name: "Composite", + className: "ResyncProviderSpecificInput" } - }, - errorMessage: { - serializedName: "errorMessage", + } + } + } +}; + +export const ResyncProviderSpecificInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResyncProviderSpecificInput", + uberParent: "ResyncProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - errorId: { - serializedName: "errorId", + } + } + } +}; + +export const TestMigrateInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TestMigrateInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "TestMigrateInputProperties" } - }, - possibleCauses: { - serializedName: "possibleCauses", + } + } + } +}; + +export const TestMigrateInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TestMigrateInputProperties", + modelProperties: { + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "TestMigrateProviderSpecificInput" } - }, - recommendedAction: { - serializedName: "recommendedAction", + } + } + } +}; + +export const TestMigrateProviderSpecificInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TestMigrateProviderSpecificInput", + uberParent: "TestMigrateProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -2118,40 +2209,59 @@ export const ProviderError: msRest.CompositeMapper = { } }; -export const JobErrorDetails: msRest.CompositeMapper = { - serializedName: "JobErrorDetails", +export const TestMigrateCleanupInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobErrorDetails", + className: "TestMigrateCleanupInput", modelProperties: { - serviceErrorDetails: { - serializedName: "serviceErrorDetails", - type: { - name: "Composite", - className: "ServiceError" - } - }, - providerErrorDetails: { - serializedName: "providerErrorDetails", + properties: { + serializedName: "properties", type: { name: "Composite", - className: "ProviderError" + className: "TestMigrateCleanupInputProperties" } - }, - errorLevel: { - serializedName: "errorLevel", + } + } + } +}; + +export const TestMigrateCleanupInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TestMigrateCleanupInputProperties", + modelProperties: { + comments: { + constraints: { + MaxLength: 1024 + }, + serializedName: "comments", type: { name: "String" } - }, - creationTime: { - serializedName: "creationTime", + } + } + } +}; + +export const ProtectableItemCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectableItemCollection", + modelProperties: { + value: { + serializedName: "value", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProtectableItem" + } + } } }, - taskId: { - serializedName: "taskId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2160,38 +2270,37 @@ export const JobErrorDetails: msRest.CompositeMapper = { } }; -export const ASRTask: msRest.CompositeMapper = { - serializedName: "ASRTask", +export const ProtectableItemProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ASRTask", + className: "ProtectableItemProperties", modelProperties: { - taskId: { - serializedName: "taskId", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - name: { - serializedName: "name", + protectionStatus: { + serializedName: "protectionStatus", type: { name: "String" } }, - startTime: { - serializedName: "startTime", + replicationProtectedItemId: { + serializedName: "replicationProtectedItemId", type: { - name: "DateTime" + name: "String" } }, - endTime: { - serializedName: "endTime", + recoveryServicesProviderId: { + serializedName: "recoveryServicesProviderId", type: { - name: "DateTime" + name: "String" } }, - allowedActions: { - serializedName: "allowedActions", + protectionReadinessErrors: { + serializedName: "protectionReadinessErrors", type: { name: "Sequence", element: { @@ -2201,207 +2310,185 @@ export const ASRTask: msRest.CompositeMapper = { } } }, - friendlyName: { - serializedName: "friendlyName", + supportedReplicationProviders: { + serializedName: "supportedReplicationProviders", type: { - name: "String" - } - }, - state: { - serializedName: "state", - type: { - name: "String" - } - }, - stateDescription: { - serializedName: "stateDescription", - type: { - name: "String" - } - }, - taskType: { - serializedName: "taskType", - type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, customDetails: { serializedName: "customDetails", type: { name: "Composite", - className: "TaskTypeDetails" + className: "ConfigurationSettings" } - }, - groupTaskCustomDetails: { - serializedName: "groupTaskCustomDetails", + } + } + } +}; + +export const ConfigurationSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConfigurationSettings", + uberParent: "ConfigurationSettings", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Composite", - className: "GroupTaskDetails" + name: "String" } - }, - errors: { - serializedName: "errors", + } + } + } +}; + +export const ReplicationProtectedItemCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProtectedItemCollection", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "JobErrorDetails" + className: "ReplicationProtectedItem" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const AutomationRunbookTaskDetails: msRest.CompositeMapper = { - serializedName: "AutomationRunbookTaskDetails", +export const ReplicationProtectedItemProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "AutomationRunbookTaskDetails", + className: "ReplicationProtectedItemProperties", modelProperties: { - ...TaskTypeDetails.type.modelProperties, - name: { - serializedName: "name", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - cloudServiceName: { - serializedName: "cloudServiceName", + protectedItemType: { + serializedName: "protectedItemType", type: { name: "String" } }, - subscriptionId: { - serializedName: "subscriptionId", + protectableItemId: { + serializedName: "protectableItemId", type: { name: "String" } }, - accountName: { - serializedName: "accountName", + recoveryServicesProviderId: { + serializedName: "recoveryServicesProviderId", type: { name: "String" } }, - runbookId: { - serializedName: "runbookId", + primaryFabricFriendlyName: { + serializedName: "primaryFabricFriendlyName", type: { name: "String" } }, - runbookName: { - serializedName: "runbookName", + primaryFabricProvider: { + serializedName: "primaryFabricProvider", type: { name: "String" } }, - jobId: { - serializedName: "jobId", + recoveryFabricFriendlyName: { + serializedName: "recoveryFabricFriendlyName", type: { name: "String" } }, - jobOutput: { - serializedName: "jobOutput", + recoveryFabricId: { + serializedName: "recoveryFabricId", type: { name: "String" } }, - isPrimarySideScript: { - serializedName: "isPrimarySideScript", + primaryProtectionContainerFriendlyName: { + serializedName: "primaryProtectionContainerFriendlyName", type: { - name: "Boolean" + name: "String" } - } - } - } -}; - -export const FabricSpecificCreationInput: msRest.CompositeMapper = { - serializedName: "FabricSpecificCreationInput", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "FabricSpecificCreationInput", - className: "FabricSpecificCreationInput", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + }, + recoveryProtectionContainerFriendlyName: { + serializedName: "recoveryProtectionContainerFriendlyName", type: { name: "String" } - } - } - } -}; - -export const AzureFabricCreationInput: msRest.CompositeMapper = { - serializedName: "Azure", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificCreationInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificCreationInput", - className: "AzureFabricCreationInput", - modelProperties: { - ...FabricSpecificCreationInput.type.modelProperties, - location: { - serializedName: "location", + }, + protectionState: { + serializedName: "protectionState", type: { name: "String" } - } - } - } -}; - -export const FabricSpecificDetails: msRest.CompositeMapper = { - serializedName: "FabricSpecificDetails", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "FabricSpecificDetails", - className: "FabricSpecificDetails", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + }, + protectionStateDescription: { + serializedName: "protectionStateDescription", type: { name: "String" } - } - } - } -}; - -export const AzureFabricSpecificDetails: msRest.CompositeMapper = { - serializedName: "Azure", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificDetails.type.polymorphicDiscriminator, - uberParent: "FabricSpecificDetails", - className: "AzureFabricSpecificDetails", - modelProperties: { - ...FabricSpecificDetails.type.modelProperties, - location: { - serializedName: "location", + }, + activeLocation: { + serializedName: "activeLocation", type: { name: "String" } }, - containerIds: { - serializedName: "containerIds", + testFailoverState: { + serializedName: "testFailoverState", + type: { + name: "String" + } + }, + testFailoverStateDescription: { + serializedName: "testFailoverStateDescription", + type: { + name: "String" + } + }, + switchProviderState: { + serializedName: "switchProviderState", + type: { + name: "String" + } + }, + switchProviderStateDescription: { + serializedName: "switchProviderStateDescription", + type: { + name: "String" + } + }, + allowedOperations: { + serializedName: "allowedOperations", type: { name: "Sequence", element: { @@ -2410,66 +2497,83 @@ export const AzureFabricSpecificDetails: msRest.CompositeMapper = { } } } - } - } - } -}; - -export const FabricSpecificCreateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "FabricSpecificCreateNetworkMappingInput", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "FabricSpecificCreateNetworkMappingInput", - className: "FabricSpecificCreateNetworkMappingInput", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + }, + replicationHealth: { + serializedName: "replicationHealth", type: { name: "String" } - } - } - } -}; - -export const AzureToAzureCreateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "AzureToAzure", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificCreateNetworkMappingInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificCreateNetworkMappingInput", - className: "AzureToAzureCreateNetworkMappingInput", - modelProperties: { - ...FabricSpecificCreateNetworkMappingInput.type.modelProperties, - primaryNetworkId: { - serializedName: "primaryNetworkId", + }, + failoverHealth: { + serializedName: "failoverHealth", type: { name: "String" } - } - } - } -}; - -export const NetworkMappingFabricSpecificSettings: msRest.CompositeMapper = { - serializedName: "NetworkMappingFabricSpecificSettings", - type: { - name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "NetworkMappingFabricSpecificSettings", - className: "NetworkMappingFabricSpecificSettings", - modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + }, + healthErrors: { + serializedName: "healthErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + policyId: { + serializedName: "policyId", + type: { + name: "String" + } + }, + policyFriendlyName: { + serializedName: "policyFriendlyName", + type: { + name: "String" + } + }, + lastSuccessfulFailoverTime: { + serializedName: "lastSuccessfulFailoverTime", + type: { + name: "DateTime" + } + }, + lastSuccessfulTestFailoverTime: { + serializedName: "lastSuccessfulTestFailoverTime", + type: { + name: "DateTime" + } + }, + currentScenario: { + serializedName: "currentScenario", + type: { + name: "Composite", + className: "CurrentScenarioDetails" + } + }, + failoverRecoveryPointId: { + serializedName: "failoverRecoveryPointId", + type: { + name: "String" + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Composite", + className: "ReplicationProviderSpecificSettings" + } + }, + recoveryContainerId: { + serializedName: "recoveryContainerId", + type: { + name: "String" + } + }, + eventCorrelationId: { + serializedName: "eventCorrelationId", type: { name: "String" } @@ -2478,45 +2582,46 @@ export const NetworkMappingFabricSpecificSettings: msRest.CompositeMapper = { } }; -export const AzureToAzureNetworkMappingSettings: msRest.CompositeMapper = { - serializedName: "AzureToAzure", +export const CurrentScenarioDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: NetworkMappingFabricSpecificSettings.type.polymorphicDiscriminator, - uberParent: "NetworkMappingFabricSpecificSettings", - className: "AzureToAzureNetworkMappingSettings", + className: "CurrentScenarioDetails", modelProperties: { - ...NetworkMappingFabricSpecificSettings.type.modelProperties, - primaryFabricLocation: { - serializedName: "primaryFabricLocation", + scenarioName: { + serializedName: "scenarioName", type: { name: "String" } }, - recoveryFabricLocation: { - serializedName: "recoveryFabricLocation", + jobId: { + serializedName: "jobId", type: { name: "String" } + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime" + } } } } }; -export const FabricSpecificUpdateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "FabricSpecificUpdateNetworkMappingInput", +export const ReplicationProviderSpecificSettings: coreClient.CompositeMapper = { type: { name: "Composite", + className: "ReplicationProviderSpecificSettings", + uberParent: "ReplicationProviderSpecificSettings", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "FabricSpecificUpdateNetworkMappingInput", - className: "FabricSpecificUpdateNetworkMappingInput", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -2525,91 +2630,63 @@ export const FabricSpecificUpdateNetworkMappingInput: msRest.CompositeMapper = { } }; -export const AzureToAzureUpdateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "AzureToAzure", +export const EnableProtectionInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: FabricSpecificUpdateNetworkMappingInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificUpdateNetworkMappingInput", - className: "AzureToAzureUpdateNetworkMappingInput", + className: "EnableProtectionInput", modelProperties: { - ...FabricSpecificUpdateNetworkMappingInput.type.modelProperties, - primaryNetworkId: { - serializedName: "primaryNetworkId", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "EnableProtectionInputProperties" } } } } }; -export const AzureVmDiskDetails: msRest.CompositeMapper = { - serializedName: "AzureVmDiskDetails", +export const EnableProtectionInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AzureVmDiskDetails", + className: "EnableProtectionInputProperties", modelProperties: { - vhdType: { - serializedName: "vhdType", - type: { - name: "String" - } - }, - vhdId: { - serializedName: "vhdId", - type: { - name: "String" - } - }, - vhdName: { - serializedName: "vhdName", - type: { - name: "String" - } - }, - maxSizeMB: { - serializedName: "maxSizeMB", - type: { - name: "String" - } - }, - targetDiskLocation: { - serializedName: "targetDiskLocation", + policyId: { + serializedName: "policyId", type: { name: "String" } }, - targetDiskName: { - serializedName: "targetDiskName", + protectableItemId: { + serializedName: "protectableItemId", type: { name: "String" } }, - lunId: { - serializedName: "lunId", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "EnableProtectionProviderSpecificInput" } } } } }; -export const ComputeSizeErrorDetails: msRest.CompositeMapper = { - serializedName: "ComputeSizeErrorDetails", +export const EnableProtectionProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ComputeSizeErrorDetails", + className: "EnableProtectionProviderSpecificInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - message: { - serializedName: "message", - type: { - name: "String" - } - }, - severity: { - serializedName: "severity", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -2618,348 +2695,466 @@ export const ComputeSizeErrorDetails: msRest.CompositeMapper = { } }; -export const ConfigurationSettings: msRest.CompositeMapper = { - serializedName: "ConfigurationSettings", +export const UpdateReplicationProtectedItemInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "ConfigurationSettings", - className: "ConfigurationSettings", + className: "UpdateReplicationProtectedItemInput", modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "UpdateReplicationProtectedItemInputProperties" } } } } }; -export const ConfigureAlertRequestProperties: msRest.CompositeMapper = { - serializedName: "ConfigureAlertRequestProperties", +export const UpdateReplicationProtectedItemInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ConfigureAlertRequestProperties", + className: "UpdateReplicationProtectedItemInputProperties", modelProperties: { - sendToOwners: { - serializedName: "sendToOwners", + recoveryAzureVMName: { + serializedName: "recoveryAzureVMName", type: { name: "String" } }, - customEmailAddresses: { - serializedName: "customEmailAddresses", + recoveryAzureVMSize: { + serializedName: "recoveryAzureVMSize", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - locale: { - serializedName: "locale", + selectedRecoveryAzureNetworkId: { + serializedName: "selectedRecoveryAzureNetworkId", type: { name: "String" } - } - } - } -}; - -export const ConfigureAlertRequest: msRest.CompositeMapper = { - serializedName: "ConfigureAlertRequest", - type: { - name: "Composite", - className: "ConfigureAlertRequest", - modelProperties: { - properties: { - serializedName: "properties", + }, + selectedTfoAzureNetworkId: { + serializedName: "selectedTfoAzureNetworkId", type: { - name: "Composite", - className: "ConfigureAlertRequestProperties" + name: "String" } - } - } - } -}; - -export const InconsistentVmDetails: msRest.CompositeMapper = { - serializedName: "InconsistentVmDetails", - type: { - name: "Composite", - className: "InconsistentVmDetails", - modelProperties: { - vmName: { - serializedName: "vmName", + }, + selectedSourceNicId: { + serializedName: "selectedSourceNicId", type: { name: "String" } }, - cloudName: { - serializedName: "cloudName", + enableRdpOnTargetOption: { + serializedName: "enableRdpOnTargetOption", type: { name: "String" } }, - details: { - serializedName: "details", + vmNics: { + serializedName: "vmNics", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "VMNicInputDetails" } } } }, - errorIds: { - serializedName: "errorIds", + licenseType: { + serializedName: "licenseType", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } - } + }, + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", + type: { + name: "String" + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Composite", + className: "UpdateReplicationProtectedItemProviderInput" + } + } } } }; -export const ConsistencyCheckTaskDetails: msRest.CompositeMapper = { - serializedName: "ConsistencyCheckTaskDetails", +export const VMNicInputDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "ConsistencyCheckTaskDetails", + className: "VMNicInputDetails", modelProperties: { - ...TaskTypeDetails.type.modelProperties, - vmDetails: { - serializedName: "vmDetails", + nicId: { + serializedName: "nicId", + type: { + name: "String" + } + }, + ipConfigs: { + serializedName: "ipConfigs", type: { name: "Sequence", element: { type: { name: "Composite", - className: "InconsistentVmDetails" + className: "IPConfigInputDetails" } } } + }, + selectionType: { + serializedName: "selectionType", + type: { + name: "String" + } + }, + recoveryNetworkSecurityGroupId: { + serializedName: "recoveryNetworkSecurityGroupId", + type: { + name: "String" + } + }, + enableAcceleratedNetworkingOnRecovery: { + serializedName: "enableAcceleratedNetworkingOnRecovery", + type: { + name: "Boolean" + } + }, + tfoNetworkSecurityGroupId: { + serializedName: "tfoNetworkSecurityGroupId", + type: { + name: "String" + } + }, + enableAcceleratedNetworkingOnTfo: { + serializedName: "enableAcceleratedNetworkingOnTfo", + type: { + name: "Boolean" + } + }, + recoveryNicName: { + serializedName: "recoveryNicName", + type: { + name: "String" + } + }, + recoveryNicResourceGroupName: { + serializedName: "recoveryNicResourceGroupName", + type: { + name: "String" + } + }, + reuseExistingNic: { + serializedName: "reuseExistingNic", + type: { + name: "Boolean" + } + }, + tfoNicName: { + serializedName: "tfoNicName", + type: { + name: "String" + } + }, + tfoNicResourceGroupName: { + serializedName: "tfoNicResourceGroupName", + type: { + name: "String" + } + }, + tfoReuseExistingNic: { + serializedName: "tfoReuseExistingNic", + type: { + name: "Boolean" + } + }, + targetNicName: { + serializedName: "targetNicName", + type: { + name: "String" + } } } } }; -export const CreateNetworkMappingInputProperties: msRest.CompositeMapper = { - serializedName: "CreateNetworkMappingInputProperties", +export const IPConfigInputDetails: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateNetworkMappingInputProperties", + className: "IPConfigInputDetails", modelProperties: { - recoveryFabricName: { - serializedName: "recoveryFabricName", + ipConfigName: { + serializedName: "ipConfigName", type: { name: "String" } }, - recoveryNetworkId: { - serializedName: "recoveryNetworkId", + isPrimary: { + serializedName: "isPrimary", + type: { + name: "Boolean" + } + }, + isSeletedForFailover: { + serializedName: "isSeletedForFailover", + type: { + name: "Boolean" + } + }, + recoverySubnetName: { + serializedName: "recoverySubnetName", type: { name: "String" } }, - fabricSpecificDetails: { - serializedName: "fabricSpecificDetails", + recoveryStaticIPAddress: { + serializedName: "recoveryStaticIPAddress", type: { - name: "Composite", - className: "FabricSpecificCreateNetworkMappingInput" + name: "String" + } + }, + recoveryPublicIPAddressId: { + serializedName: "recoveryPublicIPAddressId", + type: { + name: "String" + } + }, + recoveryLBBackendAddressPoolIds: { + serializedName: "recoveryLBBackendAddressPoolIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + tfoSubnetName: { + serializedName: "tfoSubnetName", + type: { + name: "String" + } + }, + tfoStaticIPAddress: { + serializedName: "tfoStaticIPAddress", + type: { + name: "String" + } + }, + tfoPublicIPAddressId: { + serializedName: "tfoPublicIPAddressId", + type: { + name: "String" + } + }, + tfoLBBackendAddressPoolIds: { + serializedName: "tfoLBBackendAddressPoolIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const CreateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "CreateNetworkMappingInput", +export const UpdateReplicationProtectedItemProviderInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateNetworkMappingInput", + className: "UpdateReplicationProtectedItemProviderInput", + uberParent: "UpdateReplicationProtectedItemProviderInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - properties: { - serializedName: "properties", + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Composite", - className: "CreateNetworkMappingInputProperties" + name: "String" } } } } }; -export const CreatePolicyInputProperties: msRest.CompositeMapper = { - serializedName: "CreatePolicyInputProperties", +export const AddDisksInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreatePolicyInputProperties", + className: "AddDisksInput", modelProperties: { - providerSpecificInput: { - serializedName: "providerSpecificInput", + properties: { + serializedName: "properties", type: { name: "Composite", - className: "PolicyProviderSpecificInput" + className: "AddDisksInputProperties" } } } } }; -export const CreatePolicyInput: msRest.CompositeMapper = { - serializedName: "CreatePolicyInput", +export const AddDisksInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreatePolicyInput", + className: "AddDisksInputProperties", modelProperties: { - properties: { - serializedName: "properties", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "CreatePolicyInputProperties" + className: "AddDisksProviderSpecificInput" } } } } }; -export const CreateProtectionContainerInputProperties: msRest.CompositeMapper = { - serializedName: "CreateProtectionContainerInputProperties", +export const AddDisksProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateProtectionContainerInputProperties", + className: "AddDisksProviderSpecificInput", + uberParent: "AddDisksProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - providerSpecificInput: { - serializedName: "providerSpecificInput", + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ReplicationProviderSpecificContainerCreationInput" - } - } + name: "String" } } } } }; -export const CreateProtectionContainerInput: msRest.CompositeMapper = { - serializedName: "CreateProtectionContainerInput", +export const ApplyRecoveryPointInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateProtectionContainerInput", + className: "ApplyRecoveryPointInput", modelProperties: { properties: { serializedName: "properties", type: { name: "Composite", - className: "CreateProtectionContainerInputProperties" + className: "ApplyRecoveryPointInputProperties" } } } } }; -export const CreateProtectionContainerMappingInputProperties: msRest.CompositeMapper = { - serializedName: "CreateProtectionContainerMappingInputProperties", +export const ApplyRecoveryPointInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateProtectionContainerMappingInputProperties", + className: "ApplyRecoveryPointInputProperties", modelProperties: { - targetProtectionContainerId: { - serializedName: "targetProtectionContainerId", + recoveryPointId: { + serializedName: "recoveryPointId", type: { name: "String" } }, - policyId: { - serializedName: "policyId", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "ApplyRecoveryPointProviderSpecificInput" } - }, - providerSpecificInput: { - serializedName: "providerSpecificInput", + } + } + } +}; + +export const ApplyRecoveryPointProviderSpecificInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplyRecoveryPointProviderSpecificInput", + uberParent: "ApplyRecoveryPointProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Composite", - className: "ReplicationProviderSpecificContainerMappingInput" + name: "String" } } } } }; -export const CreateProtectionContainerMappingInput: msRest.CompositeMapper = { - serializedName: "CreateProtectionContainerMappingInput", +export const PlannedFailoverInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateProtectionContainerMappingInput", + className: "PlannedFailoverInput", modelProperties: { properties: { serializedName: "properties", type: { name: "Composite", - className: "CreateProtectionContainerMappingInputProperties" + className: "PlannedFailoverInputProperties" } } } } }; -export const RecoveryPlanProtectedItem: msRest.CompositeMapper = { - serializedName: "RecoveryPlanProtectedItem", +export const PlannedFailoverInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecoveryPlanProtectedItem", + className: "PlannedFailoverInputProperties", modelProperties: { - id: { - serializedName: "id", + failoverDirection: { + serializedName: "failoverDirection", type: { name: "String" } }, - virtualMachineId: { - serializedName: "virtualMachineId", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "PlannedFailoverProviderSpecificFailoverInput" } } } } }; -export const RecoveryPlanActionDetails: msRest.CompositeMapper = { - serializedName: "RecoveryPlanActionDetails", +export const PlannedFailoverProviderSpecificFailoverInput: coreClient.CompositeMapper = { type: { name: "Composite", + className: "PlannedFailoverProviderSpecificFailoverInput", + uberParent: "PlannedFailoverProviderSpecificFailoverInput", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "RecoveryPlanActionDetails", - className: "RecoveryPlanActionDetails", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -2968,251 +3163,133 @@ export const RecoveryPlanActionDetails: msRest.CompositeMapper = { } }; -export const RecoveryPlanAction: msRest.CompositeMapper = { - serializedName: "RecoveryPlanAction", +export const RecoveryPointCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecoveryPlanAction", + className: "RecoveryPointCollection", modelProperties: { - actionName: { - required: true, - serializedName: "actionName", - type: { - name: "String" - } - }, - failoverTypes: { - required: true, - serializedName: "failoverTypes", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "RecoveryPoint" } } } }, - failoverDirections: { - required: true, - serializedName: "failoverDirections", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - customDetails: { - required: true, - serializedName: "customDetails", + nextLink: { + serializedName: "nextLink", type: { - name: "Composite", - className: "RecoveryPlanActionDetails" + name: "String" } } } } }; -export const RecoveryPlanGroup: msRest.CompositeMapper = { - serializedName: "RecoveryPlanGroup", +export const RecoveryPointProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RecoveryPlanGroup", + className: "RecoveryPointProperties", modelProperties: { - groupType: { - required: true, - serializedName: "groupType", - type: { - name: "String" - } - }, - replicationProtectedItems: { - serializedName: "replicationProtectedItems", + recoveryPointTime: { + serializedName: "recoveryPointTime", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanProtectedItem" - } - } + name: "DateTime" } }, - startGroupActions: { - serializedName: "startGroupActions", + recoveryPointType: { + serializedName: "recoveryPointType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanAction" - } - } + name: "String" } }, - endGroupActions: { - serializedName: "endGroupActions", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanAction" - } - } + name: "Composite", + className: "ProviderSpecificRecoveryPointDetails" } } } } }; -export const CreateRecoveryPlanInputProperties: msRest.CompositeMapper = { - serializedName: "CreateRecoveryPlanInputProperties", +export const ProviderSpecificRecoveryPointDetails: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateRecoveryPlanInputProperties", + className: "ProviderSpecificRecoveryPointDetails", + uberParent: "ProviderSpecificRecoveryPointDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - primaryFabricId: { - required: true, - serializedName: "primaryFabricId", - type: { - name: "String" - } - }, - recoveryFabricId: { + instanceType: { + serializedName: "instanceType", required: true, - serializedName: "recoveryFabricId", - type: { - name: "String" - } - }, - failoverDeploymentModel: { - serializedName: "failoverDeploymentModel", type: { name: "String" } - }, - groups: { - required: true, - serializedName: "groups", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanGroup" - } - } - } } } } }; -export const CreateRecoveryPlanInput: msRest.CompositeMapper = { - serializedName: "CreateRecoveryPlanInput", +export const DisableProtectionInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CreateRecoveryPlanInput", + className: "DisableProtectionInput", modelProperties: { properties: { - required: true, serializedName: "properties", type: { name: "Composite", - className: "CreateRecoveryPlanInputProperties" - } - } - } - } -}; - -export const CurrentScenarioDetails: msRest.CompositeMapper = { - serializedName: "CurrentScenarioDetails", - type: { - name: "Composite", - className: "CurrentScenarioDetails", - modelProperties: { - scenarioName: { - serializedName: "scenarioName", - type: { - name: "String" - } - }, - jobId: { - serializedName: "jobId", - type: { - name: "String" - } - }, - startTime: { - serializedName: "startTime", - type: { - name: "DateTime" + className: "DisableProtectionInputProperties" } } } } }; -export const DataStore: msRest.CompositeMapper = { - serializedName: "DataStore", +export const DisableProtectionInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DataStore", + className: "DisableProtectionInputProperties", modelProperties: { - symbolicName: { - serializedName: "symbolicName", - type: { - name: "String" - } - }, - uuid: { - serializedName: "uuid", - type: { - name: "String" - } - }, - capacity: { - serializedName: "capacity", - type: { - name: "String" - } - }, - freeSpace: { - serializedName: "freeSpace", + disableProtectionReason: { + serializedName: "disableProtectionReason", type: { name: "String" } }, - type: { - serializedName: "type", + replicationProviderInput: { + serializedName: "replicationProviderInput", type: { - name: "String" + name: "Composite", + className: "DisableProtectionProviderSpecificInput" } } } } }; -export const DisableProtectionProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "DisableProtectionProviderSpecificInput", +export const DisableProtectionProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", + className: "DisableProtectionProviderSpecificInput", + uberParent: "DisableProtectionProviderSpecificInput", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "DisableProtectionProviderSpecificInput", - className: "DisableProtectionProviderSpecificInput", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -3221,66 +3298,51 @@ export const DisableProtectionProviderSpecificInput: msRest.CompositeMapper = { } }; -export const DisableProtectionInputProperties: msRest.CompositeMapper = { - serializedName: "DisableProtectionInputProperties", +export const RemoveDisksInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DisableProtectionInputProperties", + className: "RemoveDisksInput", modelProperties: { - disableProtectionReason: { - serializedName: "disableProtectionReason", - type: { - name: "String" - } - }, - replicationProviderInput: { - serializedName: "replicationProviderInput", + properties: { + serializedName: "properties", type: { name: "Composite", - className: "DisableProtectionProviderSpecificInput" + className: "RemoveDisksInputProperties" } } } } }; -export const DisableProtectionInput: msRest.CompositeMapper = { - serializedName: "DisableProtectionInput", +export const RemoveDisksInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DisableProtectionInput", + className: "RemoveDisksInputProperties", modelProperties: { - properties: { - serializedName: "properties", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "DisableProtectionInputProperties" + className: "RemoveDisksProviderSpecificInput" } } } } }; -export const DiscoverProtectableItemRequestProperties: msRest.CompositeMapper = { - serializedName: "DiscoverProtectableItemRequestProperties", +export const RemoveDisksProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiscoverProtectableItemRequestProperties", + className: "RemoveDisksProviderSpecificInput", + uberParent: "RemoveDisksProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" - } - }, - ipAddress: { - serializedName: "ipAddress", - type: { - name: "String" - } - }, - osType: { - serializedName: "osType", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -3289,71 +3351,57 @@ export const DiscoverProtectableItemRequestProperties: msRest.CompositeMapper = } }; -export const DiscoverProtectableItemRequest: msRest.CompositeMapper = { - serializedName: "DiscoverProtectableItemRequest", +export const ReverseReplicationInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiscoverProtectableItemRequest", + className: "ReverseReplicationInput", modelProperties: { properties: { serializedName: "properties", type: { name: "Composite", - className: "DiscoverProtectableItemRequestProperties" + className: "ReverseReplicationInputProperties" } } } } }; -export const DiskDetails: msRest.CompositeMapper = { - serializedName: "DiskDetails", +export const ReverseReplicationInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiskDetails", + className: "ReverseReplicationInputProperties", modelProperties: { - maxSizeMB: { - serializedName: "maxSizeMB", - type: { - name: "Number" - } - }, - vhdType: { - serializedName: "vhdType", - type: { - name: "String" - } - }, - vhdId: { - serializedName: "vhdId", + failoverDirection: { + serializedName: "failoverDirection", type: { name: "String" } }, - vhdName: { - serializedName: "vhdName", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "ReverseReplicationProviderSpecificInput" } } } } }; -export const DiskVolumeDetails: msRest.CompositeMapper = { - serializedName: "DiskVolumeDetails", +export const ReverseReplicationProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DiskVolumeDetails", + className: "ReverseReplicationProviderSpecificInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - label: { - serializedName: "label", - type: { - name: "String" - } - }, - name: { - serializedName: "name", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -3362,128 +3410,109 @@ export const DiskVolumeDetails: msRest.CompositeMapper = { } }; -export const Display: msRest.CompositeMapper = { - serializedName: "Display", +export const ResolveHealthInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Display", + className: "ResolveHealthInput", modelProperties: { - provider: { - serializedName: "provider", - type: { - name: "String" - } - }, - resource: { - serializedName: "resource", - type: { - name: "String" - } - }, - operation: { - serializedName: "operation", - type: { - name: "String" - } - }, - description: { - serializedName: "description", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "ResolveHealthInputProperties" } } } } }; -export const EnableProtectionInputProperties: msRest.CompositeMapper = { - serializedName: "EnableProtectionInputProperties", +export const ResolveHealthInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EnableProtectionInputProperties", + className: "ResolveHealthInputProperties", modelProperties: { - policyId: { - serializedName: "policyId", + healthErrors: { + serializedName: "healthErrors", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResolveHealthError" + } + } } - }, - protectableItemId: { - serializedName: "protectableItemId", + } + } + } +}; + +export const ResolveHealthError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResolveHealthError", + modelProperties: { + healthErrorId: { + serializedName: "healthErrorId", type: { name: "String" } - }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", - type: { - name: "Composite", - className: "EnableProtectionProviderSpecificInput" - } } } } }; -export const EnableProtectionInput: msRest.CompositeMapper = { - serializedName: "EnableProtectionInput", +export const SwitchProviderInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EnableProtectionInput", + className: "SwitchProviderInput", modelProperties: { properties: { serializedName: "properties", type: { name: "Composite", - className: "EnableProtectionInputProperties" + className: "SwitchProviderInputProperties" } } } } }; -export const EncryptionDetails: msRest.CompositeMapper = { - serializedName: "EncryptionDetails", +export const SwitchProviderInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EncryptionDetails", + className: "SwitchProviderInputProperties", modelProperties: { - kekState: { - serializedName: "kekState", - type: { - name: "String" - } - }, - kekCertThumbprint: { - serializedName: "kekCertThumbprint", + targetInstanceType: { + serializedName: "targetInstanceType", type: { name: "String" } }, - kekCertExpiryDate: { - serializedName: "kekCertExpiryDate", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "DateTime" + name: "Composite", + className: "SwitchProviderSpecificInput" } } } } }; -export const EventSpecificDetails: msRest.CompositeMapper = { - serializedName: "EventSpecificDetails", +export const SwitchProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", + className: "SwitchProviderSpecificInput", + uberParent: "SwitchProviderSpecificInput", polymorphicDiscriminator: { serializedName: "instanceType", clientName: "instanceType" }, - uberParent: "EventSpecificDetails", - className: "EventSpecificDetails", modelProperties: { instanceType: { - required: true, serializedName: "instanceType", + required: true, type: { name: "String" } @@ -3492,414 +3521,331 @@ export const EventSpecificDetails: msRest.CompositeMapper = { } }; -export const InnerHealthError: msRest.CompositeMapper = { - serializedName: "InnerHealthError", +export const TargetComputeSizeCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InnerHealthError", + className: "TargetComputeSizeCollection", modelProperties: { - errorSource: { - serializedName: "errorSource", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "TargetComputeSize" + } + } } }, - errorType: { - serializedName: "errorType", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - errorLevel: { - serializedName: "errorLevel", + } + } + } +}; + +export const TargetComputeSize: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TargetComputeSize", + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } }, - errorCategory: { - serializedName: "errorCategory", + name: { + serializedName: "name", type: { name: "String" } }, - errorCode: { - serializedName: "errorCode", + type: { + serializedName: "type", type: { name: "String" } }, - summaryMessage: { - serializedName: "summaryMessage", + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "TargetComputeSizeProperties" + } + } + } + } +}; + +export const TargetComputeSizeProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TargetComputeSizeProperties", + modelProperties: { + name: { + serializedName: "name", type: { name: "String" } }, - errorMessage: { - serializedName: "errorMessage", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - possibleCauses: { - serializedName: "possibleCauses", + cpuCoresCount: { + serializedName: "cpuCoresCount", type: { - name: "String" + name: "Number" } }, - recommendedAction: { - serializedName: "recommendedAction", + vCPUsAvailable: { + serializedName: "vCPUsAvailable", + readOnly: true, type: { - name: "String" + name: "Number" } }, - creationTimeUtc: { - serializedName: "creationTimeUtc", + memoryInGB: { + serializedName: "memoryInGB", type: { - name: "DateTime" + name: "Number" } }, - recoveryProviderErrorMessage: { - serializedName: "recoveryProviderErrorMessage", + maxDataDiskCount: { + serializedName: "maxDataDiskCount", type: { - name: "String" + name: "Number" } }, - entityId: { - serializedName: "entityId", + maxNicsCount: { + serializedName: "maxNicsCount", type: { - name: "String" + name: "Number" } - } - } - } -}; - -export const HealthError: msRest.CompositeMapper = { - serializedName: "HealthError", - type: { - name: "Composite", - className: "HealthError", - modelProperties: { - innerHealthErrors: { - serializedName: "innerHealthErrors", + }, + errors: { + serializedName: "errors", type: { name: "Sequence", element: { type: { name: "Composite", - className: "InnerHealthError" + className: "ComputeSizeErrorDetails" } } } }, - errorSource: { - serializedName: "errorSource", + highIopsSupported: { + serializedName: "highIopsSupported", type: { name: "String" } }, - errorType: { - serializedName: "errorType", + hyperVGenerations: { + serializedName: "hyperVGenerations", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - }, - errorLevel: { - serializedName: "errorLevel", + } + } + } +}; + +export const ComputeSizeErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ComputeSizeErrorDetails", + modelProperties: { + message: { + serializedName: "message", type: { name: "String" } }, - errorCategory: { - serializedName: "errorCategory", + severity: { + serializedName: "severity", type: { name: "String" } - }, - errorCode: { - serializedName: "errorCode", + } + } + } +}; + +export const TestFailoverInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TestFailoverInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "TestFailoverInputProperties" } - }, - summaryMessage: { - serializedName: "summaryMessage", + } + } + } +}; + +export const TestFailoverInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TestFailoverInputProperties", + modelProperties: { + failoverDirection: { + serializedName: "failoverDirection", type: { name: "String" } }, - errorMessage: { - serializedName: "errorMessage", + networkType: { + serializedName: "networkType", type: { name: "String" } }, - possibleCauses: { - serializedName: "possibleCauses", + networkId: { + serializedName: "networkId", type: { name: "String" } }, - recommendedAction: { - serializedName: "recommendedAction", - type: { - name: "String" - } - }, - creationTimeUtc: { - serializedName: "creationTimeUtc", - type: { - name: "DateTime" - } - }, - recoveryProviderErrorMessage: { - serializedName: "recoveryProviderErrorMessage", - type: { - name: "String" - } - }, - entityId: { - serializedName: "entityId", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "TestFailoverProviderSpecificInput" } } } } }; -export const EventProperties: msRest.CompositeMapper = { - serializedName: "EventProperties", +export const TestFailoverProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EventProperties", + className: "TestFailoverProviderSpecificInput", + uberParent: "TestFailoverProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - eventCode: { - serializedName: "eventCode", - type: { - name: "String" - } - }, - description: { - serializedName: "description", - type: { - name: "String" - } - }, - eventType: { - serializedName: "eventType", - type: { - name: "String" - } - }, - affectedObjectFriendlyName: { - serializedName: "affectedObjectFriendlyName", - type: { - name: "String" - } - }, - severity: { - serializedName: "severity", - type: { - name: "String" - } - }, - timeOfOccurrence: { - serializedName: "timeOfOccurrence", - type: { - name: "DateTime" - } - }, - fabricId: { - serializedName: "fabricId", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", - type: { - name: "Composite", - className: "EventProviderSpecificDetails" - } - }, - eventSpecificDetails: { - serializedName: "eventSpecificDetails", - type: { - name: "Composite", - className: "EventSpecificDetails" - } - }, - healthErrors: { - serializedName: "healthErrors", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } - } } } } }; -export const Event: msRest.CompositeMapper = { - serializedName: "Event", +export const TestFailoverCleanupInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Event", + className: "TestFailoverCleanupInput", modelProperties: { - ...Resource.type.modelProperties, properties: { serializedName: "properties", type: { name: "Composite", - className: "EventProperties" + className: "TestFailoverCleanupInputProperties" } } } } }; -export const EventQueryParameter: msRest.CompositeMapper = { - serializedName: "EventQueryParameter", +export const TestFailoverCleanupInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EventQueryParameter", + className: "TestFailoverCleanupInputProperties", modelProperties: { - eventCode: { - serializedName: "eventCode", - type: { - name: "String" - } - }, - severity: { - serializedName: "severity", - type: { - name: "String" - } - }, - eventType: { - serializedName: "eventType", - type: { - name: "String" - } - }, - fabricName: { - serializedName: "fabricName", - type: { - name: "String" - } - }, - affectedObjectFriendlyName: { - serializedName: "affectedObjectFriendlyName", + comments: { + constraints: { + MaxLength: 1024 + }, + serializedName: "comments", type: { name: "String" } - }, - startTime: { - serializedName: "startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "endTime", - type: { - name: "DateTime" - } } } } }; -export const ExportJobDetails: msRest.CompositeMapper = { - serializedName: "ExportJobDetails", +export const UnplannedFailoverInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, - uberParent: "JobDetails", - className: "ExportJobDetails", + className: "UnplannedFailoverInput", modelProperties: { - ...JobDetails.type.modelProperties, - blobUri: { - serializedName: "blobUri", - type: { - name: "String" - } - }, - sasToken: { - serializedName: "sasToken", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "UnplannedFailoverInputProperties" } } } } }; -export const FabricProperties: msRest.CompositeMapper = { - serializedName: "FabricProperties", +export const UnplannedFailoverInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FabricProperties", + className: "UnplannedFailoverInputProperties", modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" - } - }, - encryptionDetails: { - serializedName: "encryptionDetails", - type: { - name: "Composite", - className: "EncryptionDetails" - } - }, - rolloverEncryptionDetails: { - serializedName: "rolloverEncryptionDetails", - type: { - name: "Composite", - className: "EncryptionDetails" - } - }, - internalIdentifier: { - serializedName: "internalIdentifier", + failoverDirection: { + serializedName: "failoverDirection", type: { name: "String" } }, - bcdrState: { - serializedName: "bcdrState", + sourceSiteOperations: { + serializedName: "sourceSiteOperations", type: { name: "String" } }, - customDetails: { - serializedName: "customDetails", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "FabricSpecificDetails" - } - }, - healthErrorDetails: { - serializedName: "healthErrorDetails", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + className: "UnplannedFailoverProviderSpecificInput" } - }, - health: { - serializedName: "health", + } + } + } +}; + +export const UnplannedFailoverProviderSpecificInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UnplannedFailoverProviderSpecificInput", + uberParent: "UnplannedFailoverProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -3908,96 +3854,92 @@ export const FabricProperties: msRest.CompositeMapper = { } }; -export const Fabric: msRest.CompositeMapper = { - serializedName: "Fabric", +export const UpdateApplianceForReplicationProtectedItemInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Fabric", + className: "UpdateApplianceForReplicationProtectedItemInput", modelProperties: { - ...Resource.type.modelProperties, properties: { serializedName: "properties", type: { name: "Composite", - className: "FabricProperties" + className: "UpdateApplianceForReplicationProtectedItemInputProperties" } } } } }; -export const FabricCreationInputProperties: msRest.CompositeMapper = { - serializedName: "FabricCreationInputProperties", +export const UpdateApplianceForReplicationProtectedItemInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FabricCreationInputProperties", + className: "UpdateApplianceForReplicationProtectedItemInputProperties", modelProperties: { - customDetails: { - serializedName: "customDetails", + targetApplianceId: { + serializedName: "targetApplianceId", + required: true, + type: { + name: "String" + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { name: "Composite", - className: "FabricSpecificCreationInput" + className: + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput" } } } } }; -export const FabricCreationInput: msRest.CompositeMapper = { - serializedName: "FabricCreationInput", +export const UpdateApplianceForReplicationProtectedItemProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FabricCreationInput", + className: + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput", + uberParent: + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - properties: { - serializedName: "properties", + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Composite", - className: "FabricCreationInputProperties" + name: "String" } } } } }; -export const JobEntity: msRest.CompositeMapper = { - serializedName: "JobEntity", +export const UpdateMobilityServiceRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "JobEntity", + className: "UpdateMobilityServiceRequest", modelProperties: { - jobId: { - serializedName: "jobId", - type: { - name: "String" - } - }, - jobFriendlyName: { - serializedName: "jobFriendlyName", - type: { - name: "String" - } - }, - targetObjectId: { - serializedName: "targetObjectId", - type: { - name: "String" - } - }, - targetObjectName: { - serializedName: "targetObjectName", - type: { - name: "String" - } - }, - targetInstanceType: { - serializedName: "targetInstanceType", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "UpdateMobilityServiceRequestProperties" } - }, - jobScenarioName: { - serializedName: "jobScenarioName", + } + } + } +}; + +export const UpdateMobilityServiceRequestProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateMobilityServiceRequestProperties", + modelProperties: { + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } @@ -4006,164 +3948,193 @@ export const JobEntity: msRest.CompositeMapper = { } }; -export const FabricReplicationGroupTaskDetails: msRest.CompositeMapper = { - serializedName: "FabricReplicationGroupTaskDetails", +export const ProtectionContainerMappingCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "FabricReplicationGroupTaskDetails", + className: "ProtectionContainerMappingCollection", modelProperties: { - ...TaskTypeDetails.type.modelProperties, - skippedReason: { - serializedName: "skippedReason", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProtectionContainerMapping" + } + } } }, - skippedReasonString: { - serializedName: "skippedReasonString", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - jobTask: { - serializedName: "jobTask", - type: { - name: "Composite", - className: "JobEntity" - } } } } }; -export const FailoverReplicationProtectedItemDetails: msRest.CompositeMapper = { - serializedName: "FailoverReplicationProtectedItemDetails", +export const ProtectionContainerMappingProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverReplicationProtectedItemDetails", + className: "ProtectionContainerMappingProperties", modelProperties: { - name: { - serializedName: "name", + targetProtectionContainerId: { + serializedName: "targetProtectionContainerId", type: { name: "String" } }, - friendlyName: { - serializedName: "friendlyName", + targetProtectionContainerFriendlyName: { + serializedName: "targetProtectionContainerFriendlyName", type: { name: "String" } }, - testVmName: { - serializedName: "testVmName", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Composite", + className: "ProtectionContainerMappingProviderSpecificDetails" + } + }, + health: { + serializedName: "health", type: { name: "String" } }, - testVmFriendlyName: { - serializedName: "testVmFriendlyName", + healthErrorDetails: { + serializedName: "healthErrorDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + policyId: { + serializedName: "policyId", type: { name: "String" } }, - networkConnectionStatus: { - serializedName: "networkConnectionStatus", + state: { + serializedName: "state", type: { name: "String" } }, - networkFriendlyName: { - serializedName: "networkFriendlyName", + sourceProtectionContainerFriendlyName: { + serializedName: "sourceProtectionContainerFriendlyName", type: { name: "String" } }, - subnet: { - serializedName: "subnet", + sourceFabricFriendlyName: { + serializedName: "sourceFabricFriendlyName", type: { name: "String" } }, - recoveryPointId: { - serializedName: "recoveryPointId", + targetFabricFriendlyName: { + serializedName: "targetFabricFriendlyName", type: { name: "String" } }, - recoveryPointTime: { - serializedName: "recoveryPointTime", + policyFriendlyName: { + serializedName: "policyFriendlyName", type: { - name: "DateTime" + name: "String" } } } } }; -export const FailoverJobDetails: msRest.CompositeMapper = { - serializedName: "FailoverJobDetails", +export const ProtectionContainerMappingProviderSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, - uberParent: "JobDetails", - className: "FailoverJobDetails", + className: "ProtectionContainerMappingProviderSpecificDetails", + uberParent: "ProtectionContainerMappingProviderSpecificDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - ...JobDetails.type.modelProperties, - protectedItemDetails: { - serializedName: "protectedItemDetails", + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FailoverReplicationProtectedItemDetails" - } - } + name: "String" } } } } }; -export const FailoverProcessServerRequestProperties: msRest.CompositeMapper = { - serializedName: "FailoverProcessServerRequestProperties", +export const CreateProtectionContainerMappingInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverProcessServerRequestProperties", + className: "CreateProtectionContainerMappingInput", modelProperties: { - containerName: { - serializedName: "containerName", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "CreateProtectionContainerMappingInputProperties" } - }, - sourceProcessServerId: { - serializedName: "sourceProcessServerId", + } + } + } +}; + +export const CreateProtectionContainerMappingInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreateProtectionContainerMappingInputProperties", + modelProperties: { + targetProtectionContainerId: { + serializedName: "targetProtectionContainerId", type: { name: "String" } }, - targetProcessServerId: { - serializedName: "targetProcessServerId", + policyId: { + serializedName: "policyId", type: { name: "String" } }, - vmsToMigrate: { - serializedName: "vmsToMigrate", + providerSpecificInput: { + serializedName: "providerSpecificInput", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "ReplicationProviderSpecificContainerMappingInput" } - }, - updateType: { - serializedName: "updateType", + } + } + } +}; + +export const ReplicationProviderSpecificContainerMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProviderSpecificContainerMappingInput", + uberParent: "ReplicationProviderSpecificContainerMappingInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -4172,177 +4143,184 @@ export const FailoverProcessServerRequestProperties: msRest.CompositeMapper = { } }; -export const FailoverProcessServerRequest: msRest.CompositeMapper = { - serializedName: "FailoverProcessServerRequest", +export const UpdateProtectionContainerMappingInput: coreClient.CompositeMapper = { type: { name: "Composite", - className: "FailoverProcessServerRequest", + className: "UpdateProtectionContainerMappingInput", modelProperties: { properties: { serializedName: "properties", type: { name: "Composite", - className: "FailoverProcessServerRequestProperties" + className: "UpdateProtectionContainerMappingInputProperties" } } } } }; -export const HealthErrorSummary: msRest.CompositeMapper = { - serializedName: "HealthErrorSummary", +export const UpdateProtectionContainerMappingInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HealthErrorSummary", + className: "UpdateProtectionContainerMappingInputProperties", modelProperties: { - summaryCode: { - serializedName: "summaryCode", - type: { - name: "String" - } - }, - category: { - serializedName: "category", + providerSpecificInput: { + serializedName: "providerSpecificInput", type: { - name: "String" + name: "Composite", + className: "ReplicationProviderSpecificUpdateContainerMappingInput" } - }, - severity: { - serializedName: "severity", + } + } + } +}; + +export const ReplicationProviderSpecificUpdateContainerMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProviderSpecificUpdateContainerMappingInput", + uberParent: "ReplicationProviderSpecificUpdateContainerMappingInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - summaryMessage: { - serializedName: "summaryMessage", - type: { - name: "String" - } - }, - affectedResourceType: { - serializedName: "affectedResourceType", - type: { - name: "String" - } - }, - affectedResourceSubtype: { - serializedName: "affectedResourceSubtype", - type: { - name: "String" - } - }, - affectedResourceCorrelationIds: { - serializedName: "affectedResourceCorrelationIds", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } } } } }; -export const HyperVReplica2012EventDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012", +export const RemoveProtectionContainerMappingInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EventProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventProviderSpecificDetails", - className: "HyperVReplica2012EventDetails", + className: "RemoveProtectionContainerMappingInput", modelProperties: { - ...EventProviderSpecificDetails.type.modelProperties, - containerName: { - serializedName: "containerName", - type: { - name: "String" - } - }, - fabricName: { - serializedName: "fabricName", - type: { - name: "String" - } - }, - remoteContainerName: { - serializedName: "remoteContainerName", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "RemoveProtectionContainerMappingInputProperties" } - }, - remoteFabricName: { - serializedName: "remoteFabricName", + } + } + } +}; + +export const RemoveProtectionContainerMappingInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RemoveProtectionContainerMappingInputProperties", + modelProperties: { + providerSpecificInput: { + serializedName: "providerSpecificInput", type: { - name: "String" + name: "Composite", + className: "ReplicationProviderContainerUnmappingInput" } } } } }; -export const HyperVReplica2012R2EventDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012R2", +export const ReplicationProviderContainerUnmappingInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EventProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventProviderSpecificDetails", - className: "HyperVReplica2012R2EventDetails", + className: "ReplicationProviderContainerUnmappingInput", modelProperties: { - ...EventProviderSpecificDetails.type.modelProperties, - containerName: { - serializedName: "containerName", + instanceType: { + serializedName: "instanceType", type: { name: "String" } - }, - fabricName: { - serializedName: "fabricName", + } + } + } +}; + +export const SwitchProtectionInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SwitchProtectionInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "SwitchProtectionInputProperties" } - }, - remoteContainerName: { - serializedName: "remoteContainerName", + } + } + } +}; + +export const SwitchProtectionInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SwitchProtectionInputProperties", + modelProperties: { + replicationProtectedItemName: { + serializedName: "replicationProtectedItemName", type: { name: "String" } }, - remoteFabricName: { - serializedName: "remoteFabricName", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "SwitchProtectionProviderSpecificInput" } } } } }; -export const HyperVReplicaAzureApplyRecoveryPointInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const SwitchProtectionProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ApplyRecoveryPointProviderSpecificInput", - className: "HyperVReplicaAzureApplyRecoveryPointInput", + className: "SwitchProtectionProviderSpecificInput", + uberParent: "SwitchProtectionProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties, - vaultLocation: { - serializedName: "vaultLocation", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - primaryKekCertificatePfx: { - serializedName: "primaryKekCertificatePfx", + } + } + } +}; + +export const RecoveryServicesProviderCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryServicesProviderCollection", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryServicesProvider" + } + } } }, - secondaryKekCertificatePfx: { - serializedName: "secondaryKekCertificatePfx", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -4351,77 +4329,73 @@ export const HyperVReplicaAzureApplyRecoveryPointInput: msRest.CompositeMapper = } }; -export const HyperVReplicaAzureEnableProtectionInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const RecoveryServicesProviderProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "EnableProtectionProviderSpecificInput", - className: "HyperVReplicaAzureEnableProtectionInput", + className: "RecoveryServicesProviderProperties", modelProperties: { - ...EnableProtectionProviderSpecificInput.type.modelProperties, - hvHostVmId: { - serializedName: "hvHostVmId", + fabricType: { + serializedName: "fabricType", type: { name: "String" } }, - vmName: { - serializedName: "vmName", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - osType: { - serializedName: "osType", + providerVersion: { + serializedName: "providerVersion", type: { name: "String" } }, - vhdId: { - serializedName: "vhdId", + serverVersion: { + serializedName: "serverVersion", type: { name: "String" } }, - targetStorageAccountId: { - serializedName: "targetStorageAccountId", + providerVersionState: { + serializedName: "providerVersionState", type: { name: "String" } }, - targetAzureNetworkId: { - serializedName: "targetAzureNetworkId", + providerVersionExpiryDate: { + serializedName: "providerVersionExpiryDate", type: { - name: "String" + name: "DateTime" } }, - targetAzureSubnetId: { - serializedName: "targetAzureSubnetId", + fabricFriendlyName: { + serializedName: "fabricFriendlyName", type: { name: "String" } }, - enableRdpOnTargetOption: { - serializedName: "enableRdpOnTargetOption", + lastHeartBeat: { + serializedName: "lastHeartBeat", type: { - name: "String" + name: "DateTime" } }, - targetAzureVmName: { - serializedName: "targetAzureVmName", + connectionStatus: { + serializedName: "connectionStatus", type: { name: "String" } }, - logStorageAccountId: { - serializedName: "logStorageAccountId", + protectedItemCount: { + serializedName: "protectedItemCount", type: { - name: "String" + name: "Number" } }, - disksToInclude: { - serializedName: "disksToInclude", + allowedScenarios: { + serializedName: "allowedScenarios", type: { name: "Sequence", element: { @@ -4431,119 +4405,105 @@ export const HyperVReplicaAzureEnableProtectionInput: msRest.CompositeMapper = { } } }, - targetAzureV1ResourceGroupId: { - serializedName: "targetAzureV1ResourceGroupId", + healthErrorDetails: { + serializedName: "healthErrorDetails", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } } }, - targetAzureV2ResourceGroupId: { - serializedName: "targetAzureV2ResourceGroupId", + draIdentifier: { + serializedName: "draIdentifier", type: { name: "String" } }, - useManagedDisks: { - serializedName: "useManagedDisks", + machineId: { + serializedName: "machineId", type: { name: "String" } - } - } - } -}; - -export const HyperVReplicaAzureEventDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", - type: { - name: "Composite", - polymorphicDiscriminator: EventProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventProviderSpecificDetails", - className: "HyperVReplicaAzureEventDetails", - modelProperties: { - ...EventProviderSpecificDetails.type.modelProperties, - containerName: { - serializedName: "containerName", + }, + machineName: { + serializedName: "machineName", type: { name: "String" } }, - fabricName: { - serializedName: "fabricName", + biosId: { + serializedName: "biosId", type: { name: "String" } }, - remoteContainerName: { - serializedName: "remoteContainerName", + authenticationIdentityDetails: { + serializedName: "authenticationIdentityDetails", type: { - name: "String" + name: "Composite", + className: "IdentityProviderDetails" } - } - } - } -}; - -export const HyperVReplicaAzureFailbackProviderInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzureFailback", - type: { - name: "Composite", - polymorphicDiscriminator: ProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificFailoverInput", - className: "HyperVReplicaAzureFailbackProviderInput", - modelProperties: { - ...ProviderSpecificFailoverInput.type.modelProperties, - dataSyncOption: { - serializedName: "dataSyncOption", + }, + resourceAccessIdentityDetails: { + serializedName: "resourceAccessIdentityDetails", type: { - name: "String" + name: "Composite", + className: "IdentityProviderDetails" } }, - recoveryVmCreationOption: { - serializedName: "recoveryVmCreationOption", + dataPlaneAuthenticationIdentityDetails: { + serializedName: "dataPlaneAuthenticationIdentityDetails", type: { - name: "String" + name: "Composite", + className: "IdentityProviderDetails" } }, - providerIdForAlternateRecovery: { - serializedName: "providerIdForAlternateRecovery", + providerVersionDetails: { + serializedName: "providerVersionDetails", type: { - name: "String" + name: "Composite", + className: "VersionDetails" } } } } }; -export const HyperVReplicaAzureFailoverProviderInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const IdentityProviderDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificFailoverInput", - className: "HyperVReplicaAzureFailoverProviderInput", + className: "IdentityProviderDetails", modelProperties: { - ...ProviderSpecificFailoverInput.type.modelProperties, - vaultLocation: { - serializedName: "vaultLocation", + tenantId: { + serializedName: "tenantId", type: { name: "String" } }, - primaryKekCertificatePfx: { - serializedName: "primaryKekCertificatePfx", + applicationId: { + serializedName: "applicationId", type: { name: "String" } }, - secondaryKekCertificatePfx: { - serializedName: "secondaryKekCertificatePfx", + objectId: { + serializedName: "objectId", type: { name: "String" } }, - recoveryPointId: { - serializedName: "recoveryPointId", + audience: { + serializedName: "audience", + type: { + name: "String" + } + }, + aadAuthority: { + serializedName: "aadAuthority", type: { name: "String" } @@ -4552,117 +4512,161 @@ export const HyperVReplicaAzureFailoverProviderInput: msRest.CompositeMapper = { } }; -export const HyperVReplicaAzurePolicyDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const VersionDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "HyperVReplicaAzurePolicyDetails", + className: "VersionDetails", modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPointHistoryDurationInHours: { - serializedName: "recoveryPointHistoryDurationInHours", + version: { + serializedName: "version", type: { - name: "Number" + name: "String" } }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", + expiryDate: { + serializedName: "expiryDate", type: { - name: "Number" + name: "DateTime" } }, - replicationInterval: { - serializedName: "replicationInterval", + status: { + serializedName: "status", type: { - name: "Number" + name: "String" } - }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", + } + } + } +}; + +export const AddRecoveryServicesProviderInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AddRecoveryServicesProviderInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "AddRecoveryServicesProviderInputProperties" + } + } + } + } +}; + +export const AddRecoveryServicesProviderInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AddRecoveryServicesProviderInputProperties", + modelProperties: { + machineName: { + serializedName: "machineName", + required: true, type: { name: "String" } }, - encryption: { - serializedName: "encryption", + machineId: { + serializedName: "machineId", type: { name: "String" } }, - activeStorageAccountId: { - serializedName: "activeStorageAccountId", + biosId: { + serializedName: "biosId", type: { name: "String" } + }, + authenticationIdentityInput: { + serializedName: "authenticationIdentityInput", + type: { + name: "Composite", + className: "IdentityProviderInput" + } + }, + resourceAccessIdentityInput: { + serializedName: "resourceAccessIdentityInput", + type: { + name: "Composite", + className: "IdentityProviderInput" + } + }, + dataPlaneAuthenticationIdentityInput: { + serializedName: "dataPlaneAuthenticationIdentityInput", + type: { + name: "Composite", + className: "IdentityProviderInput" + } } } } }; -export const HyperVReplicaAzurePolicyInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const IdentityProviderInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificInput", - className: "HyperVReplicaAzurePolicyInput", + className: "IdentityProviderInput", modelProperties: { - ...PolicyProviderSpecificInput.type.modelProperties, - recoveryPointHistoryDuration: { - serializedName: "recoveryPointHistoryDuration", + tenantId: { + serializedName: "tenantId", + required: true, type: { - name: "Number" + name: "String" } }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", + applicationId: { + serializedName: "applicationId", + required: true, type: { - name: "Number" + name: "String" } }, - replicationInterval: { - serializedName: "replicationInterval", + objectId: { + serializedName: "objectId", + required: true, type: { - name: "Number" + name: "String" } }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", + audience: { + serializedName: "audience", + required: true, type: { name: "String" } }, - storageAccounts: { - serializedName: "storageAccounts", + aadAuthority: { + serializedName: "aadAuthority", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } } } } }; -export const InitialReplicationDetails: msRest.CompositeMapper = { - serializedName: "InitialReplicationDetails", +export const StorageClassificationCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InitialReplicationDetails", + className: "StorageClassificationCollection", modelProperties: { - initialReplicationType: { - serializedName: "initialReplicationType", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StorageClassification" + } + } } }, - initialReplicationProgressPercentage: { - serializedName: "initialReplicationProgressPercentage", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -4671,44 +4675,86 @@ export const InitialReplicationDetails: msRest.CompositeMapper = { } }; -export const OSDetails: msRest.CompositeMapper = { - serializedName: "OSDetails", +export const StorageClassificationProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OSDetails", + className: "StorageClassificationProperties", modelProperties: { - osType: { - serializedName: "osType", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } - }, - productType: { - serializedName: "productType", + } + } + } +}; + +export const StorageClassificationMappingCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageClassificationMappingCollection", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StorageClassificationMapping" + } + } } }, - osEdition: { - serializedName: "osEdition", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - oSVersion: { - serializedName: "oSVersion", + } + } + } +}; + +export const StorageClassificationMappingProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageClassificationMappingProperties", + modelProperties: { + targetStorageClassificationId: { + serializedName: "targetStorageClassificationId", type: { name: "String" } - }, - oSMajorVersion: { - serializedName: "oSMajorVersion", + } + } + } +}; + +export const StorageClassificationMappingInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageClassificationMappingInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "StorageMappingInputProperties" } - }, - oSMinorVersion: { - serializedName: "oSMinorVersion", + } + } + } +}; + +export const StorageMappingInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageMappingInputProperties", + modelProperties: { + targetStorageClassificationId: { + serializedName: "targetStorageClassificationId", type: { name: "String" } @@ -4717,169 +4763,161 @@ export const OSDetails: msRest.CompositeMapper = { } }; -export const HyperVReplicaAzureReplicationDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const VCenterCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", - className: "HyperVReplicaAzureReplicationDetails", + className: "VCenterCollection", modelProperties: { - ...ReplicationProviderSpecificSettings.type.modelProperties, - azureVmDiskDetails: { - serializedName: "azureVmDiskDetails", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "AzureVmDiskDetails" + className: "VCenter" } } } }, - recoveryAzureVmName: { - serializedName: "recoveryAzureVmName", - type: { - name: "String" - } - }, - recoveryAzureVMSize: { - serializedName: "recoveryAzureVMSize", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - recoveryAzureStorageAccount: { - serializedName: "recoveryAzureStorageAccount", + } + } + } +}; + +export const VCenterProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VCenterProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - recoveryAzureLogStorageAccountId: { - serializedName: "recoveryAzureLogStorageAccountId", + internalId: { + serializedName: "internalId", type: { name: "String" } }, - lastReplicatedTime: { - serializedName: "lastReplicatedTime", + lastHeartbeat: { + serializedName: "lastHeartbeat", type: { name: "DateTime" } }, - rpoInSeconds: { - serializedName: "rpoInSeconds", + discoveryStatus: { + serializedName: "discoveryStatus", type: { - name: "Number" + name: "String" } }, - lastRpoCalculatedTime: { - serializedName: "lastRpoCalculatedTime", + processServerId: { + serializedName: "processServerId", type: { - name: "DateTime" + name: "String" } }, - vmId: { - serializedName: "vmId", + ipAddress: { + serializedName: "ipAddress", type: { name: "String" } }, - vmProtectionState: { - serializedName: "vmProtectionState", + infrastructureId: { + serializedName: "infrastructureId", type: { name: "String" } }, - vmProtectionStateDescription: { - serializedName: "vmProtectionStateDescription", + port: { + serializedName: "port", type: { name: "String" } }, - initialReplicationDetails: { - serializedName: "initialReplicationDetails", + runAsAccountId: { + serializedName: "runAsAccountId", type: { - name: "Composite", - className: "InitialReplicationDetails" + name: "String" } }, - vmNics: { - serializedName: "vmNics", + fabricArmResourceName: { + serializedName: "fabricArmResourceName", + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VMNicDetails" + className: "HealthError" } } } - }, - selectedRecoveryAzureNetworkId: { - serializedName: "selectedRecoveryAzureNetworkId", - type: { - name: "String" - } - }, - selectedSourceNicId: { - serializedName: "selectedSourceNicId", - type: { - name: "String" - } - }, - encryption: { - serializedName: "encryption", - type: { - name: "String" - } - }, - oSDetails: { - serializedName: "oSDetails", + } + } + } +}; + +export const AddVCenterRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AddVCenterRequest", + modelProperties: { + properties: { + serializedName: "properties", type: { name: "Composite", - className: "OSDetails" - } - }, - sourceVmRamSizeInMB: { - serializedName: "sourceVmRamSizeInMB", - type: { - name: "Number" - } - }, - sourceVmCpuCount: { - serializedName: "sourceVmCpuCount", - type: { - name: "Number" + className: "AddVCenterRequestProperties" } - }, - enableRdpOnTargetOption: { - serializedName: "enableRdpOnTargetOption", + } + } + } +}; + +export const AddVCenterRequestProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AddVCenterRequestProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - recoveryAzureResourceGroupId: { - serializedName: "recoveryAzureResourceGroupId", + ipAddress: { + serializedName: "ipAddress", type: { name: "String" } }, - recoveryAvailabilitySetId: { - serializedName: "recoveryAvailabilitySetId", + processServerId: { + serializedName: "processServerId", type: { name: "String" } }, - useManagedDisks: { - serializedName: "useManagedDisks", + port: { + serializedName: "port", type: { name: "String" } }, - licenseType: { - serializedName: "licenseType", + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } @@ -4888,47 +4926,53 @@ export const HyperVReplicaAzureReplicationDetails: msRest.CompositeMapper = { } }; -export const HyperVReplicaAzureReprotectInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const UpdateVCenterRequest: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ReverseReplicationProviderSpecificInput", - className: "HyperVReplicaAzureReprotectInput", + className: "UpdateVCenterRequest", modelProperties: { - ...ReverseReplicationProviderSpecificInput.type.modelProperties, - hvHostVmId: { - serializedName: "hvHostVmId", + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "UpdateVCenterRequestProperties" } - }, - vmName: { - serializedName: "vmName", + } + } + } +}; + +export const UpdateVCenterRequestProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateVCenterRequestProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - osType: { - serializedName: "osType", + ipAddress: { + serializedName: "ipAddress", type: { name: "String" } }, - vHDId: { - serializedName: "vHDId", + processServerId: { + serializedName: "processServerId", type: { name: "String" } }, - storageAccountId: { - serializedName: "storageAccountId", + port: { + serializedName: "port", type: { name: "String" } }, - logStorageAccountId: { - serializedName: "logStorageAccountId", + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } @@ -4937,29 +4981,25 @@ export const HyperVReplicaAzureReprotectInput: msRest.CompositeMapper = { } }; -export const HyperVReplicaAzureUpdateReplicationProtectedItemInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzure", +export const JobCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, - uberParent: "UpdateReplicationProtectedItemProviderInput", - className: "HyperVReplicaAzureUpdateReplicationProtectedItemInput", + className: "JobCollection", modelProperties: { - ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, - recoveryAzureV1ResourceGroupId: { - serializedName: "recoveryAzureV1ResourceGroupId", - type: { - name: "String" - } - }, - recoveryAzureV2ResourceGroupId: { - serializedName: "recoveryAzureV2ResourceGroupId", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Job" + } + } } }, - useManagedDisks: { - serializedName: "useManagedDisks", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -4968,176 +5008,203 @@ export const HyperVReplicaAzureUpdateReplicationProtectedItemInput: msRest.Compo } }; -export const HyperVReplicaBaseEventDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplicaBaseEventDetails", +export const JobProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EventProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventProviderSpecificDetails", - className: "HyperVReplicaBaseEventDetails", + className: "JobProperties", modelProperties: { - ...EventProviderSpecificDetails.type.modelProperties, - containerName: { - serializedName: "containerName", + activityId: { + serializedName: "activityId", type: { name: "String" } }, - fabricName: { - serializedName: "fabricName", + scenarioName: { + serializedName: "scenarioName", type: { name: "String" } }, - remoteContainerName: { - serializedName: "remoteContainerName", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - remoteFabricName: { - serializedName: "remoteFabricName", + state: { + serializedName: "state", type: { name: "String" } - } - } - } -}; - -export const HyperVReplicaBasePolicyDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplicaBasePolicyDetails", - type: { - name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "HyperVReplicaBasePolicyDetails", - modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPoints: { - serializedName: "recoveryPoints", - type: { - name: "Number" - } }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", + stateDescription: { + serializedName: "stateDescription", type: { - name: "Number" + name: "String" } }, - compression: { - serializedName: "compression", - type: { - name: "String" + tasks: { + serializedName: "tasks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ASRTask" + } + } } }, - initialReplicationMethod: { - serializedName: "initialReplicationMethod", + errors: { + serializedName: "errors", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "JobErrorDetails" + } + } } }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", + startTime: { + serializedName: "startTime", type: { - name: "String" + name: "DateTime" } }, - offlineReplicationImportPath: { - serializedName: "offlineReplicationImportPath", + endTime: { + serializedName: "endTime", type: { - name: "String" + name: "DateTime" } }, - offlineReplicationExportPath: { - serializedName: "offlineReplicationExportPath", + allowedActions: { + serializedName: "allowedActions", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - replicationPort: { - serializedName: "replicationPort", + targetObjectId: { + serializedName: "targetObjectId", type: { - name: "Number" + name: "String" } }, - allowedAuthenticationType: { - serializedName: "allowedAuthenticationType", + targetObjectName: { + serializedName: "targetObjectName", type: { - name: "Number" + name: "String" } }, - replicaDeletionOption: { - serializedName: "replicaDeletionOption", + targetInstanceType: { + serializedName: "targetInstanceType", type: { name: "String" } + }, + customDetails: { + serializedName: "customDetails", + type: { + name: "Composite", + className: "JobDetails" + } } } } }; -export const HyperVReplicaBaseReplicationDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplicaBaseReplicationDetails", +export const ASRTask: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", - className: "HyperVReplicaBaseReplicationDetails", + className: "ASRTask", modelProperties: { - ...ReplicationProviderSpecificSettings.type.modelProperties, - lastReplicatedTime: { - serializedName: "lastReplicatedTime", + taskId: { + serializedName: "taskId", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + startTime: { + serializedName: "startTime", type: { name: "DateTime" } }, - vmNics: { - serializedName: "vmNics", + endTime: { + serializedName: "endTime", + type: { + name: "DateTime" + } + }, + allowedActions: { + serializedName: "allowedActions", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "VMNicDetails" + name: "String" } } } }, - vmId: { - serializedName: "vmId", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - vmProtectionState: { - serializedName: "vmProtectionState", + state: { + serializedName: "state", type: { name: "String" } }, - vmProtectionStateDescription: { - serializedName: "vmProtectionStateDescription", + stateDescription: { + serializedName: "stateDescription", type: { name: "String" } }, - initialReplicationDetails: { - serializedName: "initialReplicationDetails", + taskType: { + serializedName: "taskType", + type: { + name: "String" + } + }, + customDetails: { + serializedName: "customDetails", type: { name: "Composite", - className: "InitialReplicationDetails" + className: "TaskTypeDetails" } }, - vMDiskDetails: { - serializedName: "vMDiskDetails", + groupTaskCustomDetails: { + serializedName: "groupTaskCustomDetails", + type: { + name: "Composite", + className: "GroupTaskDetails" + } + }, + errors: { + serializedName: "errors", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DiskDetails" + className: "JobErrorDetails" } } } @@ -5146,77 +5213,93 @@ export const HyperVReplicaBaseReplicationDetails: msRest.CompositeMapper = { } }; -export const HyperVReplicaBluePolicyDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012R2", +export const TaskTypeDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "HyperVReplicaBluePolicyDetails", + className: "TaskTypeDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - replicationFrequencyInSeconds: { - serializedName: "replicationFrequencyInSeconds", - type: { - name: "Number" - } - }, - recoveryPoints: { - serializedName: "recoveryPoints", - type: { - name: "Number" - } - }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", - type: { - name: "Number" - } - }, - compression: { - serializedName: "compression", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - initialReplicationMethod: { - serializedName: "initialReplicationMethod", + } + } + } +}; + +export const GroupTaskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GroupTaskDetails", + uberParent: "GroupTaskDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", + childTasks: { + serializedName: "childTasks", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ASRTask" + } + } } - }, - offlineReplicationImportPath: { - serializedName: "offlineReplicationImportPath", + } + } + } +}; + +export const JobErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobErrorDetails", + modelProperties: { + serviceErrorDetails: { + serializedName: "serviceErrorDetails", type: { - name: "String" + name: "Composite", + className: "ServiceError" } }, - offlineReplicationExportPath: { - serializedName: "offlineReplicationExportPath", + providerErrorDetails: { + serializedName: "providerErrorDetails", type: { - name: "String" + name: "Composite", + className: "ProviderError" } }, - replicationPort: { - serializedName: "replicationPort", + errorLevel: { + serializedName: "errorLevel", type: { - name: "Number" + name: "String" } }, - allowedAuthenticationType: { - serializedName: "allowedAuthenticationType", + creationTime: { + serializedName: "creationTime", type: { - name: "Number" + name: "DateTime" } }, - replicaDeletionOption: { - serializedName: "replicaDeletionOption", + taskId: { + serializedName: "taskId", type: { name: "String" } @@ -5225,77 +5308,37 @@ export const HyperVReplicaBluePolicyDetails: msRest.CompositeMapper = { } }; -export const HyperVReplicaBluePolicyInput: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012R2", +export const ServiceError: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificInput", - className: "HyperVReplicaBluePolicyInput", + className: "ServiceError", modelProperties: { - ...PolicyProviderSpecificInput.type.modelProperties, - replicationFrequencyInSeconds: { - serializedName: "replicationFrequencyInSeconds", + code: { + serializedName: "code", type: { - name: "Number" + name: "String" } }, - recoveryPoints: { - serializedName: "recoveryPoints", - type: { - name: "Number" - } - }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", - type: { - name: "Number" - } - }, - compression: { - serializedName: "compression", - type: { - name: "String" - } - }, - initialReplicationMethod: { - serializedName: "initialReplicationMethod", - type: { - name: "String" - } - }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", + message: { + serializedName: "message", type: { name: "String" } }, - offlineReplicationImportPath: { - serializedName: "offlineReplicationImportPath", + possibleCauses: { + serializedName: "possibleCauses", type: { name: "String" } }, - offlineReplicationExportPath: { - serializedName: "offlineReplicationExportPath", + recommendedAction: { + serializedName: "recommendedAction", type: { name: "String" } }, - replicationPort: { - serializedName: "replicationPort", - type: { - name: "Number" - } - }, - allowedAuthenticationType: { - serializedName: "allowedAuthenticationType", - type: { - name: "Number" - } - }, - replicaDeletion: { - serializedName: "replicaDeletion", + activityId: { + serializedName: "activityId", type: { name: "String" } @@ -5304,139 +5347,96 @@ export const HyperVReplicaBluePolicyInput: msRest.CompositeMapper = { } }; -export const HyperVReplicaBlueReplicationDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012R2", +export const ProviderError: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", - className: "HyperVReplicaBlueReplicationDetails", + className: "ProviderError", modelProperties: { - ...ReplicationProviderSpecificSettings.type.modelProperties, - lastReplicatedTime: { - serializedName: "lastReplicatedTime", - type: { - name: "DateTime" - } - }, - vmNics: { - serializedName: "vmNics", + errorCode: { + serializedName: "errorCode", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VMNicDetails" - } - } + name: "Number" } }, - vmId: { - serializedName: "vmId", + errorMessage: { + serializedName: "errorMessage", type: { name: "String" } }, - vmProtectionState: { - serializedName: "vmProtectionState", + errorId: { + serializedName: "errorId", type: { name: "String" } }, - vmProtectionStateDescription: { - serializedName: "vmProtectionStateDescription", + possibleCauses: { + serializedName: "possibleCauses", type: { name: "String" } }, - initialReplicationDetails: { - serializedName: "initialReplicationDetails", - type: { - name: "Composite", - className: "InitialReplicationDetails" - } - }, - vMDiskDetails: { - serializedName: "vMDiskDetails", + recommendedAction: { + serializedName: "recommendedAction", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DiskDetails" - } - } + name: "String" } } } } }; -export const HyperVReplicaPolicyDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012", +export const JobDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "HyperVReplicaPolicyDetails", + className: "JobDetails", + uberParent: "JobDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPoints: { - serializedName: "recoveryPoints", - type: { - name: "Number" - } - }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", - type: { - name: "Number" - } - }, - compression: { - serializedName: "compression", - type: { - name: "String" - } - }, - initialReplicationMethod: { - serializedName: "initialReplicationMethod", - type: { - name: "String" - } - }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", - type: { - name: "String" - } - }, - offlineReplicationImportPath: { - serializedName: "offlineReplicationImportPath", - type: { - name: "String" - } - }, - offlineReplicationExportPath: { - serializedName: "offlineReplicationExportPath", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } }, - replicationPort: { - serializedName: "replicationPort", + affectedObjectDetails: { + serializedName: "affectedObjectDetails", type: { - name: "Number" + name: "Dictionary", + value: { type: { name: "String" } } } - }, - allowedAuthenticationType: { - serializedName: "allowedAuthenticationType", + } + } + } +}; + +export const ResumeJobParams: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResumeJobParams", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "Number" + name: "Composite", + className: "ResumeJobParamsProperties" } - }, - replicaDeletionOption: { - serializedName: "replicaDeletionOption", + } + } + } +}; + +export const ResumeJobParamsProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResumeJobParamsProperties", + modelProperties: { + comments: { + serializedName: "comments", type: { name: "String" } @@ -5445,214 +5445,237 @@ export const HyperVReplicaPolicyDetails: msRest.CompositeMapper = { } }; -export const HyperVReplicaPolicyInput: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012", +export const JobQueryParameter: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificInput", - className: "HyperVReplicaPolicyInput", + className: "JobQueryParameter", modelProperties: { - ...PolicyProviderSpecificInput.type.modelProperties, - recoveryPoints: { - serializedName: "recoveryPoints", - type: { - name: "Number" - } - }, - applicationConsistentSnapshotFrequencyInHours: { - serializedName: "applicationConsistentSnapshotFrequencyInHours", + startTime: { + serializedName: "startTime", type: { - name: "Number" + name: "String" } }, - compression: { - serializedName: "compression", + endTime: { + serializedName: "endTime", type: { name: "String" } }, - initialReplicationMethod: { - serializedName: "initialReplicationMethod", + fabricId: { + serializedName: "fabricId", type: { name: "String" } }, - onlineReplicationStartTime: { - serializedName: "onlineReplicationStartTime", + affectedObjectTypes: { + serializedName: "affectedObjectTypes", type: { name: "String" } }, - offlineReplicationImportPath: { - serializedName: "offlineReplicationImportPath", + jobStatus: { + serializedName: "jobStatus", type: { name: "String" } }, - offlineReplicationExportPath: { - serializedName: "offlineReplicationExportPath", + jobOutputType: { + serializedName: "jobOutputType", type: { name: "String" } }, - replicationPort: { - serializedName: "replicationPort", + jobName: { + serializedName: "jobName", type: { - name: "Number" + name: "String" } }, - allowedAuthenticationType: { - serializedName: "allowedAuthenticationType", + timezoneOffset: { + serializedName: "timezoneOffset", type: { name: "Number" } - }, - replicaDeletion: { - serializedName: "replicaDeletion", - type: { - name: "String" - } } } } }; -export const HyperVReplicaReplicationDetails: msRest.CompositeMapper = { - serializedName: "HyperVReplica2012", +export const PolicyCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", - className: "HyperVReplicaReplicationDetails", + className: "PolicyCollection", modelProperties: { - ...ReplicationProviderSpecificSettings.type.modelProperties, - lastReplicatedTime: { - serializedName: "lastReplicatedTime", - type: { - name: "DateTime" - } - }, - vmNics: { - serializedName: "vmNics", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "VMNicDetails" + className: "Policy" } } } }, - vmId: { - serializedName: "vmId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - vmProtectionState: { - serializedName: "vmProtectionState", + } + } + } +}; + +export const PolicyProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyProperties", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - vmProtectionStateDescription: { - serializedName: "vmProtectionStateDescription", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "PolicyProviderSpecificDetails" } - }, - initialReplicationDetails: { - serializedName: "initialReplicationDetails", + } + } + } +}; + +export const PolicyProviderSpecificDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyProviderSpecificDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { - name: "Composite", - className: "InitialReplicationDetails" + name: "String" } - }, - vMDiskDetails: { - serializedName: "vMDiskDetails", + } + } + } +}; + +export const CreatePolicyInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreatePolicyInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DiskDetails" - } - } + name: "Composite", + className: "CreatePolicyInputProperties" } } } } }; -export const HyperVSiteDetails: msRest.CompositeMapper = { - serializedName: "HyperVSite", +export const CreatePolicyInputProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: FabricSpecificDetails.type.polymorphicDiscriminator, - uberParent: "FabricSpecificDetails", - className: "HyperVSiteDetails", + className: "CreatePolicyInputProperties", modelProperties: { - ...FabricSpecificDetails.type.modelProperties + providerSpecificInput: { + serializedName: "providerSpecificInput", + type: { + name: "Composite", + className: "PolicyProviderSpecificInput" + } + } } } }; -export const HyperVVirtualMachineDetails: msRest.CompositeMapper = { - serializedName: "HyperVVirtualMachine", +export const PolicyProviderSpecificInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ConfigurationSettings.type.polymorphicDiscriminator, - uberParent: "ConfigurationSettings", - className: "HyperVVirtualMachineDetails", + className: "PolicyProviderSpecificInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - ...ConfigurationSettings.type.modelProperties, - sourceItemId: { - serializedName: "sourceItemId", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } - }, - generation: { - serializedName: "generation", + } + } + } +}; + +export const UpdatePolicyInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdatePolicyInput", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "UpdatePolicyInputProperties" } - }, - osDetails: { - serializedName: "osDetails", + } + } + } +}; + +export const UpdatePolicyInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdatePolicyInputProperties", + modelProperties: { + replicationProviderSettings: { + serializedName: "replicationProviderSettings", type: { name: "Composite", - className: "OSDetails" + className: "PolicyProviderSpecificInput" } - }, - diskDetails: { - serializedName: "diskDetails", + } + } + } +}; + +export const ReplicationProtectionIntentCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProtectionIntentCollection", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "DiskDetails" + className: "ReplicationProtectionIntent" } } } }, - hasPhysicalDisk: { - serializedName: "hasPhysicalDisk", - type: { - name: "String" - } - }, - hasFibreChannelAdapter: { - serializedName: "hasFibreChannelAdapter", - type: { - name: "String" - } - }, - hasSharedVhd: { - serializedName: "hasSharedVhd", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -5661,50 +5684,69 @@ export const HyperVVirtualMachineDetails: msRest.CompositeMapper = { } }; -export const IdentityInformation: msRest.CompositeMapper = { - serializedName: "IdentityInformation", +export const ReplicationProtectionIntentProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "IdentityInformation", + className: "ReplicationProtectionIntentProperties", modelProperties: { - identityProviderType: { - serializedName: "identityProviderType", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - tenantId: { - serializedName: "tenantId", + jobId: { + serializedName: "jobId", + readOnly: true, type: { name: "String" } }, - applicationId: { - serializedName: "applicationId", + jobState: { + serializedName: "jobState", + readOnly: true, type: { name: "String" } }, - objectId: { - serializedName: "objectId", + isActive: { + serializedName: "isActive", + readOnly: true, type: { - name: "String" + name: "Boolean" } }, - audience: { - serializedName: "audience", + creationTimeUTC: { + serializedName: "creationTimeUTC", + readOnly: true, type: { name: "String" } }, - aadAuthority: { - serializedName: "aadAuthority", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "String" + name: "Composite", + className: "ReplicationProtectionIntentProviderSpecificSettings" } - }, - certificateThumbprint: { - serializedName: "certificateThumbprint", + } + } + } +}; + +export const ReplicationProtectionIntentProviderSpecificSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProtectionIntentProviderSpecificSettings", + uberParent: "ReplicationProtectionIntentProviderSpecificSettings", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -5713,90 +5755,51 @@ export const IdentityInformation: msRest.CompositeMapper = { } }; -export const InlineWorkflowTaskDetails: msRest.CompositeMapper = { - serializedName: "InlineWorkflowTaskDetails", +export const CreateProtectionIntentInput: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: GroupTaskDetails.type.polymorphicDiscriminator, - uberParent: "GroupTaskDetails", - className: "InlineWorkflowTaskDetails", + className: "CreateProtectionIntentInput", modelProperties: { - ...GroupTaskDetails.type.modelProperties, - workflowIds: { - serializedName: "workflowIds", + properties: { + serializedName: "properties", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "CreateProtectionIntentProperties" } } } } }; -export const InMageAgentDetails: msRest.CompositeMapper = { - serializedName: "InMageAgentDetails", +export const CreateProtectionIntentProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InMageAgentDetails", + className: "CreateProtectionIntentProperties", modelProperties: { - agentVersion: { - serializedName: "agentVersion", - type: { - name: "String" - } - }, - agentUpdateStatus: { - serializedName: "agentUpdateStatus", - type: { - name: "String" - } - }, - postUpdateRebootStatus: { - serializedName: "postUpdateRebootStatus", - type: { - name: "String" - } - }, - agentExpiryDate: { - serializedName: "agentExpiryDate", + providerSpecificDetails: { + serializedName: "providerSpecificDetails", type: { - name: "DateTime" + name: "Composite", + className: "CreateProtectionIntentProviderSpecificDetails" } } } } }; -export const InMageAgentVersionDetails: msRest.CompositeMapper = { - serializedName: "InMageAgentVersionDetails", +export const CreateProtectionIntentProviderSpecificDetails: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InMageAgentVersionDetails", + className: "CreateProtectionIntentProviderSpecificDetails", + uberParent: "CreateProtectionIntentProviderSpecificDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - postUpdateRebootStatus: { - serializedName: "postUpdateRebootStatus", - type: { - name: "String" - } - }, - version: { - serializedName: "version", - type: { - name: "String" - } - }, - expiryDate: { - serializedName: "expiryDate", - type: { - name: "DateTime" - } - }, - status: { - serializedName: "status", + instanceType: { + serializedName: "instanceType", + required: true, type: { name: "String" } @@ -5805,17 +5808,25 @@ export const InMageAgentVersionDetails: msRest.CompositeMapper = { } }; -export const InMageAzureV2ApplyRecoveryPointInput: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", +export const RecoveryPlanCollection: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ApplyRecoveryPointProviderSpecificInput", - className: "InMageAzureV2ApplyRecoveryPointInput", + className: "RecoveryPlanCollection", modelProperties: { - ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties, - vaultLocation: { - serializedName: "vaultLocation", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlan" + } + } + } + }, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -5824,54 +5835,49 @@ export const InMageAzureV2ApplyRecoveryPointInput: msRest.CompositeMapper = { } }; -export const InMageAzureV2EnableProtectionInput: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", +export const RecoveryPlanProperties: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "EnableProtectionProviderSpecificInput", - className: "InMageAzureV2EnableProtectionInput", + className: "RecoveryPlanProperties", modelProperties: { - ...EnableProtectionProviderSpecificInput.type.modelProperties, - masterTargetId: { - serializedName: "masterTargetId", + friendlyName: { + serializedName: "friendlyName", type: { name: "String" } }, - processServerId: { - serializedName: "processServerId", + primaryFabricId: { + serializedName: "primaryFabricId", type: { name: "String" } }, - storageAccountId: { - required: true, - serializedName: "storageAccountId", + primaryFabricFriendlyName: { + serializedName: "primaryFabricFriendlyName", type: { name: "String" } }, - runAsAccountId: { - serializedName: "runAsAccountId", + recoveryFabricId: { + serializedName: "recoveryFabricId", type: { name: "String" } }, - multiVmGroupId: { - serializedName: "multiVmGroupId", + recoveryFabricFriendlyName: { + serializedName: "recoveryFabricFriendlyName", type: { name: "String" } }, - multiVmGroupName: { - serializedName: "multiVmGroupName", + failoverDeploymentModel: { + serializedName: "failoverDeploymentModel", type: { name: "String" } }, - disksToInclude: { - serializedName: "disksToInclude", + replicationProviders: { + serializedName: "replicationProviders", type: { name: "Sequence", element: { @@ -5881,130 +5887,147 @@ export const InMageAzureV2EnableProtectionInput: msRest.CompositeMapper = { } } }, - targetAzureNetworkId: { - serializedName: "targetAzureNetworkId", + allowedOperations: { + serializedName: "allowedOperations", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - targetAzureSubnetId: { - serializedName: "targetAzureSubnetId", + lastPlannedFailoverTime: { + serializedName: "lastPlannedFailoverTime", type: { - name: "String" + name: "DateTime" } }, - enableRdpOnTargetOption: { - serializedName: "enableRdpOnTargetOption", + lastUnplannedFailoverTime: { + serializedName: "lastUnplannedFailoverTime", type: { - name: "String" + name: "DateTime" } }, - targetAzureVmName: { - serializedName: "targetAzureVmName", + lastTestFailoverTime: { + serializedName: "lastTestFailoverTime", type: { - name: "String" + name: "DateTime" } }, - logStorageAccountId: { - serializedName: "logStorageAccountId", + currentScenario: { + serializedName: "currentScenario", type: { - name: "String" + name: "Composite", + className: "CurrentScenarioDetails" } }, - targetAzureV1ResourceGroupId: { - serializedName: "targetAzureV1ResourceGroupId", + currentScenarioStatus: { + serializedName: "currentScenarioStatus", type: { name: "String" } }, - targetAzureV2ResourceGroupId: { - serializedName: "targetAzureV2ResourceGroupId", + currentScenarioStatusDescription: { + serializedName: "currentScenarioStatusDescription", type: { name: "String" } }, - useManagedDisks: { - serializedName: "useManagedDisks", + groups: { + serializedName: "groups", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanGroup" + } + } + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificDetails" + } + } } } } } }; -export const InMageAzureV2EventDetails: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", +export const RecoveryPlanGroup: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: EventProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventProviderSpecificDetails", - className: "InMageAzureV2EventDetails", + className: "RecoveryPlanGroup", modelProperties: { - ...EventProviderSpecificDetails.type.modelProperties, - eventType: { - serializedName: "eventType", - type: { - name: "String" - } - }, - category: { - serializedName: "category", - type: { - name: "String" - } - }, - component: { - serializedName: "component", - type: { - name: "String" - } - }, - correctiveAction: { - serializedName: "correctiveAction", + groupType: { + serializedName: "groupType", + required: true, type: { name: "String" } }, - details: { - serializedName: "details", + replicationProtectedItems: { + serializedName: "replicationProtectedItems", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanProtectedItem" + } + } } }, - summary: { - serializedName: "summary", + startGroupActions: { + serializedName: "startGroupActions", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanAction" + } + } } }, - siteName: { - serializedName: "siteName", + endGroupActions: { + serializedName: "endGroupActions", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanAction" + } + } } } } } }; -export const InMageAzureV2FailoverProviderInput: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", +export const RecoveryPlanProtectedItem: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: ProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificFailoverInput", - className: "InMageAzureV2FailoverProviderInput", + className: "RecoveryPlanProtectedItem", modelProperties: { - ...ProviderSpecificFailoverInput.type.modelProperties, - vaultLocation: { - serializedName: "vaultLocation", + id: { + serializedName: "id", type: { name: "String" } }, - recoveryPointId: { - serializedName: "recoveryPointId", + virtualMachineId: { + serializedName: "virtualMachineId", type: { name: "String" } @@ -6013,219 +6036,9404 @@ export const InMageAzureV2FailoverProviderInput: msRest.CompositeMapper = { } }; -export const InMageAzureV2PolicyDetails: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", +export const RecoveryPlanAction: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "InMageAzureV2PolicyDetails", + className: "RecoveryPlanAction", modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - crashConsistentFrequencyInMinutes: { - serializedName: "crashConsistentFrequencyInMinutes", - type: { - name: "Number" - } - }, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + actionName: { + serializedName: "actionName", + required: true, type: { - name: "Number" + name: "String" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + failoverTypes: { + serializedName: "failoverTypes", + required: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + failoverDirections: { + serializedName: "failoverDirections", + required: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - multiVmSyncStatus: { - serializedName: "multiVmSyncStatus", + customDetails: { + serializedName: "customDetails", type: { - name: "String" + name: "Composite", + className: "RecoveryPlanActionDetails" } } } } }; -export const InMageAzureV2PolicyInput: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", +export const RecoveryPlanActionDetails: coreClient.CompositeMapper = { type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificInput", - className: "InMageAzureV2PolicyInput", + className: "RecoveryPlanActionDetails", + uberParent: "RecoveryPlanActionDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecoveryPlanProviderSpecificDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificDetails", + uberParent: "RecoveryPlanProviderSpecificDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const CreateRecoveryPlanInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreateRecoveryPlanInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "CreateRecoveryPlanInputProperties" + } + } + } + } +}; + +export const CreateRecoveryPlanInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CreateRecoveryPlanInputProperties", + modelProperties: { + primaryFabricId: { + serializedName: "primaryFabricId", + required: true, + type: { + name: "String" + } + }, + recoveryFabricId: { + serializedName: "recoveryFabricId", + required: true, + type: { + name: "String" + } + }, + failoverDeploymentModel: { + serializedName: "failoverDeploymentModel", + type: { + name: "String" + } + }, + groups: { + serializedName: "groups", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanGroup" + } + } + } + }, + providerSpecificInput: { + serializedName: "providerSpecificInput", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificInput" + } + } + } + } + } + } +}; + +export const RecoveryPlanProviderSpecificInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificInput", + uberParent: "RecoveryPlanProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const UpdateRecoveryPlanInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateRecoveryPlanInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "UpdateRecoveryPlanInputProperties" + } + } + } + } +}; + +export const UpdateRecoveryPlanInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateRecoveryPlanInputProperties", + modelProperties: { + groups: { + serializedName: "groups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanGroup" + } + } + } + } + } + } +}; + +export const RecoveryPlanPlannedFailoverInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanPlannedFailoverInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryPlanPlannedFailoverInputProperties" + } + } + } + } +}; + +export const RecoveryPlanPlannedFailoverInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanPlannedFailoverInputProperties", + modelProperties: { + failoverDirection: { + serializedName: "failoverDirection", + required: true, + type: { + name: "String" + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificFailoverInput" + } + } + } + } + } + } +}; + +export const RecoveryPlanProviderSpecificFailoverInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificFailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecoveryPlanTestFailoverInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanTestFailoverInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryPlanTestFailoverInputProperties" + } + } + } + } +}; + +export const RecoveryPlanTestFailoverInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanTestFailoverInputProperties", + modelProperties: { + failoverDirection: { + serializedName: "failoverDirection", + required: true, + type: { + name: "String" + } + }, + networkType: { + serializedName: "networkType", + required: true, + type: { + name: "String" + } + }, + networkId: { + serializedName: "networkId", + type: { + name: "String" + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificFailoverInput" + } + } + } + } + } + } +}; + +export const RecoveryPlanTestFailoverCleanupInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanTestFailoverCleanupInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryPlanTestFailoverCleanupInputProperties" + } + } + } + } +}; + +export const RecoveryPlanTestFailoverCleanupInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanTestFailoverCleanupInputProperties", + modelProperties: { + comments: { + constraints: { + MaxLength: 1024 + }, + serializedName: "comments", + type: { + name: "String" + } + } + } + } +}; + +export const RecoveryPlanUnplannedFailoverInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanUnplannedFailoverInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryPlanUnplannedFailoverInputProperties" + } + } + } + } +}; + +export const RecoveryPlanUnplannedFailoverInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlanUnplannedFailoverInputProperties", + modelProperties: { + failoverDirection: { + serializedName: "failoverDirection", + required: true, + type: { + name: "String" + } + }, + sourceSiteOperations: { + serializedName: "sourceSiteOperations", + required: true, + type: { + name: "String" + } + }, + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RecoveryPlanProviderSpecificFailoverInput" + } + } + } + } + } + } +}; + +export const SupportedOSProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SupportedOSProperties", + modelProperties: { + supportedOsList: { + serializedName: "supportedOsList", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SupportedOSProperty" + } + } + } + } + } + } +}; + +export const SupportedOSProperty: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SupportedOSProperty", + modelProperties: { + instanceType: { + serializedName: "instanceType", + type: { + name: "String" + } + }, + supportedOs: { + serializedName: "supportedOs", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SupportedOSDetails" + } + } + } + } + } + } +}; + +export const SupportedOSDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SupportedOSDetails", + modelProperties: { + osName: { + serializedName: "osName", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + osVersions: { + serializedName: "osVersions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OSVersionWrapper" + } + } + } + } + } + } +}; + +export const OSVersionWrapper: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OSVersionWrapper", + modelProperties: { + version: { + serializedName: "version", + type: { + name: "String" + } + }, + servicePack: { + serializedName: "servicePack", + type: { + name: "String" + } + } + } + } +}; + +export const VaultHealthProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultHealthProperties", + modelProperties: { + vaultErrors: { + serializedName: "vaultErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + protectedItemsHealth: { + serializedName: "protectedItemsHealth", + type: { + name: "Composite", + className: "ResourceHealthSummary" + } + }, + fabricsHealth: { + serializedName: "fabricsHealth", + type: { + name: "Composite", + className: "ResourceHealthSummary" + } + }, + containersHealth: { + serializedName: "containersHealth", + type: { + name: "Composite", + className: "ResourceHealthSummary" + } + } + } + } +}; + +export const ResourceHealthSummary: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceHealthSummary", + modelProperties: { + resourceCount: { + serializedName: "resourceCount", + type: { + name: "Number" + } + }, + issues: { + serializedName: "issues", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthErrorSummary" + } + } + } + }, + categorizedResourceCounts: { + serializedName: "categorizedResourceCounts", + type: { + name: "Dictionary", + value: { type: { name: "Number" } } + } + } + } + } +}; + +export const HealthErrorSummary: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HealthErrorSummary", + modelProperties: { + summaryCode: { + serializedName: "summaryCode", + type: { + name: "String" + } + }, + category: { + serializedName: "category", + type: { + name: "String" + } + }, + severity: { + serializedName: "severity", + type: { + name: "String" + } + }, + summaryMessage: { + serializedName: "summaryMessage", + type: { + name: "String" + } + }, + affectedResourceType: { + serializedName: "affectedResourceType", + type: { + name: "String" + } + }, + affectedResourceSubtype: { + serializedName: "affectedResourceSubtype", + type: { + name: "String" + } + }, + affectedResourceCorrelationIds: { + serializedName: "affectedResourceCorrelationIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const VaultSettingCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultSettingCollection", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VaultSetting" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const VaultSettingProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultSettingProperties", + modelProperties: { + migrationSolutionId: { + serializedName: "migrationSolutionId", + type: { + name: "String" + } + }, + vmwareToAzureProviderType: { + serializedName: "vmwareToAzureProviderType", + type: { + name: "String" + } + } + } + } +}; + +export const VaultSettingCreationInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultSettingCreationInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultSettingCreationInputProperties" + } + } + } + } +}; + +export const VaultSettingCreationInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultSettingCreationInputProperties", + modelProperties: { + migrationSolutionId: { + serializedName: "migrationSolutionId", + type: { + name: "String" + } + }, + vmwareToAzureProviderType: { + serializedName: "vmwareToAzureProviderType", + type: { + name: "String" + } + } + } + } +}; + +export const A2AVmDiskInputDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AVmDiskInputDetails", + modelProperties: { + diskUri: { + serializedName: "diskUri", + required: true, + type: { + name: "String" + } + }, + recoveryAzureStorageAccountId: { + serializedName: "recoveryAzureStorageAccountId", + required: true, + type: { + name: "String" + } + }, + primaryStagingAzureStorageAccountId: { + serializedName: "primaryStagingAzureStorageAccountId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const A2AVmManagedDiskInputDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AVmManagedDiskInputDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + required: true, + type: { + name: "String" + } + }, + primaryStagingAzureStorageAccountId: { + serializedName: "primaryStagingAzureStorageAccountId", + required: true, + type: { + name: "String" + } + }, + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", + required: true, + type: { + name: "String" + } + }, + recoveryReplicaDiskAccountType: { + serializedName: "recoveryReplicaDiskAccountType", + type: { + name: "String" + } + }, + recoveryTargetDiskAccountType: { + serializedName: "recoveryTargetDiskAccountType", + type: { + name: "String" + } + }, + recoveryDiskEncryptionSetId: { + serializedName: "recoveryDiskEncryptionSetId", + type: { + name: "String" + } + }, + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", + type: { + name: "Composite", + className: "DiskEncryptionInfo" + } + } + } + } +}; + +export const DiskEncryptionInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskEncryptionInfo", + modelProperties: { + diskEncryptionKeyInfo: { + serializedName: "diskEncryptionKeyInfo", + type: { + name: "Composite", + className: "DiskEncryptionKeyInfo" + } + }, + keyEncryptionKeyInfo: { + serializedName: "keyEncryptionKeyInfo", + type: { + name: "Composite", + className: "KeyEncryptionKeyInfo" + } + } + } + } +}; + +export const DiskEncryptionKeyInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskEncryptionKeyInfo", + modelProperties: { + secretIdentifier: { + serializedName: "secretIdentifier", + type: { + name: "String" + } + }, + keyVaultResourceArmId: { + serializedName: "keyVaultResourceArmId", + type: { + name: "String" + } + } + } + } +}; + +export const KeyEncryptionKeyInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyEncryptionKeyInfo", + modelProperties: { + keyIdentifier: { + serializedName: "keyIdentifier", + type: { + name: "String" + } + }, + keyVaultResourceArmId: { + serializedName: "keyVaultResourceArmId", + type: { + name: "String" + } + } + } + } +}; + +export const ProtectionProfileCustomDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectionProfileCustomDetails", + uberParent: "ProtectionProfileCustomDetails", + polymorphicDiscriminator: { + serializedName: "resourceType", + clientName: "resourceType" + }, + modelProperties: { + resourceType: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const StorageAccountCustomDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageAccountCustomDetails", + uberParent: "StorageAccountCustomDetails", + polymorphicDiscriminator: { + serializedName: "resourceType", + clientName: "resourceType" + }, + modelProperties: { + resourceType: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecoveryAvailabilitySetCustomDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryAvailabilitySetCustomDetails", + uberParent: "RecoveryAvailabilitySetCustomDetails", + polymorphicDiscriminator: { + serializedName: "resourceType", + clientName: "resourceType" + }, + modelProperties: { + resourceType: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecoveryVirtualNetworkCustomDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryVirtualNetworkCustomDetails", + uberParent: "RecoveryVirtualNetworkCustomDetails", + polymorphicDiscriminator: { + serializedName: "resourceType", + clientName: "resourceType" + }, + modelProperties: { + resourceType: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const RecoveryProximityPlacementGroupCustomDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryProximityPlacementGroupCustomDetails", + uberParent: "RecoveryProximityPlacementGroupCustomDetails", + polymorphicDiscriminator: { + serializedName: "resourceType", + clientName: "resourceType" + }, + modelProperties: { + resourceType: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const A2AProtectionIntentDiskInputDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AProtectionIntentDiskInputDetails", + modelProperties: { + diskUri: { + serializedName: "diskUri", + required: true, + type: { + name: "String" + } + }, + recoveryAzureStorageAccountCustomInput: { + serializedName: "recoveryAzureStorageAccountCustomInput", + type: { + name: "Composite", + className: "StorageAccountCustomDetails" + } + }, + primaryStagingStorageAccountCustomInput: { + serializedName: "primaryStagingStorageAccountCustomInput", + type: { + name: "Composite", + className: "StorageAccountCustomDetails" + } + } + } + } +}; + +export const A2AProtectionIntentManagedDiskInputDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AProtectionIntentManagedDiskInputDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + required: true, + type: { + name: "String" + } + }, + primaryStagingStorageAccountCustomInput: { + serializedName: "primaryStagingStorageAccountCustomInput", + type: { + name: "Composite", + className: "StorageAccountCustomDetails" + } + }, + recoveryResourceGroupCustomInput: { + serializedName: "recoveryResourceGroupCustomInput", + type: { + name: "Composite", + className: "RecoveryResourceGroupCustomDetails" + } + }, + recoveryReplicaDiskAccountType: { + serializedName: "recoveryReplicaDiskAccountType", + type: { + name: "String" + } + }, + recoveryTargetDiskAccountType: { + serializedName: "recoveryTargetDiskAccountType", + type: { + name: "String" + } + }, + recoveryDiskEncryptionSetId: { + serializedName: "recoveryDiskEncryptionSetId", + type: { + name: "String" + } + }, + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", + type: { + name: "Composite", + className: "DiskEncryptionInfo" + } + } + } + } +}; + +export const RecoveryResourceGroupCustomDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryResourceGroupCustomDetails", + uberParent: "RecoveryResourceGroupCustomDetails", + polymorphicDiscriminator: { + serializedName: "resourceType", + clientName: "resourceType" + }, + modelProperties: { + resourceType: { + serializedName: "resourceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ExtendedLocation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExtendedLocation", + modelProperties: { + name: { + serializedName: "name", + required: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const A2AProtectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AProtectedDiskDetails", + modelProperties: { + diskUri: { + serializedName: "diskUri", + type: { + name: "String" + } + }, + recoveryAzureStorageAccountId: { + serializedName: "recoveryAzureStorageAccountId", + type: { + name: "String" + } + }, + primaryDiskAzureStorageAccountId: { + serializedName: "primaryDiskAzureStorageAccountId", + type: { + name: "String" + } + }, + recoveryDiskUri: { + serializedName: "recoveryDiskUri", + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + type: { + name: "String" + } + }, + diskCapacityInBytes: { + serializedName: "diskCapacityInBytes", + type: { + name: "Number" + } + }, + primaryStagingAzureStorageAccountId: { + serializedName: "primaryStagingAzureStorageAccountId", + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + resyncRequired: { + serializedName: "resyncRequired", + type: { + name: "Boolean" + } + }, + monitoringPercentageCompletion: { + serializedName: "monitoringPercentageCompletion", + type: { + name: "Number" + } + }, + monitoringJobType: { + serializedName: "monitoringJobType", + type: { + name: "String" + } + }, + dataPendingInStagingStorageAccountInMB: { + serializedName: "dataPendingInStagingStorageAccountInMB", + type: { + name: "Number" + } + }, + dataPendingAtSourceAgentInMB: { + serializedName: "dataPendingAtSourceAgentInMB", + type: { + name: "Number" + } + }, + diskState: { + serializedName: "diskState", + type: { + name: "String" + } + }, + allowedDiskLevelOperation: { + serializedName: "allowedDiskLevelOperation", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isDiskEncrypted: { + serializedName: "isDiskEncrypted", + type: { + name: "Boolean" + } + }, + secretIdentifier: { + serializedName: "secretIdentifier", + type: { + name: "String" + } + }, + dekKeyVaultArmId: { + serializedName: "dekKeyVaultArmId", + type: { + name: "String" + } + }, + isDiskKeyEncrypted: { + serializedName: "isDiskKeyEncrypted", + type: { + name: "Boolean" + } + }, + keyIdentifier: { + serializedName: "keyIdentifier", + type: { + name: "String" + } + }, + kekKeyVaultArmId: { + serializedName: "kekKeyVaultArmId", + type: { + name: "String" + } + }, + failoverDiskName: { + serializedName: "failoverDiskName", + type: { + name: "String" + } + }, + tfoDiskName: { + serializedName: "tfoDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const A2AProtectedManagedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AProtectedManagedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", + type: { + name: "String" + } + }, + recoveryTargetDiskId: { + serializedName: "recoveryTargetDiskId", + type: { + name: "String" + } + }, + recoveryReplicaDiskId: { + serializedName: "recoveryReplicaDiskId", + type: { + name: "String" + } + }, + recoveryOrignalTargetDiskId: { + serializedName: "recoveryOrignalTargetDiskId", + type: { + name: "String" + } + }, + recoveryReplicaDiskAccountType: { + serializedName: "recoveryReplicaDiskAccountType", + type: { + name: "String" + } + }, + recoveryTargetDiskAccountType: { + serializedName: "recoveryTargetDiskAccountType", + type: { + name: "String" + } + }, + recoveryDiskEncryptionSetId: { + serializedName: "recoveryDiskEncryptionSetId", + type: { + name: "String" + } + }, + primaryDiskEncryptionSetId: { + serializedName: "primaryDiskEncryptionSetId", + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + type: { + name: "String" + } + }, + diskCapacityInBytes: { + serializedName: "diskCapacityInBytes", + type: { + name: "Number" + } + }, + primaryStagingAzureStorageAccountId: { + serializedName: "primaryStagingAzureStorageAccountId", + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + resyncRequired: { + serializedName: "resyncRequired", + type: { + name: "Boolean" + } + }, + monitoringPercentageCompletion: { + serializedName: "monitoringPercentageCompletion", + type: { + name: "Number" + } + }, + monitoringJobType: { + serializedName: "monitoringJobType", + type: { + name: "String" + } + }, + dataPendingInStagingStorageAccountInMB: { + serializedName: "dataPendingInStagingStorageAccountInMB", + type: { + name: "Number" + } + }, + dataPendingAtSourceAgentInMB: { + serializedName: "dataPendingAtSourceAgentInMB", + type: { + name: "Number" + } + }, + diskState: { + serializedName: "diskState", + type: { + name: "String" + } + }, + allowedDiskLevelOperation: { + serializedName: "allowedDiskLevelOperation", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isDiskEncrypted: { + serializedName: "isDiskEncrypted", + type: { + name: "Boolean" + } + }, + secretIdentifier: { + serializedName: "secretIdentifier", + type: { + name: "String" + } + }, + dekKeyVaultArmId: { + serializedName: "dekKeyVaultArmId", + type: { + name: "String" + } + }, + isDiskKeyEncrypted: { + serializedName: "isDiskKeyEncrypted", + type: { + name: "Boolean" + } + }, + keyIdentifier: { + serializedName: "keyIdentifier", + type: { + name: "String" + } + }, + kekKeyVaultArmId: { + serializedName: "kekKeyVaultArmId", + type: { + name: "String" + } + }, + failoverDiskName: { + serializedName: "failoverDiskName", + type: { + name: "String" + } + }, + tfoDiskName: { + serializedName: "tfoDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const A2AUnprotectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AUnprotectedDiskDetails", + modelProperties: { + diskLunId: { + serializedName: "diskLunId", + type: { + name: "Number" + } + }, + diskAutoProtectionStatus: { + serializedName: "diskAutoProtectionStatus", + type: { + name: "String" + } + } + } + } +}; + +export const VMNicDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMNicDetails", + modelProperties: { + nicId: { + serializedName: "nicId", + type: { + name: "String" + } + }, + replicaNicId: { + serializedName: "replicaNicId", + type: { + name: "String" + } + }, + sourceNicArmId: { + serializedName: "sourceNicArmId", + type: { + name: "String" + } + }, + vMNetworkName: { + serializedName: "vMNetworkName", + type: { + name: "String" + } + }, + recoveryVMNetworkId: { + serializedName: "recoveryVMNetworkId", + type: { + name: "String" + } + }, + ipConfigs: { + serializedName: "ipConfigs", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IPConfigDetails" + } + } + } + }, + selectionType: { + serializedName: "selectionType", + type: { + name: "String" + } + }, + recoveryNetworkSecurityGroupId: { + serializedName: "recoveryNetworkSecurityGroupId", + type: { + name: "String" + } + }, + enableAcceleratedNetworkingOnRecovery: { + serializedName: "enableAcceleratedNetworkingOnRecovery", + type: { + name: "Boolean" + } + }, + tfoVMNetworkId: { + serializedName: "tfoVMNetworkId", + type: { + name: "String" + } + }, + tfoNetworkSecurityGroupId: { + serializedName: "tfoNetworkSecurityGroupId", + type: { + name: "String" + } + }, + enableAcceleratedNetworkingOnTfo: { + serializedName: "enableAcceleratedNetworkingOnTfo", + type: { + name: "Boolean" + } + }, + recoveryNicName: { + serializedName: "recoveryNicName", + type: { + name: "String" + } + }, + recoveryNicResourceGroupName: { + serializedName: "recoveryNicResourceGroupName", + type: { + name: "String" + } + }, + reuseExistingNic: { + defaultValue: false, + serializedName: "reuseExistingNic", + type: { + name: "Boolean" + } + }, + tfoRecoveryNicName: { + serializedName: "tfoRecoveryNicName", + type: { + name: "String" + } + }, + tfoRecoveryNicResourceGroupName: { + serializedName: "tfoRecoveryNicResourceGroupName", + type: { + name: "String" + } + }, + tfoReuseExistingNic: { + defaultValue: false, + serializedName: "tfoReuseExistingNic", + type: { + name: "Boolean" + } + }, + targetNicName: { + serializedName: "targetNicName", + type: { + name: "String" + } + } + } + } +}; + +export const IPConfigDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IPConfigDetails", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + isPrimary: { + serializedName: "isPrimary", + type: { + name: "Boolean" + } + }, + subnetName: { + serializedName: "subnetName", + type: { + name: "String" + } + }, + staticIPAddress: { + serializedName: "staticIPAddress", + type: { + name: "String" + } + }, + ipAddressType: { + serializedName: "ipAddressType", + type: { + name: "String" + } + }, + isSeletedForFailover: { + serializedName: "isSeletedForFailover", + type: { + name: "Boolean" + } + }, + recoverySubnetName: { + serializedName: "recoverySubnetName", + type: { + name: "String" + } + }, + recoveryStaticIPAddress: { + serializedName: "recoveryStaticIPAddress", + type: { + name: "String" + } + }, + recoveryIPAddressType: { + serializedName: "recoveryIPAddressType", + type: { + name: "String" + } + }, + recoveryPublicIPAddressId: { + serializedName: "recoveryPublicIPAddressId", + type: { + name: "String" + } + }, + recoveryLBBackendAddressPoolIds: { + serializedName: "recoveryLBBackendAddressPoolIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + tfoSubnetName: { + serializedName: "tfoSubnetName", + type: { + name: "String" + } + }, + tfoStaticIPAddress: { + serializedName: "tfoStaticIPAddress", + type: { + name: "String" + } + }, + tfoPublicIPAddressId: { + serializedName: "tfoPublicIPAddressId", + type: { + name: "String" + } + }, + tfoLBBackendAddressPoolIds: { + serializedName: "tfoLBBackendAddressPoolIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const AzureToAzureVmSyncedConfigDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureToAzureVmSyncedConfigDetails", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + inputEndpoints: { + serializedName: "inputEndpoints", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InputEndpoint" + } + } + } + } + } + } +}; + +export const InputEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InputEndpoint", + modelProperties: { + endpointName: { + serializedName: "endpointName", + type: { + name: "String" + } + }, + privatePort: { + serializedName: "privatePort", + type: { + name: "Number" + } + }, + publicPort: { + serializedName: "publicPort", + type: { + name: "Number" + } + }, + protocol: { + serializedName: "protocol", + type: { + name: "String" + } + } + } + } +}; + +export const A2AVmManagedDiskUpdateDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AVmManagedDiskUpdateDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + recoveryTargetDiskAccountType: { + serializedName: "recoveryTargetDiskAccountType", + type: { + name: "String" + } + }, + recoveryReplicaDiskAccountType: { + serializedName: "recoveryReplicaDiskAccountType", + type: { + name: "String" + } + }, + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", + type: { + name: "Composite", + className: "DiskEncryptionInfo" + } + }, + failoverDiskName: { + serializedName: "failoverDiskName", + type: { + name: "String" + } + }, + tfoDiskName: { + serializedName: "tfoDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const A2AZoneDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "A2AZoneDetails", + modelProperties: { + source: { + serializedName: "source", + type: { + name: "String" + } + }, + target: { + serializedName: "target", + type: { + name: "String" + } + } + } + } +}; + +export const AgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentDetails", + modelProperties: { + agentId: { + serializedName: "agentId", + readOnly: true, + type: { + name: "String" + } + }, + machineId: { + serializedName: "machineId", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + disks: { + serializedName: "disks", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AgentDiskDetails" + } + } + } + } + } + } +}; + +export const AgentDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + readOnly: true, + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + readOnly: true, + type: { + name: "String" + } + }, + isOSDisk: { + serializedName: "isOSDisk", + readOnly: true, + type: { + name: "String" + } + }, + capacityInBytes: { + serializedName: "capacityInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + lunId: { + serializedName: "lunId", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const ApplianceQueryParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplianceQueryParameter", + modelProperties: { + providerType: { + serializedName: "providerType", + type: { + name: "String" + } + } + } + } +}; + +export const AzureVmDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureVmDiskDetails", + modelProperties: { + vhdType: { + serializedName: "vhdType", + type: { + name: "String" + } + }, + vhdId: { + serializedName: "vhdId", + type: { + name: "String" + } + }, + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + vhdName: { + serializedName: "vhdName", + type: { + name: "String" + } + }, + maxSizeMB: { + serializedName: "maxSizeMB", + type: { + name: "String" + } + }, + targetDiskLocation: { + serializedName: "targetDiskLocation", + type: { + name: "String" + } + }, + targetDiskName: { + serializedName: "targetDiskName", + type: { + name: "String" + } + }, + lunId: { + serializedName: "lunId", + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + }, + customTargetDiskName: { + serializedName: "customTargetDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const InconsistentVmDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InconsistentVmDetails", + modelProperties: { + vmName: { + serializedName: "vmName", + type: { + name: "String" + } + }, + cloudName: { + serializedName: "cloudName", + type: { + name: "String" + } + }, + details: { + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + errorIds: { + serializedName: "errorIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const DataStore: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DataStore", + modelProperties: { + symbolicName: { + serializedName: "symbolicName", + type: { + name: "String" + } + }, + uuid: { + serializedName: "uuid", + type: { + name: "String" + } + }, + capacity: { + serializedName: "capacity", + type: { + name: "String" + } + }, + freeSpace: { + serializedName: "freeSpace", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const DiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskDetails", + modelProperties: { + maxSizeMB: { + serializedName: "maxSizeMB", + type: { + name: "Number" + } + }, + vhdType: { + serializedName: "vhdType", + type: { + name: "String" + } + }, + vhdId: { + serializedName: "vhdId", + type: { + name: "String" + } + }, + vhdName: { + serializedName: "vhdName", + type: { + name: "String" + } + } + } + } +}; + +export const DiskVolumeDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskVolumeDetails", + modelProperties: { + label: { + serializedName: "label", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const DraDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DraDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + forwardProtectedItemCount: { + serializedName: "forwardProtectedItemCount", + readOnly: true, + type: { + name: "Number" + } + }, + reverseProtectedItemCount: { + serializedName: "reverseProtectedItemCount", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const EventQueryParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EventQueryParameter", + modelProperties: { + eventCode: { + serializedName: "eventCode", + type: { + name: "String" + } + }, + severity: { + serializedName: "severity", + type: { + name: "String" + } + }, + eventType: { + serializedName: "eventType", + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + type: { + name: "String" + } + }, + affectedObjectFriendlyName: { + serializedName: "affectedObjectFriendlyName", + type: { + name: "String" + } + }, + affectedObjectCorrelationId: { + serializedName: "affectedObjectCorrelationId", + type: { + name: "String" + } + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime" + } + }, + endTime: { + serializedName: "endTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const FabricQueryParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FabricQueryParameter", + modelProperties: { + zoneToZoneMappings: { + serializedName: "zoneToZoneMappings", + type: { + name: "String" + } + }, + fetchAgentDetails: { + serializedName: "fetchAgentDetails", + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + type: { + name: "String" + } + }, + discoveryType: { + serializedName: "discoveryType", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + } + } + } +}; + +export const JobEntity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "JobEntity", + modelProperties: { + jobId: { + serializedName: "jobId", + type: { + name: "String" + } + }, + jobFriendlyName: { + serializedName: "jobFriendlyName", + type: { + name: "String" + } + }, + targetObjectId: { + serializedName: "targetObjectId", + type: { + name: "String" + } + }, + targetObjectName: { + serializedName: "targetObjectName", + type: { + name: "String" + } + }, + targetInstanceType: { + serializedName: "targetInstanceType", + type: { + name: "String" + } + }, + jobScenarioName: { + serializedName: "jobScenarioName", + type: { + name: "String" + } + } + } + } +}; + +export const FailoverReplicationProtectedItemDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "FailoverReplicationProtectedItemDetails", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "friendlyName", + type: { + name: "String" + } + }, + testVmName: { + serializedName: "testVmName", + type: { + name: "String" + } + }, + testVmFriendlyName: { + serializedName: "testVmFriendlyName", + type: { + name: "String" + } + }, + networkConnectionStatus: { + serializedName: "networkConnectionStatus", + type: { + name: "String" + } + }, + networkFriendlyName: { + serializedName: "networkFriendlyName", + type: { + name: "String" + } + }, + subnet: { + serializedName: "subnet", + type: { + name: "String" + } + }, + recoveryPointId: { + serializedName: "recoveryPointId", + type: { + name: "String" + } + }, + recoveryPointTime: { + serializedName: "recoveryPointTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const HyperVHostDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HyperVHostDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + marsAgentVersion: { + serializedName: "marsAgentVersion", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplicaAzureDiskInputDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HyperVReplicaAzureDiskInputDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplicaAzureManagedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HyperVReplicaAzureManagedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + seedManagedDiskId: { + serializedName: "seedManagedDiskId", + type: { + name: "String" + } + }, + replicaDiskType: { + serializedName: "replicaDiskType", + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + } + } + } +}; + +export const InitialReplicationDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InitialReplicationDetails", + modelProperties: { + initialReplicationType: { + serializedName: "initialReplicationType", + type: { + name: "String" + } + }, + initialReplicationProgressPercentage: { + serializedName: "initialReplicationProgressPercentage", + type: { + name: "String" + } + } + } + } +}; + +export const OSDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OSDetails", + modelProperties: { + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + productType: { + serializedName: "productType", + type: { + name: "String" + } + }, + osEdition: { + serializedName: "osEdition", + type: { + name: "String" + } + }, + oSVersion: { + serializedName: "oSVersion", + type: { + name: "String" + } + }, + oSMajorVersion: { + serializedName: "oSMajorVersion", + type: { + name: "String" + } + }, + oSMinorVersion: { + serializedName: "oSMinorVersion", + type: { + name: "String" + } + } + } + } +}; + +export const UpdateDiskInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UpdateDiskInput", + modelProperties: { + diskId: { + serializedName: "diskId", + required: true, + type: { + name: "String" + } + }, + targetDiskName: { + serializedName: "targetDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const InMageAgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageAgentDetails", + modelProperties: { + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + agentUpdateStatus: { + serializedName: "agentUpdateStatus", + type: { + name: "String" + } + }, + postUpdateRebootStatus: { + serializedName: "postUpdateRebootStatus", + type: { + name: "String" + } + }, + agentExpiryDate: { + serializedName: "agentExpiryDate", + type: { + name: "DateTime" + } + } + } + } +}; + +export const InMageAzureV2DiskInputDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageAzureV2DiskInputDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + } + } + } +}; + +export const InMageAzureV2ManagedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageAzureV2ManagedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + seedManagedDiskId: { + serializedName: "seedManagedDiskId", + type: { + name: "String" + } + }, + replicaDiskType: { + serializedName: "replicaDiskType", + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + }, + targetDiskName: { + serializedName: "targetDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const InMageAzureV2ProtectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageAzureV2ProtectedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + type: { + name: "String" + } + }, + protectionStage: { + serializedName: "protectionStage", + type: { + name: "String" + } + }, + healthErrorCode: { + serializedName: "healthErrorCode", + type: { + name: "String" + } + }, + rpoInSeconds: { + serializedName: "rpoInSeconds", + type: { + name: "Number" + } + }, + resyncRequired: { + serializedName: "resyncRequired", + type: { + name: "String" + } + }, + resyncProgressPercentage: { + serializedName: "resyncProgressPercentage", + type: { + name: "Number" + } + }, + resyncDurationInSeconds: { + serializedName: "resyncDurationInSeconds", + type: { + name: "Number" + } + }, + diskCapacityInBytes: { + serializedName: "diskCapacityInBytes", + type: { + name: "Number" + } + }, + fileSystemCapacityInBytes: { + serializedName: "fileSystemCapacityInBytes", + type: { + name: "Number" + } + }, + sourceDataInMegaBytes: { + serializedName: "sourceDataInMegaBytes", + type: { + name: "Number" + } + }, + psDataInMegaBytes: { + serializedName: "psDataInMegaBytes", + type: { + name: "Number" + } + }, + targetDataInMegaBytes: { + serializedName: "targetDataInMegaBytes", + type: { + name: "Number" + } + }, + diskResized: { + serializedName: "diskResized", + type: { + name: "String" + } + }, + lastRpoCalculatedTime: { + serializedName: "lastRpoCalculatedTime", + type: { + name: "DateTime" + } + }, + resyncProcessedBytes: { + serializedName: "resyncProcessedBytes", + type: { + name: "Number" + } + }, + resyncTotalTransferredBytes: { + serializedName: "resyncTotalTransferredBytes", + type: { + name: "Number" + } + }, + resyncLast15MinutesTransferredBytes: { + serializedName: "resyncLast15MinutesTransferredBytes", + type: { + name: "Number" + } + }, + resyncLastDataTransferTimeUTC: { + serializedName: "resyncLastDataTransferTimeUTC", + type: { + name: "DateTime" + } + }, + resyncStartTime: { + serializedName: "resyncStartTime", + type: { + name: "DateTime" + } + }, + progressHealth: { + serializedName: "progressHealth", + type: { + name: "String" + } + }, + progressStatus: { + serializedName: "progressStatus", + type: { + name: "String" + } + }, + secondsToTakeSwitchProvider: { + serializedName: "secondsToTakeSwitchProvider", + type: { + name: "Number" + } + } + } + } +}; + +export const InMageAzureV2SwitchProviderBlockingErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageAzureV2SwitchProviderBlockingErrorDetails", + modelProperties: { + errorCode: { + serializedName: "errorCode", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String" + } + }, + possibleCauses: { + serializedName: "possibleCauses", + readOnly: true, + type: { + name: "String" + } + }, + recommendedAction: { + serializedName: "recommendedAction", + readOnly: true, + type: { + name: "String" + } + }, + errorMessageParameters: { + serializedName: "errorMessageParameters", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + errorTags: { + serializedName: "errorTags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const InMageAzureV2SwitchProviderDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageAzureV2SwitchProviderDetails", + modelProperties: { + targetVaultId: { + serializedName: "targetVaultId", + readOnly: true, + type: { + name: "String" + } + }, + targetResourceId: { + serializedName: "targetResourceId", + readOnly: true, + type: { + name: "String" + } + }, + targetFabricId: { + serializedName: "targetFabricId", + readOnly: true, + type: { + name: "String" + } + }, + targetApplianceId: { + serializedName: "targetApplianceId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const InMageDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + type: { + name: "String" + } + }, + diskSizeInMB: { + serializedName: "diskSizeInMB", + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + diskConfiguration: { + serializedName: "diskConfiguration", + type: { + name: "String" + } + }, + volumeList: { + serializedName: "volumeList", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskVolumeDetails" + } + } + } + } + } + } +}; + +export const InMageDiskExclusionInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageDiskExclusionInput", + modelProperties: { + volumeOptions: { + serializedName: "volumeOptions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageVolumeExclusionOptions" + } + } + } + }, + diskSignatureOptions: { + serializedName: "diskSignatureOptions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageDiskSignatureExclusionOptions" + } + } + } + } + } + } +}; + +export const InMageVolumeExclusionOptions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageVolumeExclusionOptions", + modelProperties: { + volumeLabel: { + serializedName: "volumeLabel", + type: { + name: "String" + } + }, + onlyExcludeIfSingleVolume: { + serializedName: "onlyExcludeIfSingleVolume", + type: { + name: "String" + } + } + } + } +}; + +export const InMageDiskSignatureExclusionOptions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageDiskSignatureExclusionOptions", + modelProperties: { + diskSignature: { + serializedName: "diskSignature", + type: { + name: "String" + } + } + } + } +}; + +export const InMageFabricSwitchProviderBlockingErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageFabricSwitchProviderBlockingErrorDetails", + modelProperties: { + errorCode: { + serializedName: "errorCode", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String" + } + }, + possibleCauses: { + serializedName: "possibleCauses", + readOnly: true, + type: { + name: "String" + } + }, + recommendedAction: { + serializedName: "recommendedAction", + readOnly: true, + type: { + name: "String" + } + }, + errorMessageParameters: { + serializedName: "errorMessageParameters", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + errorTags: { + serializedName: "errorTags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const InMageProtectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageProtectedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + type: { + name: "String" + } + }, + protectionStage: { + serializedName: "protectionStage", + type: { + name: "String" + } + }, + healthErrorCode: { + serializedName: "healthErrorCode", + type: { + name: "String" + } + }, + rpoInSeconds: { + serializedName: "rpoInSeconds", + type: { + name: "Number" + } + }, + resyncRequired: { + serializedName: "resyncRequired", + type: { + name: "String" + } + }, + resyncProgressPercentage: { + serializedName: "resyncProgressPercentage", + type: { + name: "Number" + } + }, + resyncDurationInSeconds: { + serializedName: "resyncDurationInSeconds", + type: { + name: "Number" + } + }, + diskCapacityInBytes: { + serializedName: "diskCapacityInBytes", + type: { + name: "Number" + } + }, + fileSystemCapacityInBytes: { + serializedName: "fileSystemCapacityInBytes", + type: { + name: "Number" + } + }, + sourceDataInMB: { + serializedName: "sourceDataInMB", + type: { + name: "Number" + } + }, + psDataInMB: { + serializedName: "psDataInMB", + type: { + name: "Number" + } + }, + targetDataInMB: { + serializedName: "targetDataInMB", + type: { + name: "Number" + } + }, + diskResized: { + serializedName: "diskResized", + type: { + name: "String" + } + }, + lastRpoCalculatedTime: { + serializedName: "lastRpoCalculatedTime", + type: { + name: "DateTime" + } + }, + resyncProcessedBytes: { + serializedName: "resyncProcessedBytes", + type: { + name: "Number" + } + }, + resyncTotalTransferredBytes: { + serializedName: "resyncTotalTransferredBytes", + type: { + name: "Number" + } + }, + resyncLast15MinutesTransferredBytes: { + serializedName: "resyncLast15MinutesTransferredBytes", + type: { + name: "Number" + } + }, + resyncLastDataTransferTimeUTC: { + serializedName: "resyncLastDataTransferTimeUTC", + type: { + name: "DateTime" + } + }, + resyncStartTime: { + serializedName: "resyncStartTime", + type: { + name: "DateTime" + } + }, + progressHealth: { + serializedName: "progressHealth", + type: { + name: "String" + } + }, + progressStatus: { + serializedName: "progressStatus", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmAgentUpgradeBlockingErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmAgentUpgradeBlockingErrorDetails", + modelProperties: { + errorCode: { + serializedName: "errorCode", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String" + } + }, + possibleCauses: { + serializedName: "possibleCauses", + readOnly: true, + type: { + name: "String" + } + }, + recommendedAction: { + serializedName: "recommendedAction", + readOnly: true, + type: { + name: "String" + } + }, + errorMessageParameters: { + serializedName: "errorMessageParameters", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + errorTags: { + serializedName: "errorTags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const InMageRcmApplianceDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmApplianceDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + fabricArmId: { + serializedName: "fabricArmId", + readOnly: true, + type: { + name: "String" + } + }, + processServer: { + serializedName: "processServer", + type: { + name: "Composite", + className: "ProcessServerDetails" + } + }, + rcmProxy: { + serializedName: "rcmProxy", + type: { + name: "Composite", + className: "RcmProxyDetails" + } + }, + pushInstaller: { + serializedName: "pushInstaller", + type: { + name: "Composite", + className: "PushInstallerDetails" + } + }, + replicationAgent: { + serializedName: "replicationAgent", + type: { + name: "Composite", + className: "ReplicationAgentDetails" + } + }, + reprotectAgent: { + serializedName: "reprotectAgent", + type: { + name: "Composite", + className: "ReprotectAgentDetails" + } + }, + marsAgent: { + serializedName: "marsAgent", + type: { + name: "Composite", + className: "MarsAgentDetails" + } + }, + dra: { + serializedName: "dra", + type: { + name: "Composite", + className: "DraDetails" + } + }, + switchProviderBlockingErrorDetails: { + serializedName: "switchProviderBlockingErrorDetails", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmFabricSwitchProviderBlockingErrorDetails" + } + } + } + } + } + } +}; + +export const ProcessServerDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProcessServerDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + ipAddresses: { + serializedName: "ipAddresses", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + totalMemoryInBytes: { + serializedName: "totalMemoryInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + availableMemoryInBytes: { + serializedName: "availableMemoryInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + usedMemoryInBytes: { + serializedName: "usedMemoryInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + memoryUsagePercentage: { + serializedName: "memoryUsagePercentage", + readOnly: true, + type: { + name: "Number" + } + }, + totalSpaceInBytes: { + serializedName: "totalSpaceInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + availableSpaceInBytes: { + serializedName: "availableSpaceInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + usedSpaceInBytes: { + serializedName: "usedSpaceInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + freeSpacePercentage: { + serializedName: "freeSpacePercentage", + readOnly: true, + type: { + name: "Number" + } + }, + throughputUploadPendingDataInBytes: { + serializedName: "throughputUploadPendingDataInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + throughputInBytes: { + serializedName: "throughputInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + processorUsagePercentage: { + serializedName: "processorUsagePercentage", + readOnly: true, + type: { + name: "Number" + } + }, + throughputStatus: { + serializedName: "throughputStatus", + readOnly: true, + type: { + name: "String" + } + }, + systemLoad: { + serializedName: "systemLoad", + readOnly: true, + type: { + name: "Number" + } + }, + systemLoadStatus: { + serializedName: "systemLoadStatus", + readOnly: true, + type: { + name: "String" + } + }, + diskUsageStatus: { + serializedName: "diskUsageStatus", + readOnly: true, + type: { + name: "String" + } + }, + memoryUsageStatus: { + serializedName: "memoryUsageStatus", + readOnly: true, + type: { + name: "String" + } + }, + processorUsageStatus: { + serializedName: "processorUsageStatus", + readOnly: true, + type: { + name: "String" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + protectedItemCount: { + serializedName: "protectedItemCount", + readOnly: true, + type: { + name: "Number" + } + }, + historicHealth: { + serializedName: "historicHealth", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const RcmProxyDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RcmProxyDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + clientAuthenticationType: { + serializedName: "clientAuthenticationType", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + } + } + } +}; + +export const PushInstallerDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PushInstallerDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + } + } + } +}; + +export const ReplicationAgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationAgentDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + } + } + } +}; + +export const ReprotectAgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReprotectAgentDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + protectedItemCount: { + serializedName: "protectedItemCount", + readOnly: true, + type: { + name: "Number" + } + }, + accessibleDatastores: { + serializedName: "accessibleDatastores", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + vcenterId: { + serializedName: "vcenterId", + readOnly: true, + type: { + name: "String" + } + }, + lastDiscoveryInUtc: { + serializedName: "lastDiscoveryInUtc", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const MarsAgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MarsAgentDetails", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + biosId: { + serializedName: "biosId", + readOnly: true, + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + readOnly: true, + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + readOnly: true, + type: { + name: "String" + } + }, + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + } + } + } +}; + +export const InMageRcmFabricSwitchProviderBlockingErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmFabricSwitchProviderBlockingErrorDetails", + modelProperties: { + errorCode: { + serializedName: "errorCode", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String" + } + }, + possibleCauses: { + serializedName: "possibleCauses", + readOnly: true, + type: { + name: "String" + } + }, + recommendedAction: { + serializedName: "recommendedAction", + readOnly: true, + type: { + name: "String" + } + }, + errorMessageParameters: { + serializedName: "errorMessageParameters", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + errorTags: { + serializedName: "errorTags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const InMageRcmDiscoveredProtectedVmDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmDiscoveredProtectedVmDetails", + modelProperties: { + vCenterId: { + serializedName: "vCenterId", + readOnly: true, + type: { + name: "String" + } + }, + vCenterFqdn: { + serializedName: "vCenterFqdn", + readOnly: true, + type: { + name: "String" + } + }, + datastores: { + serializedName: "datastores", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + ipAddresses: { + serializedName: "ipAddresses", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + vmwareToolsStatus: { + serializedName: "vmwareToolsStatus", + readOnly: true, + type: { + name: "String" + } + }, + powerStatus: { + serializedName: "powerStatus", + readOnly: true, + type: { + name: "String" + } + }, + vmFqdn: { + serializedName: "vmFqdn", + readOnly: true, + type: { + name: "String" + } + }, + osName: { + serializedName: "osName", + readOnly: true, + type: { + name: "String" + } + }, + createdTimestamp: { + serializedName: "createdTimestamp", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedTimestamp: { + serializedName: "updatedTimestamp", + readOnly: true, + type: { + name: "DateTime" + } + }, + isDeleted: { + serializedName: "isDeleted", + readOnly: true, + type: { + name: "Boolean" + } + }, + lastDiscoveryTimeInUtc: { + serializedName: "lastDiscoveryTimeInUtc", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const InMageRcmDiskInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmDiskInput", + modelProperties: { + diskId: { + serializedName: "diskId", + required: true, + type: { + name: "String" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", + required: true, + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + required: true, + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmDisksDefaultInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmDisksDefaultInput", + modelProperties: { + logStorageAccountId: { + serializedName: "logStorageAccountId", + required: true, + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + required: true, + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmFailbackDiscoveredProtectedVmDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmFailbackDiscoveredProtectedVmDetails", + modelProperties: { + vCenterId: { + serializedName: "vCenterId", + readOnly: true, + type: { + name: "String" + } + }, + vCenterFqdn: { + serializedName: "vCenterFqdn", + readOnly: true, + type: { + name: "String" + } + }, + datastores: { + serializedName: "datastores", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + ipAddresses: { + serializedName: "ipAddresses", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + vmwareToolsStatus: { + serializedName: "vmwareToolsStatus", + readOnly: true, + type: { + name: "String" + } + }, + powerStatus: { + serializedName: "powerStatus", + readOnly: true, + type: { + name: "String" + } + }, + vmFqdn: { + serializedName: "vmFqdn", + readOnly: true, + type: { + name: "String" + } + }, + osName: { + serializedName: "osName", + readOnly: true, + type: { + name: "String" + } + }, + createdTimestamp: { + serializedName: "createdTimestamp", + readOnly: true, + type: { + name: "DateTime" + } + }, + updatedTimestamp: { + serializedName: "updatedTimestamp", + readOnly: true, + type: { + name: "DateTime" + } + }, + isDeleted: { + serializedName: "isDeleted", + readOnly: true, + type: { + name: "Boolean" + } + }, + lastDiscoveryTimeInUtc: { + serializedName: "lastDiscoveryTimeInUtc", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const InMageRcmFailbackMobilityAgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmFailbackMobilityAgentDetails", + modelProperties: { + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + latestVersion: { + serializedName: "latestVersion", + readOnly: true, + type: { + name: "String" + } + }, + driverVersion: { + serializedName: "driverVersion", + readOnly: true, + type: { + name: "String" + } + }, + latestUpgradableVersionWithoutReboot: { + serializedName: "latestUpgradableVersionWithoutReboot", + readOnly: true, + type: { + name: "String" + } + }, + agentVersionExpiryDate: { + serializedName: "agentVersionExpiryDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + driverVersionExpiryDate: { + serializedName: "driverVersionExpiryDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + reasonsBlockingUpgrade: { + serializedName: "reasonsBlockingUpgrade", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isUpgradeable: { + serializedName: "isUpgradeable", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmFailbackNicDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmFailbackNicDetails", + modelProperties: { + macAddress: { + serializedName: "macAddress", + readOnly: true, + type: { + name: "String" + } + }, + networkName: { + serializedName: "networkName", + readOnly: true, + type: { + name: "String" + } + }, + adapterType: { + serializedName: "adapterType", + readOnly: true, + type: { + name: "String" + } + }, + sourceIpAddress: { + serializedName: "sourceIpAddress", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmFailbackProtectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmFailbackProtectedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + readOnly: true, + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + readOnly: true, + type: { + name: "String" + } + }, + isOSDisk: { + serializedName: "isOSDisk", + readOnly: true, + type: { + name: "String" + } + }, + capacityInBytes: { + serializedName: "capacityInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + diskUuid: { + serializedName: "diskUuid", + readOnly: true, + type: { + name: "String" + } + }, + dataPendingInLogDataStoreInMB: { + serializedName: "dataPendingInLogDataStoreInMB", + readOnly: true, + type: { + name: "Number" + } + }, + dataPendingAtSourceAgentInMB: { + serializedName: "dataPendingAtSourceAgentInMB", + readOnly: true, + type: { + name: "Number" + } + }, + isInitialReplicationComplete: { + serializedName: "isInitialReplicationComplete", + readOnly: true, + type: { + name: "String" + } + }, + irDetails: { + serializedName: "irDetails", + type: { + name: "Composite", + className: "InMageRcmFailbackSyncDetails" + } + }, + resyncDetails: { + serializedName: "resyncDetails", + type: { + name: "Composite", + className: "InMageRcmFailbackSyncDetails" + } + }, + lastSyncTime: { + serializedName: "lastSyncTime", + readOnly: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const InMageRcmFailbackSyncDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmFailbackSyncDetails", + modelProperties: { + progressHealth: { + serializedName: "progressHealth", + readOnly: true, + type: { + name: "String" + } + }, + transferredBytes: { + serializedName: "transferredBytes", + readOnly: true, + type: { + name: "Number" + } + }, + last15MinutesTransferredBytes: { + serializedName: "last15MinutesTransferredBytes", + readOnly: true, + type: { + name: "Number" + } + }, + lastDataTransferTimeUtc: { + serializedName: "lastDataTransferTimeUtc", + readOnly: true, + type: { + name: "String" + } + }, + processedBytes: { + serializedName: "processedBytes", + readOnly: true, + type: { + name: "Number" + } + }, + startTime: { + serializedName: "startTime", + readOnly: true, + type: { + name: "String" + } + }, + lastRefreshTime: { + serializedName: "lastRefreshTime", + readOnly: true, + type: { + name: "String" + } + }, + progressPercentage: { + serializedName: "progressPercentage", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const InMageRcmLastAgentUpgradeErrorDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmLastAgentUpgradeErrorDetails", + modelProperties: { + errorCode: { + serializedName: "errorCode", + readOnly: true, + type: { + name: "String" + } + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String" + } + }, + possibleCauses: { + serializedName: "possibleCauses", + readOnly: true, + type: { + name: "String" + } + }, + recommendedAction: { + serializedName: "recommendedAction", + readOnly: true, + type: { + name: "String" + } + }, + errorMessageParameters: { + serializedName: "errorMessageParameters", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + errorTags: { + serializedName: "errorTags", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const InMageRcmMobilityAgentDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmMobilityAgentDetails", + modelProperties: { + version: { + serializedName: "version", + readOnly: true, + type: { + name: "String" + } + }, + latestVersion: { + serializedName: "latestVersion", + readOnly: true, + type: { + name: "String" + } + }, + latestAgentReleaseDate: { + serializedName: "latestAgentReleaseDate", + readOnly: true, + type: { + name: "String" + } + }, + driverVersion: { + serializedName: "driverVersion", + readOnly: true, + type: { + name: "String" + } + }, + latestUpgradableVersionWithoutReboot: { + serializedName: "latestUpgradableVersionWithoutReboot", + readOnly: true, + type: { + name: "String" + } + }, + agentVersionExpiryDate: { + serializedName: "agentVersionExpiryDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + driverVersionExpiryDate: { + serializedName: "driverVersionExpiryDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastHeartbeatUtc: { + serializedName: "lastHeartbeatUtc", + readOnly: true, + type: { + name: "DateTime" + } + }, + reasonsBlockingUpgrade: { + serializedName: "reasonsBlockingUpgrade", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + isUpgradeable: { + serializedName: "isUpgradeable", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmNicDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmNicDetails", + modelProperties: { + nicId: { + serializedName: "nicId", + readOnly: true, + type: { + name: "String" + } + }, + isPrimaryNic: { + serializedName: "isPrimaryNic", + type: { + name: "String" + } + }, + isSelectedForFailover: { + serializedName: "isSelectedForFailover", + type: { + name: "String" + } + }, + sourceIPAddress: { + serializedName: "sourceIPAddress", + readOnly: true, + type: { + name: "String" + } + }, + sourceIPAddressType: { + serializedName: "sourceIPAddressType", + readOnly: true, + type: { + name: "String" + } + }, + sourceNetworkId: { + serializedName: "sourceNetworkId", + readOnly: true, + type: { + name: "String" + } + }, + sourceSubnetName: { + serializedName: "sourceSubnetName", + readOnly: true, + type: { + name: "String" + } + }, + targetIPAddress: { + serializedName: "targetIPAddress", + type: { + name: "String" + } + }, + targetIPAddressType: { + serializedName: "targetIPAddressType", + type: { + name: "String" + } + }, + targetSubnetName: { + serializedName: "targetSubnetName", + type: { + name: "String" + } + }, + testSubnetName: { + serializedName: "testSubnetName", + type: { + name: "String" + } + }, + testIPAddress: { + serializedName: "testIPAddress", + type: { + name: "String" + } + }, + testIPAddressType: { + serializedName: "testIPAddressType", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmNicInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmNicInput", + modelProperties: { + nicId: { + serializedName: "nicId", + required: true, + type: { + name: "String" + } + }, + isPrimaryNic: { + serializedName: "isPrimaryNic", + required: true, + type: { + name: "String" + } + }, + isSelectedForFailover: { + serializedName: "isSelectedForFailover", + type: { + name: "String" + } + }, + targetSubnetName: { + serializedName: "targetSubnetName", + type: { + name: "String" + } + }, + targetStaticIPAddress: { + serializedName: "targetStaticIPAddress", + type: { + name: "String" + } + }, + testSubnetName: { + serializedName: "testSubnetName", + type: { + name: "String" + } + }, + testStaticIPAddress: { + serializedName: "testStaticIPAddress", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmProtectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmProtectedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + readOnly: true, + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + readOnly: true, + type: { + name: "String" + } + }, + isOSDisk: { + serializedName: "isOSDisk", + readOnly: true, + type: { + name: "String" + } + }, + capacityInBytes: { + serializedName: "capacityInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", + readOnly: true, + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + readOnly: true, + type: { + name: "String" + } + }, + seedManagedDiskId: { + serializedName: "seedManagedDiskId", + readOnly: true, + type: { + name: "String" + } + }, + targetManagedDiskId: { + serializedName: "targetManagedDiskId", + readOnly: true, + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + dataPendingInLogDataStoreInMB: { + serializedName: "dataPendingInLogDataStoreInMB", + readOnly: true, + type: { + name: "Number" + } + }, + dataPendingAtSourceAgentInMB: { + serializedName: "dataPendingAtSourceAgentInMB", + readOnly: true, + type: { + name: "Number" + } + }, + isInitialReplicationComplete: { + serializedName: "isInitialReplicationComplete", + readOnly: true, + type: { + name: "String" + } + }, + irDetails: { + serializedName: "irDetails", + type: { + name: "Composite", + className: "InMageRcmSyncDetails" + } + }, + resyncDetails: { + serializedName: "resyncDetails", + type: { + name: "Composite", + className: "InMageRcmSyncDetails" + } + } + } + } +}; + +export const InMageRcmSyncDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InMageRcmSyncDetails", + modelProperties: { + progressHealth: { + serializedName: "progressHealth", + readOnly: true, + type: { + name: "String" + } + }, + transferredBytes: { + serializedName: "transferredBytes", + readOnly: true, + type: { + name: "Number" + } + }, + last15MinutesTransferredBytes: { + serializedName: "last15MinutesTransferredBytes", + readOnly: true, + type: { + name: "Number" + } + }, + lastDataTransferTimeUtc: { + serializedName: "lastDataTransferTimeUtc", + readOnly: true, + type: { + name: "String" + } + }, + processedBytes: { + serializedName: "processedBytes", + readOnly: true, + type: { + name: "Number" + } + }, + startTime: { + serializedName: "startTime", + readOnly: true, + type: { + name: "String" + } + }, + lastRefreshTime: { + serializedName: "lastRefreshTime", + readOnly: true, + type: { + name: "String" + } + }, + progressPercentage: { + serializedName: "progressPercentage", + readOnly: true, + type: { + name: "Number" + } + } + } + } +}; + +export const OSDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OSDiskDetails", + modelProperties: { + osVhdId: { + serializedName: "osVhdId", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + vhdName: { + serializedName: "vhdName", + type: { + name: "String" + } + } + } + } +}; + +export const MasterTargetServer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MasterTargetServer", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + ipAddress: { + serializedName: "ipAddress", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + lastHeartbeat: { + serializedName: "lastHeartbeat", + type: { + name: "DateTime" + } + }, + versionStatus: { + serializedName: "versionStatus", + type: { + name: "String" + } + }, + retentionVolumes: { + serializedName: "retentionVolumes", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RetentionVolume" + } + } + } + }, + dataStores: { + serializedName: "dataStores", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataStore" + } + } + } + }, + validationErrors: { + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + healthErrors: { + serializedName: "healthErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + diskCount: { + serializedName: "diskCount", + type: { + name: "Number" + } + }, + osVersion: { + serializedName: "osVersion", + type: { + name: "String" + } + }, + agentExpiryDate: { + serializedName: "agentExpiryDate", + type: { + name: "DateTime" + } + }, + marsAgentVersion: { + serializedName: "marsAgentVersion", + type: { + name: "String" + } + }, + marsAgentExpiryDate: { + serializedName: "marsAgentExpiryDate", + type: { + name: "DateTime" + } + }, + agentVersionDetails: { + serializedName: "agentVersionDetails", + type: { + name: "Composite", + className: "VersionDetails" + } + }, + marsAgentVersionDetails: { + serializedName: "marsAgentVersionDetails", + type: { + name: "Composite", + className: "VersionDetails" + } + } + } + } +}; + +export const RetentionVolume: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RetentionVolume", + modelProperties: { + volumeName: { + serializedName: "volumeName", + type: { + name: "String" + } + }, + capacityInBytes: { + serializedName: "capacityInBytes", + type: { + name: "Number" + } + }, + freeSpaceInBytes: { + serializedName: "freeSpaceInBytes", + type: { + name: "Number" + } + }, + thresholdPercentage: { + serializedName: "thresholdPercentage", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrationItemsQueryParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationItemsQueryParameter", + modelProperties: { + sourceFabricName: { + serializedName: "sourceFabricName", + type: { + name: "String" + } + }, + sourceContainerName: { + serializedName: "sourceContainerName", + type: { + name: "String" + } + }, + instanceType: { + serializedName: "instanceType", + type: { + name: "String" + } + } + } + } +}; + +export const MobilityServiceUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MobilityServiceUpdate", + modelProperties: { + version: { + serializedName: "version", + type: { + name: "String" + } + }, + rebootStatus: { + serializedName: "rebootStatus", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + } + } + } +}; + +export const ProcessServer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProcessServer", + modelProperties: { + friendlyName: { + serializedName: "friendlyName", + type: { + name: "String" + } + }, + id: { + serializedName: "id", + type: { + name: "String" + } + }, + ipAddress: { + serializedName: "ipAddress", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + lastHeartbeat: { + serializedName: "lastHeartbeat", + type: { + name: "DateTime" + } + }, + versionStatus: { + serializedName: "versionStatus", + type: { + name: "String" + } + }, + mobilityServiceUpdates: { + serializedName: "mobilityServiceUpdates", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MobilityServiceUpdate" + } + } + } + }, + hostId: { + serializedName: "hostId", + type: { + name: "String" + } + }, + machineCount: { + serializedName: "machineCount", + type: { + name: "String" + } + }, + replicationPairCount: { + serializedName: "replicationPairCount", + type: { + name: "String" + } + }, + systemLoad: { + serializedName: "systemLoad", + type: { + name: "String" + } + }, + systemLoadStatus: { + serializedName: "systemLoadStatus", + type: { + name: "String" + } + }, + cpuLoad: { + serializedName: "cpuLoad", + type: { + name: "String" + } + }, + cpuLoadStatus: { + serializedName: "cpuLoadStatus", + type: { + name: "String" + } + }, + totalMemoryInBytes: { + serializedName: "totalMemoryInBytes", + type: { + name: "Number" + } + }, + availableMemoryInBytes: { + serializedName: "availableMemoryInBytes", + type: { + name: "Number" + } + }, + memoryUsageStatus: { + serializedName: "memoryUsageStatus", + type: { + name: "String" + } + }, + totalSpaceInBytes: { + serializedName: "totalSpaceInBytes", + type: { + name: "Number" + } + }, + availableSpaceInBytes: { + serializedName: "availableSpaceInBytes", + type: { + name: "Number" + } + }, + spaceUsageStatus: { + serializedName: "spaceUsageStatus", + type: { + name: "String" + } + }, + psServiceStatus: { + serializedName: "psServiceStatus", + type: { + name: "String" + } + }, + sslCertExpiryDate: { + serializedName: "sslCertExpiryDate", + type: { + name: "DateTime" + } + }, + sslCertExpiryRemainingDays: { + serializedName: "sslCertExpiryRemainingDays", + type: { + name: "Number" + } + }, + osVersion: { + serializedName: "osVersion", + type: { + name: "String" + } + }, + healthErrors: { + serializedName: "healthErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + agentExpiryDate: { + serializedName: "agentExpiryDate", + type: { + name: "DateTime" + } + }, + agentVersionDetails: { + serializedName: "agentVersionDetails", + type: { + name: "Composite", + className: "VersionDetails" + } + }, + health: { + serializedName: "health", + readOnly: true, + type: { + name: "String" + } + }, + psStatsRefreshTime: { + serializedName: "psStatsRefreshTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + throughputUploadPendingDataInBytes: { + serializedName: "throughputUploadPendingDataInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + throughputInMBps: { + serializedName: "throughputInMBps", + readOnly: true, + type: { + name: "Number" + } + }, + throughputInBytes: { + serializedName: "throughputInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + throughputStatus: { + serializedName: "throughputStatus", + readOnly: true, + type: { + name: "String" + } + }, + marsCommunicationStatus: { + serializedName: "marsCommunicationStatus", + readOnly: true, + type: { + name: "String" + } + }, + marsRegistrationStatus: { + serializedName: "marsRegistrationStatus", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ProtectableItemQueryParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectableItemQueryParameter", + modelProperties: { + state: { + serializedName: "state", + type: { + name: "String" + } + } + } + } +}; + +export const ProtectedItemsQueryParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectedItemsQueryParameter", + modelProperties: { + sourceFabricName: { + serializedName: "sourceFabricName", + type: { + name: "String" + } + }, + recoveryPlanName: { + serializedName: "recoveryPlanName", + type: { + name: "String" + } + }, + sourceFabricLocation: { + serializedName: "sourceFabricLocation", + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + type: { + name: "String" + } + }, + vCenterName: { + serializedName: "vCenterName", + type: { + name: "String" + } + }, + instanceType: { + serializedName: "instanceType", + type: { + name: "String" + } + }, + multiVmGroupCreateOption: { + serializedName: "multiVmGroupCreateOption", + type: { + name: "String" + } + }, + processServerId: { + serializedName: "processServerId", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignment: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignment", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + scope: { + serializedName: "scope", + type: { + name: "String" + } + }, + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + type: { + name: "String" + } + } + } + } +}; + +export const RunAsAccount: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RunAsAccount", + modelProperties: { + accountId: { + serializedName: "accountId", + type: { + name: "String" + } + }, + accountName: { + serializedName: "accountName", + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtDiskInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMwareCbtDiskInput", + modelProperties: { + diskId: { + serializedName: "diskId", + required: true, + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + isOSDisk: { + serializedName: "isOSDisk", + required: true, + type: { + name: "String" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", + required: true, + type: { + name: "String" + } + }, + logStorageAccountSasSecretName: { + serializedName: "logStorageAccountSasSecretName", + required: true, + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtProtectedDiskDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMwareCbtProtectedDiskDetails", + modelProperties: { + diskId: { + serializedName: "diskId", + readOnly: true, + type: { + name: "String" + } + }, + diskName: { + serializedName: "diskName", + readOnly: true, + type: { + name: "String" + } + }, + diskType: { + serializedName: "diskType", + type: { + name: "String" + } + }, + diskPath: { + serializedName: "diskPath", + readOnly: true, + type: { + name: "String" + } + }, + isOSDisk: { + serializedName: "isOSDisk", + readOnly: true, + type: { + name: "String" + } + }, + capacityInBytes: { + serializedName: "capacityInBytes", + readOnly: true, + type: { + name: "Number" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", + readOnly: true, + type: { + name: "String" + } + }, + logStorageAccountSasSecretName: { + serializedName: "logStorageAccountSasSecretName", + readOnly: true, + type: { + name: "String" + } + }, + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", + readOnly: true, + type: { + name: "String" + } + }, + seedManagedDiskId: { + serializedName: "seedManagedDiskId", + readOnly: true, + type: { + name: "String" + } + }, + targetManagedDiskId: { + serializedName: "targetManagedDiskId", + readOnly: true, + type: { + name: "String" + } + }, + targetDiskName: { + serializedName: "targetDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtNicDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMwareCbtNicDetails", + modelProperties: { + nicId: { + serializedName: "nicId", + readOnly: true, + type: { + name: "String" + } + }, + isPrimaryNic: { + serializedName: "isPrimaryNic", + type: { + name: "String" + } + }, + sourceIPAddress: { + serializedName: "sourceIPAddress", + readOnly: true, + type: { + name: "String" + } + }, + sourceIPAddressType: { + serializedName: "sourceIPAddressType", + readOnly: true, + type: { + name: "String" + } + }, + sourceNetworkId: { + serializedName: "sourceNetworkId", + readOnly: true, + type: { + name: "String" + } + }, + targetIPAddress: { + serializedName: "targetIPAddress", + type: { + name: "String" + } + }, + targetIPAddressType: { + serializedName: "targetIPAddressType", + type: { + name: "String" + } + }, + targetSubnetName: { + serializedName: "targetSubnetName", + type: { + name: "String" + } + }, + targetNicName: { + serializedName: "targetNicName", + type: { + name: "String" + } + }, + isSelectedForMigration: { + serializedName: "isSelectedForMigration", + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtNicInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMwareCbtNicInput", + modelProperties: { + nicId: { + serializedName: "nicId", + required: true, + type: { + name: "String" + } + }, + isPrimaryNic: { + serializedName: "isPrimaryNic", + required: true, + type: { + name: "String" + } + }, + targetSubnetName: { + serializedName: "targetSubnetName", + type: { + name: "String" + } + }, + targetStaticIPAddress: { + serializedName: "targetStaticIPAddress", + type: { + name: "String" + } + }, + isSelectedForMigration: { + serializedName: "isSelectedForMigration", + type: { + name: "String" + } + }, + targetNicName: { + serializedName: "targetNicName", + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtUpdateDiskInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VMwareCbtUpdateDiskInput", + modelProperties: { + diskId: { + serializedName: "diskId", + required: true, + type: { + name: "String" + } + }, + targetDiskName: { + serializedName: "targetDiskName", + type: { + name: "String" + } + } + } + } +}; + +export const Alert: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Alert", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "AlertProperties" + } + } + } + } +}; + +export const Event: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Event", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "EventProperties" + } + } + } + } +}; + +export const Fabric: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Fabric", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "FabricProperties" + } + } + } + } +}; + +export const LogicalNetwork: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LogicalNetwork", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "LogicalNetworkProperties" + } + } + } + } +}; + +export const Network: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Network", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "NetworkProperties" + } + } + } + } +}; + +export const NetworkMapping: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkMapping", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "NetworkMappingProperties" + } + } + } + } +}; + +export const ProtectionContainer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectionContainer", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ProtectionContainerProperties" + } + } + } + } +}; + +export const MigrationItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationItem", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "MigrationItemProperties" + } + } + } + } +}; + +export const MigrationRecoveryPoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MigrationRecoveryPoint", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "MigrationRecoveryPointProperties" + } + } + } + } +}; + +export const ProtectableItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectableItem", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ProtectableItemProperties" + } + } + } + } +}; + +export const ReplicationProtectedItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProtectedItem", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ReplicationProtectedItemProperties" + } + } + } + } +}; + +export const RecoveryPoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPoint", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryPointProperties" + } + } + } + } +}; + +export const ProtectionContainerMapping: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProtectionContainerMapping", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ProtectionContainerMappingProperties" + } + } + } + } +}; + +export const RecoveryServicesProvider: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryServicesProvider", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryServicesProviderProperties" + } + } + } + } +}; + +export const StorageClassification: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageClassification", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "StorageClassificationProperties" + } + } + } + } +}; + +export const StorageClassificationMapping: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StorageClassificationMapping", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "StorageClassificationMappingProperties" + } + } + } + } +}; + +export const VCenter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VCenter", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VCenterProperties" + } + } + } + } +}; + +export const Job: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Job", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "JobProperties" + } + } + } + } +}; + +export const Policy: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Policy", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PolicyProperties" + } + } + } + } +}; + +export const ReplicationProtectionIntent: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReplicationProtectionIntent", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ReplicationProtectionIntentProperties" + } + } + } + } +}; + +export const RecoveryPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecoveryPlan", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "RecoveryPlanProperties" + } + } + } + } +}; + +export const SupportedOperatingSystems: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SupportedOperatingSystems", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "SupportedOSProperties" + } + } + } + } +}; + +export const VaultHealthDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultHealthDetails", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultHealthProperties" + } + } + } + } +}; + +export const VaultSetting: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VaultSetting", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VaultSettingProperties" + } + } + } + } +}; + +export const InMageRcmApplianceSpecificDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmApplianceSpecificDetails", + uberParent: "ApplianceSpecificDetails", + polymorphicDiscriminator: + ApplianceSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...ApplianceSpecificDetails.type.modelProperties, + appliances: { + serializedName: "appliances", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmApplianceDetails" + } + } + } + } + } + } +}; + +export const A2AEventDetails: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2AEventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + protectedItemName: { + serializedName: "protectedItemName", + type: { + name: "String" + } + }, + fabricObjectId: { + serializedName: "fabricObjectId", + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + type: { + name: "String" + } + }, + fabricLocation: { + serializedName: "fabricLocation", + type: { + name: "String" + } + }, + remoteFabricName: { + serializedName: "remoteFabricName", + type: { + name: "String" + } + }, + remoteFabricLocation: { + serializedName: "remoteFabricLocation", + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplica2012EventDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012", + type: { + name: "Composite", + className: "HyperVReplica2012EventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + containerName: { + serializedName: "containerName", + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + type: { + name: "String" + } + }, + remoteContainerName: { + serializedName: "remoteContainerName", + type: { + name: "String" + } + }, + remoteFabricName: { + serializedName: "remoteFabricName", + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplica2012R2EventDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012R2", + type: { + name: "Composite", + className: "HyperVReplica2012R2EventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + containerName: { + serializedName: "containerName", + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + type: { + name: "String" + } + }, + remoteContainerName: { + serializedName: "remoteContainerName", + type: { + name: "String" + } + }, + remoteFabricName: { + serializedName: "remoteFabricName", + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplicaAzureEventDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", + type: { + name: "Composite", + className: "HyperVReplicaAzureEventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + containerName: { + serializedName: "containerName", + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + type: { + name: "String" + } + }, + remoteContainerName: { + serializedName: "remoteContainerName", + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplicaBaseEventDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaBaseEventDetails", + type: { + name: "Composite", + className: "HyperVReplicaBaseEventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + containerName: { + serializedName: "containerName", + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + type: { + name: "String" + } + }, + remoteContainerName: { + serializedName: "remoteContainerName", + type: { + name: "String" + } + }, + remoteFabricName: { + serializedName: "remoteFabricName", + type: { + name: "String" + } + } + } + } +}; + +export const InMageAzureV2EventDetails: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", + type: { + name: "Composite", + className: "InMageAzureV2EventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + eventType: { + serializedName: "eventType", + type: { + name: "String" + } + }, + category: { + serializedName: "category", + type: { + name: "String" + } + }, + component: { + serializedName: "component", + type: { + name: "String" + } + }, + correctiveAction: { + serializedName: "correctiveAction", + type: { + name: "String" + } + }, + details: { + serializedName: "details", + type: { + name: "String" + } + }, + summary: { + serializedName: "summary", + type: { + name: "String" + } + }, + siteName: { + serializedName: "siteName", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmEventDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmEventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + protectedItemName: { + serializedName: "protectedItemName", + readOnly: true, + type: { + name: "String" + } + }, + vmName: { + serializedName: "vmName", + readOnly: true, + type: { + name: "String" + } + }, + latestAgentVersion: { + serializedName: "latestAgentVersion", + readOnly: true, + type: { + name: "String" + } + }, + jobId: { + serializedName: "jobId", + readOnly: true, + type: { + name: "String" + } + }, + fabricName: { + serializedName: "fabricName", + readOnly: true, + type: { + name: "String" + } + }, + applianceName: { + serializedName: "applianceName", + readOnly: true, + type: { + name: "String" + } + }, + serverType: { + serializedName: "serverType", + readOnly: true, + type: { + name: "String" + } + }, + componentDisplayName: { + serializedName: "componentDisplayName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmFailbackEventDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", + type: { + name: "Composite", + className: "InMageRcmFailbackEventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + protectedItemName: { + serializedName: "protectedItemName", + readOnly: true, + type: { + name: "String" + } + }, + vmName: { + serializedName: "vmName", + readOnly: true, + type: { + name: "String" + } + }, + applianceName: { + serializedName: "applianceName", + readOnly: true, + type: { + name: "String" + } + }, + serverType: { + serializedName: "serverType", + readOnly: true, + type: { + name: "String" + } + }, + componentDisplayName: { + serializedName: "componentDisplayName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtEventDetails: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtEventDetails", + uberParent: "EventProviderSpecificDetails", + polymorphicDiscriminator: + EventProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventProviderSpecificDetails.type.modelProperties, + migrationItemName: { + serializedName: "migrationItemName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const JobStatusEventDetails: coreClient.CompositeMapper = { + serializedName: "JobStatus", + type: { + name: "Composite", + className: "JobStatusEventDetails", + uberParent: "EventSpecificDetails", + polymorphicDiscriminator: + EventSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...EventSpecificDetails.type.modelProperties, + jobId: { + serializedName: "jobId", + type: { + name: "String" + } + }, + jobFriendlyName: { + serializedName: "jobFriendlyName", + type: { + name: "String" + } + }, + jobStatus: { + serializedName: "jobStatus", + type: { + name: "String" + } + }, + affectedObjectType: { + serializedName: "affectedObjectType", + type: { + name: "String" + } + } + } + } +}; + +export const AzureFabricSpecificDetails: coreClient.CompositeMapper = { + serializedName: "Azure", + type: { + name: "Composite", + className: "AzureFabricSpecificDetails", + uberParent: "FabricSpecificDetails", + polymorphicDiscriminator: + FabricSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificDetails.type.modelProperties, + location: { + serializedName: "location", + type: { + name: "String" + } + }, + containerIds: { + serializedName: "containerIds", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + zones: { + serializedName: "zones", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AZoneDetails" + } + } + } + } + } + } +}; + +export const HyperVSiteDetails: coreClient.CompositeMapper = { + serializedName: "HyperVSite", + type: { + name: "Composite", + className: "HyperVSiteDetails", + uberParent: "FabricSpecificDetails", + polymorphicDiscriminator: + FabricSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificDetails.type.modelProperties, + hyperVHosts: { + serializedName: "hyperVHosts", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HyperVHostDetails" + } + } + } + } + } + } +}; + +export const InMageRcmFabricSpecificDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmFabricSpecificDetails", + uberParent: "FabricSpecificDetails", + polymorphicDiscriminator: + FabricSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificDetails.type.modelProperties, + vmwareSiteId: { + serializedName: "vmwareSiteId", + readOnly: true, + type: { + name: "String" + } + }, + physicalSiteId: { + serializedName: "physicalSiteId", + readOnly: true, + type: { + name: "String" + } + }, + serviceEndpoint: { + serializedName: "serviceEndpoint", + readOnly: true, + type: { + name: "String" + } + }, + serviceResourceId: { + serializedName: "serviceResourceId", + readOnly: true, + type: { + name: "String" + } + }, + serviceContainerId: { + serializedName: "serviceContainerId", + readOnly: true, + type: { + name: "String" + } + }, + dataPlaneUri: { + serializedName: "dataPlaneUri", + readOnly: true, + type: { + name: "String" + } + }, + controlPlaneUri: { + serializedName: "controlPlaneUri", + readOnly: true, + type: { + name: "String" + } + }, + sourceAgentIdentityDetails: { + serializedName: "sourceAgentIdentityDetails", + type: { + name: "Composite", + className: "IdentityProviderDetails" + } + }, + processServers: { + serializedName: "processServers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessServerDetails" + } + } + } + }, + rcmProxies: { + serializedName: "rcmProxies", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RcmProxyDetails" + } + } + } + }, + pushInstallers: { + serializedName: "pushInstallers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PushInstallerDetails" + } + } + } + }, + replicationAgents: { + serializedName: "replicationAgents", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReplicationAgentDetails" + } + } + } + }, + reprotectAgents: { + serializedName: "reprotectAgents", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReprotectAgentDetails" + } + } + } + }, + marsAgents: { + serializedName: "marsAgents", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MarsAgentDetails" + } + } + } + }, + dras: { + serializedName: "dras", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DraDetails" + } + } + } + }, + agentDetails: { + serializedName: "agentDetails", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AgentDetails" + } + } + } + } + } + } +}; + +export const VmmDetails: coreClient.CompositeMapper = { + serializedName: "VMM", + type: { + name: "Composite", + className: "VmmDetails", + uberParent: "FabricSpecificDetails", + polymorphicDiscriminator: + FabricSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificDetails.type.modelProperties + } + } +}; + +export const VMwareDetails: coreClient.CompositeMapper = { + serializedName: "VMware", + type: { + name: "Composite", + className: "VMwareDetails", + uberParent: "FabricSpecificDetails", + polymorphicDiscriminator: + FabricSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificDetails.type.modelProperties, + processServers: { + serializedName: "processServers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessServer" + } + } + } + }, + masterTargetServers: { + serializedName: "masterTargetServers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MasterTargetServer" + } + } + } + }, + runAsAccounts: { + serializedName: "runAsAccounts", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RunAsAccount" + } + } + } + }, + replicationPairCount: { + serializedName: "replicationPairCount", + type: { + name: "String" + } + }, + processServerCount: { + serializedName: "processServerCount", + type: { + name: "String" + } + }, + agentCount: { + serializedName: "agentCount", + type: { + name: "String" + } + }, + protectedServers: { + serializedName: "protectedServers", + type: { + name: "String" + } + }, + systemLoad: { + serializedName: "systemLoad", + type: { + name: "String" + } + }, + systemLoadStatus: { + serializedName: "systemLoadStatus", + type: { + name: "String" + } + }, + cpuLoad: { + serializedName: "cpuLoad", + type: { + name: "String" + } + }, + cpuLoadStatus: { + serializedName: "cpuLoadStatus", + type: { + name: "String" + } + }, + totalMemoryInBytes: { + serializedName: "totalMemoryInBytes", + type: { + name: "Number" + } + }, + availableMemoryInBytes: { + serializedName: "availableMemoryInBytes", + type: { + name: "Number" + } + }, + memoryUsageStatus: { + serializedName: "memoryUsageStatus", + type: { + name: "String" + } + }, + totalSpaceInBytes: { + serializedName: "totalSpaceInBytes", + type: { + name: "Number" + } + }, + availableSpaceInBytes: { + serializedName: "availableSpaceInBytes", + type: { + name: "Number" + } + }, + spaceUsageStatus: { + serializedName: "spaceUsageStatus", + type: { + name: "String" + } + }, + webLoad: { + serializedName: "webLoad", + type: { + name: "String" + } + }, + webLoadStatus: { + serializedName: "webLoadStatus", + type: { + name: "String" + } + }, + databaseServerLoad: { + serializedName: "databaseServerLoad", + type: { + name: "String" + } + }, + databaseServerLoadStatus: { + serializedName: "databaseServerLoadStatus", + type: { + name: "String" + } + }, + csServiceStatus: { + serializedName: "csServiceStatus", + type: { + name: "String" + } + }, + ipAddress: { + serializedName: "ipAddress", + type: { + name: "String" + } + }, + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + hostName: { + serializedName: "hostName", + type: { + name: "String" + } + }, + lastHeartbeat: { + serializedName: "lastHeartbeat", + type: { + name: "DateTime" + } + }, + versionStatus: { + serializedName: "versionStatus", + type: { + name: "String" + } + }, + sslCertExpiryDate: { + serializedName: "sslCertExpiryDate", + type: { + name: "DateTime" + } + }, + sslCertExpiryRemainingDays: { + serializedName: "sslCertExpiryRemainingDays", + type: { + name: "Number" + } + }, + psTemplateVersion: { + serializedName: "psTemplateVersion", + type: { + name: "String" + } + }, + agentExpiryDate: { + serializedName: "agentExpiryDate", + type: { + name: "DateTime" + } + }, + agentVersionDetails: { + serializedName: "agentVersionDetails", + type: { + name: "Composite", + className: "VersionDetails" + } + }, + switchProviderBlockingErrorDetails: { + serializedName: "switchProviderBlockingErrorDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageFabricSwitchProviderBlockingErrorDetails" + } + } + } + } + } + } +}; + +export const VMwareV2FabricSpecificDetails: coreClient.CompositeMapper = { + serializedName: "VMwareV2", + type: { + name: "Composite", + className: "VMwareV2FabricSpecificDetails", + uberParent: "FabricSpecificDetails", + polymorphicDiscriminator: + FabricSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificDetails.type.modelProperties, + vmwareSiteId: { + serializedName: "vmwareSiteId", + readOnly: true, + type: { + name: "String" + } + }, + physicalSiteId: { + serializedName: "physicalSiteId", + readOnly: true, + type: { + name: "String" + } + }, + migrationSolutionId: { + serializedName: "migrationSolutionId", + readOnly: true, + type: { + name: "String" + } + }, + serviceEndpoint: { + serializedName: "serviceEndpoint", + readOnly: true, + type: { + name: "String" + } + }, + serviceResourceId: { + serializedName: "serviceResourceId", + readOnly: true, + type: { + name: "String" + } + }, + serviceContainerId: { + serializedName: "serviceContainerId", + readOnly: true, + type: { + name: "String" + } + }, + processServers: { + serializedName: "processServers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProcessServerDetails" + } + } + } + } + } + } +}; + +export const AzureFabricCreationInput: coreClient.CompositeMapper = { + serializedName: "Azure", + type: { + name: "Composite", + className: "AzureFabricCreationInput", + uberParent: "FabricSpecificCreationInput", + polymorphicDiscriminator: + FabricSpecificCreationInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificCreationInput.type.modelProperties, + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const InMageRcmFabricCreationInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmFabricCreationInput", + uberParent: "FabricSpecificCreationInput", + polymorphicDiscriminator: + FabricSpecificCreationInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificCreationInput.type.modelProperties, + vmwareSiteId: { + serializedName: "vmwareSiteId", + required: true, + type: { + name: "String" + } + }, + physicalSiteId: { + serializedName: "physicalSiteId", + required: true, + type: { + name: "String" + } + }, + sourceAgentIdentity: { + serializedName: "sourceAgentIdentity", + type: { + name: "Composite", + className: "IdentityProviderInput" + } + } + } + } +}; + +export const VMwareV2FabricCreationInput: coreClient.CompositeMapper = { + serializedName: "VMwareV2", + type: { + name: "Composite", + className: "VMwareV2FabricCreationInput", + uberParent: "FabricSpecificCreationInput", + polymorphicDiscriminator: + FabricSpecificCreationInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificCreationInput.type.modelProperties, + vmwareSiteId: { + serializedName: "vmwareSiteId", + type: { + name: "String" + } + }, + physicalSiteId: { + serializedName: "physicalSiteId", + type: { + name: "String" + } + }, + migrationSolutionId: { + serializedName: "migrationSolutionId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const AzureToAzureNetworkMappingSettings: coreClient.CompositeMapper = { + serializedName: "AzureToAzure", + type: { + name: "Composite", + className: "AzureToAzureNetworkMappingSettings", + uberParent: "NetworkMappingFabricSpecificSettings", + polymorphicDiscriminator: + NetworkMappingFabricSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...NetworkMappingFabricSpecificSettings.type.modelProperties, + primaryFabricLocation: { + serializedName: "primaryFabricLocation", + type: { + name: "String" + } + }, + recoveryFabricLocation: { + serializedName: "recoveryFabricLocation", + type: { + name: "String" + } + } + } + } +}; + +export const VmmToAzureNetworkMappingSettings: coreClient.CompositeMapper = { + serializedName: "VmmToAzure", + type: { + name: "Composite", + className: "VmmToAzureNetworkMappingSettings", + uberParent: "NetworkMappingFabricSpecificSettings", + polymorphicDiscriminator: + NetworkMappingFabricSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...NetworkMappingFabricSpecificSettings.type.modelProperties + } + } +}; + +export const VmmToVmmNetworkMappingSettings: coreClient.CompositeMapper = { + serializedName: "VmmToVmm", + type: { + name: "Composite", + className: "VmmToVmmNetworkMappingSettings", + uberParent: "NetworkMappingFabricSpecificSettings", + polymorphicDiscriminator: + NetworkMappingFabricSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...NetworkMappingFabricSpecificSettings.type.modelProperties + } + } +}; + +export const AzureToAzureCreateNetworkMappingInput: coreClient.CompositeMapper = { + serializedName: "AzureToAzure", + type: { + name: "Composite", + className: "AzureToAzureCreateNetworkMappingInput", + uberParent: "FabricSpecificCreateNetworkMappingInput", + polymorphicDiscriminator: + FabricSpecificCreateNetworkMappingInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificCreateNetworkMappingInput.type.modelProperties, + primaryNetworkId: { + serializedName: "primaryNetworkId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const VmmToAzureCreateNetworkMappingInput: coreClient.CompositeMapper = { + serializedName: "VmmToAzure", + type: { + name: "Composite", + className: "VmmToAzureCreateNetworkMappingInput", + uberParent: "FabricSpecificCreateNetworkMappingInput", + polymorphicDiscriminator: + FabricSpecificCreateNetworkMappingInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificCreateNetworkMappingInput.type.modelProperties + } + } +}; + +export const VmmToVmmCreateNetworkMappingInput: coreClient.CompositeMapper = { + serializedName: "VmmToVmm", + type: { + name: "Composite", + className: "VmmToVmmCreateNetworkMappingInput", + uberParent: "FabricSpecificCreateNetworkMappingInput", + polymorphicDiscriminator: + FabricSpecificCreateNetworkMappingInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificCreateNetworkMappingInput.type.modelProperties + } + } +}; + +export const AzureToAzureUpdateNetworkMappingInput: coreClient.CompositeMapper = { + serializedName: "AzureToAzure", + type: { + name: "Composite", + className: "AzureToAzureUpdateNetworkMappingInput", + uberParent: "FabricSpecificUpdateNetworkMappingInput", + polymorphicDiscriminator: + FabricSpecificUpdateNetworkMappingInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificUpdateNetworkMappingInput.type.modelProperties, + primaryNetworkId: { + serializedName: "primaryNetworkId", + type: { + name: "String" + } + } + } + } +}; + +export const VmmToAzureUpdateNetworkMappingInput: coreClient.CompositeMapper = { + serializedName: "VmmToAzure", + type: { + name: "Composite", + className: "VmmToAzureUpdateNetworkMappingInput", + uberParent: "FabricSpecificUpdateNetworkMappingInput", + polymorphicDiscriminator: + FabricSpecificUpdateNetworkMappingInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificUpdateNetworkMappingInput.type.modelProperties + } + } +}; + +export const VmmToVmmUpdateNetworkMappingInput: coreClient.CompositeMapper = { + serializedName: "VmmToVmm", + type: { + name: "Composite", + className: "VmmToVmmUpdateNetworkMappingInput", + uberParent: "FabricSpecificUpdateNetworkMappingInput", + polymorphicDiscriminator: + FabricSpecificUpdateNetworkMappingInput.type.polymorphicDiscriminator, + modelProperties: { + ...FabricSpecificUpdateNetworkMappingInput.type.modelProperties + } + } +}; + +export const A2AContainerCreationInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2AContainerCreationInput", + uberParent: "ReplicationProviderSpecificContainerCreationInput", + polymorphicDiscriminator: + ReplicationProviderSpecificContainerCreationInput.type + .polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificContainerCreationInput.type.modelProperties + } + } +}; + +export const A2ACrossClusterMigrationContainerCreationInput: coreClient.CompositeMapper = { + serializedName: "A2ACrossClusterMigration", + type: { + name: "Composite", + className: "A2ACrossClusterMigrationContainerCreationInput", + uberParent: "ReplicationProviderSpecificContainerCreationInput", + polymorphicDiscriminator: + ReplicationProviderSpecificContainerCreationInput.type + .polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificContainerCreationInput.type.modelProperties + } + } +}; + +export const VMwareCbtContainerCreationInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtContainerCreationInput", + uberParent: "ReplicationProviderSpecificContainerCreationInput", + polymorphicDiscriminator: + ReplicationProviderSpecificContainerCreationInput.type + .polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificContainerCreationInput.type.modelProperties + } + } +}; + +export const VMwareCbtMigrationDetails: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtMigrationDetails", + uberParent: "MigrationProviderSpecificSettings", + polymorphicDiscriminator: + MigrationProviderSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...MigrationProviderSpecificSettings.type.modelProperties, + vmwareMachineId: { + serializedName: "vmwareMachineId", + readOnly: true, + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + readOnly: true, + type: { + name: "String" + } + }, + firmwareType: { + serializedName: "firmwareType", + readOnly: true, + type: { + name: "String" + } + }, + targetGeneration: { + serializedName: "targetGeneration", + readOnly: true, + type: { + name: "String" + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", + type: { + name: "String" + } + }, + dataMoverRunAsAccountId: { + serializedName: "dataMoverRunAsAccountId", + readOnly: true, + type: { + name: "String" + } + }, + snapshotRunAsAccountId: { + serializedName: "snapshotRunAsAccountId", + readOnly: true, + type: { + name: "String" + } + }, + targetVmName: { + serializedName: "targetVmName", + type: { + name: "String" + } + }, + targetVmSize: { + serializedName: "targetVmSize", + type: { + name: "String" + } + }, + targetLocation: { + serializedName: "targetLocation", + readOnly: true, + type: { + name: "String" + } + }, + targetResourceGroupId: { + serializedName: "targetResourceGroupId", + type: { + name: "String" + } + }, + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", + type: { + name: "String" + } + }, + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", + type: { + name: "String" + } + }, + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", + type: { + name: "String" + } + }, + targetBootDiagnosticsStorageAccountId: { + serializedName: "targetBootDiagnosticsStorageAccountId", + type: { + name: "String" + } + }, + targetVmTags: { + serializedName: "targetVmTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + protectedDisks: { + serializedName: "protectedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMwareCbtProtectedDiskDetails" + } + } + } + }, + targetNetworkId: { + serializedName: "targetNetworkId", + type: { + name: "String" + } + }, + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMwareCbtNicDetails" + } + } + } + }, + targetNicTags: { + serializedName: "targetNicTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + migrationRecoveryPointId: { + serializedName: "migrationRecoveryPointId", + readOnly: true, + type: { + name: "String" + } + }, + lastRecoveryPointReceived: { + serializedName: "lastRecoveryPointReceived", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastRecoveryPointId: { + serializedName: "lastRecoveryPointId", + readOnly: true, + type: { + name: "String" + } + }, + initialSeedingProgressPercentage: { + serializedName: "initialSeedingProgressPercentage", + readOnly: true, + type: { + name: "Number" + } + }, + migrationProgressPercentage: { + serializedName: "migrationProgressPercentage", + readOnly: true, + type: { + name: "Number" + } + }, + resyncProgressPercentage: { + serializedName: "resyncProgressPercentage", + readOnly: true, + type: { + name: "Number" + } + }, + initialSeedingRetryCount: { + serializedName: "initialSeedingRetryCount", + readOnly: true, + type: { + name: "Number" + } + }, + resyncRetryCount: { + serializedName: "resyncRetryCount", + readOnly: true, + type: { + name: "Number" + } + }, + resyncRequired: { + serializedName: "resyncRequired", + readOnly: true, + type: { + name: "String" + } + }, + resyncState: { + serializedName: "resyncState", + readOnly: true, + type: { + name: "String" + } + }, + performAutoResync: { + serializedName: "performAutoResync", + type: { + name: "String" + } + }, + seedDiskTags: { + serializedName: "seedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetDiskTags: { + serializedName: "targetDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const VMwareCbtEnableMigrationInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtEnableMigrationInput", + uberParent: "EnableMigrationProviderSpecificInput", + polymorphicDiscriminator: + EnableMigrationProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...EnableMigrationProviderSpecificInput.type.modelProperties, + vmwareMachineId: { + serializedName: "vmwareMachineId", + required: true, + type: { + name: "String" + } + }, + disksToInclude: { + serializedName: "disksToInclude", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMwareCbtDiskInput" + } + } + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", + type: { + name: "String" + } + }, + dataMoverRunAsAccountId: { + serializedName: "dataMoverRunAsAccountId", + required: true, + type: { + name: "String" + } + }, + snapshotRunAsAccountId: { + serializedName: "snapshotRunAsAccountId", + required: true, + type: { + name: "String" + } + }, + targetVmName: { + serializedName: "targetVmName", + type: { + name: "String" + } + }, + targetVmSize: { + serializedName: "targetVmSize", + type: { + name: "String" + } + }, + targetResourceGroupId: { + serializedName: "targetResourceGroupId", + required: true, + type: { + name: "String" + } + }, + targetNetworkId: { + serializedName: "targetNetworkId", + required: true, + type: { + name: "String" + } + }, + targetSubnetName: { + serializedName: "targetSubnetName", + type: { + name: "String" + } + }, + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", + type: { + name: "String" + } + }, + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", + type: { + name: "String" + } + }, + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", + type: { + name: "String" + } + }, + targetBootDiagnosticsStorageAccountId: { + serializedName: "targetBootDiagnosticsStorageAccountId", + type: { + name: "String" + } + }, + performAutoResync: { + serializedName: "performAutoResync", + type: { + name: "String" + } + }, + targetVmTags: { + serializedName: "targetVmTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + seedDiskTags: { + serializedName: "seedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetDiskTags: { + serializedName: "targetDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetNicTags: { + serializedName: "targetNicTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const VMwareCbtUpdateMigrationItemInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtUpdateMigrationItemInput", + uberParent: "UpdateMigrationItemProviderSpecificInput", + polymorphicDiscriminator: + UpdateMigrationItemProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...UpdateMigrationItemProviderSpecificInput.type.modelProperties, + targetVmName: { + serializedName: "targetVmName", + type: { + name: "String" + } + }, + targetVmSize: { + serializedName: "targetVmSize", + type: { + name: "String" + } + }, + targetResourceGroupId: { + serializedName: "targetResourceGroupId", + type: { + name: "String" + } + }, + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", + type: { + name: "String" + } + }, + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", + type: { + name: "String" + } + }, + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", + type: { + name: "String" + } + }, + targetBootDiagnosticsStorageAccountId: { + serializedName: "targetBootDiagnosticsStorageAccountId", + type: { + name: "String" + } + }, + targetNetworkId: { + serializedName: "targetNetworkId", + type: { + name: "String" + } + }, + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMwareCbtNicInput" + } + } + } + }, + vmDisks: { + serializedName: "vmDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMwareCbtUpdateDiskInput" + } + } + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", + type: { + name: "String" + } + }, + performAutoResync: { + serializedName: "performAutoResync", + type: { + name: "String" + } + }, + targetVmTags: { + serializedName: "targetVmTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetDiskTags: { + serializedName: "targetDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetNicTags: { + serializedName: "targetNicTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + } + } + } +}; + +export const VMwareCbtMigrateInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtMigrateInput", + uberParent: "MigrateProviderSpecificInput", + polymorphicDiscriminator: + MigrateProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...MigrateProviderSpecificInput.type.modelProperties, + performShutdown: { + serializedName: "performShutdown", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtResyncInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtResyncInput", + uberParent: "ResyncProviderSpecificInput", + polymorphicDiscriminator: + ResyncProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...ResyncProviderSpecificInput.type.modelProperties, + skipCbtReset: { + serializedName: "skipCbtReset", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const VMwareCbtTestMigrateInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtTestMigrateInput", + uberParent: "TestMigrateProviderSpecificInput", + polymorphicDiscriminator: + TestMigrateProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...TestMigrateProviderSpecificInput.type.modelProperties, + recoveryPointId: { + serializedName: "recoveryPointId", + required: true, + type: { + name: "String" + } + }, + networkId: { + serializedName: "networkId", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const HyperVVirtualMachineDetails: coreClient.CompositeMapper = { + serializedName: "HyperVVirtualMachine", + type: { + name: "Composite", + className: "HyperVVirtualMachineDetails", + uberParent: "ConfigurationSettings", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + ...ConfigurationSettings.type.modelProperties, + sourceItemId: { + serializedName: "sourceItemId", + type: { + name: "String" + } + }, + generation: { + serializedName: "generation", + type: { + name: "String" + } + }, + osDetails: { + serializedName: "osDetails", + type: { + name: "Composite", + className: "OSDetails" + } + }, + diskDetails: { + serializedName: "diskDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskDetails" + } + } + } + }, + hasPhysicalDisk: { + serializedName: "hasPhysicalDisk", + type: { + name: "String" + } + }, + hasFibreChannelAdapter: { + serializedName: "hasFibreChannelAdapter", + type: { + name: "String" + } + }, + hasSharedVhd: { + serializedName: "hasSharedVhd", + type: { + name: "String" + } + }, + hyperVHostId: { + serializedName: "hyperVHostId", + type: { + name: "String" + } + } + } + } +}; + +export const ReplicationGroupDetails: coreClient.CompositeMapper = { + serializedName: "ReplicationGroupDetails", + type: { + name: "Composite", + className: "ReplicationGroupDetails", + uberParent: "ConfigurationSettings", + polymorphicDiscriminator: + ConfigurationSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ConfigurationSettings.type.modelProperties + } + } +}; + +export const VMwareVirtualMachineDetails: coreClient.CompositeMapper = { + serializedName: "VMwareVirtualMachine", + type: { + name: "Composite", + className: "VMwareVirtualMachineDetails", + uberParent: "ConfigurationSettings", + polymorphicDiscriminator: + ConfigurationSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ConfigurationSettings.type.modelProperties, + agentGeneratedId: { + serializedName: "agentGeneratedId", + type: { + name: "String" + } + }, + agentInstalled: { + serializedName: "agentInstalled", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + ipAddress: { + serializedName: "ipAddress", + type: { + name: "String" + } + }, + poweredOn: { + serializedName: "poweredOn", + type: { + name: "String" + } + }, + vCenterInfrastructureId: { + serializedName: "vCenterInfrastructureId", + type: { + name: "String" + } + }, + discoveryType: { + serializedName: "discoveryType", + type: { + name: "String" + } + }, + diskDetails: { + serializedName: "diskDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageDiskDetails" + } + } + } + }, + validationErrors: { + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + } + } + } +}; + +export const A2ACrossClusterMigrationReplicationDetails: coreClient.CompositeMapper = { + serializedName: "A2ACrossClusterMigration", + type: { + name: "Composite", + className: "A2ACrossClusterMigrationReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificSettings.type.modelProperties, + fabricObjectId: { + serializedName: "fabricObjectId", + type: { + name: "String" + } + }, + primaryFabricLocation: { + serializedName: "primaryFabricLocation", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + vmProtectionState: { + serializedName: "vmProtectionState", + type: { + name: "String" + } + }, + vmProtectionStateDescription: { + serializedName: "vmProtectionStateDescription", + type: { + name: "String" + } + }, + lifecycleId: { + serializedName: "lifecycleId", + type: { + name: "String" + } + } + } + } +}; + +export const A2AReplicationDetails: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2AReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificSettings.type.modelProperties, + fabricObjectId: { + serializedName: "fabricObjectId", + type: { + name: "String" + } + }, + initialPrimaryZone: { + serializedName: "initialPrimaryZone", + readOnly: true, + type: { + name: "String" + } + }, + initialPrimaryFabricLocation: { + serializedName: "initialPrimaryFabricLocation", + readOnly: true, + type: { + name: "String" + } + }, + initialRecoveryZone: { + serializedName: "initialRecoveryZone", + readOnly: true, + type: { + name: "String" + } + }, + initialPrimaryExtendedLocation: { + serializedName: "initialPrimaryExtendedLocation", + type: { + name: "Composite", + className: "ExtendedLocation" + } + }, + initialRecoveryExtendedLocation: { + serializedName: "initialRecoveryExtendedLocation", + type: { + name: "Composite", + className: "ExtendedLocation" + } + }, + initialRecoveryFabricLocation: { + serializedName: "initialRecoveryFabricLocation", + readOnly: true, + type: { + name: "String" + } + }, + multiVmGroupId: { + serializedName: "multiVmGroupId", + type: { + name: "String" + } + }, + multiVmGroupName: { + serializedName: "multiVmGroupName", + type: { + name: "String" + } + }, + multiVmGroupCreateOption: { + serializedName: "multiVmGroupCreateOption", + type: { + name: "String" + } + }, + managementId: { + serializedName: "managementId", + type: { + name: "String" + } + }, + protectedDisks: { + serializedName: "protectedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AProtectedDiskDetails" + } + } + } + }, + unprotectedDisks: { + serializedName: "unprotectedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AUnprotectedDiskDetails" + } + } + } + }, + protectedManagedDisks: { + serializedName: "protectedManagedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AProtectedManagedDiskDetails" + } + } + } + }, + recoveryBootDiagStorageAccountId: { + serializedName: "recoveryBootDiagStorageAccountId", + type: { + name: "String" + } + }, + primaryFabricLocation: { + serializedName: "primaryFabricLocation", + type: { + name: "String" + } + }, + recoveryFabricLocation: { + serializedName: "recoveryFabricLocation", + type: { + name: "String" + } + }, + osType: { + serializedName: "osType", + type: { + name: "String" + } + }, + recoveryAzureVMSize: { + serializedName: "recoveryAzureVMSize", + type: { + name: "String" + } + }, + recoveryAzureVMName: { + serializedName: "recoveryAzureVMName", + type: { + name: "String" + } + }, + recoveryAzureResourceGroupId: { + serializedName: "recoveryAzureResourceGroupId", + type: { + name: "String" + } + }, + recoveryCloudService: { + serializedName: "recoveryCloudService", + type: { + name: "String" + } + }, + recoveryAvailabilitySet: { + serializedName: "recoveryAvailabilitySet", + type: { + name: "String" + } + }, + selectedRecoveryAzureNetworkId: { + serializedName: "selectedRecoveryAzureNetworkId", + type: { + name: "String" + } + }, + selectedTfoAzureNetworkId: { + serializedName: "selectedTfoAzureNetworkId", + type: { + name: "String" + } + }, + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMNicDetails" + } + } + } + }, + vmSyncedConfigDetails: { + serializedName: "vmSyncedConfigDetails", + type: { + name: "Composite", + className: "AzureToAzureVmSyncedConfigDetails" + } + }, + monitoringPercentageCompletion: { + serializedName: "monitoringPercentageCompletion", + type: { + name: "Number" + } + }, + monitoringJobType: { + serializedName: "monitoringJobType", + type: { + name: "String" + } + }, + lastHeartbeat: { + serializedName: "lastHeartbeat", + type: { + name: "DateTime" + } + }, + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + agentExpiryDate: { + serializedName: "agentExpiryDate", + type: { + name: "DateTime" + } + }, + isReplicationAgentUpdateRequired: { + serializedName: "isReplicationAgentUpdateRequired", + type: { + name: "Boolean" + } + }, + agentCertificateExpiryDate: { + serializedName: "agentCertificateExpiryDate", + readOnly: true, + type: { + name: "DateTime" + } + }, + isReplicationAgentCertificateUpdateRequired: { + serializedName: "isReplicationAgentCertificateUpdateRequired", + type: { + name: "Boolean" + } + }, + recoveryFabricObjectId: { + serializedName: "recoveryFabricObjectId", + type: { + name: "String" + } + }, + vmProtectionState: { + serializedName: "vmProtectionState", + type: { + name: "String" + } + }, + vmProtectionStateDescription: { + serializedName: "vmProtectionStateDescription", + type: { + name: "String" + } + }, + lifecycleId: { + serializedName: "lifecycleId", + type: { + name: "String" + } + }, + testFailoverRecoveryFabricObjectId: { + serializedName: "testFailoverRecoveryFabricObjectId", + type: { + name: "String" + } + }, + rpoInSeconds: { + serializedName: "rpoInSeconds", + type: { + name: "Number" + } + }, + lastRpoCalculatedTime: { + serializedName: "lastRpoCalculatedTime", + type: { + name: "DateTime" + } + }, + primaryAvailabilityZone: { + serializedName: "primaryAvailabilityZone", + type: { + name: "String" + } + }, + recoveryAvailabilityZone: { + serializedName: "recoveryAvailabilityZone", + type: { + name: "String" + } + }, + primaryExtendedLocation: { + serializedName: "primaryExtendedLocation", + type: { + name: "Composite", + className: "ExtendedLocation" + } + }, + recoveryExtendedLocation: { + serializedName: "recoveryExtendedLocation", + type: { + name: "Composite", + className: "ExtendedLocation" + } + }, + vmEncryptionType: { + serializedName: "vmEncryptionType", + readOnly: true, + type: { + name: "String" + } + }, + tfoAzureVMName: { + serializedName: "tfoAzureVMName", + type: { + name: "String" + } + }, + recoveryAzureGeneration: { + serializedName: "recoveryAzureGeneration", + readOnly: true, + type: { + name: "String" + } + }, + recoveryProximityPlacementGroupId: { + serializedName: "recoveryProximityPlacementGroupId", + type: { + name: "String" + } + }, + autoProtectionOfDataDisk: { + serializedName: "autoProtectionOfDataDisk", + type: { + name: "String" + } + }, + recoveryVirtualMachineScaleSetId: { + serializedName: "recoveryVirtualMachineScaleSetId", + type: { + name: "String" + } + }, + recoveryCapacityReservationGroupId: { + serializedName: "recoveryCapacityReservationGroupId", + type: { + name: "String" + } + } + } + } +}; + +export const HyperVReplicaAzureReplicationDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", + type: { + name: "Composite", + className: "HyperVReplicaAzureReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, modelProperties: { - ...PolicyProviderSpecificInput.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + ...ReplicationProviderSpecificSettings.type.modelProperties, + azureVmDiskDetails: { + serializedName: "azureVmDiskDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AzureVmDiskDetails" + } + } + } + }, + recoveryAzureVmName: { + serializedName: "recoveryAzureVmName", + type: { + name: "String" + } + }, + recoveryAzureVMSize: { + serializedName: "recoveryAzureVMSize", + type: { + name: "String" + } + }, + recoveryAzureStorageAccount: { + serializedName: "recoveryAzureStorageAccount", + type: { + name: "String" + } + }, + recoveryAzureLogStorageAccountId: { + serializedName: "recoveryAzureLogStorageAccountId", + type: { + name: "String" + } + }, + lastReplicatedTime: { + serializedName: "lastReplicatedTime", + type: { + name: "DateTime" + } + }, + rpoInSeconds: { + serializedName: "rpoInSeconds", + type: { + name: "Number" + } + }, + lastRpoCalculatedTime: { + serializedName: "lastRpoCalculatedTime", + type: { + name: "DateTime" + } + }, + vmId: { + serializedName: "vmId", + type: { + name: "String" + } + }, + vmProtectionState: { + serializedName: "vmProtectionState", + type: { + name: "String" + } + }, + vmProtectionStateDescription: { + serializedName: "vmProtectionStateDescription", type: { - name: "Number" + name: "String" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + initialReplicationDetails: { + serializedName: "initialReplicationDetails", type: { - name: "Number" + name: "Composite", + className: "InitialReplicationDetails" } }, - crashConsistentFrequencyInMinutes: { - serializedName: "crashConsistentFrequencyInMinutes", + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMNicDetails" + } + } + } + }, + selectedRecoveryAzureNetworkId: { + serializedName: "selectedRecoveryAzureNetworkId", + type: { + name: "String" + } + }, + selectedSourceNicId: { + serializedName: "selectedSourceNicId", + type: { + name: "String" + } + }, + encryption: { + serializedName: "encryption", + type: { + name: "String" + } + }, + oSDetails: { + serializedName: "oSDetails", + type: { + name: "Composite", + className: "OSDetails" + } + }, + sourceVmRamSizeInMB: { + serializedName: "sourceVmRamSizeInMB", type: { name: "Number" } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + sourceVmCpuCount: { + serializedName: "sourceVmCpuCount", type: { name: "Number" } }, - multiVmSyncStatus: { - required: true, - serializedName: "multiVmSyncStatus", + enableRdpOnTargetOption: { + serializedName: "enableRdpOnTargetOption", + type: { + name: "String" + } + }, + recoveryAzureResourceGroupId: { + serializedName: "recoveryAzureResourceGroupId", + type: { + name: "String" + } + }, + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", + type: { + name: "String" + } + }, + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", + type: { + name: "String" + } + }, + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", + type: { + name: "String" + } + }, + useManagedDisks: { + serializedName: "useManagedDisks", + type: { + name: "String" + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", type: { name: "String" } + }, + lastRecoveryPointReceived: { + serializedName: "lastRecoveryPointReceived", + readOnly: true, + type: { + name: "DateTime" + } + }, + targetVmTags: { + serializedName: "targetVmTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + seedManagedDiskTags: { + serializedName: "seedManagedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetManagedDiskTags: { + serializedName: "targetManagedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetNicTags: { + serializedName: "targetNicTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + protectedManagedDisks: { + serializedName: "protectedManagedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HyperVReplicaAzureManagedDiskDetails" + } + } + } } } } }; -export const InMageAzureV2ProtectedDiskDetails: msRest.CompositeMapper = { - serializedName: "InMageAzureV2ProtectedDiskDetails", +export const HyperVReplicaBaseReplicationDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaBaseReplicationDetails", type: { name: "Composite", - className: "InMageAzureV2ProtectedDiskDetails", + className: "HyperVReplicaBaseReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, modelProperties: { - diskId: { - serializedName: "diskId", + ...ReplicationProviderSpecificSettings.type.modelProperties, + lastReplicatedTime: { + serializedName: "lastReplicatedTime", type: { - name: "String" + name: "DateTime" } }, - diskName: { - serializedName: "diskName", + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMNicDetails" + } + } + } + }, + vmId: { + serializedName: "vmId", type: { name: "String" } }, - protectionStage: { - serializedName: "protectionStage", + vmProtectionState: { + serializedName: "vmProtectionState", type: { name: "String" } }, - healthErrorCode: { - serializedName: "healthErrorCode", + vmProtectionStateDescription: { + serializedName: "vmProtectionStateDescription", type: { name: "String" } }, - rpoInSeconds: { - serializedName: "rpoInSeconds", + initialReplicationDetails: { + serializedName: "initialReplicationDetails", type: { - name: "Number" + name: "Composite", + className: "InitialReplicationDetails" } }, - resyncRequired: { - serializedName: "resyncRequired", + vMDiskDetails: { + serializedName: "vMDiskDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskDetails" + } + } + } + } + } + } +}; + +export const HyperVReplicaBlueReplicationDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012R2", + type: { + name: "Composite", + className: "HyperVReplicaBlueReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificSettings.type.modelProperties, + lastReplicatedTime: { + serializedName: "lastReplicatedTime", + type: { + name: "DateTime" + } + }, + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMNicDetails" + } + } + } + }, + vmId: { + serializedName: "vmId", type: { name: "String" } }, - resyncProgressPercentage: { - serializedName: "resyncProgressPercentage", + vmProtectionState: { + serializedName: "vmProtectionState", type: { - name: "Number" + name: "String" } }, - resyncDurationInSeconds: { - serializedName: "resyncDurationInSeconds", + vmProtectionStateDescription: { + serializedName: "vmProtectionStateDescription", type: { - name: "Number" + name: "String" } }, - diskCapacityInBytes: { - serializedName: "diskCapacityInBytes", + initialReplicationDetails: { + serializedName: "initialReplicationDetails", type: { - name: "Number" + name: "Composite", + className: "InitialReplicationDetails" } }, - fileSystemCapacityInBytes: { - serializedName: "fileSystemCapacityInBytes", + vMDiskDetails: { + serializedName: "vMDiskDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskDetails" + } + } + } + } + } + } +}; + +export const HyperVReplicaReplicationDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012", + type: { + name: "Composite", + className: "HyperVReplicaReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificSettings.type.modelProperties, + lastReplicatedTime: { + serializedName: "lastReplicatedTime", type: { - name: "Number" + name: "DateTime" } }, - sourceDataInMegaBytes: { - serializedName: "sourceDataInMegaBytes", + vmNics: { + serializedName: "vmNics", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMNicDetails" + } + } } }, - psDataInMegaBytes: { - serializedName: "psDataInMegaBytes", + vmId: { + serializedName: "vmId", type: { - name: "Number" + name: "String" } }, - targetDataInMegaBytes: { - serializedName: "targetDataInMegaBytes", + vmProtectionState: { + serializedName: "vmProtectionState", type: { - name: "Number" + name: "String" } }, - diskResized: { - serializedName: "diskResized", + vmProtectionStateDescription: { + serializedName: "vmProtectionStateDescription", type: { name: "String" } }, - lastRpoCalculatedTime: { - serializedName: "lastRpoCalculatedTime", + initialReplicationDetails: { + serializedName: "initialReplicationDetails", type: { - name: "DateTime" + name: "Composite", + className: "InitialReplicationDetails" } - } - } - } -}; - -export const InMageAzureV2RecoveryPointDetails: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", - type: { - name: "Composite", - polymorphicDiscriminator: ProviderSpecificRecoveryPointDetails.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificRecoveryPointDetails", - className: "InMageAzureV2RecoveryPointDetails", - modelProperties: { - ...ProviderSpecificRecoveryPointDetails.type.modelProperties, - isMultiVmSyncPoint: { - serializedName: "isMultiVmSyncPoint", + }, + vMDiskDetails: { + serializedName: "vMDiskDetails", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DiskDetails" + } + } } } } } }; -export const InMageAzureV2ReplicationDetails: msRest.CompositeMapper = { +export const InMageAzureV2ReplicationDetails: coreClient.CompositeMapper = { serializedName: "InMageAzureV2", type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", className: "InMageAzureV2ReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, modelProperties: { ...ReplicationProviderSpecificSettings.type.modelProperties, infrastructureVmId: { @@ -6330,6 +15538,12 @@ export const InMageAzureV2ReplicationDetails: msRest.CompositeMapper = { name: "String" } }, + processServerName: { + serializedName: "processServerName", + type: { + name: "String" + } + }, multiVmGroupId: { serializedName: "multiVmGroupId", type: { @@ -6456,6 +15670,12 @@ export const InMageAzureV2ReplicationDetails: msRest.CompositeMapper = { name: "String" } }, + selectedTfoAzureNetworkId: { + serializedName: "selectedTfoAzureNetworkId", + type: { + name: "String" + } + }, selectedSourceNicId: { serializedName: "selectedSourceNicId", type: { @@ -6468,683 +15688,822 @@ export const InMageAzureV2ReplicationDetails: msRest.CompositeMapper = { name: "String" } }, - enableRdpOnTargetOption: { - serializedName: "enableRdpOnTargetOption", + enableRdpOnTargetOption: { + serializedName: "enableRdpOnTargetOption", + type: { + name: "String" + } + }, + datastores: { + serializedName: "datastores", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + targetVmId: { + serializedName: "targetVmId", + type: { + name: "String" + } + }, + recoveryAzureResourceGroupId: { + serializedName: "recoveryAzureResourceGroupId", + type: { + name: "String" + } + }, + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", + type: { + name: "String" + } + }, + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", + type: { + name: "String" + } + }, + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", + type: { + name: "String" + } + }, + useManagedDisks: { + serializedName: "useManagedDisks", + type: { + name: "String" + } + }, + licenseType: { + serializedName: "licenseType", + type: { + name: "String" + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", + type: { + name: "String" + } + }, + validationErrors: { + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HealthError" + } + } + } + }, + lastRpoCalculatedTime: { + serializedName: "lastRpoCalculatedTime", + type: { + name: "DateTime" + } + }, + lastUpdateReceivedTime: { + serializedName: "lastUpdateReceivedTime", + type: { + name: "DateTime" + } + }, + replicaId: { + serializedName: "replicaId", + type: { + name: "String" + } + }, + osVersion: { + serializedName: "osVersion", + type: { + name: "String" + } + }, + protectedManagedDisks: { + serializedName: "protectedManagedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageAzureV2ManagedDiskDetails" + } + } + } + }, + lastRecoveryPointReceived: { + serializedName: "lastRecoveryPointReceived", + readOnly: true, + type: { + name: "DateTime" + } + }, + firmwareType: { + serializedName: "firmwareType", + type: { + name: "String" + } + }, + azureVmGeneration: { + serializedName: "azureVmGeneration", + type: { + name: "String" + } + }, + isAdditionalStatsAvailable: { + serializedName: "isAdditionalStatsAvailable", + type: { + name: "Boolean" + } + }, + totalDataTransferred: { + serializedName: "totalDataTransferred", + type: { + name: "Number" + } + }, + totalProgressHealth: { + serializedName: "totalProgressHealth", + type: { + name: "String" + } + }, + targetVmTags: { + serializedName: "targetVmTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + seedManagedDiskTags: { + serializedName: "seedManagedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetManagedDiskTags: { + serializedName: "targetManagedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetNicTags: { + serializedName: "targetNicTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + switchProviderBlockingErrorDetails: { + serializedName: "switchProviderBlockingErrorDetails", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageAzureV2SwitchProviderBlockingErrorDetails" + } + } + } + }, + switchProviderDetails: { + serializedName: "switchProviderDetails", + type: { + name: "Composite", + className: "InMageAzureV2SwitchProviderDetails" + } + } + } + } +}; + +export const InMageRcmFailbackReplicationDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", + type: { + name: "Composite", + className: "InMageRcmFailbackReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificSettings.type.modelProperties, + internalIdentifier: { + serializedName: "internalIdentifier", + readOnly: true, + type: { + name: "String" + } + }, + azureVirtualMachineId: { + serializedName: "azureVirtualMachineId", + readOnly: true, + type: { + name: "String" + } + }, + multiVmGroupName: { + serializedName: "multiVmGroupName", + readOnly: true, type: { name: "String" } }, - datastores: { - serializedName: "datastores", + reprotectAgentId: { + serializedName: "reprotectAgentId", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - targetVmId: { - serializedName: "targetVmId", + reprotectAgentName: { + serializedName: "reprotectAgentName", + readOnly: true, type: { name: "String" } }, - recoveryAzureResourceGroupId: { - serializedName: "recoveryAzureResourceGroupId", + osType: { + serializedName: "osType", + readOnly: true, type: { name: "String" } }, - recoveryAvailabilitySetId: { - serializedName: "recoveryAvailabilitySetId", + logStorageAccountId: { + serializedName: "logStorageAccountId", + readOnly: true, type: { name: "String" } }, - useManagedDisks: { - serializedName: "useManagedDisks", + targetvCenterId: { + serializedName: "targetvCenterId", + readOnly: true, type: { name: "String" } }, - licenseType: { - serializedName: "licenseType", + targetDataStoreName: { + serializedName: "targetDataStoreName", + readOnly: true, type: { name: "String" } }, - validationErrors: { - serializedName: "validationErrors", + targetVmName: { + serializedName: "targetVmName", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "String" } }, - lastRpoCalculatedTime: { - serializedName: "lastRpoCalculatedTime", + initialReplicationProgressPercentage: { + serializedName: "initialReplicationProgressPercentage", + readOnly: true, type: { - name: "DateTime" + name: "Number" } }, - lastUpdateReceivedTime: { - serializedName: "lastUpdateReceivedTime", + initialReplicationProcessedBytes: { + serializedName: "initialReplicationProcessedBytes", + readOnly: true, type: { - name: "DateTime" + name: "Number" } }, - replicaId: { - serializedName: "replicaId", + initialReplicationTransferredBytes: { + serializedName: "initialReplicationTransferredBytes", + readOnly: true, type: { - name: "String" + name: "Number" } }, - osVersion: { - serializedName: "osVersion", + initialReplicationProgressHealth: { + serializedName: "initialReplicationProgressHealth", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMageAzureV2ReprotectInput: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", - type: { - name: "Composite", - polymorphicDiscriminator: ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ReverseReplicationProviderSpecificInput", - className: "InMageAzureV2ReprotectInput", - modelProperties: { - ...ReverseReplicationProviderSpecificInput.type.modelProperties, - masterTargetId: { - serializedName: "masterTargetId", + }, + resyncProgressPercentage: { + serializedName: "resyncProgressPercentage", + readOnly: true, type: { - name: "String" + name: "Number" } }, - processServerId: { - serializedName: "processServerId", + resyncProcessedBytes: { + serializedName: "resyncProcessedBytes", + readOnly: true, type: { - name: "String" + name: "Number" } }, - storageAccountId: { - serializedName: "storageAccountId", + resyncTransferredBytes: { + serializedName: "resyncTransferredBytes", + readOnly: true, type: { - name: "String" + name: "Number" } }, - runAsAccountId: { - serializedName: "runAsAccountId", + resyncProgressHealth: { + serializedName: "resyncProgressHealth", + readOnly: true, type: { name: "String" } }, - policyId: { - serializedName: "policyId", + resyncRequired: { + serializedName: "resyncRequired", + readOnly: true, type: { name: "String" } }, - logStorageAccountId: { - serializedName: "logStorageAccountId", + resyncState: { + serializedName: "resyncState", + readOnly: true, type: { name: "String" } }, - disksToInclude: { - serializedName: "disksToInclude", + protectedDisks: { + serializedName: "protectedDisks", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "InMageRcmFailbackProtectedDiskDetails" } } } - } - } - } -}; - -export const InMageAzureV2UpdateReplicationProtectedItemInput: msRest.CompositeMapper = { - serializedName: "InMageAzureV2", - type: { - name: "Composite", - polymorphicDiscriminator: UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, - uberParent: "UpdateReplicationProtectedItemProviderInput", - className: "InMageAzureV2UpdateReplicationProtectedItemInput", - modelProperties: { - ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, - recoveryAzureV1ResourceGroupId: { - serializedName: "recoveryAzureV1ResourceGroupId", + }, + mobilityAgentDetails: { + serializedName: "mobilityAgentDetails", type: { - name: "String" + name: "Composite", + className: "InMageRcmFailbackMobilityAgentDetails" } }, - recoveryAzureV2ResourceGroupId: { - serializedName: "recoveryAzureV2ResourceGroupId", + vmNics: { + serializedName: "vmNics", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmFailbackNicDetails" + } + } } }, - useManagedDisks: { - serializedName: "useManagedDisks", + lastPlannedFailoverStartTime: { + serializedName: "lastPlannedFailoverStartTime", + readOnly: true, type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const InMageBasePolicyDetails: msRest.CompositeMapper = { - serializedName: "InMageBasePolicyDetails", - type: { - name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "InMageBasePolicyDetails", - modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + }, + lastPlannedFailoverStatus: { + serializedName: "lastPlannedFailoverStatus", + readOnly: true, type: { - name: "Number" + name: "String" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + discoveredVmDetails: { + serializedName: "discoveredVmDetails", type: { - name: "Number" + name: "Composite", + className: "InMageRcmFailbackDiscoveredProtectedVmDetails" } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + lastUsedPolicyId: { + serializedName: "lastUsedPolicyId", + readOnly: true, type: { - name: "Number" + name: "String" } }, - multiVmSyncStatus: { - serializedName: "multiVmSyncStatus", + lastUsedPolicyFriendlyName: { + serializedName: "lastUsedPolicyFriendlyName", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMageDisableProtectionProviderSpecificInput: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: DisableProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "DisableProtectionProviderSpecificInput", - className: "InMageDisableProtectionProviderSpecificInput", - modelProperties: { - ...DisableProtectionProviderSpecificInput.type.modelProperties, - replicaVmDeletionStatus: { - serializedName: "replicaVmDeletionStatus", + }, + isAgentRegistrationSuccessfulAfterFailover: { + serializedName: "isAgentRegistrationSuccessfulAfterFailover", + readOnly: true, type: { - name: "String" + name: "Boolean" } } } } }; -export const InMageDiskDetails: msRest.CompositeMapper = { - serializedName: "InMageDiskDetails", +export const InMageRcmReplicationDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "InMageDiskDetails", + className: "InMageRcmReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, modelProperties: { - diskId: { - serializedName: "diskId", + ...ReplicationProviderSpecificSettings.type.modelProperties, + internalIdentifier: { + serializedName: "internalIdentifier", + readOnly: true, type: { name: "String" } }, - diskName: { - serializedName: "diskName", + fabricDiscoveryMachineId: { + serializedName: "fabricDiscoveryMachineId", + readOnly: true, type: { name: "String" } }, - diskSizeInMB: { - serializedName: "diskSizeInMB", + multiVmGroupName: { + serializedName: "multiVmGroupName", + readOnly: true, type: { name: "String" } }, - diskType: { - serializedName: "diskType", + discoveryType: { + serializedName: "discoveryType", + readOnly: true, type: { name: "String" } }, - diskConfiguration: { - serializedName: "diskConfiguration", + processServerId: { + serializedName: "processServerId", + readOnly: true, type: { name: "String" } }, - volumeList: { - serializedName: "volumeList", + processorCoreCount: { + serializedName: "processorCoreCount", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DiskVolumeDetails" - } - } + name: "Number" } - } - } - } -}; - -export const InMageVolumeExclusionOptions: msRest.CompositeMapper = { - serializedName: "InMageVolumeExclusionOptions", - type: { - name: "Composite", - className: "InMageVolumeExclusionOptions", - modelProperties: { - volumeLabel: { - serializedName: "volumeLabel", + }, + allocatedMemoryInMB: { + serializedName: "allocatedMemoryInMB", + readOnly: true, + type: { + name: "Number" + } + }, + processServerName: { + serializedName: "processServerName", + readOnly: true, + type: { + name: "String" + } + }, + runAsAccountId: { + serializedName: "runAsAccountId", + readOnly: true, type: { name: "String" } }, - onlyExcludeIfSingleVolume: { - serializedName: "onlyExcludeIfSingleVolume", + osType: { + serializedName: "osType", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMageDiskSignatureExclusionOptions: msRest.CompositeMapper = { - serializedName: "InMageDiskSignatureExclusionOptions", - type: { - name: "Composite", - className: "InMageDiskSignatureExclusionOptions", - modelProperties: { - diskSignature: { - serializedName: "diskSignature", + }, + firmwareType: { + serializedName: "firmwareType", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMageDiskExclusionInput: msRest.CompositeMapper = { - serializedName: "InMageDiskExclusionInput", - type: { - name: "Composite", - className: "InMageDiskExclusionInput", - modelProperties: { - volumeOptions: { - serializedName: "volumeOptions", + }, + primaryNicIpAddress: { + serializedName: "primaryNicIpAddress", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "InMageVolumeExclusionOptions" - } - } + name: "String" } }, - diskSignatureOptions: { - serializedName: "diskSignatureOptions", + targetGeneration: { + serializedName: "targetGeneration", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "InMageDiskSignatureExclusionOptions" - } - } + name: "String" } - } - } - } -}; - -export const InMageEnableProtectionInput: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "EnableProtectionProviderSpecificInput", - className: "InMageEnableProtectionInput", - modelProperties: { - ...EnableProtectionProviderSpecificInput.type.modelProperties, - vmFriendlyName: { - serializedName: "vmFriendlyName", + }, + licenseType: { + serializedName: "licenseType", type: { name: "String" } }, - masterTargetId: { - required: true, - serializedName: "masterTargetId", + targetVmName: { + serializedName: "targetVmName", type: { name: "String" } }, - processServerId: { - required: true, - serializedName: "processServerId", + targetVmSize: { + serializedName: "targetVmSize", type: { name: "String" } }, - retentionDrive: { - required: true, - serializedName: "retentionDrive", + targetResourceGroupId: { + serializedName: "targetResourceGroupId", type: { name: "String" } }, - runAsAccountId: { - serializedName: "runAsAccountId", + targetLocation: { + serializedName: "targetLocation", type: { name: "String" } }, - multiVmGroupId: { - required: true, - serializedName: "multiVmGroupId", + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", type: { name: "String" } }, - multiVmGroupName: { - required: true, - serializedName: "multiVmGroupName", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { name: "String" } }, - datastoreName: { - serializedName: "datastoreName", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { name: "String" } }, - diskExclusionInput: { - serializedName: "diskExclusionInput", + targetBootDiagnosticsStorageAccountId: { + serializedName: "targetBootDiagnosticsStorageAccountId", type: { - name: "Composite", - className: "InMageDiskExclusionInput" + name: "String" } }, - disksToInclude: { - serializedName: "disksToInclude", + targetNetworkId: { + serializedName: "targetNetworkId", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } - } - } - } -}; - -export const InMageFailoverProviderInput: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: ProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "ProviderSpecificFailoverInput", - className: "InMageFailoverProviderInput", - modelProperties: { - ...ProviderSpecificFailoverInput.type.modelProperties, - recoveryPointType: { - serializedName: "recoveryPointType", + }, + testNetworkId: { + serializedName: "testNetworkId", type: { name: "String" } }, - recoveryPointId: { - serializedName: "recoveryPointId", + failoverRecoveryPointId: { + serializedName: "failoverRecoveryPointId", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMagePolicyDetails: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "InMagePolicyDetails", - modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + }, + lastRecoveryPointReceived: { + serializedName: "lastRecoveryPointReceived", + readOnly: true, type: { - name: "Number" + name: "DateTime" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + lastRpoInSeconds: { + serializedName: "lastRpoInSeconds", + readOnly: true, type: { name: "Number" } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + lastRpoCalculatedTime: { + serializedName: "lastRpoCalculatedTime", + readOnly: true, type: { - name: "Number" + name: "DateTime" } }, - multiVmSyncStatus: { - serializedName: "multiVmSyncStatus", + lastRecoveryPointId: { + serializedName: "lastRecoveryPointId", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMagePolicyInput: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificInput", - className: "InMagePolicyInput", - modelProperties: { - ...PolicyProviderSpecificInput.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + }, + initialReplicationProgressPercentage: { + serializedName: "initialReplicationProgressPercentage", + readOnly: true, type: { name: "Number" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + initialReplicationProcessedBytes: { + serializedName: "initialReplicationProcessedBytes", + readOnly: true, type: { name: "Number" } }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + initialReplicationTransferredBytes: { + serializedName: "initialReplicationTransferredBytes", + readOnly: true, type: { name: "Number" } }, - multiVmSyncStatus: { - required: true, - serializedName: "multiVmSyncStatus", + initialReplicationProgressHealth: { + serializedName: "initialReplicationProgressHealth", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const InMageProtectedDiskDetails: msRest.CompositeMapper = { - serializedName: "InMageProtectedDiskDetails", - type: { - name: "Composite", - className: "InMageProtectedDiskDetails", - modelProperties: { - diskId: { - serializedName: "diskId", + }, + resyncProgressPercentage: { + serializedName: "resyncProgressPercentage", + readOnly: true, type: { - name: "String" + name: "Number" } }, - diskName: { - serializedName: "diskName", + resyncProcessedBytes: { + serializedName: "resyncProcessedBytes", + readOnly: true, type: { - name: "String" + name: "Number" } }, - protectionStage: { - serializedName: "protectionStage", + resyncTransferredBytes: { + serializedName: "resyncTransferredBytes", + readOnly: true, type: { - name: "String" + name: "Number" } }, - healthErrorCode: { - serializedName: "healthErrorCode", + resyncProgressHealth: { + serializedName: "resyncProgressHealth", + readOnly: true, type: { name: "String" } }, - rpoInSeconds: { - serializedName: "rpoInSeconds", + resyncRequired: { + serializedName: "resyncRequired", + readOnly: true, type: { - name: "Number" + name: "String" } }, - resyncRequired: { - serializedName: "resyncRequired", + resyncState: { + serializedName: "resyncState", + readOnly: true, type: { name: "String" } }, - resyncProgressPercentage: { - serializedName: "resyncProgressPercentage", + agentUpgradeState: { + serializedName: "agentUpgradeState", + readOnly: true, type: { - name: "Number" + name: "String" } }, - resyncDurationInSeconds: { - serializedName: "resyncDurationInSeconds", + lastAgentUpgradeType: { + serializedName: "lastAgentUpgradeType", + readOnly: true, type: { - name: "Number" + name: "String" } }, - diskCapacityInBytes: { - serializedName: "diskCapacityInBytes", + agentUpgradeJobId: { + serializedName: "agentUpgradeJobId", + readOnly: true, type: { - name: "Number" + name: "String" } }, - fileSystemCapacityInBytes: { - serializedName: "fileSystemCapacityInBytes", + agentUpgradeAttemptToVersion: { + serializedName: "agentUpgradeAttemptToVersion", + readOnly: true, type: { - name: "Number" + name: "String" } }, - sourceDataInMB: { - serializedName: "sourceDataInMB", + protectedDisks: { + serializedName: "protectedDisks", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmProtectedDiskDetails" + } + } } }, - psDataInMB: { - serializedName: "psDataInMB", + isLastUpgradeSuccessful: { + serializedName: "isLastUpgradeSuccessful", + readOnly: true, type: { - name: "Number" + name: "String" } }, - targetDataInMB: { - serializedName: "targetDataInMB", + isAgentRegistrationSuccessfulAfterFailover: { + serializedName: "isAgentRegistrationSuccessfulAfterFailover", + readOnly: true, type: { - name: "Number" + name: "Boolean" } }, - diskResized: { - serializedName: "diskResized", + mobilityAgentDetails: { + serializedName: "mobilityAgentDetails", type: { - name: "String" + name: "Composite", + className: "InMageRcmMobilityAgentDetails" } }, - lastRpoCalculatedTime: { - serializedName: "lastRpoCalculatedTime", + lastAgentUpgradeErrorDetails: { + serializedName: "lastAgentUpgradeErrorDetails", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmLastAgentUpgradeErrorDetails" + } + } } - } - } - } -}; - -export const OSDiskDetails: msRest.CompositeMapper = { - serializedName: "OSDiskDetails", - type: { - name: "Composite", - className: "OSDiskDetails", - modelProperties: { - osVhdId: { - serializedName: "osVhdId", + }, + agentUpgradeBlockingErrorDetails: { + serializedName: "agentUpgradeBlockingErrorDetails", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmAgentUpgradeBlockingErrorDetails" + } + } } }, - osType: { - serializedName: "osType", + vmNics: { + serializedName: "vmNics", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmNicDetails" + } + } } }, - vhdName: { - serializedName: "vhdName", + discoveredVmDetails: { + serializedName: "discoveredVmDetails", type: { - name: "String" + name: "Composite", + className: "InMageRcmDiscoveredProtectedVmDetails" } } } } }; -export const InMageReplicationDetails: msRest.CompositeMapper = { +export const InMageReplicationDetails: coreClient.CompositeMapper = { serializedName: "InMage", type: { name: "Composite", - polymorphicDiscriminator: ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, - uberParent: "ReplicationProviderSpecificSettings", className: "InMageReplicationDetails", + uberParent: "ReplicationProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProviderSpecificSettings.type.polymorphicDiscriminator, modelProperties: { ...ReplicationProviderSpecificSettings.type.modelProperties, activeSiteType: { @@ -7273,11 +16632,7 @@ export const InMageReplicationDetails: msRest.CompositeMapper = { serializedName: "consistencyPoints", type: { name: "Dictionary", - value: { - type: { - name: "DateTime" - } - } + value: { type: { name: "DateTime" } } } }, diskResized: { @@ -7399,335 +16754,184 @@ export const InMageReplicationDetails: msRest.CompositeMapper = { type: { name: "String" } - } - } - } -}; - -export const InMageReprotectInput: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "ReverseReplicationProviderSpecificInput", - className: "InMageReprotectInput", - modelProperties: { - ...ReverseReplicationProviderSpecificInput.type.modelProperties, - masterTargetId: { - required: true, - serializedName: "masterTargetId", - type: { - name: "String" - } }, - processServerId: { - required: true, - serializedName: "processServerId", + isAdditionalStatsAvailable: { + serializedName: "isAdditionalStatsAvailable", type: { - name: "String" + name: "Boolean" } }, - retentionDrive: { - required: true, - serializedName: "retentionDrive", + totalDataTransferred: { + serializedName: "totalDataTransferred", type: { - name: "String" + name: "Number" } }, - runAsAccountId: { - serializedName: "runAsAccountId", + totalProgressHealth: { + serializedName: "totalProgressHealth", type: { name: "String" } - }, - datastoreName: { - serializedName: "datastoreName", + } + } + } +}; + +export const A2ACrossClusterMigrationEnableProtectionInput: coreClient.CompositeMapper = { + serializedName: "A2ACrossClusterMigration", + type: { + name: "Composite", + className: "A2ACrossClusterMigrationEnableProtectionInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: + EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...EnableProtectionProviderSpecificInput.type.modelProperties, + fabricObjectId: { + serializedName: "fabricObjectId", type: { name: "String" } }, - diskExclusionInput: { - serializedName: "diskExclusionInput", - type: { - name: "Composite", - className: "InMageDiskExclusionInput" - } - }, - profileId: { - required: true, - serializedName: "profileId", + recoveryContainerId: { + serializedName: "recoveryContainerId", type: { name: "String" } - }, - disksToInclude: { - serializedName: "disksToInclude", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } } } } }; -export const JobProperties: msRest.CompositeMapper = { - serializedName: "JobProperties", +export const A2AEnableProtectionInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - className: "JobProperties", + className: "A2AEnableProtectionInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: + EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - activityId: { - serializedName: "activityId", + ...EnableProtectionProviderSpecificInput.type.modelProperties, + fabricObjectId: { + serializedName: "fabricObjectId", + required: true, type: { name: "String" } }, - scenarioName: { - serializedName: "scenarioName", + recoveryContainerId: { + serializedName: "recoveryContainerId", type: { name: "String" } }, - friendlyName: { - serializedName: "friendlyName", + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", type: { name: "String" } }, - state: { - serializedName: "state", + recoveryCloudServiceId: { + serializedName: "recoveryCloudServiceId", type: { name: "String" } }, - stateDescription: { - serializedName: "stateDescription", + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", type: { name: "String" } }, - tasks: { - serializedName: "tasks", + recoveryProximityPlacementGroupId: { + serializedName: "recoveryProximityPlacementGroupId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ASRTask" - } - } + name: "String" } }, - errors: { - serializedName: "errors", + vmDisks: { + serializedName: "vmDisks", type: { name: "Sequence", element: { type: { name: "Composite", - className: "JobErrorDetails" + className: "A2AVmDiskInputDetails" } } } }, - startTime: { - serializedName: "startTime", - type: { - name: "DateTime" - } - }, - endTime: { - serializedName: "endTime", - type: { - name: "DateTime" - } - }, - allowedActions: { - serializedName: "allowedActions", + vmManagedDisks: { + serializedName: "vmManagedDisks", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "A2AVmManagedDiskInputDetails" } - } - } - }, - targetObjectId: { - serializedName: "targetObjectId", - type: { - name: "String" - } - }, - targetObjectName: { - serializedName: "targetObjectName", - type: { - name: "String" - } - }, - targetInstanceType: { - serializedName: "targetInstanceType", - type: { - name: "String" - } - }, - customDetails: { - serializedName: "customDetails", - type: { - name: "Composite", - className: "JobDetails" - } - } - } - } -}; - -export const Job: msRest.CompositeMapper = { - serializedName: "Job", - type: { - name: "Composite", - className: "Job", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "JobProperties" - } - } - } - } -}; - -export const JobQueryParameter: msRest.CompositeMapper = { - serializedName: "JobQueryParameter", - type: { - name: "Composite", - className: "JobQueryParameter", - modelProperties: { - startTime: { - serializedName: "startTime", - type: { - name: "String" - } - }, - endTime: { - serializedName: "endTime", - type: { - name: "String" - } - }, - fabricId: { - serializedName: "fabricId", - type: { - name: "String" - } - }, - affectedObjectTypes: { - serializedName: "affectedObjectTypes", - type: { - name: "String" + } } }, - jobStatus: { - serializedName: "jobStatus", + multiVmGroupName: { + serializedName: "multiVmGroupName", type: { name: "String" } - } - } - } -}; - -export const JobStatusEventDetails: msRest.CompositeMapper = { - serializedName: "JobStatus", - type: { - name: "Composite", - polymorphicDiscriminator: EventSpecificDetails.type.polymorphicDiscriminator, - uberParent: "EventSpecificDetails", - className: "JobStatusEventDetails", - modelProperties: { - ...EventSpecificDetails.type.modelProperties, - jobId: { - serializedName: "jobId", + }, + multiVmGroupId: { + serializedName: "multiVmGroupId", type: { name: "String" } }, - jobFriendlyName: { - serializedName: "jobFriendlyName", + recoveryBootDiagStorageAccountId: { + serializedName: "recoveryBootDiagStorageAccountId", type: { name: "String" } }, - jobStatus: { - serializedName: "jobStatus", + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", type: { - name: "String" + name: "Composite", + className: "DiskEncryptionInfo" } }, - affectedObjectType: { - serializedName: "affectedObjectType", + recoveryAvailabilityZone: { + serializedName: "recoveryAvailabilityZone", type: { name: "String" } - } - } - } -}; - -export const JobTaskDetails: msRest.CompositeMapper = { - serializedName: "JobTaskDetails", - type: { - name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "JobTaskDetails", - modelProperties: { - ...TaskTypeDetails.type.modelProperties, - jobTask: { - serializedName: "jobTask", + }, + recoveryExtendedLocation: { + serializedName: "recoveryExtendedLocation", type: { name: "Composite", - className: "JobEntity" + className: "ExtendedLocation" } - } - } - } -}; - -export const LogicalNetworkProperties: msRest.CompositeMapper = { - serializedName: "LogicalNetworkProperties", - type: { - name: "Composite", - className: "LogicalNetworkProperties", - modelProperties: { - friendlyName: { - serializedName: "friendlyName", + }, + recoveryAzureNetworkId: { + serializedName: "recoveryAzureNetworkId", type: { name: "String" } }, - networkVirtualizationStatus: { - serializedName: "networkVirtualizationStatus", + recoverySubnetName: { + serializedName: "recoverySubnetName", type: { name: "String" } }, - logicalNetworkUsage: { - serializedName: "logicalNetworkUsage", + recoveryVirtualMachineScaleSetId: { + serializedName: "recoveryVirtualMachineScaleSetId", type: { name: "String" } }, - logicalNetworkDefinitionsStatus: { - serializedName: "logicalNetworkDefinitionsStatus", + recoveryCapacityReservationGroupId: { + serializedName: "recoveryCapacityReservationGroupId", type: { name: "String" } @@ -7736,1070 +16940,926 @@ export const LogicalNetworkProperties: msRest.CompositeMapper = { } }; -export const LogicalNetwork: msRest.CompositeMapper = { - serializedName: "LogicalNetwork", +export const HyperVReplicaAzureEnableProtectionInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", type: { name: "Composite", - className: "LogicalNetwork", + className: "HyperVReplicaAzureEnableProtectionInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: + EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...EnableProtectionProviderSpecificInput.type.modelProperties, + hvHostVmId: { + serializedName: "hvHostVmId", type: { - name: "Composite", - className: "LogicalNetworkProperties" + name: "String" } - } - } - } -}; - -export const ManualActionTaskDetails: msRest.CompositeMapper = { - serializedName: "ManualActionTaskDetails", - type: { - name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "ManualActionTaskDetails", - modelProperties: { - ...TaskTypeDetails.type.modelProperties, - name: { - serializedName: "name", + }, + vmName: { + serializedName: "vmName", type: { name: "String" } }, - instructions: { - serializedName: "instructions", + osType: { + serializedName: "osType", type: { name: "String" } }, - observation: { - serializedName: "observation", + vhdId: { + serializedName: "vhdId", type: { name: "String" } - } - } - } -}; - -export const RetentionVolume: msRest.CompositeMapper = { - serializedName: "RetentionVolume", - type: { - name: "Composite", - className: "RetentionVolume", - modelProperties: { - volumeName: { - serializedName: "volumeName", + }, + targetStorageAccountId: { + serializedName: "targetStorageAccountId", type: { name: "String" } }, - capacityInBytes: { - serializedName: "capacityInBytes", + targetAzureNetworkId: { + serializedName: "targetAzureNetworkId", type: { - name: "Number" + name: "String" } }, - freeSpaceInBytes: { - serializedName: "freeSpaceInBytes", + targetAzureSubnetId: { + serializedName: "targetAzureSubnetId", type: { - name: "Number" + name: "String" } }, - thresholdPercentage: { - serializedName: "thresholdPercentage", + enableRdpOnTargetOption: { + serializedName: "enableRdpOnTargetOption", type: { - name: "Number" + name: "String" } - } - } - } -}; - -export const VersionDetails: msRest.CompositeMapper = { - serializedName: "VersionDetails", - type: { - name: "Composite", - className: "VersionDetails", - modelProperties: { - version: { - serializedName: "version", + }, + targetAzureVmName: { + serializedName: "targetAzureVmName", type: { name: "String" } }, - expiryDate: { - serializedName: "expiryDate", + logStorageAccountId: { + serializedName: "logStorageAccountId", type: { - name: "DateTime" + name: "String" } }, - status: { - serializedName: "status", + disksToInclude: { + serializedName: "disksToInclude", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + targetAzureV1ResourceGroupId: { + serializedName: "targetAzureV1ResourceGroupId", type: { name: "String" } - } - } - } -}; - -export const MasterTargetServer: msRest.CompositeMapper = { - serializedName: "MasterTargetServer", - type: { - name: "Composite", - className: "MasterTargetServer", - modelProperties: { - id: { - serializedName: "id", + }, + targetAzureV2ResourceGroupId: { + serializedName: "targetAzureV2ResourceGroupId", type: { name: "String" } }, - ipAddress: { - serializedName: "ipAddress", + useManagedDisks: { + serializedName: "useManagedDisks", type: { name: "String" } }, - name: { - serializedName: "name", + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", type: { name: "String" } }, - osType: { - serializedName: "osType", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { name: "String" } }, - agentVersion: { - serializedName: "agentVersion", + licenseType: { + serializedName: "licenseType", type: { name: "String" } }, - lastHeartbeat: { - serializedName: "lastHeartbeat", + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", type: { - name: "DateTime" + name: "String" } }, - versionStatus: { - serializedName: "versionStatus", + targetVmSize: { + serializedName: "targetVmSize", type: { name: "String" } }, - retentionVolumes: { - serializedName: "retentionVolumes", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RetentionVolume" - } - } + name: "String" } }, - dataStores: { - serializedName: "dataStores", + useManagedDisksForReplication: { + serializedName: "useManagedDisksForReplication", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DataStore" - } - } + name: "String" } }, - validationErrors: { - serializedName: "validationErrors", + diskType: { + serializedName: "diskType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "String" } }, - healthErrors: { - serializedName: "healthErrors", + disksToIncludeForManagedDisks: { + serializedName: "disksToIncludeForManagedDisks", type: { name: "Sequence", element: { type: { name: "Composite", - className: "HealthError" + className: "HyperVReplicaAzureDiskInputDetails" } - } - } - }, - diskCount: { - serializedName: "diskCount", - type: { - name: "Number" - } - }, - osVersion: { - serializedName: "osVersion", - type: { - name: "String" + } } }, - agentExpiryDate: { - serializedName: "agentExpiryDate", + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", type: { - name: "DateTime" + name: "String" } }, - marsAgentVersion: { - serializedName: "marsAgentVersion", + targetVmTags: { + serializedName: "targetVmTags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - marsAgentExpiryDate: { - serializedName: "marsAgentExpiryDate", + seedManagedDiskTags: { + serializedName: "seedManagedDiskTags", type: { - name: "DateTime" + name: "Dictionary", + value: { type: { name: "String" } } } }, - agentVersionDetails: { - serializedName: "agentVersionDetails", + targetManagedDiskTags: { + serializedName: "targetManagedDiskTags", type: { - name: "Composite", - className: "VersionDetails" + name: "Dictionary", + value: { type: { name: "String" } } } }, - marsAgentVersionDetails: { - serializedName: "marsAgentVersionDetails", + targetNicTags: { + serializedName: "targetNicTags", type: { - name: "Composite", - className: "VersionDetails" + name: "Dictionary", + value: { type: { name: "String" } } } } } } }; -export const MobilityServiceUpdate: msRest.CompositeMapper = { - serializedName: "MobilityServiceUpdate", +export const InMageAzureV2EnableProtectionInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "MobilityServiceUpdate", + className: "InMageAzureV2EnableProtectionInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: + EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - version: { - serializedName: "version", + ...EnableProtectionProviderSpecificInput.type.modelProperties, + masterTargetId: { + serializedName: "masterTargetId", type: { name: "String" } }, - rebootStatus: { - serializedName: "rebootStatus", + processServerId: { + serializedName: "processServerId", type: { name: "String" } }, - osType: { - serializedName: "osType", + storageAccountId: { + serializedName: "storageAccountId", type: { name: "String" } - } - } - } -}; - -export const Subnet: msRest.CompositeMapper = { - serializedName: "Subnet", - type: { - name: "Composite", - className: "Subnet", - modelProperties: { - name: { - serializedName: "name", + }, + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } }, - friendlyName: { - serializedName: "friendlyName", + multiVmGroupId: { + serializedName: "multiVmGroupId", type: { name: "String" } }, - addressList: { - serializedName: "addressList", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } - } - } -}; - -export const NetworkProperties: msRest.CompositeMapper = { - serializedName: "NetworkProperties", - type: { - name: "Composite", - className: "NetworkProperties", - modelProperties: { - fabricType: { - serializedName: "fabricType", + multiVmGroupName: { + serializedName: "multiVmGroupName", type: { name: "String" } }, - subnets: { - serializedName: "subnets", + disksToInclude: { + serializedName: "disksToInclude", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Subnet" + className: "InMageAzureV2DiskInputDetails" } } } }, - friendlyName: { - serializedName: "friendlyName", + targetAzureNetworkId: { + serializedName: "targetAzureNetworkId", type: { name: "String" } }, - networkType: { - serializedName: "networkType", + targetAzureSubnetId: { + serializedName: "targetAzureSubnetId", type: { name: "String" } - } - } - } -}; - -export const Network: msRest.CompositeMapper = { - serializedName: "Network", - type: { - name: "Composite", - className: "Network", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "NetworkProperties" - } - } - } - } -}; - -export const NetworkMappingProperties: msRest.CompositeMapper = { - serializedName: "NetworkMappingProperties", - type: { - name: "Composite", - className: "NetworkMappingProperties", - modelProperties: { - state: { - serializedName: "state", + }, + enableRdpOnTargetOption: { + serializedName: "enableRdpOnTargetOption", type: { name: "String" } }, - primaryNetworkFriendlyName: { - serializedName: "primaryNetworkFriendlyName", + targetAzureVmName: { + serializedName: "targetAzureVmName", type: { name: "String" } }, - primaryNetworkId: { - serializedName: "primaryNetworkId", + logStorageAccountId: { + serializedName: "logStorageAccountId", type: { name: "String" } }, - primaryFabricFriendlyName: { - serializedName: "primaryFabricFriendlyName", + targetAzureV1ResourceGroupId: { + serializedName: "targetAzureV1ResourceGroupId", type: { name: "String" } }, - recoveryNetworkFriendlyName: { - serializedName: "recoveryNetworkFriendlyName", + targetAzureV2ResourceGroupId: { + serializedName: "targetAzureV2ResourceGroupId", type: { name: "String" } }, - recoveryNetworkId: { - serializedName: "recoveryNetworkId", + diskType: { + serializedName: "diskType", type: { name: "String" } }, - recoveryFabricArmId: { - serializedName: "recoveryFabricArmId", + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", type: { name: "String" } }, - recoveryFabricFriendlyName: { - serializedName: "recoveryFabricFriendlyName", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { name: "String" } }, - fabricSpecificSettings: { - serializedName: "fabricSpecificSettings", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { - name: "Composite", - className: "NetworkMappingFabricSpecificSettings" + name: "String" } - } - } - } -}; - -export const NetworkMapping: msRest.CompositeMapper = { - serializedName: "NetworkMapping", - type: { - name: "Composite", - className: "NetworkMapping", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + }, + licenseType: { + serializedName: "licenseType", type: { - name: "Composite", - className: "NetworkMappingProperties" + name: "String" } - } - } - } -}; - -export const OperationsDiscovery: msRest.CompositeMapper = { - serializedName: "OperationsDiscovery", - type: { - name: "Composite", - className: "OperationsDiscovery", - modelProperties: { - name: { - serializedName: "name", + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", type: { name: "String" } }, - display: { - serializedName: "display", + targetVmSize: { + serializedName: "targetVmSize", type: { - name: "Composite", - className: "Display" + name: "String" } }, - origin: { - serializedName: "origin", + diskEncryptionSetId: { + serializedName: "diskEncryptionSetId", type: { name: "String" } }, - properties: { - serializedName: "properties", + targetVmTags: { + serializedName: "targetVmTags", type: { - name: "Object" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const PlannedFailoverInputProperties: msRest.CompositeMapper = { - serializedName: "PlannedFailoverInputProperties", - type: { - name: "Composite", - className: "PlannedFailoverInputProperties", - modelProperties: { - failoverDirection: { - serializedName: "failoverDirection", + }, + seedManagedDiskTags: { + serializedName: "seedManagedDiskTags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + targetManagedDiskTags: { + serializedName: "targetManagedDiskTags", type: { - name: "Composite", - className: "ProviderSpecificFailoverInput" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const PlannedFailoverInput: msRest.CompositeMapper = { - serializedName: "PlannedFailoverInput", - type: { - name: "Composite", - className: "PlannedFailoverInput", - modelProperties: { - properties: { - serializedName: "properties", + }, + targetNicTags: { + serializedName: "targetNicTags", type: { - name: "Composite", - className: "PlannedFailoverInputProperties" + name: "Dictionary", + value: { type: { name: "String" } } } } } } }; -export const PolicyProperties: msRest.CompositeMapper = { - serializedName: "PolicyProperties", +export const InMageEnableProtectionInput: coreClient.CompositeMapper = { + serializedName: "InMage", type: { name: "Composite", - className: "PolicyProperties", + className: "InMageEnableProtectionInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: + EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - friendlyName: { - serializedName: "friendlyName", + ...EnableProtectionProviderSpecificInput.type.modelProperties, + vmFriendlyName: { + serializedName: "vmFriendlyName", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + masterTargetId: { + serializedName: "masterTargetId", + required: true, type: { - name: "Composite", - className: "PolicyProviderSpecificDetails" + name: "String" } - } - } - } -}; - -export const Policy: msRest.CompositeMapper = { - serializedName: "Policy", - type: { - name: "Composite", - className: "Policy", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + }, + processServerId: { + serializedName: "processServerId", + required: true, type: { - name: "Composite", - className: "PolicyProperties" + name: "String" } - } - } - } -}; - -export const ProcessServer: msRest.CompositeMapper = { - serializedName: "ProcessServer", - type: { - name: "Composite", - className: "ProcessServer", - modelProperties: { - friendlyName: { - serializedName: "friendlyName", + }, + retentionDrive: { + serializedName: "retentionDrive", + required: true, type: { name: "String" } }, - id: { - serializedName: "id", + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } }, - ipAddress: { - serializedName: "ipAddress", + multiVmGroupId: { + serializedName: "multiVmGroupId", + required: true, type: { name: "String" } }, - osType: { - serializedName: "osType", + multiVmGroupName: { + serializedName: "multiVmGroupName", + required: true, type: { name: "String" } }, - agentVersion: { - serializedName: "agentVersion", + datastoreName: { + serializedName: "datastoreName", type: { name: "String" } }, - lastHeartbeat: { - serializedName: "lastHeartbeat", + diskExclusionInput: { + serializedName: "diskExclusionInput", type: { - name: "DateTime" + name: "Composite", + className: "InMageDiskExclusionInput" } }, - versionStatus: { - serializedName: "versionStatus", + disksToInclude: { + serializedName: "disksToInclude", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const InMageRcmEnableProtectionInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmEnableProtectionInput", + uberParent: "EnableProtectionProviderSpecificInput", + polymorphicDiscriminator: + EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...EnableProtectionProviderSpecificInput.type.modelProperties, + fabricDiscoveryMachineId: { + serializedName: "fabricDiscoveryMachineId", + required: true, type: { name: "String" } }, - mobilityServiceUpdates: { - serializedName: "mobilityServiceUpdates", + disksToInclude: { + serializedName: "disksToInclude", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MobilityServiceUpdate" + className: "InMageRcmDiskInput" } } } }, - hostId: { - serializedName: "hostId", + disksDefault: { + serializedName: "disksDefault", type: { - name: "String" + name: "Composite", + className: "InMageRcmDisksDefaultInput" } }, - machineCount: { - serializedName: "machineCount", + targetResourceGroupId: { + serializedName: "targetResourceGroupId", + required: true, type: { name: "String" } }, - replicationPairCount: { - serializedName: "replicationPairCount", + targetNetworkId: { + serializedName: "targetNetworkId", type: { name: "String" } }, - systemLoad: { - serializedName: "systemLoad", + testNetworkId: { + serializedName: "testNetworkId", type: { name: "String" } }, - systemLoadStatus: { - serializedName: "systemLoadStatus", + targetSubnetName: { + serializedName: "targetSubnetName", type: { name: "String" } }, - cpuLoad: { - serializedName: "cpuLoad", + testSubnetName: { + serializedName: "testSubnetName", type: { name: "String" } }, - cpuLoadStatus: { - serializedName: "cpuLoadStatus", + targetVmName: { + serializedName: "targetVmName", type: { name: "String" } }, - totalMemoryInBytes: { - serializedName: "totalMemoryInBytes", + targetVmSize: { + serializedName: "targetVmSize", type: { - name: "Number" + name: "String" } }, - availableMemoryInBytes: { - serializedName: "availableMemoryInBytes", + licenseType: { + serializedName: "licenseType", type: { - name: "Number" + name: "String" } }, - memoryUsageStatus: { - serializedName: "memoryUsageStatus", + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", type: { name: "String" } }, - totalSpaceInBytes: { - serializedName: "totalSpaceInBytes", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { - name: "Number" + name: "String" } }, - availableSpaceInBytes: { - serializedName: "availableSpaceInBytes", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { - name: "Number" + name: "String" } }, - spaceUsageStatus: { - serializedName: "spaceUsageStatus", + targetBootDiagnosticsStorageAccountId: { + serializedName: "targetBootDiagnosticsStorageAccountId", type: { name: "String" } }, - psServiceStatus: { - serializedName: "psServiceStatus", + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } }, - sslCertExpiryDate: { - serializedName: "sslCertExpiryDate", + processServerId: { + serializedName: "processServerId", + required: true, type: { - name: "DateTime" + name: "String" } }, - sslCertExpiryRemainingDays: { - serializedName: "sslCertExpiryRemainingDays", + multiVmGroupName: { + serializedName: "multiVmGroupName", type: { - name: "Number" + name: "String" + } + } + } + } +}; + +export const A2AUpdateReplicationProtectedItemInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2AUpdateReplicationProtectedItemInput", + uberParent: "UpdateReplicationProtectedItemProviderInput", + polymorphicDiscriminator: + UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, + modelProperties: { + ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, + recoveryCloudServiceId: { + serializedName: "recoveryCloudServiceId", + type: { + name: "String" } }, - osVersion: { - serializedName: "osVersion", + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", type: { name: "String" } }, - healthErrors: { - serializedName: "healthErrors", + managedDiskUpdateDetails: { + serializedName: "managedDiskUpdateDetails", type: { name: "Sequence", element: { type: { name: "Composite", - className: "HealthError" + className: "A2AVmManagedDiskUpdateDetails" } } } }, - agentExpiryDate: { - serializedName: "agentExpiryDate", + recoveryBootDiagStorageAccountId: { + serializedName: "recoveryBootDiagStorageAccountId", type: { - name: "DateTime" + name: "String" } }, - agentVersionDetails: { - serializedName: "agentVersionDetails", + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", type: { name: "Composite", - className: "VersionDetails" - } - } - } - } -}; - -export const ProtectableItemProperties: msRest.CompositeMapper = { - serializedName: "ProtectableItemProperties", - type: { - name: "Composite", - className: "ProtectableItemProperties", - modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" + className: "DiskEncryptionInfo" } }, - protectionStatus: { - serializedName: "protectionStatus", + tfoAzureVMName: { + serializedName: "tfoAzureVMName", type: { name: "String" } }, - replicationProtectedItemId: { - serializedName: "replicationProtectedItemId", + recoveryProximityPlacementGroupId: { + serializedName: "recoveryProximityPlacementGroupId", type: { name: "String" } }, - recoveryServicesProviderId: { - serializedName: "recoveryServicesProviderId", + recoveryVirtualMachineScaleSetId: { + serializedName: "recoveryVirtualMachineScaleSetId", type: { name: "String" } }, - protectionReadinessErrors: { - serializedName: "protectionReadinessErrors", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - supportedReplicationProviders: { - serializedName: "supportedReplicationProviders", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - customDetails: { - serializedName: "customDetails", + recoveryCapacityReservationGroupId: { + serializedName: "recoveryCapacityReservationGroupId", type: { - name: "Composite", - className: "ConfigurationSettings" + name: "String" } } } } }; -export const ProtectableItem: msRest.CompositeMapper = { - serializedName: "ProtectableItem", +export const HyperVReplicaAzureUpdateReplicationProtectedItemInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", type: { name: "Composite", - className: "ProtectableItem", + className: "HyperVReplicaAzureUpdateReplicationProtectedItemInput", + uberParent: "UpdateReplicationProtectedItemProviderInput", + polymorphicDiscriminator: + UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, + recoveryAzureV1ResourceGroupId: { + serializedName: "recoveryAzureV1ResourceGroupId", type: { - name: "Composite", - className: "ProtectableItemProperties" + name: "String" } - } - } - } -}; - -export const ProtectableItemQueryParameter: msRest.CompositeMapper = { - serializedName: "ProtectableItemQueryParameter", - type: { - name: "Composite", - className: "ProtectableItemQueryParameter", - modelProperties: { - state: { - serializedName: "state", + }, + recoveryAzureV2ResourceGroupId: { + serializedName: "recoveryAzureV2ResourceGroupId", type: { name: "String" } - } - } - } -}; - -export const ProtectedItemsQueryParameter: msRest.CompositeMapper = { - serializedName: "ProtectedItemsQueryParameter", - type: { - name: "Composite", - className: "ProtectedItemsQueryParameter", - modelProperties: { - sourceFabricName: { - serializedName: "sourceFabricName", + }, + useManagedDisks: { + serializedName: "useManagedDisks", type: { name: "String" } }, - recoveryPlanName: { - serializedName: "recoveryPlanName", + diskIdToDiskEncryptionMap: { + serializedName: "diskIdToDiskEncryptionMap", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - vCenterName: { - serializedName: "vCenterName", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { name: "String" } }, - instanceType: { - serializedName: "instanceType", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { name: "String" } }, - multiVmGroupCreateOption: { - serializedName: "multiVmGroupCreateOption", + targetVmTags: { + serializedName: "targetVmTags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const ProtectionContainerFabricSpecificDetails: msRest.CompositeMapper = { - serializedName: "ProtectionContainerFabricSpecificDetails", - type: { - name: "Composite", - className: "ProtectionContainerFabricSpecificDetails", - modelProperties: { - instanceType: { - readOnly: true, - serializedName: "instanceType", + }, + targetManagedDiskTags: { + serializedName: "targetManagedDiskTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + targetNicTags: { + serializedName: "targetNicTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", type: { name: "String" } + }, + vmDisks: { + serializedName: "vmDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UpdateDiskInput" + } + } + } } } } }; -export const ProtectionContainerProperties: msRest.CompositeMapper = { - serializedName: "ProtectionContainerProperties", +export const InMageAzureV2UpdateReplicationProtectedItemInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "ProtectionContainerProperties", + className: "InMageAzureV2UpdateReplicationProtectedItemInput", + uberParent: "UpdateReplicationProtectedItemProviderInput", + polymorphicDiscriminator: + UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, modelProperties: { - fabricFriendlyName: { - serializedName: "fabricFriendlyName", + ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, + recoveryAzureV1ResourceGroupId: { + serializedName: "recoveryAzureV1ResourceGroupId", type: { name: "String" } }, - friendlyName: { - serializedName: "friendlyName", + recoveryAzureV2ResourceGroupId: { + serializedName: "recoveryAzureV2ResourceGroupId", type: { name: "String" } }, - fabricType: { - serializedName: "fabricType", + useManagedDisks: { + serializedName: "useManagedDisks", type: { name: "String" } }, - protectedItemCount: { - serializedName: "protectedItemCount", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { - name: "Number" + name: "String" } }, - pairingStatus: { - serializedName: "pairingStatus", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { name: "String" } }, - role: { - serializedName: "role", + targetVmTags: { + serializedName: "targetVmTags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, - fabricSpecificDetails: { - serializedName: "fabricSpecificDetails", + targetManagedDiskTags: { + serializedName: "targetManagedDiskTags", type: { - name: "Composite", - className: "ProtectionContainerFabricSpecificDetails" + name: "Dictionary", + value: { type: { name: "String" } } } - } - } - } -}; - -export const ProtectionContainer: msRest.CompositeMapper = { - serializedName: "ProtectionContainer", - type: { - name: "Composite", - className: "ProtectionContainer", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + }, + targetNicTags: { + serializedName: "targetNicTags", type: { - name: "Composite", - className: "ProtectionContainerProperties" + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + sqlServerLicenseType: { + serializedName: "sqlServerLicenseType", + type: { + name: "String" + } + }, + vmDisks: { + serializedName: "vmDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UpdateDiskInput" + } + } } } } } }; -export const ProtectionContainerMappingProperties: msRest.CompositeMapper = { - serializedName: "ProtectionContainerMappingProperties", +export const InMageRcmUpdateReplicationProtectedItemInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "ProtectionContainerMappingProperties", + className: "InMageRcmUpdateReplicationProtectedItemInput", + uberParent: "UpdateReplicationProtectedItemProviderInput", + polymorphicDiscriminator: + UpdateReplicationProtectedItemProviderInput.type.polymorphicDiscriminator, modelProperties: { - targetProtectionContainerId: { - serializedName: "targetProtectionContainerId", + ...UpdateReplicationProtectedItemProviderInput.type.modelProperties, + targetVmName: { + serializedName: "targetVmName", type: { name: "String" } }, - targetProtectionContainerFriendlyName: { - serializedName: "targetProtectionContainerFriendlyName", + targetVmSize: { + serializedName: "targetVmSize", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + targetResourceGroupId: { + serializedName: "targetResourceGroupId", type: { - name: "Composite", - className: "ProtectionContainerMappingProviderSpecificDetails" + name: "String" } }, - health: { - serializedName: "health", + targetAvailabilitySetId: { + serializedName: "targetAvailabilitySetId", type: { name: "String" } }, - healthErrorDetails: { - serializedName: "healthErrorDetails", + targetAvailabilityZone: { + serializedName: "targetAvailabilityZone", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "String" } }, - policyId: { - serializedName: "policyId", + targetProximityPlacementGroupId: { + serializedName: "targetProximityPlacementGroupId", type: { name: "String" } }, - state: { - serializedName: "state", + targetBootDiagnosticsStorageAccountId: { + serializedName: "targetBootDiagnosticsStorageAccountId", type: { name: "String" } }, - sourceProtectionContainerFriendlyName: { - serializedName: "sourceProtectionContainerFriendlyName", + targetNetworkId: { + serializedName: "targetNetworkId", type: { name: "String" } }, - sourceFabricFriendlyName: { - serializedName: "sourceFabricFriendlyName", + testNetworkId: { + serializedName: "testNetworkId", type: { name: "String" } }, - targetFabricFriendlyName: { - serializedName: "targetFabricFriendlyName", + vmNics: { + serializedName: "vmNics", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InMageRcmNicInput" + } + } } }, - policyFriendlyName: { - serializedName: "policyFriendlyName", + licenseType: { + serializedName: "licenseType", type: { name: "String" } @@ -8808,176 +17868,244 @@ export const ProtectionContainerMappingProperties: msRest.CompositeMapper = { } }; -export const ProtectionContainerMapping: msRest.CompositeMapper = { - serializedName: "ProtectionContainerMapping", +export const A2AAddDisksInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - className: "ProtectionContainerMapping", + className: "A2AAddDisksInput", + uberParent: "AddDisksProviderSpecificInput", + polymorphicDiscriminator: + AddDisksProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...AddDisksProviderSpecificInput.type.modelProperties, + vmDisks: { + serializedName: "vmDisks", type: { - name: "Composite", - className: "ProtectionContainerMappingProperties" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AVmDiskInputDetails" + } + } + } + }, + vmManagedDisks: { + serializedName: "vmManagedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AVmManagedDiskInputDetails" + } + } } } } } }; -export const RcmAzureMigrationPolicyDetails: msRest.CompositeMapper = { - serializedName: "RcmAzureMigration", +export const A2AApplyRecoveryPointInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "RcmAzureMigrationPolicyDetails", + className: "A2AApplyRecoveryPointInput", + uberParent: "ApplyRecoveryPointProviderSpecificInput", + polymorphicDiscriminator: + ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", - type: { - name: "Number" - } - }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", - type: { - name: "Number" - } - }, - appConsistentFrequencyInMinutes: { - serializedName: "appConsistentFrequencyInMinutes", + ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties + } + } +}; + +export const A2ACrossClusterMigrationApplyRecoveryPointInput: coreClient.CompositeMapper = { + serializedName: "A2ACrossClusterMigration", + type: { + name: "Composite", + className: "A2ACrossClusterMigrationApplyRecoveryPointInput", + uberParent: "ApplyRecoveryPointProviderSpecificInput", + polymorphicDiscriminator: + ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties + } + } +}; + +export const HyperVReplicaAzureApplyRecoveryPointInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", + type: { + name: "Composite", + className: "HyperVReplicaAzureApplyRecoveryPointInput", + uberParent: "ApplyRecoveryPointProviderSpecificInput", + polymorphicDiscriminator: + ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties, + primaryKekCertificatePfx: { + serializedName: "primaryKekCertificatePfx", type: { - name: "Number" + name: "String" } }, - multiVmSyncStatus: { - serializedName: "multiVmSyncStatus", + secondaryKekCertificatePfx: { + serializedName: "secondaryKekCertificatePfx", type: { name: "String" } - }, - crashConsistentFrequencyInMinutes: { - serializedName: "crashConsistentFrequencyInMinutes", + } + } + } +}; + +export const InMageAzureV2ApplyRecoveryPointInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", + type: { + name: "Composite", + className: "InMageAzureV2ApplyRecoveryPointInput", + uberParent: "ApplyRecoveryPointProviderSpecificInput", + polymorphicDiscriminator: + ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties + } + } +}; + +export const InMageRcmApplyRecoveryPointInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmApplyRecoveryPointInput", + uberParent: "ApplyRecoveryPointProviderSpecificInput", + polymorphicDiscriminator: + ApplyRecoveryPointProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...ApplyRecoveryPointProviderSpecificInput.type.modelProperties, + recoveryPointId: { + serializedName: "recoveryPointId", + required: true, type: { - name: "Number" + name: "String" } } } } }; -export const RecoveryPlanProperties: msRest.CompositeMapper = { - serializedName: "RecoveryPlanProperties", +export const HyperVReplicaAzureFailbackProviderInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzureFailback", type: { name: "Composite", - className: "RecoveryPlanProperties", + className: "HyperVReplicaAzureFailbackProviderInput", + uberParent: "PlannedFailoverProviderSpecificFailoverInput", + polymorphicDiscriminator: + PlannedFailoverProviderSpecificFailoverInput.type + .polymorphicDiscriminator, modelProperties: { - friendlyName: { - serializedName: "friendlyName", + ...PlannedFailoverProviderSpecificFailoverInput.type.modelProperties, + dataSyncOption: { + serializedName: "dataSyncOption", type: { name: "String" } }, - primaryFabricId: { - serializedName: "primaryFabricId", + recoveryVmCreationOption: { + serializedName: "recoveryVmCreationOption", type: { name: "String" } }, - primaryFabricFriendlyName: { - serializedName: "primaryFabricFriendlyName", + providerIdForAlternateRecovery: { + serializedName: "providerIdForAlternateRecovery", type: { name: "String" } - }, - recoveryFabricId: { - serializedName: "recoveryFabricId", + } + } + } +}; + +export const HyperVReplicaAzurePlannedFailoverProviderInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", + type: { + name: "Composite", + className: "HyperVReplicaAzurePlannedFailoverProviderInput", + uberParent: "PlannedFailoverProviderSpecificFailoverInput", + polymorphicDiscriminator: + PlannedFailoverProviderSpecificFailoverInput.type + .polymorphicDiscriminator, + modelProperties: { + ...PlannedFailoverProviderSpecificFailoverInput.type.modelProperties, + primaryKekCertificatePfx: { + serializedName: "primaryKekCertificatePfx", type: { name: "String" } }, - recoveryFabricFriendlyName: { - serializedName: "recoveryFabricFriendlyName", + secondaryKekCertificatePfx: { + serializedName: "secondaryKekCertificatePfx", type: { name: "String" } }, - failoverDeploymentModel: { - serializedName: "failoverDeploymentModel", + recoveryPointId: { + serializedName: "recoveryPointId", type: { name: "String" } - }, - replicationProviders: { - serializedName: "replicationProviders", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - allowedOperations: { - serializedName: "allowedOperations", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - lastPlannedFailoverTime: { - serializedName: "lastPlannedFailoverTime", - type: { - name: "DateTime" - } - }, - lastUnplannedFailoverTime: { - serializedName: "lastUnplannedFailoverTime", - type: { - name: "DateTime" - } - }, - lastTestFailoverTime: { - serializedName: "lastTestFailoverTime", - type: { - name: "DateTime" - } - }, - currentScenario: { - serializedName: "currentScenario", - type: { - name: "Composite", - className: "CurrentScenarioDetails" - } - }, - currentScenarioStatus: { - serializedName: "currentScenarioStatus", + } + } + } +}; + +export const InMageRcmFailbackPlannedFailoverProviderInput: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", + type: { + name: "Composite", + className: "InMageRcmFailbackPlannedFailoverProviderInput", + uberParent: "PlannedFailoverProviderSpecificFailoverInput", + polymorphicDiscriminator: + PlannedFailoverProviderSpecificFailoverInput.type + .polymorphicDiscriminator, + modelProperties: { + ...PlannedFailoverProviderSpecificFailoverInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + required: true, type: { name: "String" } - }, - currentScenarioStatusDescription: { - serializedName: "currentScenarioStatusDescription", + } + } + } +}; + +export const A2ARecoveryPointDetails: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2ARecoveryPointDetails", + uberParent: "ProviderSpecificRecoveryPointDetails", + polymorphicDiscriminator: + ProviderSpecificRecoveryPointDetails.type.polymorphicDiscriminator, + modelProperties: { + ...ProviderSpecificRecoveryPointDetails.type.modelProperties, + recoveryPointSyncType: { + serializedName: "recoveryPointSyncType", type: { name: "String" } }, - groups: { - serializedName: "groups", + disks: { + serializedName: "disks", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "RecoveryPlanGroup" + name: "String" } } } @@ -8986,38 +18114,39 @@ export const RecoveryPlanProperties: msRest.CompositeMapper = { } }; -export const RecoveryPlan: msRest.CompositeMapper = { - serializedName: "RecoveryPlan", +export const InMageAzureV2RecoveryPointDetails: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "RecoveryPlan", + className: "InMageAzureV2RecoveryPointDetails", + uberParent: "ProviderSpecificRecoveryPointDetails", + polymorphicDiscriminator: + ProviderSpecificRecoveryPointDetails.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...ProviderSpecificRecoveryPointDetails.type.modelProperties, + isMultiVmSyncPoint: { + serializedName: "isMultiVmSyncPoint", type: { - name: "Composite", - className: "RecoveryPlanProperties" + name: "String" } } } } }; -export const RecoveryPlanProviderSpecificFailoverInput: msRest.CompositeMapper = { - serializedName: "RecoveryPlanProviderSpecificFailoverInput", +export const InMageRcmRecoveryPointDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - polymorphicDiscriminator: { - serializedName: "instanceType", - clientName: "instanceType" - }, - uberParent: "RecoveryPlanProviderSpecificFailoverInput", - className: "RecoveryPlanProviderSpecificFailoverInput", + className: "InMageRcmRecoveryPointDetails", + uberParent: "ProviderSpecificRecoveryPointDetails", + polymorphicDiscriminator: + ProviderSpecificRecoveryPointDetails.type.polymorphicDiscriminator, modelProperties: { - instanceType: { - required: true, - serializedName: "instanceType", + ...ProviderSpecificRecoveryPointDetails.type.modelProperties, + isMultiVmSyncPoint: { + serializedName: "isMultiVmSyncPoint", + readOnly: true, type: { name: "String" } @@ -9026,30 +18155,18 @@ export const RecoveryPlanProviderSpecificFailoverInput: msRest.CompositeMapper = } }; -export const RecoveryPlanA2AFailoverInput: msRest.CompositeMapper = { - serializedName: "A2A", +export const InMageDisableProtectionProviderSpecificInput: coreClient.CompositeMapper = { + serializedName: "InMage", type: { name: "Composite", - polymorphicDiscriminator: RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanProviderSpecificFailoverInput", - className: "RecoveryPlanA2AFailoverInput", + className: "InMageDisableProtectionProviderSpecificInput", + uberParent: "DisableProtectionProviderSpecificInput", + polymorphicDiscriminator: + DisableProtectionProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, - recoveryPointType: { - required: true, - serializedName: "recoveryPointType", - type: { - name: "String" - } - }, - cloudServiceCreationOption: { - serializedName: "cloudServiceCreationOption", - type: { - name: "String" - } - }, - multiVmSyncPointOption: { - serializedName: "multiVmSyncPointOption", + ...DisableProtectionProviderSpecificInput.type.modelProperties, + replicaVmDeletionStatus: { + serializedName: "replicaVmDeletionStatus", type: { name: "String" } @@ -9058,88 +18175,90 @@ export const RecoveryPlanA2AFailoverInput: msRest.CompositeMapper = { } }; -export const RecoveryPlanAutomationRunbookActionDetails: msRest.CompositeMapper = { - serializedName: "AutomationRunbookActionDetails", +export const A2ARemoveDisksInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - polymorphicDiscriminator: RecoveryPlanActionDetails.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanActionDetails", - className: "RecoveryPlanAutomationRunbookActionDetails", + className: "A2ARemoveDisksInput", + uberParent: "RemoveDisksProviderSpecificInput", + polymorphicDiscriminator: + RemoveDisksProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...RecoveryPlanActionDetails.type.modelProperties, - runbookId: { - serializedName: "runbookId", - type: { - name: "String" - } - }, - timeout: { - serializedName: "timeout", + ...RemoveDisksProviderSpecificInput.type.modelProperties, + vmDisksUris: { + serializedName: "vmDisksUris", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - fabricLocation: { - required: true, - serializedName: "fabricLocation", + vmManagedDisksIds: { + serializedName: "vmManagedDisksIds", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const RecoveryPlanGroupTaskDetails: msRest.CompositeMapper = { - serializedName: "RecoveryPlanGroupTaskDetails", +export const A2AReprotectInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - polymorphicDiscriminator: GroupTaskDetails.type.polymorphicDiscriminator, - uberParent: "GroupTaskDetails", - className: "RecoveryPlanGroupTaskDetails", + className: "A2AReprotectInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: + ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...GroupTaskDetails.type.modelProperties, - name: { - serializedName: "name", + ...ReverseReplicationProviderSpecificInput.type.modelProperties, + recoveryContainerId: { + serializedName: "recoveryContainerId", type: { name: "String" } }, - groupId: { - serializedName: "groupId", + vmDisks: { + serializedName: "vmDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AVmDiskInputDetails" + } + } + } + }, + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", type: { name: "String" } }, - rpGroupType: { - serializedName: "rpGroupType", + recoveryCloudServiceId: { + serializedName: "recoveryCloudServiceId", type: { name: "String" } - } - } - } -}; - -export const RecoveryPlanHyperVReplicaAzureFailbackInput: msRest.CompositeMapper = { - serializedName: "HyperVReplicaAzureFailback", - type: { - name: "Composite", - polymorphicDiscriminator: RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanProviderSpecificFailoverInput", - className: "RecoveryPlanHyperVReplicaAzureFailbackInput", - modelProperties: { - ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, - dataSyncOption: { - required: true, - serializedName: "dataSyncOption", + }, + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", type: { name: "String" } }, - recoveryVmCreationOption: { - required: true, - serializedName: "recoveryVmCreationOption", + policyId: { + serializedName: "policyId", type: { name: "String" } @@ -9148,36 +18267,48 @@ export const RecoveryPlanHyperVReplicaAzureFailbackInput: msRest.CompositeMapper } }; -export const RecoveryPlanHyperVReplicaAzureFailoverInput: msRest.CompositeMapper = { +export const HyperVReplicaAzureReprotectInput: coreClient.CompositeMapper = { serializedName: "HyperVReplicaAzure", type: { name: "Composite", - polymorphicDiscriminator: RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanProviderSpecificFailoverInput", - className: "RecoveryPlanHyperVReplicaAzureFailoverInput", + className: "HyperVReplicaAzureReprotectInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: + ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, - vaultLocation: { - required: true, - serializedName: "vaultLocation", + ...ReverseReplicationProviderSpecificInput.type.modelProperties, + hvHostVmId: { + serializedName: "hvHostVmId", type: { name: "String" } }, - primaryKekCertificatePfx: { - serializedName: "primaryKekCertificatePfx", + vmName: { + serializedName: "vmName", type: { name: "String" } }, - secondaryKekCertificatePfx: { - serializedName: "secondaryKekCertificatePfx", + osType: { + serializedName: "osType", type: { name: "String" } }, - recoveryPointType: { - serializedName: "recoveryPointType", + vHDId: { + serializedName: "vHDId", + type: { + name: "String" + } + }, + storageAccountId: { + serializedName: "storageAccountId", + type: { + name: "String" + } + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", type: { name: "String" } @@ -9186,99 +18317,59 @@ export const RecoveryPlanHyperVReplicaAzureFailoverInput: msRest.CompositeMapper } }; -export const RecoveryPlanInMageAzureV2FailoverInput: msRest.CompositeMapper = { +export const InMageAzureV2ReprotectInput: coreClient.CompositeMapper = { serializedName: "InMageAzureV2", type: { name: "Composite", - polymorphicDiscriminator: RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanProviderSpecificFailoverInput", - className: "RecoveryPlanInMageAzureV2FailoverInput", + className: "InMageAzureV2ReprotectInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: + ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, - vaultLocation: { - required: true, - serializedName: "vaultLocation", + ...ReverseReplicationProviderSpecificInput.type.modelProperties, + masterTargetId: { + serializedName: "masterTargetId", type: { name: "String" } }, - recoveryPointType: { - required: true, - serializedName: "recoveryPointType", + processServerId: { + serializedName: "processServerId", type: { name: "String" } }, - useMultiVmSyncPoint: { - serializedName: "useMultiVmSyncPoint", + storageAccountId: { + serializedName: "storageAccountId", type: { name: "String" } - } - } - } -}; - -export const RecoveryPlanInMageFailoverInput: msRest.CompositeMapper = { - serializedName: "InMage", - type: { - name: "Composite", - polymorphicDiscriminator: RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanProviderSpecificFailoverInput", - className: "RecoveryPlanInMageFailoverInput", - modelProperties: { - ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, - recoveryPointType: { - required: true, - serializedName: "recoveryPointType", + }, + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } - } - } - } -}; - -export const RecoveryPlanManualActionDetails: msRest.CompositeMapper = { - serializedName: "ManualActionDetails", - type: { - name: "Composite", - polymorphicDiscriminator: RecoveryPlanActionDetails.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanActionDetails", - className: "RecoveryPlanManualActionDetails", - modelProperties: { - ...RecoveryPlanActionDetails.type.modelProperties, - description: { - serializedName: "description", + }, + policyId: { + serializedName: "policyId", type: { name: "String" } - } - } - } -}; - -export const RecoveryPlanPlannedFailoverInputProperties: msRest.CompositeMapper = { - serializedName: "RecoveryPlanPlannedFailoverInputProperties", - type: { - name: "Composite", - className: "RecoveryPlanPlannedFailoverInputProperties", - modelProperties: { - failoverDirection: { - required: true, - serializedName: "failoverDirection", + }, + logStorageAccountId: { + serializedName: "logStorageAccountId", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + disksToInclude: { + serializedName: "disksToInclude", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "RecoveryPlanProviderSpecificFailoverInput" + name: "String" } } } @@ -9287,49 +18378,32 @@ export const RecoveryPlanPlannedFailoverInputProperties: msRest.CompositeMapper } }; -export const RecoveryPlanPlannedFailoverInput: msRest.CompositeMapper = { - serializedName: "RecoveryPlanPlannedFailoverInput", - type: { - name: "Composite", - className: "RecoveryPlanPlannedFailoverInput", - modelProperties: { - properties: { - required: true, - serializedName: "properties", - type: { - name: "Composite", - className: "RecoveryPlanPlannedFailoverInputProperties" - } - } - } - } -}; - -export const RecoveryPlanScriptActionDetails: msRest.CompositeMapper = { - serializedName: "ScriptActionDetails", +export const InMageRcmFailbackReprotectInput: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", type: { name: "Composite", - polymorphicDiscriminator: RecoveryPlanActionDetails.type.polymorphicDiscriminator, - uberParent: "RecoveryPlanActionDetails", - className: "RecoveryPlanScriptActionDetails", + className: "InMageRcmFailbackReprotectInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: + ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...RecoveryPlanActionDetails.type.modelProperties, - path: { + ...ReverseReplicationProviderSpecificInput.type.modelProperties, + processServerId: { + serializedName: "processServerId", required: true, - serializedName: "path", type: { name: "String" } }, - timeout: { - serializedName: "timeout", + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } }, - fabricLocation: { + policyId: { + serializedName: "policyId", required: true, - serializedName: "fabricLocation", type: { name: "String" } @@ -9338,45 +18412,39 @@ export const RecoveryPlanScriptActionDetails: msRest.CompositeMapper = { } }; -export const RecoveryPlanShutdownGroupTaskDetails: msRest.CompositeMapper = { - serializedName: "RecoveryPlanShutdownGroupTaskDetails", +export const InMageRcmReprotectInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - polymorphicDiscriminator: GroupTaskDetails.type.polymorphicDiscriminator, - uberParent: "GroupTaskDetails", - className: "RecoveryPlanShutdownGroupTaskDetails", + className: "InMageRcmReprotectInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: + ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...GroupTaskDetails.type.modelProperties, - name: { - serializedName: "name", + ...ReverseReplicationProviderSpecificInput.type.modelProperties, + reprotectAgentId: { + serializedName: "reprotectAgentId", + required: true, type: { name: "String" } }, - groupId: { - serializedName: "groupId", + datastoreName: { + serializedName: "datastoreName", + required: true, type: { name: "String" } }, - rpGroupType: { - serializedName: "rpGroupType", + logStorageAccountId: { + serializedName: "logStorageAccountId", + required: true, type: { name: "String" } - } - } - } -}; - -export const RecoveryPlanTestFailoverCleanupInputProperties: msRest.CompositeMapper = { - serializedName: "RecoveryPlanTestFailoverCleanupInputProperties", - type: { - name: "Composite", - className: "RecoveryPlanTestFailoverCleanupInputProperties", - modelProperties: { - comments: { - serializedName: "comments", + }, + policyId: { + serializedName: "policyId", type: { name: "String" } @@ -9385,330 +18453,366 @@ export const RecoveryPlanTestFailoverCleanupInputProperties: msRest.CompositeMap } }; -export const RecoveryPlanTestFailoverCleanupInput: msRest.CompositeMapper = { - serializedName: "RecoveryPlanTestFailoverCleanupInput", +export const InMageReprotectInput: coreClient.CompositeMapper = { + serializedName: "InMage", type: { name: "Composite", - className: "RecoveryPlanTestFailoverCleanupInput", + className: "InMageReprotectInput", + uberParent: "ReverseReplicationProviderSpecificInput", + polymorphicDiscriminator: + ReverseReplicationProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - properties: { + ...ReverseReplicationProviderSpecificInput.type.modelProperties, + masterTargetId: { + serializedName: "masterTargetId", required: true, - serializedName: "properties", type: { - name: "Composite", - className: "RecoveryPlanTestFailoverCleanupInputProperties" + name: "String" } - } - } - } -}; - -export const RecoveryPlanTestFailoverInputProperties: msRest.CompositeMapper = { - serializedName: "RecoveryPlanTestFailoverInputProperties", - type: { - name: "Composite", - className: "RecoveryPlanTestFailoverInputProperties", - modelProperties: { - failoverDirection: { + }, + processServerId: { + serializedName: "processServerId", required: true, - serializedName: "failoverDirection", type: { name: "String" } }, - networkType: { + retentionDrive: { + serializedName: "retentionDrive", required: true, - serializedName: "networkType", type: { name: "String" } }, - networkId: { - serializedName: "networkId", + runAsAccountId: { + serializedName: "runAsAccountId", type: { name: "String" } }, - skipTestFailoverCleanup: { - serializedName: "skipTestFailoverCleanup", + datastoreName: { + serializedName: "datastoreName", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + diskExclusionInput: { + serializedName: "diskExclusionInput", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanProviderSpecificFailoverInput" - } - } + name: "Composite", + className: "InMageDiskExclusionInput" } - } - } - } -}; - -export const RecoveryPlanTestFailoverInput: msRest.CompositeMapper = { - serializedName: "RecoveryPlanTestFailoverInput", - type: { - name: "Composite", - className: "RecoveryPlanTestFailoverInput", - modelProperties: { - properties: { + }, + profileId: { + serializedName: "profileId", required: true, - serializedName: "properties", type: { - name: "Composite", - className: "RecoveryPlanTestFailoverInputProperties" + name: "String" + } + }, + disksToInclude: { + serializedName: "disksToInclude", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const RecoveryPlanUnplannedFailoverInputProperties: msRest.CompositeMapper = { - serializedName: "RecoveryPlanUnplannedFailoverInputProperties", +export const InMageAzureV2SwitchProviderInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "RecoveryPlanUnplannedFailoverInputProperties", + className: "InMageAzureV2SwitchProviderInput", + uberParent: "SwitchProviderSpecificInput", + polymorphicDiscriminator: + SwitchProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - failoverDirection: { + ...SwitchProviderSpecificInput.type.modelProperties, + targetVaultID: { + serializedName: "targetVaultID", required: true, - serializedName: "failoverDirection", type: { name: "String" } }, - sourceSiteOperations: { + targetFabricID: { + serializedName: "targetFabricID", required: true, - serializedName: "sourceSiteOperations", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + targetApplianceID: { + serializedName: "targetApplianceID", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanProviderSpecificFailoverInput" - } - } + name: "String" } } } } }; -export const RecoveryPlanUnplannedFailoverInput: msRest.CompositeMapper = { - serializedName: "RecoveryPlanUnplannedFailoverInput", +export const A2ATestFailoverInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - className: "RecoveryPlanUnplannedFailoverInput", + className: "A2ATestFailoverInput", + uberParent: "TestFailoverProviderSpecificInput", + polymorphicDiscriminator: + TestFailoverProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - properties: { - required: true, - serializedName: "properties", + ...TestFailoverProviderSpecificInput.type.modelProperties, + recoveryPointId: { + serializedName: "recoveryPointId", type: { - name: "Composite", - className: "RecoveryPlanUnplannedFailoverInputProperties" + name: "String" + } + }, + cloudServiceCreationOption: { + serializedName: "cloudServiceCreationOption", + type: { + name: "String" } } } } }; -export const RecoveryPointProperties: msRest.CompositeMapper = { - serializedName: "RecoveryPointProperties", +export const HyperVReplicaAzureTestFailoverInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", type: { name: "Composite", - className: "RecoveryPointProperties", + className: "HyperVReplicaAzureTestFailoverInput", + uberParent: "TestFailoverProviderSpecificInput", + polymorphicDiscriminator: + TestFailoverProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - recoveryPointTime: { - serializedName: "recoveryPointTime", + ...TestFailoverProviderSpecificInput.type.modelProperties, + primaryKekCertificatePfx: { + serializedName: "primaryKekCertificatePfx", type: { - name: "DateTime" + name: "String" } }, - recoveryPointType: { - serializedName: "recoveryPointType", + secondaryKekCertificatePfx: { + serializedName: "secondaryKekCertificatePfx", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + recoveryPointId: { + serializedName: "recoveryPointId", type: { - name: "Composite", - className: "ProviderSpecificRecoveryPointDetails" + name: "String" } } } } }; -export const RecoveryPoint: msRest.CompositeMapper = { - serializedName: "RecoveryPoint", +export const InMageAzureV2TestFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "RecoveryPoint", + className: "InMageAzureV2TestFailoverInput", + uberParent: "TestFailoverProviderSpecificInput", + polymorphicDiscriminator: + TestFailoverProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...TestFailoverProviderSpecificInput.type.modelProperties, + recoveryPointId: { + serializedName: "recoveryPointId", type: { - name: "Composite", - className: "RecoveryPointProperties" + name: "String" } } } } }; -export const RecoveryServicesProviderProperties: msRest.CompositeMapper = { - serializedName: "RecoveryServicesProviderProperties", +export const InMageRcmTestFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "RecoveryServicesProviderProperties", + className: "InMageRcmTestFailoverInput", + uberParent: "TestFailoverProviderSpecificInput", + polymorphicDiscriminator: + TestFailoverProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - fabricType: { - serializedName: "fabricType", + ...TestFailoverProviderSpecificInput.type.modelProperties, + networkId: { + serializedName: "networkId", type: { name: "String" } }, - friendlyName: { - serializedName: "friendlyName", + recoveryPointId: { + serializedName: "recoveryPointId", type: { name: "String" } - }, - providerVersion: { - serializedName: "providerVersion", + } + } + } +}; + +export const InMageTestFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMage", + type: { + name: "Composite", + className: "InMageTestFailoverInput", + uberParent: "TestFailoverProviderSpecificInput", + polymorphicDiscriminator: + TestFailoverProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...TestFailoverProviderSpecificInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", type: { name: "String" } }, - serverVersion: { - serializedName: "serverVersion", + recoveryPointId: { + serializedName: "recoveryPointId", type: { name: "String" } - }, - providerVersionState: { - serializedName: "providerVersionState", + } + } + } +}; + +export const A2AUnplannedFailoverInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2AUnplannedFailoverInput", + uberParent: "UnplannedFailoverProviderSpecificInput", + polymorphicDiscriminator: + UnplannedFailoverProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...UnplannedFailoverProviderSpecificInput.type.modelProperties, + recoveryPointId: { + serializedName: "recoveryPointId", type: { name: "String" } }, - providerVersionExpiryDate: { - serializedName: "providerVersionExpiryDate", - type: { - name: "DateTime" - } - }, - fabricFriendlyName: { - serializedName: "fabricFriendlyName", + cloudServiceCreationOption: { + serializedName: "cloudServiceCreationOption", type: { name: "String" } - }, - lastHeartBeat: { - serializedName: "lastHeartBeat", - type: { - name: "DateTime" - } - }, - connectionStatus: { - serializedName: "connectionStatus", + } + } + } +}; + +export const HyperVReplicaAzureUnplannedFailoverInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", + type: { + name: "Composite", + className: "HyperVReplicaAzureUnplannedFailoverInput", + uberParent: "UnplannedFailoverProviderSpecificInput", + polymorphicDiscriminator: + UnplannedFailoverProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...UnplannedFailoverProviderSpecificInput.type.modelProperties, + primaryKekCertificatePfx: { + serializedName: "primaryKekCertificatePfx", type: { name: "String" } }, - protectedItemCount: { - serializedName: "protectedItemCount", - type: { - name: "Number" - } - }, - allowedScenarios: { - serializedName: "allowedScenarios", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - healthErrorDetails: { - serializedName: "healthErrorDetails", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } - } - }, - draIdentifier: { - serializedName: "draIdentifier", + secondaryKekCertificatePfx: { + serializedName: "secondaryKekCertificatePfx", type: { name: "String" } }, - identityDetails: { - serializedName: "identityDetails", + recoveryPointId: { + serializedName: "recoveryPointId", type: { - name: "Composite", - className: "IdentityInformation" + name: "String" } - }, - providerVersionDetails: { - serializedName: "providerVersionDetails", + } + } + } +}; + +export const InMageAzureV2UnplannedFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", + type: { + name: "Composite", + className: "InMageAzureV2UnplannedFailoverInput", + uberParent: "UnplannedFailoverProviderSpecificInput", + polymorphicDiscriminator: + UnplannedFailoverProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...UnplannedFailoverProviderSpecificInput.type.modelProperties, + recoveryPointId: { + serializedName: "recoveryPointId", type: { - name: "Composite", - className: "VersionDetails" + name: "String" } } } } }; -export const RecoveryServicesProvider: msRest.CompositeMapper = { - serializedName: "RecoveryServicesProvider", +export const InMageRcmUnplannedFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "RecoveryServicesProvider", + className: "InMageRcmUnplannedFailoverInput", + uberParent: "UnplannedFailoverProviderSpecificInput", + polymorphicDiscriminator: + UnplannedFailoverProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...UnplannedFailoverProviderSpecificInput.type.modelProperties, + performShutdown: { + serializedName: "performShutdown", + required: true, type: { - name: "Composite", - className: "RecoveryServicesProviderProperties" + name: "String" + } + }, + recoveryPointId: { + serializedName: "recoveryPointId", + type: { + name: "String" } } } } }; -export const ReplicationProviderContainerUnmappingInput: msRest.CompositeMapper = { - serializedName: "ReplicationProviderContainerUnmappingInput", +export const InMageUnplannedFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMage", type: { name: "Composite", - className: "ReplicationProviderContainerUnmappingInput", + className: "InMageUnplannedFailoverInput", + uberParent: "UnplannedFailoverProviderSpecificInput", + polymorphicDiscriminator: + UnplannedFailoverProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - instanceType: { - serializedName: "instanceType", + ...UnplannedFailoverProviderSpecificInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + type: { + name: "String" + } + }, + recoveryPointId: { + serializedName: "recoveryPointId", type: { name: "String" } @@ -9717,48 +18821,88 @@ export const ReplicationProviderContainerUnmappingInput: msRest.CompositeMapper } }; -export const RemoveProtectionContainerMappingInputProperties: msRest.CompositeMapper = { - serializedName: "RemoveProtectionContainerMappingInputProperties", +export const InMageRcmUpdateApplianceForReplicationProtectedItemInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "RemoveProtectionContainerMappingInputProperties", + className: "InMageRcmUpdateApplianceForReplicationProtectedItemInput", + uberParent: + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput", + polymorphicDiscriminator: + UpdateApplianceForReplicationProtectedItemProviderSpecificInput.type + .polymorphicDiscriminator, modelProperties: { - providerSpecificInput: { - serializedName: "providerSpecificInput", + ...UpdateApplianceForReplicationProtectedItemProviderSpecificInput.type + .modelProperties, + runAsAccountId: { + serializedName: "runAsAccountId", type: { - name: "Composite", - className: "ReplicationProviderContainerUnmappingInput" + name: "String" } } } } }; -export const RemoveProtectionContainerMappingInput: msRest.CompositeMapper = { - serializedName: "RemoveProtectionContainerMappingInput", +export const A2AProtectionContainerMappingDetails: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - className: "RemoveProtectionContainerMappingInput", + className: "A2AProtectionContainerMappingDetails", + uberParent: "ProtectionContainerMappingProviderSpecificDetails", + polymorphicDiscriminator: + ProtectionContainerMappingProviderSpecificDetails.type + .polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", + ...ProtectionContainerMappingProviderSpecificDetails.type.modelProperties, + agentAutoUpdateStatus: { + serializedName: "agentAutoUpdateStatus", type: { - name: "Composite", - className: "RemoveProtectionContainerMappingInputProperties" + name: "String" + } + }, + automationAccountArmId: { + serializedName: "automationAccountArmId", + type: { + name: "String" + } + }, + automationAccountAuthenticationType: { + serializedName: "automationAccountAuthenticationType", + type: { + name: "String" + } + }, + scheduleName: { + serializedName: "scheduleName", + type: { + name: "String" + } + }, + jobScheduleName: { + serializedName: "jobScheduleName", + type: { + name: "String" } } } } }; -export const RenewCertificateInputProperties: msRest.CompositeMapper = { - serializedName: "RenewCertificateInputProperties", +export const InMageRcmProtectionContainerMappingDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "RenewCertificateInputProperties", + className: "InMageRcmProtectionContainerMappingDetails", + uberParent: "ProtectionContainerMappingProviderSpecificDetails", + polymorphicDiscriminator: + ProtectionContainerMappingProviderSpecificDetails.type + .polymorphicDiscriminator, modelProperties: { - renewCertificateType: { - serializedName: "renewCertificateType", + ...ProtectionContainerMappingProviderSpecificDetails.type.modelProperties, + enableAgentAutoUpgrade: { + serializedName: "enableAgentAutoUpgrade", + readOnly: true, type: { name: "String" } @@ -9767,259 +18911,395 @@ export const RenewCertificateInputProperties: msRest.CompositeMapper = { } }; -export const RenewCertificateInput: msRest.CompositeMapper = { - serializedName: "RenewCertificateInput", +export const VMwareCbtProtectionContainerMappingDetails: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", type: { name: "Composite", - className: "RenewCertificateInput", + className: "VMwareCbtProtectionContainerMappingDetails", + uberParent: "ProtectionContainerMappingProviderSpecificDetails", + polymorphicDiscriminator: + ProtectionContainerMappingProviderSpecificDetails.type + .polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", + ...ProtectionContainerMappingProviderSpecificDetails.type.modelProperties, + keyVaultId: { + serializedName: "keyVaultId", + readOnly: true, type: { - name: "Composite", - className: "RenewCertificateInputProperties" + name: "String" + } + }, + keyVaultUri: { + serializedName: "keyVaultUri", + readOnly: true, + type: { + name: "String" + } + }, + storageAccountId: { + serializedName: "storageAccountId", + readOnly: true, + type: { + name: "String" + } + }, + storageAccountSasSecretName: { + serializedName: "storageAccountSasSecretName", + readOnly: true, + type: { + name: "String" + } + }, + serviceBusConnectionStringSecretName: { + serializedName: "serviceBusConnectionStringSecretName", + readOnly: true, + type: { + name: "String" + } + }, + targetLocation: { + serializedName: "targetLocation", + readOnly: true, + type: { + name: "String" } } } } }; -export const ReplicationGroupDetails: msRest.CompositeMapper = { - serializedName: "ReplicationGroupDetails", +export const A2AContainerMappingInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - polymorphicDiscriminator: ConfigurationSettings.type.polymorphicDiscriminator, - uberParent: "ConfigurationSettings", - className: "ReplicationGroupDetails", + className: "A2AContainerMappingInput", + uberParent: "ReplicationProviderSpecificContainerMappingInput", + polymorphicDiscriminator: + ReplicationProviderSpecificContainerMappingInput.type + .polymorphicDiscriminator, modelProperties: { - ...ConfigurationSettings.type.modelProperties + ...ReplicationProviderSpecificContainerMappingInput.type.modelProperties, + agentAutoUpdateStatus: { + serializedName: "agentAutoUpdateStatus", + type: { + name: "String" + } + }, + automationAccountArmId: { + serializedName: "automationAccountArmId", + type: { + name: "String" + } + }, + automationAccountAuthenticationType: { + serializedName: "automationAccountAuthenticationType", + type: { + name: "String" + } + } } } }; -export const ReplicationProtectedItemProperties: msRest.CompositeMapper = { - serializedName: "ReplicationProtectedItemProperties", +export const VMwareCbtContainerMappingInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", type: { name: "Composite", - className: "ReplicationProtectedItemProperties", + className: "VMwareCbtContainerMappingInput", + uberParent: "ReplicationProviderSpecificContainerMappingInput", + polymorphicDiscriminator: + ReplicationProviderSpecificContainerMappingInput.type + .polymorphicDiscriminator, modelProperties: { - friendlyName: { - serializedName: "friendlyName", + ...ReplicationProviderSpecificContainerMappingInput.type.modelProperties, + keyVaultId: { + serializedName: "keyVaultId", type: { name: "String" } }, - protectedItemType: { - serializedName: "protectedItemType", + keyVaultUri: { + serializedName: "keyVaultUri", type: { name: "String" } }, - protectableItemId: { - serializedName: "protectableItemId", + storageAccountId: { + serializedName: "storageAccountId", + required: true, type: { name: "String" } }, - recoveryServicesProviderId: { - serializedName: "recoveryServicesProviderId", + storageAccountSasSecretName: { + serializedName: "storageAccountSasSecretName", type: { name: "String" } }, - primaryFabricFriendlyName: { - serializedName: "primaryFabricFriendlyName", + serviceBusConnectionStringSecretName: { + serializedName: "serviceBusConnectionStringSecretName", type: { name: "String" } }, - primaryFabricProvider: { - serializedName: "primaryFabricProvider", + targetLocation: { + serializedName: "targetLocation", + required: true, type: { name: "String" } - }, - recoveryFabricFriendlyName: { - serializedName: "recoveryFabricFriendlyName", + } + } + } +}; + +export const A2AUpdateContainerMappingInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2AUpdateContainerMappingInput", + uberParent: "ReplicationProviderSpecificUpdateContainerMappingInput", + polymorphicDiscriminator: + ReplicationProviderSpecificUpdateContainerMappingInput.type + .polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificUpdateContainerMappingInput.type + .modelProperties, + agentAutoUpdateStatus: { + serializedName: "agentAutoUpdateStatus", type: { name: "String" } }, - recoveryFabricId: { - serializedName: "recoveryFabricId", + automationAccountArmId: { + serializedName: "automationAccountArmId", type: { name: "String" } }, - primaryProtectionContainerFriendlyName: { - serializedName: "primaryProtectionContainerFriendlyName", + automationAccountAuthenticationType: { + serializedName: "automationAccountAuthenticationType", type: { name: "String" } - }, - recoveryProtectionContainerFriendlyName: { - serializedName: "recoveryProtectionContainerFriendlyName", + } + } + } +}; + +export const InMageRcmUpdateContainerMappingInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", + type: { + name: "Composite", + className: "InMageRcmUpdateContainerMappingInput", + uberParent: "ReplicationProviderSpecificUpdateContainerMappingInput", + polymorphicDiscriminator: + ReplicationProviderSpecificUpdateContainerMappingInput.type + .polymorphicDiscriminator, + modelProperties: { + ...ReplicationProviderSpecificUpdateContainerMappingInput.type + .modelProperties, + enableAgentAutoUpgrade: { + serializedName: "enableAgentAutoUpgrade", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const A2ASwitchProtectionInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2ASwitchProtectionInput", + uberParent: "SwitchProtectionProviderSpecificInput", + polymorphicDiscriminator: + SwitchProtectionProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...SwitchProtectionProviderSpecificInput.type.modelProperties, + recoveryContainerId: { + serializedName: "recoveryContainerId", type: { name: "String" } }, - protectionState: { - serializedName: "protectionState", + vmDisks: { + serializedName: "vmDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AVmDiskInputDetails" + } + } + } + }, + vmManagedDisks: { + serializedName: "vmManagedDisks", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AVmManagedDiskInputDetails" + } + } + } + }, + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", type: { name: "String" } }, - protectionStateDescription: { - serializedName: "protectionStateDescription", + recoveryCloudServiceId: { + serializedName: "recoveryCloudServiceId", type: { name: "String" } }, - activeLocation: { - serializedName: "activeLocation", + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", type: { name: "String" } }, - testFailoverState: { - serializedName: "testFailoverState", + policyId: { + serializedName: "policyId", type: { name: "String" } }, - testFailoverStateDescription: { - serializedName: "testFailoverStateDescription", + recoveryBootDiagStorageAccountId: { + serializedName: "recoveryBootDiagStorageAccountId", type: { name: "String" } }, - allowedOperations: { - serializedName: "allowedOperations", + recoveryAvailabilityZone: { + serializedName: "recoveryAvailabilityZone", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - replicationHealth: { - serializedName: "replicationHealth", + recoveryProximityPlacementGroupId: { + serializedName: "recoveryProximityPlacementGroupId", type: { name: "String" } }, - failoverHealth: { - serializedName: "failoverHealth", + recoveryVirtualMachineScaleSetId: { + serializedName: "recoveryVirtualMachineScaleSetId", type: { name: "String" } }, - healthErrors: { - serializedName: "healthErrors", + recoveryCapacityReservationGroupId: { + serializedName: "recoveryCapacityReservationGroupId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "String" } }, - policyId: { - serializedName: "policyId", + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", + type: { + name: "Composite", + className: "DiskEncryptionInfo" + } + } + } + } +}; + +export const AutomationRunbookTaskDetails: coreClient.CompositeMapper = { + serializedName: "AutomationRunbookTaskDetails", + type: { + name: "Composite", + className: "AutomationRunbookTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, + modelProperties: { + ...TaskTypeDetails.type.modelProperties, + name: { + serializedName: "name", type: { name: "String" } }, - policyFriendlyName: { - serializedName: "policyFriendlyName", + cloudServiceName: { + serializedName: "cloudServiceName", type: { name: "String" } }, - lastSuccessfulFailoverTime: { - serializedName: "lastSuccessfulFailoverTime", + subscriptionId: { + serializedName: "subscriptionId", type: { - name: "DateTime" + name: "String" } }, - lastSuccessfulTestFailoverTime: { - serializedName: "lastSuccessfulTestFailoverTime", + accountName: { + serializedName: "accountName", type: { - name: "DateTime" + name: "String" } }, - currentScenario: { - serializedName: "currentScenario", + runbookId: { + serializedName: "runbookId", type: { - name: "Composite", - className: "CurrentScenarioDetails" + name: "String" } }, - failoverRecoveryPointId: { - serializedName: "failoverRecoveryPointId", + runbookName: { + serializedName: "runbookName", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + jobId: { + serializedName: "jobId", type: { - name: "Composite", - className: "ReplicationProviderSpecificSettings" + name: "String" } }, - recoveryContainerId: { - serializedName: "recoveryContainerId", + jobOutput: { + serializedName: "jobOutput", type: { name: "String" } - } - } - } -}; - -export const ReplicationProtectedItem: msRest.CompositeMapper = { - serializedName: "ReplicationProtectedItem", - type: { - name: "Composite", - className: "ReplicationProtectedItem", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + }, + isPrimarySideScript: { + serializedName: "isPrimarySideScript", type: { - name: "Composite", - className: "ReplicationProtectedItemProperties" + name: "Boolean" } } } } }; -export const ResourceHealthSummary: msRest.CompositeMapper = { - serializedName: "ResourceHealthSummary", +export const ConsistencyCheckTaskDetails: coreClient.CompositeMapper = { + serializedName: "ConsistencyCheckTaskDetails", type: { name: "Composite", - className: "ResourceHealthSummary", + className: "ConsistencyCheckTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, modelProperties: { - resourceCount: { - serializedName: "resourceCount", - type: { - name: "Number" - } - }, - issues: { - serializedName: "issues", + ...TaskTypeDetails.type.modelProperties, + vmDetails: { + serializedName: "vmDetails", type: { name: "Sequence", element: { type: { name: "Composite", - className: "HealthErrorSummary" + className: "InconsistentVmDetails" } } } @@ -10028,93 +19308,52 @@ export const ResourceHealthSummary: msRest.CompositeMapper = { } }; -export const ResumeJobParamsProperties: msRest.CompositeMapper = { - serializedName: "ResumeJobParamsProperties", - type: { - name: "Composite", - className: "ResumeJobParamsProperties", - modelProperties: { - comments: { - serializedName: "comments", - type: { - name: "String" - } - } - } - } -}; - -export const ResumeJobParams: msRest.CompositeMapper = { - serializedName: "ResumeJobParams", +export const JobTaskDetails: coreClient.CompositeMapper = { + serializedName: "JobTaskDetails", type: { name: "Composite", - className: "ResumeJobParams", + className: "JobTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - properties: { - serializedName: "properties", + ...TaskTypeDetails.type.modelProperties, + jobTask: { + serializedName: "jobTask", type: { name: "Composite", - className: "ResumeJobParamsProperties" + className: "JobEntity" } } } } }; -export const ReverseReplicationInputProperties: msRest.CompositeMapper = { - serializedName: "ReverseReplicationInputProperties", +export const ManualActionTaskDetails: coreClient.CompositeMapper = { + serializedName: "ManualActionTaskDetails", type: { name: "Composite", - className: "ReverseReplicationInputProperties", + className: "ManualActionTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, modelProperties: { - failoverDirection: { - serializedName: "failoverDirection", + ...TaskTypeDetails.type.modelProperties, + name: { + serializedName: "name", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", - type: { - name: "Composite", - className: "ReverseReplicationProviderSpecificInput" - } - } - } - } -}; - -export const ReverseReplicationInput: msRest.CompositeMapper = { - serializedName: "ReverseReplicationInput", - type: { - name: "Composite", - className: "ReverseReplicationInput", - modelProperties: { - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "ReverseReplicationInputProperties" - } - } - } - } -}; - -export const RunAsAccount: msRest.CompositeMapper = { - serializedName: "RunAsAccount", - type: { - name: "Composite", - className: "RunAsAccount", - modelProperties: { - accountId: { - serializedName: "accountId", + instructions: { + serializedName: "instructions", type: { name: "String" } }, - accountName: { - serializedName: "accountName", + observation: { + serializedName: "observation", type: { name: "String" } @@ -10123,26 +19362,13 @@ export const RunAsAccount: msRest.CompositeMapper = { } }; -export const SanEnableProtectionInput: msRest.CompositeMapper = { - serializedName: "San", - type: { - name: "Composite", - polymorphicDiscriminator: EnableProtectionProviderSpecificInput.type.polymorphicDiscriminator, - uberParent: "EnableProtectionProviderSpecificInput", - className: "SanEnableProtectionInput", - modelProperties: { - ...EnableProtectionProviderSpecificInput.type.modelProperties - } - } -}; - -export const ScriptActionTaskDetails: msRest.CompositeMapper = { +export const ScriptActionTaskDetails: coreClient.CompositeMapper = { serializedName: "ScriptActionTaskDetails", type: { name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", className: "ScriptActionTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, modelProperties: { ...TaskTypeDetails.type.modelProperties, name: { @@ -10173,48 +19399,29 @@ export const ScriptActionTaskDetails: msRest.CompositeMapper = { } }; -export const StorageClassificationProperties: msRest.CompositeMapper = { - serializedName: "StorageClassificationProperties", +export const VmNicUpdatesTaskDetails: coreClient.CompositeMapper = { + serializedName: "VmNicUpdatesTaskDetails", type: { name: "Composite", - className: "StorageClassificationProperties", + className: "VmNicUpdatesTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, modelProperties: { - friendlyName: { - serializedName: "friendlyName", + ...TaskTypeDetails.type.modelProperties, + vmId: { + serializedName: "vmId", type: { name: "String" } - } - } - } -}; - -export const StorageClassification: msRest.CompositeMapper = { - serializedName: "StorageClassification", - type: { - name: "Composite", - className: "StorageClassification", - modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + }, + nicId: { + serializedName: "nicId", type: { - name: "Composite", - className: "StorageClassificationProperties" + name: "String" } - } - } - } -}; - -export const StorageClassificationMappingProperties: msRest.CompositeMapper = { - serializedName: "StorageClassificationMappingProperties", - type: { - name: "Composite", - className: "StorageClassificationMappingProperties", - modelProperties: { - targetStorageClassificationId: { - serializedName: "targetStorageClassificationId", + }, + name: { + serializedName: "name", type: { name: "String" } @@ -10223,32 +19430,56 @@ export const StorageClassificationMappingProperties: msRest.CompositeMapper = { } }; -export const StorageClassificationMapping: msRest.CompositeMapper = { - serializedName: "StorageClassificationMapping", +export const InlineWorkflowTaskDetails: coreClient.CompositeMapper = { + serializedName: "InlineWorkflowTaskDetails", type: { name: "Composite", - className: "StorageClassificationMapping", + className: "InlineWorkflowTaskDetails", + uberParent: "GroupTaskDetails", + polymorphicDiscriminator: GroupTaskDetails.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...GroupTaskDetails.type.modelProperties, + workflowIds: { + serializedName: "workflowIds", type: { - name: "Composite", - className: "StorageClassificationMappingProperties" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const StorageMappingInputProperties: msRest.CompositeMapper = { - serializedName: "StorageMappingInputProperties", +export const RecoveryPlanGroupTaskDetails: coreClient.CompositeMapper = { + serializedName: "RecoveryPlanGroupTaskDetails", type: { name: "Composite", - className: "StorageMappingInputProperties", + className: "RecoveryPlanGroupTaskDetails", + uberParent: "GroupTaskDetails", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - targetStorageClassificationId: { - serializedName: "targetStorageClassificationId", + ...GroupTaskDetails.type.modelProperties, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + groupId: { + serializedName: "groupId", + type: { + name: "String" + } + }, + rpGroupType: { + serializedName: "rpGroupType", type: { name: "String" } @@ -10257,70 +19488,76 @@ export const StorageMappingInputProperties: msRest.CompositeMapper = { } }; -export const StorageClassificationMappingInput: msRest.CompositeMapper = { - serializedName: "StorageClassificationMappingInput", +export const AsrJobDetails: coreClient.CompositeMapper = { + serializedName: "AsrJobDetails", type: { name: "Composite", - className: "StorageClassificationMappingInput", + className: "AsrJobDetails", + uberParent: "JobDetails", + polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", - type: { - name: "Composite", - className: "StorageMappingInputProperties" - } - } + ...JobDetails.type.modelProperties } } }; -export const SwitchProtectionInputProperties: msRest.CompositeMapper = { - serializedName: "SwitchProtectionInputProperties", +export const ExportJobDetails: coreClient.CompositeMapper = { + serializedName: "ExportJobDetails", type: { name: "Composite", - className: "SwitchProtectionInputProperties", + className: "ExportJobDetails", + uberParent: "JobDetails", + polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, modelProperties: { - replicationProtectedItemName: { - serializedName: "replicationProtectedItemName", + ...JobDetails.type.modelProperties, + blobUri: { + serializedName: "blobUri", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + sasToken: { + serializedName: "sasToken", type: { - name: "Composite", - className: "SwitchProtectionProviderSpecificInput" + name: "String" } } } } }; -export const SwitchProtectionInput: msRest.CompositeMapper = { - serializedName: "SwitchProtectionInput", +export const FailoverJobDetails: coreClient.CompositeMapper = { + serializedName: "FailoverJobDetails", type: { name: "Composite", - className: "SwitchProtectionInput", + className: "FailoverJobDetails", + uberParent: "JobDetails", + polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", + ...JobDetails.type.modelProperties, + protectedItemDetails: { + serializedName: "protectedItemDetails", type: { - name: "Composite", - className: "SwitchProtectionInputProperties" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FailoverReplicationProtectedItemDetails" + } + } } } } } }; -export const SwitchProtectionJobDetails: msRest.CompositeMapper = { +export const SwitchProtectionJobDetails: coreClient.CompositeMapper = { serializedName: "SwitchProtectionJobDetails", type: { name: "Composite", - polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, - uberParent: "JobDetails", className: "SwitchProtectionJobDetails", + uberParent: "JobDetails", + polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, modelProperties: { ...JobDetails.type.modelProperties, newReplicationProtectedItemId: { @@ -10333,306 +19570,301 @@ export const SwitchProtectionJobDetails: msRest.CompositeMapper = { } }; -export const TargetComputeSizeProperties: msRest.CompositeMapper = { - serializedName: "TargetComputeSizeProperties", +export const TestFailoverJobDetails: coreClient.CompositeMapper = { + serializedName: "TestFailoverJobDetails", type: { name: "Composite", - className: "TargetComputeSizeProperties", + className: "TestFailoverJobDetails", + uberParent: "JobDetails", + polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, modelProperties: { - name: { - serializedName: "name", + ...JobDetails.type.modelProperties, + testFailoverStatus: { + serializedName: "testFailoverStatus", type: { name: "String" } }, - friendlyName: { - serializedName: "friendlyName", + comments: { + serializedName: "comments", type: { name: "String" } }, - cpuCoresCount: { - serializedName: "cpuCoresCount", - type: { - name: "Number" - } - }, - memoryInGB: { - serializedName: "memoryInGB", + networkName: { + serializedName: "networkName", type: { - name: "Number" + name: "String" } }, - maxDataDiskCount: { - serializedName: "maxDataDiskCount", + networkFriendlyName: { + serializedName: "networkFriendlyName", type: { - name: "Number" + name: "String" } }, - maxNicsCount: { - serializedName: "maxNicsCount", + networkType: { + serializedName: "networkType", type: { - name: "Number" + name: "String" } }, - errors: { - serializedName: "errors", + protectedItemDetails: { + serializedName: "protectedItemDetails", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ComputeSizeErrorDetails" + className: "FailoverReplicationProtectedItemDetails" } } } - }, - highIopsSupported: { - serializedName: "highIopsSupported", - type: { - name: "String" - } } } } }; -export const TargetComputeSize: msRest.CompositeMapper = { - serializedName: "TargetComputeSize", +export const A2APolicyDetails: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - className: "TargetComputeSize", + className: "A2APolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - id: { - serializedName: "id", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPointThresholdInMinutes: { + serializedName: "recoveryPointThresholdInMinutes", type: { - name: "String" + name: "Number" } }, - name: { - serializedName: "name", + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "String" + name: "Number" } }, - type: { - serializedName: "type", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", + type: { + name: "Number" + } + }, + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", type: { name: "String" } }, - properties: { - serializedName: "properties", + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { - name: "Composite", - className: "TargetComputeSizeProperties" + name: "Number" } } } } }; -export const TestFailoverCleanupInputProperties: msRest.CompositeMapper = { - serializedName: "TestFailoverCleanupInputProperties", +export const HyperVReplicaAzurePolicyDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", type: { name: "Composite", - className: "TestFailoverCleanupInputProperties", + className: "HyperVReplicaAzurePolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - comments: { - serializedName: "comments", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPointHistoryDurationInHours: { + serializedName: "recoveryPointHistoryDurationInHours", + type: { + name: "Number" + } + }, + applicationConsistentSnapshotFrequencyInHours: { + serializedName: "applicationConsistentSnapshotFrequencyInHours", + type: { + name: "Number" + } + }, + replicationInterval: { + serializedName: "replicationInterval", + type: { + name: "Number" + } + }, + onlineReplicationStartTime: { + serializedName: "onlineReplicationStartTime", type: { name: "String" } - } - } - } -}; - -export const TestFailoverCleanupInput: msRest.CompositeMapper = { - serializedName: "TestFailoverCleanupInput", - type: { - name: "Composite", - className: "TestFailoverCleanupInput", - modelProperties: { - properties: { - required: true, - serializedName: "properties", + }, + encryption: { + serializedName: "encryption", type: { - name: "Composite", - className: "TestFailoverCleanupInputProperties" + name: "String" + } + }, + activeStorageAccountId: { + serializedName: "activeStorageAccountId", + type: { + name: "String" } } } } }; -export const TestFailoverInputProperties: msRest.CompositeMapper = { - serializedName: "TestFailoverInputProperties", +export const HyperVReplicaBasePolicyDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaBasePolicyDetails", type: { name: "Composite", - className: "TestFailoverInputProperties", + className: "HyperVReplicaBasePolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - failoverDirection: { - serializedName: "failoverDirection", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPoints: { + serializedName: "recoveryPoints", + type: { + name: "Number" + } + }, + applicationConsistentSnapshotFrequencyInHours: { + serializedName: "applicationConsistentSnapshotFrequencyInHours", + type: { + name: "Number" + } + }, + compression: { + serializedName: "compression", type: { name: "String" } }, - networkType: { - serializedName: "networkType", + initialReplicationMethod: { + serializedName: "initialReplicationMethod", type: { name: "String" } }, - networkId: { - serializedName: "networkId", + onlineReplicationStartTime: { + serializedName: "onlineReplicationStartTime", type: { name: "String" } }, - skipTestFailoverCleanup: { - serializedName: "skipTestFailoverCleanup", + offlineReplicationImportPath: { + serializedName: "offlineReplicationImportPath", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + offlineReplicationExportPath: { + serializedName: "offlineReplicationExportPath", type: { - name: "Composite", - className: "ProviderSpecificFailoverInput" + name: "String" } - } - } - } -}; - -export const TestFailoverInput: msRest.CompositeMapper = { - serializedName: "TestFailoverInput", - type: { - name: "Composite", - className: "TestFailoverInput", - modelProperties: { - properties: { - serializedName: "properties", + }, + replicationPort: { + serializedName: "replicationPort", type: { - name: "Composite", - className: "TestFailoverInputProperties" + name: "Number" + } + }, + allowedAuthenticationType: { + serializedName: "allowedAuthenticationType", + type: { + name: "Number" + } + }, + replicaDeletionOption: { + serializedName: "replicaDeletionOption", + type: { + name: "String" } } } } }; -export const TestFailoverJobDetails: msRest.CompositeMapper = { - serializedName: "TestFailoverJobDetails", +export const HyperVReplicaBluePolicyDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012R2", type: { name: "Composite", - polymorphicDiscriminator: JobDetails.type.polymorphicDiscriminator, - uberParent: "JobDetails", - className: "TestFailoverJobDetails", + className: "HyperVReplicaBluePolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - ...JobDetails.type.modelProperties, - testFailoverStatus: { - serializedName: "testFailoverStatus", + ...PolicyProviderSpecificDetails.type.modelProperties, + replicationFrequencyInSeconds: { + serializedName: "replicationFrequencyInSeconds", type: { - name: "String" + name: "Number" } }, - comments: { - serializedName: "comments", + recoveryPoints: { + serializedName: "recoveryPoints", type: { - name: "String" + name: "Number" } }, - networkName: { - serializedName: "networkName", + applicationConsistentSnapshotFrequencyInHours: { + serializedName: "applicationConsistentSnapshotFrequencyInHours", type: { - name: "String" + name: "Number" } }, - networkFriendlyName: { - serializedName: "networkFriendlyName", + compression: { + serializedName: "compression", type: { name: "String" } }, - networkType: { - serializedName: "networkType", + initialReplicationMethod: { + serializedName: "initialReplicationMethod", type: { name: "String" } }, - protectedItemDetails: { - serializedName: "protectedItemDetails", + onlineReplicationStartTime: { + serializedName: "onlineReplicationStartTime", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FailoverReplicationProtectedItemDetails" - } - } + name: "String" } - } - } - } -}; - -export const UnplannedFailoverInputProperties: msRest.CompositeMapper = { - serializedName: "UnplannedFailoverInputProperties", - type: { - name: "Composite", - className: "UnplannedFailoverInputProperties", - modelProperties: { - failoverDirection: { - serializedName: "failoverDirection", + }, + offlineReplicationImportPath: { + serializedName: "offlineReplicationImportPath", type: { name: "String" } }, - sourceSiteOperations: { - serializedName: "sourceSiteOperations", + offlineReplicationExportPath: { + serializedName: "offlineReplicationExportPath", type: { name: "String" } }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", + replicationPort: { + serializedName: "replicationPort", type: { - name: "Composite", - className: "ProviderSpecificFailoverInput" + name: "Number" } - } - } - } -}; - -export const UnplannedFailoverInput: msRest.CompositeMapper = { - serializedName: "UnplannedFailoverInput", - type: { - name: "Composite", - className: "UnplannedFailoverInput", - modelProperties: { - properties: { - serializedName: "properties", + }, + allowedAuthenticationType: { + serializedName: "allowedAuthenticationType", type: { - name: "Composite", - className: "UnplannedFailoverInputProperties" + name: "Number" } - } - } - } -}; - -export const UpdateMobilityServiceRequestProperties: msRest.CompositeMapper = { - serializedName: "UpdateMobilityServiceRequestProperties", - type: { - name: "Composite", - className: "UpdateMobilityServiceRequestProperties", - modelProperties: { - runAsAccountId: { - serializedName: "runAsAccountId", + }, + replicaDeletionOption: { + serializedName: "replicaDeletionOption", type: { name: "String" } @@ -10641,336 +19873,256 @@ export const UpdateMobilityServiceRequestProperties: msRest.CompositeMapper = { } }; -export const UpdateMobilityServiceRequest: msRest.CompositeMapper = { - serializedName: "UpdateMobilityServiceRequest", +export const HyperVReplicaPolicyDetails: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012", type: { name: "Composite", - className: "UpdateMobilityServiceRequest", + className: "HyperVReplicaPolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPoints: { + serializedName: "recoveryPoints", type: { - name: "Composite", - className: "UpdateMobilityServiceRequestProperties" + name: "Number" } - } - } - } -}; - -export const UpdateNetworkMappingInputProperties: msRest.CompositeMapper = { - serializedName: "UpdateNetworkMappingInputProperties", - type: { - name: "Composite", - className: "UpdateNetworkMappingInputProperties", - modelProperties: { - recoveryFabricName: { - serializedName: "recoveryFabricName", + }, + applicationConsistentSnapshotFrequencyInHours: { + serializedName: "applicationConsistentSnapshotFrequencyInHours", type: { - name: "String" + name: "Number" } }, - recoveryNetworkId: { - serializedName: "recoveryNetworkId", + compression: { + serializedName: "compression", type: { name: "String" } }, - fabricSpecificDetails: { - serializedName: "fabricSpecificDetails", - type: { - name: "Composite", - className: "FabricSpecificUpdateNetworkMappingInput" - } - } - } - } -}; - -export const UpdateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "UpdateNetworkMappingInput", - type: { - name: "Composite", - className: "UpdateNetworkMappingInput", - modelProperties: { - properties: { - serializedName: "properties", + initialReplicationMethod: { + serializedName: "initialReplicationMethod", type: { - name: "Composite", - className: "UpdateNetworkMappingInputProperties" + name: "String" } - } - } - } -}; - -export const UpdatePolicyInputProperties: msRest.CompositeMapper = { - serializedName: "UpdatePolicyInputProperties", - type: { - name: "Composite", - className: "UpdatePolicyInputProperties", - modelProperties: { - replicationProviderSettings: { - serializedName: "replicationProviderSettings", + }, + onlineReplicationStartTime: { + serializedName: "onlineReplicationStartTime", type: { - name: "Composite", - className: "PolicyProviderSpecificInput" + name: "String" } - } - } - } -}; - -export const UpdatePolicyInput: msRest.CompositeMapper = { - serializedName: "UpdatePolicyInput", - type: { - name: "Composite", - className: "UpdatePolicyInput", - modelProperties: { - properties: { - serializedName: "properties", + }, + offlineReplicationImportPath: { + serializedName: "offlineReplicationImportPath", type: { - name: "Composite", - className: "UpdatePolicyInputProperties" + name: "String" } - } - } - } -}; - -export const UpdateProtectionContainerMappingInputProperties: msRest.CompositeMapper = { - serializedName: "UpdateProtectionContainerMappingInputProperties", - type: { - name: "Composite", - className: "UpdateProtectionContainerMappingInputProperties", - modelProperties: { - providerSpecificInput: { - serializedName: "providerSpecificInput", + }, + offlineReplicationExportPath: { + serializedName: "offlineReplicationExportPath", type: { - name: "Composite", - className: "ReplicationProviderSpecificUpdateContainerMappingInput" + name: "String" } - } - } - } -}; - -export const UpdateProtectionContainerMappingInput: msRest.CompositeMapper = { - serializedName: "UpdateProtectionContainerMappingInput", - type: { - name: "Composite", - className: "UpdateProtectionContainerMappingInput", - modelProperties: { - properties: { - serializedName: "properties", + }, + replicationPort: { + serializedName: "replicationPort", type: { - name: "Composite", - className: "UpdateProtectionContainerMappingInputProperties" + name: "Number" } - } - } - } -}; - -export const UpdateRecoveryPlanInputProperties: msRest.CompositeMapper = { - serializedName: "UpdateRecoveryPlanInputProperties", - type: { - name: "Composite", - className: "UpdateRecoveryPlanInputProperties", - modelProperties: { - groups: { - serializedName: "groups", + }, + allowedAuthenticationType: { + serializedName: "allowedAuthenticationType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlanGroup" - } - } + name: "Number" } - } - } - } -}; - -export const UpdateRecoveryPlanInput: msRest.CompositeMapper = { - serializedName: "UpdateRecoveryPlanInput", - type: { - name: "Composite", - className: "UpdateRecoveryPlanInput", - modelProperties: { - properties: { - serializedName: "properties", + }, + replicaDeletionOption: { + serializedName: "replicaDeletionOption", type: { - name: "Composite", - className: "UpdateRecoveryPlanInputProperties" + name: "String" } } } } }; -export const VMNicInputDetails: msRest.CompositeMapper = { - serializedName: "VMNicInputDetails", +export const InMageAzureV2PolicyDetails: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "VMNicInputDetails", + className: "InMageAzureV2PolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - nicId: { - serializedName: "nicId", + ...PolicyProviderSpecificDetails.type.modelProperties, + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - recoveryVMSubnetName: { - serializedName: "recoveryVMSubnetName", + recoveryPointThresholdInMinutes: { + serializedName: "recoveryPointThresholdInMinutes", type: { - name: "String" + name: "Number" } }, - replicaNicStaticIPAddress: { - serializedName: "replicaNicStaticIPAddress", + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "String" + name: "Number" } }, - selectionType: { - serializedName: "selectionType", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - enableAcceleratedNetworkingOnRecovery: { - serializedName: "enableAcceleratedNetworkingOnRecovery", + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", type: { - name: "Boolean" + name: "String" } } } } }; -export const UpdateReplicationProtectedItemInputProperties: msRest.CompositeMapper = { - serializedName: "UpdateReplicationProtectedItemInputProperties", +export const InMageBasePolicyDetails: coreClient.CompositeMapper = { + serializedName: "InMageBasePolicyDetails", type: { name: "Composite", - className: "UpdateReplicationProtectedItemInputProperties", + className: "InMageBasePolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - recoveryAzureVMName: { - serializedName: "recoveryAzureVMName", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPointThresholdInMinutes: { + serializedName: "recoveryPointThresholdInMinutes", type: { - name: "String" + name: "Number" } }, - recoveryAzureVMSize: { - serializedName: "recoveryAzureVMSize", + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "String" + name: "Number" } }, - selectedRecoveryAzureNetworkId: { - serializedName: "selectedRecoveryAzureNetworkId", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - selectedSourceNicId: { - serializedName: "selectedSourceNicId", + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", type: { name: "String" } - }, - enableRdpOnTargetOption: { - serializedName: "enableRdpOnTargetOption", + } + } + } +}; + +export const InMagePolicyDetails: coreClient.CompositeMapper = { + serializedName: "InMage", + type: { + name: "Composite", + className: "InMagePolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPointThresholdInMinutes: { + serializedName: "recoveryPointThresholdInMinutes", type: { - name: "String" + name: "Number" } }, - vmNics: { - serializedName: "vmNics", + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VMNicInputDetails" - } - } + name: "Number" } }, - licenseType: { - serializedName: "licenseType", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - recoveryAvailabilitySetId: { - serializedName: "recoveryAvailabilitySetId", + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", type: { name: "String" } - }, - providerSpecificDetails: { - serializedName: "providerSpecificDetails", - type: { - name: "Composite", - className: "UpdateReplicationProtectedItemProviderInput" - } } } } }; -export const UpdateReplicationProtectedItemInput: msRest.CompositeMapper = { - serializedName: "UpdateReplicationProtectedItemInput", +export const InMageRcmFailbackPolicyDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", type: { name: "Composite", - className: "UpdateReplicationProtectedItemInput", + className: "InMageRcmFailbackPolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", + ...PolicyProviderSpecificDetails.type.modelProperties, + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "Composite", - className: "UpdateReplicationProtectedItemInputProperties" + name: "Number" + } + }, + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", + type: { + name: "Number" } } } } }; -export const UpdateVCenterRequestProperties: msRest.CompositeMapper = { - serializedName: "UpdateVCenterRequestProperties", +export const InMageRcmPolicyDetails: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "UpdateVCenterRequestProperties", + className: "InMageRcmPolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" - } - }, - ipAddress: { - serializedName: "ipAddress", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPointHistoryInMinutes: { + serializedName: "recoveryPointHistoryInMinutes", type: { - name: "String" + name: "Number" } }, - processServerId: { - serializedName: "processServerId", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - port: { - serializedName: "port", + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - runAsAccountId: { - serializedName: "runAsAccountId", + enableMultiVmSync: { + serializedName: "enableMultiVmSync", type: { name: "String" } @@ -10979,361 +20131,292 @@ export const UpdateVCenterRequestProperties: msRest.CompositeMapper = { } }; -export const UpdateVCenterRequest: msRest.CompositeMapper = { - serializedName: "UpdateVCenterRequest", +export const VmwareCbtPolicyDetails: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", type: { name: "Composite", - className: "UpdateVCenterRequest", + className: "VmwareCbtPolicyDetails", + uberParent: "PolicyProviderSpecificDetails", + polymorphicDiscriminator: + PolicyProviderSpecificDetails.type.polymorphicDiscriminator, modelProperties: { - properties: { - serializedName: "properties", + ...PolicyProviderSpecificDetails.type.modelProperties, + recoveryPointHistoryInMinutes: { + serializedName: "recoveryPointHistoryInMinutes", type: { - name: "Composite", - className: "UpdateVCenterRequestProperties" + name: "Number" + } + }, + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", + type: { + name: "Number" + } + }, + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", + type: { + name: "Number" } } } } }; -export const VaultHealthProperties: msRest.CompositeMapper = { - serializedName: "VaultHealthProperties", +export const A2ACrossClusterMigrationPolicyCreationInput: coreClient.CompositeMapper = { + serializedName: "A2ACrossClusterMigration", type: { name: "Composite", - className: "VaultHealthProperties", + className: "A2ACrossClusterMigrationPolicyCreationInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - vaultErrors: { - serializedName: "vaultErrors", + ...PolicyProviderSpecificInput.type.modelProperties + } + } +}; + +export const A2APolicyCreationInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2APolicyCreationInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...PolicyProviderSpecificInput.type.modelProperties, + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "Number" } }, - protectedItemsHealth: { - serializedName: "protectedItemsHealth", + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { - name: "Composite", - className: "ResourceHealthSummary" + name: "Number" } }, - fabricsHealth: { - serializedName: "fabricsHealth", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "Composite", - className: "ResourceHealthSummary" + name: "Number" } }, - containersHealth: { - serializedName: "containersHealth", + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", + required: true, type: { - name: "Composite", - className: "ResourceHealthSummary" + name: "String" } } } } }; -export const VaultHealthDetails: msRest.CompositeMapper = { - serializedName: "VaultHealthDetails", +export const HyperVReplicaAzurePolicyInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", type: { name: "Composite", - className: "VaultHealthDetails", + className: "HyperVReplicaAzurePolicyInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...PolicyProviderSpecificInput.type.modelProperties, + recoveryPointHistoryDuration: { + serializedName: "recoveryPointHistoryDuration", type: { - name: "Composite", - className: "VaultHealthProperties" + name: "Number" + } + }, + applicationConsistentSnapshotFrequencyInHours: { + serializedName: "applicationConsistentSnapshotFrequencyInHours", + type: { + name: "Number" + } + }, + replicationInterval: { + serializedName: "replicationInterval", + type: { + name: "Number" + } + }, + onlineReplicationStartTime: { + serializedName: "onlineReplicationStartTime", + type: { + name: "String" + } + }, + storageAccounts: { + serializedName: "storageAccounts", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const VCenterProperties: msRest.CompositeMapper = { - serializedName: "VCenterProperties", +export const HyperVReplicaPolicyInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012", type: { name: "Composite", - className: "VCenterProperties", + className: "HyperVReplicaPolicyInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, modelProperties: { - friendlyName: { - serializedName: "friendlyName", - type: { - name: "String" - } - }, - internalId: { - serializedName: "internalId", + ...PolicyProviderSpecificInput.type.modelProperties, + recoveryPoints: { + serializedName: "recoveryPoints", type: { - name: "String" + name: "Number" } }, - lastHeartbeat: { - serializedName: "lastHeartbeat", + applicationConsistentSnapshotFrequencyInHours: { + serializedName: "applicationConsistentSnapshotFrequencyInHours", type: { - name: "DateTime" + name: "Number" } }, - discoveryStatus: { - serializedName: "discoveryStatus", + compression: { + serializedName: "compression", type: { name: "String" } }, - processServerId: { - serializedName: "processServerId", + initialReplicationMethod: { + serializedName: "initialReplicationMethod", type: { name: "String" } }, - ipAddress: { - serializedName: "ipAddress", + onlineReplicationStartTime: { + serializedName: "onlineReplicationStartTime", type: { name: "String" } }, - infrastructureId: { - serializedName: "infrastructureId", + offlineReplicationImportPath: { + serializedName: "offlineReplicationImportPath", type: { name: "String" } }, - port: { - serializedName: "port", + offlineReplicationExportPath: { + serializedName: "offlineReplicationExportPath", type: { name: "String" } }, - runAsAccountId: { - serializedName: "runAsAccountId", + replicationPort: { + serializedName: "replicationPort", type: { - name: "String" + name: "Number" } }, - fabricArmResourceName: { - serializedName: "fabricArmResourceName", + allowedAuthenticationType: { + serializedName: "allowedAuthenticationType", type: { - name: "String" + name: "Number" } }, - healthErrors: { - serializedName: "healthErrors", + replicaDeletion: { + serializedName: "replicaDeletion", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "String" } } } } }; -export const VCenter: msRest.CompositeMapper = { - serializedName: "VCenter", +export const InMageAzureV2PolicyInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "VCenter", + className: "InMageAzureV2PolicyInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...Resource.type.modelProperties, - properties: { - serializedName: "properties", + ...PolicyProviderSpecificInput.type.modelProperties, + recoveryPointThresholdInMinutes: { + serializedName: "recoveryPointThresholdInMinutes", type: { - name: "Composite", - className: "VCenterProperties" + name: "Number" } - } - } - } -}; - -export const VirtualMachineTaskDetails: msRest.CompositeMapper = { - serializedName: "VirtualMachineTaskDetails", - type: { - name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "VirtualMachineTaskDetails", - modelProperties: { - ...TaskTypeDetails.type.modelProperties, - skippedReason: { - serializedName: "skippedReason", + }, + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "String" + name: "Number" } }, - skippedReasonString: { - serializedName: "skippedReasonString", + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - jobTask: { - serializedName: "jobTask", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "Composite", - className: "JobEntity" + name: "Number" + } + }, + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", + required: true, + type: { + name: "String" } } } } }; -export const VmmDetails: msRest.CompositeMapper = { - serializedName: "VMM", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificDetails.type.polymorphicDiscriminator, - uberParent: "FabricSpecificDetails", - className: "VmmDetails", - modelProperties: { - ...FabricSpecificDetails.type.modelProperties - } - } -}; - -export const VmmToAzureCreateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "VmmToAzure", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificCreateNetworkMappingInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificCreateNetworkMappingInput", - className: "VmmToAzureCreateNetworkMappingInput", - modelProperties: { - ...FabricSpecificCreateNetworkMappingInput.type.modelProperties - } - } -}; - -export const VmmToAzureNetworkMappingSettings: msRest.CompositeMapper = { - serializedName: "VmmToAzure", - type: { - name: "Composite", - polymorphicDiscriminator: NetworkMappingFabricSpecificSettings.type.polymorphicDiscriminator, - uberParent: "NetworkMappingFabricSpecificSettings", - className: "VmmToAzureNetworkMappingSettings", - modelProperties: { - ...NetworkMappingFabricSpecificSettings.type.modelProperties - } - } -}; - -export const VmmToAzureUpdateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "VmmToAzure", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificUpdateNetworkMappingInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificUpdateNetworkMappingInput", - className: "VmmToAzureUpdateNetworkMappingInput", - modelProperties: { - ...FabricSpecificUpdateNetworkMappingInput.type.modelProperties - } - } -}; - -export const VmmToVmmCreateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "VmmToVmm", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificCreateNetworkMappingInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificCreateNetworkMappingInput", - className: "VmmToVmmCreateNetworkMappingInput", - modelProperties: { - ...FabricSpecificCreateNetworkMappingInput.type.modelProperties - } - } -}; - -export const VmmToVmmNetworkMappingSettings: msRest.CompositeMapper = { - serializedName: "VmmToVmm", - type: { - name: "Composite", - polymorphicDiscriminator: NetworkMappingFabricSpecificSettings.type.polymorphicDiscriminator, - uberParent: "NetworkMappingFabricSpecificSettings", - className: "VmmToVmmNetworkMappingSettings", - modelProperties: { - ...NetworkMappingFabricSpecificSettings.type.modelProperties - } - } -}; - -export const VmmToVmmUpdateNetworkMappingInput: msRest.CompositeMapper = { - serializedName: "VmmToVmm", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificUpdateNetworkMappingInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificUpdateNetworkMappingInput", - className: "VmmToVmmUpdateNetworkMappingInput", - modelProperties: { - ...FabricSpecificUpdateNetworkMappingInput.type.modelProperties - } - } -}; - -export const VmmVirtualMachineDetails: msRest.CompositeMapper = { - serializedName: "VmmVirtualMachine", +export const InMagePolicyInput: coreClient.CompositeMapper = { + serializedName: "InMage", type: { name: "Composite", - polymorphicDiscriminator: ConfigurationSettings.type.polymorphicDiscriminator, - uberParent: "ConfigurationSettings", - className: "VmmVirtualMachineDetails", + className: "InMagePolicyInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...ConfigurationSettings.type.modelProperties, - sourceItemId: { - serializedName: "sourceItemId", - type: { - name: "String" - } - }, - generation: { - serializedName: "generation", - type: { - name: "String" - } - }, - osDetails: { - serializedName: "osDetails", - type: { - name: "Composite", - className: "OSDetails" - } - }, - diskDetails: { - serializedName: "diskDetails", + ...PolicyProviderSpecificInput.type.modelProperties, + recoveryPointThresholdInMinutes: { + serializedName: "recoveryPointThresholdInMinutes", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "DiskDetails" - } - } + name: "Number" } }, - hasPhysicalDisk: { - serializedName: "hasPhysicalDisk", + recoveryPointHistory: { + serializedName: "recoveryPointHistory", type: { - name: "String" + name: "Number" } }, - hasFibreChannelAdapter: { - serializedName: "hasFibreChannelAdapter", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - hasSharedVhd: { - serializedName: "hasSharedVhd", + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", + required: true, type: { name: "String" } @@ -11342,48 +20425,44 @@ export const VmmVirtualMachineDetails: msRest.CompositeMapper = { } }; -export const VmNicUpdatesTaskDetails: msRest.CompositeMapper = { - serializedName: "VmNicUpdatesTaskDetails", +export const InMageRcmFailbackPolicyCreationInput: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", type: { name: "Composite", - polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, - uberParent: "TaskTypeDetails", - className: "VmNicUpdatesTaskDetails", + className: "InMageRcmFailbackPolicyCreationInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...TaskTypeDetails.type.modelProperties, - vmId: { - serializedName: "vmId", - type: { - name: "String" - } - }, - nicId: { - serializedName: "nicId", + ...PolicyProviderSpecificInput.type.modelProperties, + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } }, - name: { - serializedName: "name", + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", type: { - name: "String" + name: "Number" } } } } }; -export const VMwareCbtPolicyCreationInput: msRest.CompositeMapper = { - serializedName: "VMwareCbt", +export const InMageRcmPolicyCreationInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificInput.type.polymorphicDiscriminator, + className: "InMageRcmPolicyCreationInput", uberParent: "PolicyProviderSpecificInput", - className: "VMwareCbtPolicyCreationInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { ...PolicyProviderSpecificInput.type.modelProperties, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + recoveryPointHistoryInMinutes: { + serializedName: "recoveryPointHistoryInMinutes", type: { name: "Number" } @@ -11399,28 +20478,35 @@ export const VMwareCbtPolicyCreationInput: msRest.CompositeMapper = { type: { name: "Number" } + }, + enableMultiVmSync: { + serializedName: "enableMultiVmSync", + type: { + name: "String" + } } } } }; -export const VmwareCbtPolicyDetails: msRest.CompositeMapper = { +export const VMwareCbtPolicyCreationInput: coreClient.CompositeMapper = { serializedName: "VMwareCbt", type: { name: "Composite", - polymorphicDiscriminator: PolicyProviderSpecificDetails.type.polymorphicDiscriminator, - uberParent: "PolicyProviderSpecificDetails", - className: "VmwareCbtPolicyDetails", + className: "VMwareCbtPolicyCreationInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, modelProperties: { - ...PolicyProviderSpecificDetails.type.modelProperties, - recoveryPointThresholdInMinutes: { - serializedName: "recoveryPointThresholdInMinutes", + ...PolicyProviderSpecificInput.type.modelProperties, + recoveryPointHistoryInMinutes: { + serializedName: "recoveryPointHistoryInMinutes", type: { name: "Number" } }, - recoveryPointHistory: { - serializedName: "recoveryPointHistory", + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", type: { name: "Number" } @@ -11430,258 +20516,343 @@ export const VmwareCbtPolicyDetails: msRest.CompositeMapper = { type: { name: "Number" } - }, - crashConsistentFrequencyInMinutes: { - serializedName: "crashConsistentFrequencyInMinutes", - type: { - name: "Number" - } } } } }; -export const VMwareDetails: msRest.CompositeMapper = { - serializedName: "VMware", +export const A2AReplicationIntentDetails: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - polymorphicDiscriminator: FabricSpecificDetails.type.polymorphicDiscriminator, - uberParent: "FabricSpecificDetails", - className: "VMwareDetails", + className: "A2AReplicationIntentDetails", + uberParent: "ReplicationProtectionIntentProviderSpecificSettings", + polymorphicDiscriminator: + ReplicationProtectionIntentProviderSpecificSettings.type + .polymorphicDiscriminator, modelProperties: { - ...FabricSpecificDetails.type.modelProperties, - processServers: { - serializedName: "processServers", + ...ReplicationProtectionIntentProviderSpecificSettings.type + .modelProperties, + fabricObjectId: { + serializedName: "fabricObjectId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProcessServer" - } - } + name: "String" } }, - masterTargetServers: { - serializedName: "masterTargetServers", + primaryLocation: { + serializedName: "primaryLocation", + type: { + name: "String" + } + }, + recoveryLocation: { + serializedName: "recoveryLocation", + type: { + name: "String" + } + }, + recoverySubscriptionId: { + serializedName: "recoverySubscriptionId", + type: { + name: "String" + } + }, + vmDisks: { + serializedName: "vmDisks", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MasterTargetServer" + className: "A2AProtectionIntentDiskInputDetails" } } } }, - runAsAccounts: { - serializedName: "runAsAccounts", + vmManagedDisks: { + serializedName: "vmManagedDisks", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RunAsAccount" + className: "A2AProtectionIntentManagedDiskInputDetails" } } } }, - replicationPairCount: { - serializedName: "replicationPairCount", + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", type: { name: "String" } }, - processServerCount: { - serializedName: "processServerCount", + protectionProfile: { + serializedName: "protectionProfile", type: { - name: "String" + name: "Composite", + className: "ProtectionProfileCustomDetails" } }, - agentCount: { - serializedName: "agentCount", + primaryStagingStorageAccount: { + serializedName: "primaryStagingStorageAccount", type: { - name: "String" + name: "Composite", + className: "StorageAccountCustomDetails" } }, - protectedServers: { - serializedName: "protectedServers", + recoveryAvailabilitySet: { + serializedName: "recoveryAvailabilitySet", type: { - name: "String" + name: "Composite", + className: "RecoveryAvailabilitySetCustomDetails" } }, - systemLoad: { - serializedName: "systemLoad", + recoveryVirtualNetwork: { + serializedName: "recoveryVirtualNetwork", type: { - name: "String" + name: "Composite", + className: "RecoveryVirtualNetworkCustomDetails" } }, - systemLoadStatus: { - serializedName: "systemLoadStatus", + recoveryProximityPlacementGroup: { + serializedName: "recoveryProximityPlacementGroup", + type: { + name: "Composite", + className: "RecoveryProximityPlacementGroupCustomDetails" + } + }, + autoProtectionOfDataDisk: { + serializedName: "autoProtectionOfDataDisk", type: { name: "String" } }, - cpuLoad: { - serializedName: "cpuLoad", + multiVmGroupName: { + serializedName: "multiVmGroupName", type: { name: "String" } }, - cpuLoadStatus: { - serializedName: "cpuLoadStatus", + multiVmGroupId: { + serializedName: "multiVmGroupId", type: { name: "String" } }, - totalMemoryInBytes: { - serializedName: "totalMemoryInBytes", + recoveryBootDiagStorageAccount: { + serializedName: "recoveryBootDiagStorageAccount", type: { - name: "Number" + name: "Composite", + className: "StorageAccountCustomDetails" } }, - availableMemoryInBytes: { - serializedName: "availableMemoryInBytes", + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", type: { - name: "Number" + name: "Composite", + className: "DiskEncryptionInfo" } }, - memoryUsageStatus: { - serializedName: "memoryUsageStatus", + recoveryAvailabilityZone: { + serializedName: "recoveryAvailabilityZone", type: { name: "String" } }, - totalSpaceInBytes: { - serializedName: "totalSpaceInBytes", + recoveryAvailabilityType: { + serializedName: "recoveryAvailabilityType", + required: true, type: { - name: "Number" + name: "String" } }, - availableSpaceInBytes: { - serializedName: "availableSpaceInBytes", + agentAutoUpdateStatus: { + serializedName: "agentAutoUpdateStatus", type: { - name: "Number" + name: "String" } }, - spaceUsageStatus: { - serializedName: "spaceUsageStatus", + automationAccountArmId: { + serializedName: "automationAccountArmId", type: { name: "String" } }, - webLoad: { - serializedName: "webLoad", + automationAccountAuthenticationType: { + serializedName: "automationAccountAuthenticationType", type: { name: "String" } - }, - webLoadStatus: { - serializedName: "webLoadStatus", + } + } + } +}; + +export const A2ACreateProtectionIntentInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "A2ACreateProtectionIntentInput", + uberParent: "CreateProtectionIntentProviderSpecificDetails", + polymorphicDiscriminator: + CreateProtectionIntentProviderSpecificDetails.type + .polymorphicDiscriminator, + modelProperties: { + ...CreateProtectionIntentProviderSpecificDetails.type.modelProperties, + fabricObjectId: { + serializedName: "fabricObjectId", + required: true, type: { name: "String" } }, - databaseServerLoad: { - serializedName: "databaseServerLoad", + primaryLocation: { + serializedName: "primaryLocation", + required: true, type: { name: "String" } }, - databaseServerLoadStatus: { - serializedName: "databaseServerLoadStatus", + recoveryLocation: { + serializedName: "recoveryLocation", + required: true, type: { name: "String" } }, - csServiceStatus: { - serializedName: "csServiceStatus", + recoverySubscriptionId: { + serializedName: "recoverySubscriptionId", + required: true, type: { name: "String" } }, - ipAddress: { - serializedName: "ipAddress", + recoveryAvailabilityType: { + serializedName: "recoveryAvailabilityType", + required: true, type: { name: "String" } }, - agentVersion: { - serializedName: "agentVersion", + protectionProfileCustomInput: { + serializedName: "protectionProfileCustomInput", type: { - name: "String" + name: "Composite", + className: "ProtectionProfileCustomDetails" } }, - hostName: { - serializedName: "hostName", + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", + required: true, type: { name: "String" } }, - lastHeartbeat: { - serializedName: "lastHeartbeat", + primaryStagingStorageAccountCustomInput: { + serializedName: "primaryStagingStorageAccountCustomInput", type: { - name: "DateTime" + name: "Composite", + className: "StorageAccountCustomDetails" } }, - versionStatus: { - serializedName: "versionStatus", + recoveryAvailabilitySetCustomInput: { + serializedName: "recoveryAvailabilitySetCustomInput", + type: { + name: "Composite", + className: "RecoveryAvailabilitySetCustomDetails" + } + }, + recoveryVirtualNetworkCustomInput: { + serializedName: "recoveryVirtualNetworkCustomInput", + type: { + name: "Composite", + className: "RecoveryVirtualNetworkCustomDetails" + } + }, + recoveryProximityPlacementGroupCustomInput: { + serializedName: "recoveryProximityPlacementGroupCustomInput", + type: { + name: "Composite", + className: "RecoveryProximityPlacementGroupCustomDetails" + } + }, + autoProtectionOfDataDisk: { + serializedName: "autoProtectionOfDataDisk", type: { name: "String" } }, - sslCertExpiryDate: { - serializedName: "sslCertExpiryDate", + vmDisks: { + serializedName: "vmDisks", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AProtectionIntentDiskInputDetails" + } + } } }, - sslCertExpiryRemainingDays: { - serializedName: "sslCertExpiryRemainingDays", + vmManagedDisks: { + serializedName: "vmManagedDisks", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "A2AProtectionIntentManagedDiskInputDetails" + } + } } }, - psTemplateVersion: { - serializedName: "psTemplateVersion", + multiVmGroupName: { + serializedName: "multiVmGroupName", type: { name: "String" } }, - agentExpiryDate: { - serializedName: "agentExpiryDate", + multiVmGroupId: { + serializedName: "multiVmGroupId", type: { - name: "DateTime" + name: "String" } }, - agentVersionDetails: { - serializedName: "agentVersionDetails", + recoveryBootDiagStorageAccount: { + serializedName: "recoveryBootDiagStorageAccount", type: { name: "Composite", - className: "VersionDetails" + className: "StorageAccountCustomDetails" } - } - } - } -}; - -export const VMwareV2FabricCreationInput: msRest.CompositeMapper = { - serializedName: "VMwareV2", - type: { - name: "Composite", - polymorphicDiscriminator: FabricSpecificCreationInput.type.polymorphicDiscriminator, - uberParent: "FabricSpecificCreationInput", - className: "VMwareV2FabricCreationInput", - modelProperties: { - ...FabricSpecificCreationInput.type.modelProperties, - keyVaultUrl: { - serializedName: "keyVaultUrl", + }, + diskEncryptionInfo: { + serializedName: "diskEncryptionInfo", + type: { + name: "Composite", + className: "DiskEncryptionInfo" + } + }, + recoveryAvailabilityZone: { + serializedName: "recoveryAvailabilityZone", type: { name: "String" } }, - keyVaultResourceArmId: { - serializedName: "keyVaultResourceArmId", + agentAutoUpdateStatus: { + serializedName: "agentAutoUpdateStatus", + type: { + name: "String" + } + }, + automationAccountAuthenticationType: { + serializedName: "automationAccountAuthenticationType", + type: { + name: "String" + } + }, + automationAccountArmId: { + serializedName: "automationAccountArmId", type: { name: "String" } @@ -11690,35 +20861,31 @@ export const VMwareV2FabricCreationInput: msRest.CompositeMapper = { } }; -export const VMwareV2FabricSpecificDetails: msRest.CompositeMapper = { - serializedName: "VMwareV2", +export const RecoveryPlanAutomationRunbookActionDetails: coreClient.CompositeMapper = { + serializedName: "AutomationRunbookActionDetails", type: { name: "Composite", - polymorphicDiscriminator: FabricSpecificDetails.type.polymorphicDiscriminator, - uberParent: "FabricSpecificDetails", - className: "VMwareV2FabricSpecificDetails", + className: "RecoveryPlanAutomationRunbookActionDetails", + uberParent: "RecoveryPlanActionDetails", + polymorphicDiscriminator: + RecoveryPlanActionDetails.type.polymorphicDiscriminator, modelProperties: { - ...FabricSpecificDetails.type.modelProperties, - srsServiceEndpoint: { - serializedName: "srsServiceEndpoint", - type: { - name: "String" - } - }, - rcmServiceEndpoint: { - serializedName: "rcmServiceEndpoint", + ...RecoveryPlanActionDetails.type.modelProperties, + runbookId: { + serializedName: "runbookId", type: { name: "String" } }, - keyVaultUrl: { - serializedName: "keyVaultUrl", + timeout: { + serializedName: "timeout", type: { name: "String" } }, - keyVaultResourceArmId: { - serializedName: "keyVaultResourceArmId", + fabricLocation: { + serializedName: "fabricLocation", + required: true, type: { name: "String" } @@ -11727,139 +20894,151 @@ export const VMwareV2FabricSpecificDetails: msRest.CompositeMapper = { } }; -export const VMwareVirtualMachineDetails: msRest.CompositeMapper = { - serializedName: "VMwareVirtualMachine", +export const RecoveryPlanManualActionDetails: coreClient.CompositeMapper = { + serializedName: "ManualActionDetails", type: { name: "Composite", - polymorphicDiscriminator: ConfigurationSettings.type.polymorphicDiscriminator, - uberParent: "ConfigurationSettings", - className: "VMwareVirtualMachineDetails", + className: "RecoveryPlanManualActionDetails", + uberParent: "RecoveryPlanActionDetails", + polymorphicDiscriminator: + RecoveryPlanActionDetails.type.polymorphicDiscriminator, modelProperties: { - ...ConfigurationSettings.type.modelProperties, - agentGeneratedId: { - serializedName: "agentGeneratedId", + ...RecoveryPlanActionDetails.type.modelProperties, + description: { + serializedName: "description", type: { name: "String" } - }, - agentInstalled: { - serializedName: "agentInstalled", + } + } + } +}; + +export const RecoveryPlanScriptActionDetails: coreClient.CompositeMapper = { + serializedName: "ScriptActionDetails", + type: { + name: "Composite", + className: "RecoveryPlanScriptActionDetails", + uberParent: "RecoveryPlanActionDetails", + polymorphicDiscriminator: + RecoveryPlanActionDetails.type.polymorphicDiscriminator, + modelProperties: { + ...RecoveryPlanActionDetails.type.modelProperties, + path: { + serializedName: "path", + required: true, type: { name: "String" } }, - osType: { - serializedName: "osType", + timeout: { + serializedName: "timeout", type: { name: "String" } }, - agentVersion: { - serializedName: "agentVersion", + fabricLocation: { + serializedName: "fabricLocation", + required: true, type: { name: "String" } - }, - ipAddress: { - serializedName: "ipAddress", + } + } + } +}; + +export const RecoveryPlanA2ADetails: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "RecoveryPlanA2ADetails", + uberParent: "RecoveryPlanProviderSpecificDetails", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificDetails.type.polymorphicDiscriminator, + modelProperties: { + ...RecoveryPlanProviderSpecificDetails.type.modelProperties, + primaryZone: { + serializedName: "primaryZone", type: { name: "String" } }, - poweredOn: { - serializedName: "poweredOn", + recoveryZone: { + serializedName: "recoveryZone", type: { name: "String" } - }, - vCenterInfrastructureId: { - serializedName: "vCenterInfrastructureId", + } + } + } +}; + +export const RecoveryPlanA2AInput: coreClient.CompositeMapper = { + serializedName: "A2A", + type: { + name: "Composite", + className: "RecoveryPlanA2AInput", + uberParent: "RecoveryPlanProviderSpecificInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...RecoveryPlanProviderSpecificInput.type.modelProperties, + primaryZone: { + serializedName: "primaryZone", type: { name: "String" } }, - discoveryType: { - serializedName: "discoveryType", + recoveryZone: { + serializedName: "recoveryZone", type: { name: "String" } }, - diskDetails: { - serializedName: "diskDetails", + primaryExtendedLocation: { + serializedName: "primaryExtendedLocation", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "InMageDiskDetails" - } - } + name: "Composite", + className: "ExtendedLocation" } }, - validationErrors: { - serializedName: "validationErrors", + recoveryExtendedLocation: { + serializedName: "recoveryExtendedLocation", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "HealthError" - } - } + name: "Composite", + className: "ExtendedLocation" } } } } }; -export const OperationsDiscoveryCollection: msRest.CompositeMapper = { - serializedName: "OperationsDiscoveryCollection", +export const RecoveryPlanA2AFailoverInput: coreClient.CompositeMapper = { + serializedName: "A2A", type: { name: "Composite", - className: "OperationsDiscoveryCollection", + className: "RecoveryPlanA2AFailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "OperationsDiscovery" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + cloudServiceCreationOption: { + serializedName: "cloudServiceCreationOption", type: { name: "String" } - } - } - } -}; - -export const AlertCollection: msRest.CompositeMapper = { - serializedName: "AlertCollection", - type: { - name: "Composite", - className: "AlertCollection", - modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Alert" - } - } - } }, - nextLink: { - serializedName: "nextLink", + multiVmSyncPointOption: { + serializedName: "multiVmSyncPointOption", type: { name: "String" } @@ -11868,26 +21047,26 @@ export const AlertCollection: msRest.CompositeMapper = { } }; -export const EventCollection: msRest.CompositeMapper = { - serializedName: "EventCollection", +export const RecoveryPlanHyperVReplicaAzureFailbackInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzureFailback", type: { name: "Composite", - className: "EventCollection", + className: "RecoveryPlanHyperVReplicaAzureFailbackInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + dataSyncOption: { + serializedName: "dataSyncOption", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Event" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + recoveryVmCreationOption: { + serializedName: "recoveryVmCreationOption", + required: true, type: { name: "String" } @@ -11896,26 +21075,30 @@ export const EventCollection: msRest.CompositeMapper = { } }; -export const FabricCollection: msRest.CompositeMapper = { - serializedName: "FabricCollection", +export const RecoveryPlanHyperVReplicaAzureFailoverInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplicaAzure", type: { name: "Composite", - className: "FabricCollection", + className: "RecoveryPlanHyperVReplicaAzureFailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + primaryKekCertificatePfx: { + serializedName: "primaryKekCertificatePfx", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Fabric" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + secondaryKekCertificatePfx: { + serializedName: "secondaryKekCertificatePfx", + type: { + name: "String" + } + }, + recoveryPointType: { + serializedName: "recoveryPointType", type: { name: "String" } @@ -11924,26 +21107,25 @@ export const FabricCollection: msRest.CompositeMapper = { } }; -export const LogicalNetworkCollection: msRest.CompositeMapper = { - serializedName: "LogicalNetworkCollection", +export const RecoveryPlanInMageAzureV2FailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageAzureV2", type: { name: "Composite", - className: "LogicalNetworkCollection", + className: "RecoveryPlanInMageAzureV2FailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LogicalNetwork" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + useMultiVmSyncPoint: { + serializedName: "useMultiVmSyncPoint", type: { name: "String" } @@ -11952,26 +21134,19 @@ export const LogicalNetworkCollection: msRest.CompositeMapper = { } }; -export const NetworkCollection: msRest.CompositeMapper = { - serializedName: "NetworkCollection", +export const RecoveryPlanInMageFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMage", type: { name: "Composite", - className: "NetworkCollection", + className: "RecoveryPlanInMageFailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Network" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + required: true, type: { name: "String" } @@ -11980,26 +21155,25 @@ export const NetworkCollection: msRest.CompositeMapper = { } }; -export const NetworkMappingCollection: msRest.CompositeMapper = { - serializedName: "NetworkMappingCollection", +export const RecoveryPlanInMageRcmFailbackFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageRcmFailback", type: { name: "Composite", - className: "NetworkMappingCollection", + className: "RecoveryPlanInMageRcmFailbackFailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkMapping" - } - } + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + required: true, + type: { + name: "String" } }, - nextLink: { - serializedName: "nextLink", + useMultiVmSyncPoint: { + serializedName: "useMultiVmSyncPoint", type: { name: "String" } @@ -12008,26 +21182,25 @@ export const NetworkMappingCollection: msRest.CompositeMapper = { } }; -export const ProtectionContainerCollection: msRest.CompositeMapper = { - serializedName: "ProtectionContainerCollection", +export const RecoveryPlanInMageRcmFailoverInput: coreClient.CompositeMapper = { + serializedName: "InMageRcm", type: { name: "Composite", - className: "ProtectionContainerCollection", + className: "RecoveryPlanInMageRcmFailoverInput", + uberParent: "RecoveryPlanProviderSpecificFailoverInput", + polymorphicDiscriminator: + RecoveryPlanProviderSpecificFailoverInput.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryPlanProviderSpecificFailoverInput.type.modelProperties, + recoveryPointType: { + serializedName: "recoveryPointType", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProtectionContainer" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + useMultiVmSyncPoint: { + serializedName: "useMultiVmSyncPoint", type: { name: "String" } @@ -12036,26 +21209,19 @@ export const ProtectionContainerCollection: msRest.CompositeMapper = { } }; -export const ProtectableItemCollection: msRest.CompositeMapper = { - serializedName: "ProtectableItemCollection", +export const ExistingProtectionProfile: coreClient.CompositeMapper = { + serializedName: "Existing", type: { name: "Composite", - className: "ProtectableItemCollection", + className: "ExistingProtectionProfile", + uberParent: "ProtectionProfileCustomDetails", + polymorphicDiscriminator: + ProtectionProfileCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProtectableItem" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...ProtectionProfileCustomDetails.type.modelProperties, + protectionProfileId: { + serializedName: "protectionProfileId", + required: true, type: { name: "String" } @@ -12064,26 +21230,44 @@ export const ProtectableItemCollection: msRest.CompositeMapper = { } }; -export const ReplicationProtectedItemCollection: msRest.CompositeMapper = { - serializedName: "ReplicationProtectedItemCollection", +export const NewProtectionProfile: coreClient.CompositeMapper = { + serializedName: "New", type: { name: "Composite", - className: "ReplicationProtectedItemCollection", + className: "NewProtectionProfile", + uberParent: "ProtectionProfileCustomDetails", + polymorphicDiscriminator: + ProtectionProfileCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...ProtectionProfileCustomDetails.type.modelProperties, + policyName: { + serializedName: "policyName", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ReplicationProtectedItem" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + recoveryPointHistory: { + serializedName: "recoveryPointHistory", + type: { + name: "Number" + } + }, + crashConsistentFrequencyInMinutes: { + serializedName: "crashConsistentFrequencyInMinutes", + type: { + name: "Number" + } + }, + appConsistentFrequencyInMinutes: { + serializedName: "appConsistentFrequencyInMinutes", + type: { + name: "Number" + } + }, + multiVmSyncStatus: { + serializedName: "multiVmSyncStatus", + required: true, type: { name: "String" } @@ -12092,26 +21276,19 @@ export const ReplicationProtectedItemCollection: msRest.CompositeMapper = { } }; -export const RecoveryPointCollection: msRest.CompositeMapper = { - serializedName: "RecoveryPointCollection", +export const ExistingStorageAccount: coreClient.CompositeMapper = { + serializedName: "Existing", type: { name: "Composite", - className: "RecoveryPointCollection", + className: "ExistingStorageAccount", + uberParent: "StorageAccountCustomDetails", + polymorphicDiscriminator: + StorageAccountCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPoint" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...StorageAccountCustomDetails.type.modelProperties, + azureStorageAccountId: { + serializedName: "azureStorageAccountId", + required: true, type: { name: "String" } @@ -12120,26 +21297,18 @@ export const RecoveryPointCollection: msRest.CompositeMapper = { } }; -export const TargetComputeSizeCollection: msRest.CompositeMapper = { - serializedName: "TargetComputeSizeCollection", +export const ExistingRecoveryAvailabilitySet: coreClient.CompositeMapper = { + serializedName: "Existing", type: { name: "Composite", - className: "TargetComputeSizeCollection", + className: "ExistingRecoveryAvailabilitySet", + uberParent: "RecoveryAvailabilitySetCustomDetails", + polymorphicDiscriminator: + RecoveryAvailabilitySetCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "TargetComputeSize" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...RecoveryAvailabilitySetCustomDetails.type.modelProperties, + recoveryAvailabilitySetId: { + serializedName: "recoveryAvailabilitySetId", type: { name: "String" } @@ -12148,26 +21317,25 @@ export const TargetComputeSizeCollection: msRest.CompositeMapper = { } }; -export const ProtectionContainerMappingCollection: msRest.CompositeMapper = { - serializedName: "ProtectionContainerMappingCollection", +export const ExistingRecoveryVirtualNetwork: coreClient.CompositeMapper = { + serializedName: "Existing", type: { name: "Composite", - className: "ProtectionContainerMappingCollection", + className: "ExistingRecoveryVirtualNetwork", + uberParent: "RecoveryVirtualNetworkCustomDetails", + polymorphicDiscriminator: + RecoveryVirtualNetworkCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryVirtualNetworkCustomDetails.type.modelProperties, + recoveryVirtualNetworkId: { + serializedName: "recoveryVirtualNetworkId", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProtectionContainerMapping" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + recoverySubnetName: { + serializedName: "recoverySubnetName", type: { name: "String" } @@ -12176,26 +21344,24 @@ export const ProtectionContainerMappingCollection: msRest.CompositeMapper = { } }; -export const RecoveryServicesProviderCollection: msRest.CompositeMapper = { - serializedName: "RecoveryServicesProviderCollection", +export const NewRecoveryVirtualNetwork: coreClient.CompositeMapper = { + serializedName: "New", type: { name: "Composite", - className: "RecoveryServicesProviderCollection", + className: "NewRecoveryVirtualNetwork", + uberParent: "RecoveryVirtualNetworkCustomDetails", + polymorphicDiscriminator: + RecoveryVirtualNetworkCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...RecoveryVirtualNetworkCustomDetails.type.modelProperties, + recoveryVirtualNetworkResourceGroupName: { + serializedName: "recoveryVirtualNetworkResourceGroupName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryServicesProvider" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + recoveryVirtualNetworkName: { + serializedName: "recoveryVirtualNetworkName", type: { name: "String" } @@ -12204,26 +21370,19 @@ export const RecoveryServicesProviderCollection: msRest.CompositeMapper = { } }; -export const StorageClassificationCollection: msRest.CompositeMapper = { - serializedName: "StorageClassificationCollection", +export const ExistingRecoveryProximityPlacementGroup: coreClient.CompositeMapper = { + serializedName: "Existing", type: { name: "Composite", - className: "StorageClassificationCollection", + className: "ExistingRecoveryProximityPlacementGroup", + uberParent: "RecoveryProximityPlacementGroupCustomDetails", + polymorphicDiscriminator: + RecoveryProximityPlacementGroupCustomDetails.type + .polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StorageClassification" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...RecoveryProximityPlacementGroupCustomDetails.type.modelProperties, + recoveryProximityPlacementGroupId: { + serializedName: "recoveryProximityPlacementGroupId", type: { name: "String" } @@ -12232,26 +21391,18 @@ export const StorageClassificationCollection: msRest.CompositeMapper = { } }; -export const StorageClassificationMappingCollection: msRest.CompositeMapper = { - serializedName: "StorageClassificationMappingCollection", +export const ExistingRecoveryResourceGroup: coreClient.CompositeMapper = { + serializedName: "Existing", type: { name: "Composite", - className: "StorageClassificationMappingCollection", + className: "ExistingRecoveryResourceGroup", + uberParent: "RecoveryResourceGroupCustomDetails", + polymorphicDiscriminator: + RecoveryResourceGroupCustomDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StorageClassificationMapping" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...RecoveryResourceGroupCustomDetails.type.modelProperties, + recoveryResourceGroupId: { + serializedName: "recoveryResourceGroupId", type: { name: "String" } @@ -12260,54 +21411,37 @@ export const StorageClassificationMappingCollection: msRest.CompositeMapper = { } }; -export const VCenterCollection: msRest.CompositeMapper = { - serializedName: "VCenterCollection", +export const VmmVirtualMachineDetails: coreClient.CompositeMapper = { + serializedName: "VmmVirtualMachine", type: { name: "Composite", - className: "VCenterCollection", + className: "VmmVirtualMachineDetails", + uberParent: "ConfigurationSettings", + polymorphicDiscriminator: + ConfigurationSettings.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "VCenter" - } - } - } - }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String" - } - } + ...HyperVVirtualMachineDetails.type.modelProperties } } }; -export const JobCollection: msRest.CompositeMapper = { - serializedName: "JobCollection", +export const FabricReplicationGroupTaskDetails: coreClient.CompositeMapper = { + serializedName: "FabricReplicationGroupTaskDetails", type: { name: "Composite", - className: "JobCollection", + className: "FabricReplicationGroupTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...JobTaskDetails.type.modelProperties, + skippedReason: { + serializedName: "skippedReason", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Job" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + skippedReasonString: { + serializedName: "skippedReasonString", type: { name: "String" } @@ -12316,26 +21450,23 @@ export const JobCollection: msRest.CompositeMapper = { } }; -export const PolicyCollection: msRest.CompositeMapper = { - serializedName: "PolicyCollection", +export const VirtualMachineTaskDetails: coreClient.CompositeMapper = { + serializedName: "VirtualMachineTaskDetails", type: { name: "Composite", - className: "PolicyCollection", + className: "VirtualMachineTaskDetails", + uberParent: "TaskTypeDetails", + polymorphicDiscriminator: TaskTypeDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", + ...JobTaskDetails.type.modelProperties, + skippedReason: { + serializedName: "skippedReason", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Policy" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + skippedReasonString: { + serializedName: "skippedReasonString", type: { name: "String" } @@ -12344,164 +21475,250 @@ export const PolicyCollection: msRest.CompositeMapper = { } }; -export const RecoveryPlanCollection: msRest.CompositeMapper = { - serializedName: "RecoveryPlanCollection", +export const RecoveryPlanShutdownGroupTaskDetails: coreClient.CompositeMapper = { + serializedName: "RecoveryPlanShutdownGroupTaskDetails", type: { name: "Composite", - className: "RecoveryPlanCollection", + className: "RecoveryPlanShutdownGroupTaskDetails", + uberParent: "GroupTaskDetails", + polymorphicDiscriminator: GroupTaskDetails.type.polymorphicDiscriminator, modelProperties: { - value: { - serializedName: "", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RecoveryPlan" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + ...RecoveryPlanGroupTaskDetails.type.modelProperties + } + } +}; + +export const HyperVReplicaBluePolicyInput: coreClient.CompositeMapper = { + serializedName: "HyperVReplica2012R2", + type: { + name: "Composite", + className: "HyperVReplicaBluePolicyInput", + uberParent: "PolicyProviderSpecificInput", + polymorphicDiscriminator: + PolicyProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...HyperVReplicaPolicyInput.type.modelProperties, + replicationFrequencyInSeconds: { + serializedName: "replicationFrequencyInSeconds", type: { - name: "String" + name: "Number" } } } } }; -export const discriminators = { - 'ApplyRecoveryPointProviderSpecificInput.A2A' : A2AApplyRecoveryPointInput, - 'ReplicationProviderSpecificContainerCreationInput.A2A' : A2AContainerCreationInput, - 'ReplicationProviderSpecificContainerMappingInput.A2A' : A2AContainerMappingInput, - 'EnableProtectionProviderSpecificInput.A2A' : A2AEnableProtectionInput, - 'EventProviderSpecificDetails.A2A' : A2AEventDetails, - 'ProviderSpecificFailoverInput.A2A' : A2AFailoverProviderInput, - 'PolicyProviderSpecificInput.A2A' : A2APolicyCreationInput, - 'PolicyProviderSpecificDetails.A2A' : A2APolicyDetails, - 'ProtectionContainerMappingProviderSpecificDetails.A2A' : A2AProtectionContainerMappingDetails, - 'ProviderSpecificRecoveryPointDetails.A2A' : A2ARecoveryPointDetails, - 'ReplicationProviderSpecificSettings.A2A' : A2AReplicationDetails, - 'ReverseReplicationProviderSpecificInput.A2A' : A2AReprotectInput, - 'SwitchProtectionProviderSpecificInput.A2A' : A2ASwitchProtectionInput, - 'ReplicationProviderSpecificUpdateContainerMappingInput.A2A' : A2AUpdateContainerMappingInput, - 'UpdateReplicationProtectedItemProviderInput.A2A' : A2AUpdateReplicationProtectedItemInput, - 'ApplyRecoveryPointProviderSpecificInput' : ApplyRecoveryPointProviderSpecificInput, - 'JobDetails.AsrJobDetails' : AsrJobDetails, - 'TaskTypeDetails' : TaskTypeDetails, - 'GroupTaskDetails' : GroupTaskDetails, - 'TaskTypeDetails.AutomationRunbookTaskDetails' : AutomationRunbookTaskDetails, - 'FabricSpecificCreationInput.Azure' : AzureFabricCreationInput, - 'FabricSpecificDetails.Azure' : AzureFabricSpecificDetails, - 'FabricSpecificCreateNetworkMappingInput.AzureToAzure' : AzureToAzureCreateNetworkMappingInput, - 'NetworkMappingFabricSpecificSettings.AzureToAzure' : AzureToAzureNetworkMappingSettings, - 'FabricSpecificUpdateNetworkMappingInput.AzureToAzure' : AzureToAzureUpdateNetworkMappingInput, - 'ConfigurationSettings' : ConfigurationSettings, - 'TaskTypeDetails.ConsistencyCheckTaskDetails' : ConsistencyCheckTaskDetails, - 'FabricSpecificCreateNetworkMappingInput' : FabricSpecificCreateNetworkMappingInput, - 'PolicyProviderSpecificInput' : PolicyProviderSpecificInput, - 'ReplicationProviderSpecificContainerCreationInput' : ReplicationProviderSpecificContainerCreationInput, - 'ReplicationProviderSpecificContainerMappingInput' : ReplicationProviderSpecificContainerMappingInput, - 'RecoveryPlanActionDetails' : RecoveryPlanActionDetails, - 'DisableProtectionProviderSpecificInput' : DisableProtectionProviderSpecificInput, - 'EnableProtectionProviderSpecificInput' : EnableProtectionProviderSpecificInput, - 'EventProviderSpecificDetails' : EventProviderSpecificDetails, - 'EventSpecificDetails' : EventSpecificDetails, - 'JobDetails.ExportJobDetails' : ExportJobDetails, - 'FabricSpecificDetails' : FabricSpecificDetails, - 'FabricSpecificCreationInput' : FabricSpecificCreationInput, - 'TaskTypeDetails.FabricReplicationGroupTaskDetails' : FabricReplicationGroupTaskDetails, - 'FabricSpecificUpdateNetworkMappingInput' : FabricSpecificUpdateNetworkMappingInput, - 'JobDetails.FailoverJobDetails' : FailoverJobDetails, - 'EventProviderSpecificDetails.HyperVReplica2012' : HyperVReplica2012EventDetails, - 'EventProviderSpecificDetails.HyperVReplica2012R2' : HyperVReplica2012R2EventDetails, - 'ApplyRecoveryPointProviderSpecificInput.HyperVReplicaAzure' : HyperVReplicaAzureApplyRecoveryPointInput, - 'EnableProtectionProviderSpecificInput.HyperVReplicaAzure' : HyperVReplicaAzureEnableProtectionInput, - 'EventProviderSpecificDetails.HyperVReplicaAzure' : HyperVReplicaAzureEventDetails, - 'ProviderSpecificFailoverInput.HyperVReplicaAzureFailback' : HyperVReplicaAzureFailbackProviderInput, - 'ProviderSpecificFailoverInput.HyperVReplicaAzure' : HyperVReplicaAzureFailoverProviderInput, - 'PolicyProviderSpecificDetails.HyperVReplicaAzure' : HyperVReplicaAzurePolicyDetails, - 'PolicyProviderSpecificInput.HyperVReplicaAzure' : HyperVReplicaAzurePolicyInput, - 'ReplicationProviderSpecificSettings.HyperVReplicaAzure' : HyperVReplicaAzureReplicationDetails, - 'ReverseReplicationProviderSpecificInput.HyperVReplicaAzure' : HyperVReplicaAzureReprotectInput, - 'UpdateReplicationProtectedItemProviderInput.HyperVReplicaAzure' : HyperVReplicaAzureUpdateReplicationProtectedItemInput, - 'EventProviderSpecificDetails.HyperVReplicaBaseEventDetails' : HyperVReplicaBaseEventDetails, - 'PolicyProviderSpecificDetails.HyperVReplicaBasePolicyDetails' : HyperVReplicaBasePolicyDetails, - 'ReplicationProviderSpecificSettings.HyperVReplicaBaseReplicationDetails' : HyperVReplicaBaseReplicationDetails, - 'PolicyProviderSpecificDetails.HyperVReplica2012R2' : HyperVReplicaBluePolicyDetails, - 'PolicyProviderSpecificInput.HyperVReplica2012R2' : HyperVReplicaBluePolicyInput, - 'ReplicationProviderSpecificSettings.HyperVReplica2012R2' : HyperVReplicaBlueReplicationDetails, - 'PolicyProviderSpecificDetails.HyperVReplica2012' : HyperVReplicaPolicyDetails, - 'PolicyProviderSpecificInput.HyperVReplica2012' : HyperVReplicaPolicyInput, - 'ReplicationProviderSpecificSettings.HyperVReplica2012' : HyperVReplicaReplicationDetails, - 'FabricSpecificDetails.HyperVSite' : HyperVSiteDetails, - 'ConfigurationSettings.HyperVVirtualMachine' : HyperVVirtualMachineDetails, - 'GroupTaskDetails.InlineWorkflowTaskDetails' : InlineWorkflowTaskDetails, - 'ApplyRecoveryPointProviderSpecificInput.InMageAzureV2' : InMageAzureV2ApplyRecoveryPointInput, - 'EnableProtectionProviderSpecificInput.InMageAzureV2' : InMageAzureV2EnableProtectionInput, - 'EventProviderSpecificDetails.InMageAzureV2' : InMageAzureV2EventDetails, - 'ProviderSpecificFailoverInput.InMageAzureV2' : InMageAzureV2FailoverProviderInput, - 'PolicyProviderSpecificDetails.InMageAzureV2' : InMageAzureV2PolicyDetails, - 'PolicyProviderSpecificInput.InMageAzureV2' : InMageAzureV2PolicyInput, - 'ProviderSpecificRecoveryPointDetails.InMageAzureV2' : InMageAzureV2RecoveryPointDetails, - 'ReplicationProviderSpecificSettings.InMageAzureV2' : InMageAzureV2ReplicationDetails, - 'ReverseReplicationProviderSpecificInput.InMageAzureV2' : InMageAzureV2ReprotectInput, - 'UpdateReplicationProtectedItemProviderInput.InMageAzureV2' : InMageAzureV2UpdateReplicationProtectedItemInput, - 'PolicyProviderSpecificDetails.InMageBasePolicyDetails' : InMageBasePolicyDetails, - 'DisableProtectionProviderSpecificInput.InMage' : InMageDisableProtectionProviderSpecificInput, - 'EnableProtectionProviderSpecificInput.InMage' : InMageEnableProtectionInput, - 'ProviderSpecificFailoverInput.InMage' : InMageFailoverProviderInput, - 'PolicyProviderSpecificDetails.InMage' : InMagePolicyDetails, - 'PolicyProviderSpecificInput.InMage' : InMagePolicyInput, - 'ReplicationProviderSpecificSettings.InMage' : InMageReplicationDetails, - 'ReverseReplicationProviderSpecificInput.InMage' : InMageReprotectInput, - 'JobDetails' : JobDetails, - 'EventSpecificDetails.JobStatus' : JobStatusEventDetails, - 'TaskTypeDetails.JobTaskDetails' : JobTaskDetails, - 'TaskTypeDetails.ManualActionTaskDetails' : ManualActionTaskDetails, - 'NetworkMappingFabricSpecificSettings' : NetworkMappingFabricSpecificSettings, - 'ProviderSpecificFailoverInput' : ProviderSpecificFailoverInput, - 'PolicyProviderSpecificDetails' : PolicyProviderSpecificDetails, - 'ProtectionContainerMappingProviderSpecificDetails' : ProtectionContainerMappingProviderSpecificDetails, - 'ProviderSpecificRecoveryPointDetails' : ProviderSpecificRecoveryPointDetails, - 'PolicyProviderSpecificDetails.RcmAzureMigration' : RcmAzureMigrationPolicyDetails, - 'RecoveryPlanProviderSpecificFailoverInput.A2A' : RecoveryPlanA2AFailoverInput, - 'RecoveryPlanActionDetails.AutomationRunbookActionDetails' : RecoveryPlanAutomationRunbookActionDetails, - 'GroupTaskDetails.RecoveryPlanGroupTaskDetails' : RecoveryPlanGroupTaskDetails, - 'RecoveryPlanProviderSpecificFailoverInput.HyperVReplicaAzureFailback' : RecoveryPlanHyperVReplicaAzureFailbackInput, - 'RecoveryPlanProviderSpecificFailoverInput.HyperVReplicaAzure' : RecoveryPlanHyperVReplicaAzureFailoverInput, - 'RecoveryPlanProviderSpecificFailoverInput.InMageAzureV2' : RecoveryPlanInMageAzureV2FailoverInput, - 'RecoveryPlanProviderSpecificFailoverInput.InMage' : RecoveryPlanInMageFailoverInput, - 'RecoveryPlanActionDetails.ManualActionDetails' : RecoveryPlanManualActionDetails, - 'RecoveryPlanProviderSpecificFailoverInput' : RecoveryPlanProviderSpecificFailoverInput, - 'RecoveryPlanActionDetails.ScriptActionDetails' : RecoveryPlanScriptActionDetails, - 'GroupTaskDetails.RecoveryPlanShutdownGroupTaskDetails' : RecoveryPlanShutdownGroupTaskDetails, - 'ConfigurationSettings.ReplicationGroupDetails' : ReplicationGroupDetails, - 'ReplicationProviderSpecificSettings' : ReplicationProviderSpecificSettings, - 'ReplicationProviderSpecificUpdateContainerMappingInput' : ReplicationProviderSpecificUpdateContainerMappingInput, - 'ReverseReplicationProviderSpecificInput' : ReverseReplicationProviderSpecificInput, - 'EnableProtectionProviderSpecificInput.San' : SanEnableProtectionInput, - 'TaskTypeDetails.ScriptActionTaskDetails' : ScriptActionTaskDetails, - 'SwitchProtectionProviderSpecificInput' : SwitchProtectionProviderSpecificInput, - 'JobDetails.SwitchProtectionJobDetails' : SwitchProtectionJobDetails, - 'JobDetails.TestFailoverJobDetails' : TestFailoverJobDetails, - 'UpdateReplicationProtectedItemProviderInput' : UpdateReplicationProtectedItemProviderInput, - 'TaskTypeDetails.VirtualMachineTaskDetails' : VirtualMachineTaskDetails, - 'FabricSpecificDetails.VMM' : VmmDetails, - 'FabricSpecificCreateNetworkMappingInput.VmmToAzure' : VmmToAzureCreateNetworkMappingInput, - 'NetworkMappingFabricSpecificSettings.VmmToAzure' : VmmToAzureNetworkMappingSettings, - 'FabricSpecificUpdateNetworkMappingInput.VmmToAzure' : VmmToAzureUpdateNetworkMappingInput, - 'FabricSpecificCreateNetworkMappingInput.VmmToVmm' : VmmToVmmCreateNetworkMappingInput, - 'NetworkMappingFabricSpecificSettings.VmmToVmm' : VmmToVmmNetworkMappingSettings, - 'FabricSpecificUpdateNetworkMappingInput.VmmToVmm' : VmmToVmmUpdateNetworkMappingInput, - 'ConfigurationSettings.VmmVirtualMachine' : VmmVirtualMachineDetails, - 'TaskTypeDetails.VmNicUpdatesTaskDetails' : VmNicUpdatesTaskDetails, - 'PolicyProviderSpecificInput.VMwareCbt' : VMwareCbtPolicyCreationInput, - 'PolicyProviderSpecificDetails.VMwareCbt' : VmwareCbtPolicyDetails, - 'FabricSpecificDetails.VMware' : VMwareDetails, - 'FabricSpecificCreationInput.VMwareV2' : VMwareV2FabricCreationInput, - 'FabricSpecificDetails.VMwareV2' : VMwareV2FabricSpecificDetails, - 'ConfigurationSettings.VMwareVirtualMachine' : VMwareVirtualMachineDetails +export let discriminators = { + ApplianceSpecificDetails: ApplianceSpecificDetails, + EventProviderSpecificDetails: EventProviderSpecificDetails, + EventSpecificDetails: EventSpecificDetails, + FabricSpecificDetails: FabricSpecificDetails, + FabricSpecificCreationInput: FabricSpecificCreationInput, + NetworkMappingFabricSpecificSettings: NetworkMappingFabricSpecificSettings, + FabricSpecificCreateNetworkMappingInput: FabricSpecificCreateNetworkMappingInput, + FabricSpecificUpdateNetworkMappingInput: FabricSpecificUpdateNetworkMappingInput, + ReplicationProviderSpecificContainerCreationInput: ReplicationProviderSpecificContainerCreationInput, + MigrationProviderSpecificSettings: MigrationProviderSpecificSettings, + EnableMigrationProviderSpecificInput: EnableMigrationProviderSpecificInput, + UpdateMigrationItemProviderSpecificInput: UpdateMigrationItemProviderSpecificInput, + MigrateProviderSpecificInput: MigrateProviderSpecificInput, + ResyncProviderSpecificInput: ResyncProviderSpecificInput, + TestMigrateProviderSpecificInput: TestMigrateProviderSpecificInput, + ConfigurationSettings: ConfigurationSettings, + ReplicationProviderSpecificSettings: ReplicationProviderSpecificSettings, + EnableProtectionProviderSpecificInput: EnableProtectionProviderSpecificInput, + UpdateReplicationProtectedItemProviderInput: UpdateReplicationProtectedItemProviderInput, + AddDisksProviderSpecificInput: AddDisksProviderSpecificInput, + ApplyRecoveryPointProviderSpecificInput: ApplyRecoveryPointProviderSpecificInput, + PlannedFailoverProviderSpecificFailoverInput: PlannedFailoverProviderSpecificFailoverInput, + ProviderSpecificRecoveryPointDetails: ProviderSpecificRecoveryPointDetails, + DisableProtectionProviderSpecificInput: DisableProtectionProviderSpecificInput, + RemoveDisksProviderSpecificInput: RemoveDisksProviderSpecificInput, + ReverseReplicationProviderSpecificInput: ReverseReplicationProviderSpecificInput, + SwitchProviderSpecificInput: SwitchProviderSpecificInput, + TestFailoverProviderSpecificInput: TestFailoverProviderSpecificInput, + UnplannedFailoverProviderSpecificInput: UnplannedFailoverProviderSpecificInput, + UpdateApplianceForReplicationProtectedItemProviderSpecificInput: UpdateApplianceForReplicationProtectedItemProviderSpecificInput, + ProtectionContainerMappingProviderSpecificDetails: ProtectionContainerMappingProviderSpecificDetails, + ReplicationProviderSpecificContainerMappingInput: ReplicationProviderSpecificContainerMappingInput, + ReplicationProviderSpecificUpdateContainerMappingInput: ReplicationProviderSpecificUpdateContainerMappingInput, + SwitchProtectionProviderSpecificInput: SwitchProtectionProviderSpecificInput, + TaskTypeDetails: TaskTypeDetails, + GroupTaskDetails: GroupTaskDetails, + JobDetails: JobDetails, + PolicyProviderSpecificDetails: PolicyProviderSpecificDetails, + PolicyProviderSpecificInput: PolicyProviderSpecificInput, + ReplicationProtectionIntentProviderSpecificSettings: ReplicationProtectionIntentProviderSpecificSettings, + CreateProtectionIntentProviderSpecificDetails: CreateProtectionIntentProviderSpecificDetails, + RecoveryPlanActionDetails: RecoveryPlanActionDetails, + RecoveryPlanProviderSpecificDetails: RecoveryPlanProviderSpecificDetails, + RecoveryPlanProviderSpecificInput: RecoveryPlanProviderSpecificInput, + RecoveryPlanProviderSpecificFailoverInput: RecoveryPlanProviderSpecificFailoverInput, + ProtectionProfileCustomDetails: ProtectionProfileCustomDetails, + StorageAccountCustomDetails: StorageAccountCustomDetails, + RecoveryAvailabilitySetCustomDetails: RecoveryAvailabilitySetCustomDetails, + RecoveryVirtualNetworkCustomDetails: RecoveryVirtualNetworkCustomDetails, + RecoveryProximityPlacementGroupCustomDetails: RecoveryProximityPlacementGroupCustomDetails, + RecoveryResourceGroupCustomDetails: RecoveryResourceGroupCustomDetails, + "ApplianceSpecificDetails.InMageRcm": InMageRcmApplianceSpecificDetails, + "EventProviderSpecificDetails.A2A": A2AEventDetails, + "EventProviderSpecificDetails.HyperVReplica2012": HyperVReplica2012EventDetails, + "EventProviderSpecificDetails.HyperVReplica2012R2": HyperVReplica2012R2EventDetails, + "EventProviderSpecificDetails.HyperVReplicaAzure": HyperVReplicaAzureEventDetails, + "EventProviderSpecificDetails.HyperVReplicaBaseEventDetails": HyperVReplicaBaseEventDetails, + "EventProviderSpecificDetails.InMageAzureV2": InMageAzureV2EventDetails, + "EventProviderSpecificDetails.InMageRcm": InMageRcmEventDetails, + "EventProviderSpecificDetails.InMageRcmFailback": InMageRcmFailbackEventDetails, + "EventProviderSpecificDetails.VMwareCbt": VMwareCbtEventDetails, + "EventSpecificDetails.JobStatus": JobStatusEventDetails, + "FabricSpecificDetails.Azure": AzureFabricSpecificDetails, + "FabricSpecificDetails.HyperVSite": HyperVSiteDetails, + "FabricSpecificDetails.InMageRcm": InMageRcmFabricSpecificDetails, + "FabricSpecificDetails.VMM": VmmDetails, + "FabricSpecificDetails.VMware": VMwareDetails, + "FabricSpecificDetails.VMwareV2": VMwareV2FabricSpecificDetails, + "FabricSpecificCreationInput.Azure": AzureFabricCreationInput, + "FabricSpecificCreationInput.InMageRcm": InMageRcmFabricCreationInput, + "FabricSpecificCreationInput.VMwareV2": VMwareV2FabricCreationInput, + "NetworkMappingFabricSpecificSettings.AzureToAzure": AzureToAzureNetworkMappingSettings, + "NetworkMappingFabricSpecificSettings.VmmToAzure": VmmToAzureNetworkMappingSettings, + "NetworkMappingFabricSpecificSettings.VmmToVmm": VmmToVmmNetworkMappingSettings, + "FabricSpecificCreateNetworkMappingInput.AzureToAzure": AzureToAzureCreateNetworkMappingInput, + "FabricSpecificCreateNetworkMappingInput.VmmToAzure": VmmToAzureCreateNetworkMappingInput, + "FabricSpecificCreateNetworkMappingInput.VmmToVmm": VmmToVmmCreateNetworkMappingInput, + "FabricSpecificUpdateNetworkMappingInput.AzureToAzure": AzureToAzureUpdateNetworkMappingInput, + "FabricSpecificUpdateNetworkMappingInput.VmmToAzure": VmmToAzureUpdateNetworkMappingInput, + "FabricSpecificUpdateNetworkMappingInput.VmmToVmm": VmmToVmmUpdateNetworkMappingInput, + "ReplicationProviderSpecificContainerCreationInput.A2A": A2AContainerCreationInput, + "ReplicationProviderSpecificContainerCreationInput.A2ACrossClusterMigration": A2ACrossClusterMigrationContainerCreationInput, + "ReplicationProviderSpecificContainerCreationInput.VMwareCbt": VMwareCbtContainerCreationInput, + "MigrationProviderSpecificSettings.VMwareCbt": VMwareCbtMigrationDetails, + "EnableMigrationProviderSpecificInput.VMwareCbt": VMwareCbtEnableMigrationInput, + "UpdateMigrationItemProviderSpecificInput.VMwareCbt": VMwareCbtUpdateMigrationItemInput, + "MigrateProviderSpecificInput.VMwareCbt": VMwareCbtMigrateInput, + "ResyncProviderSpecificInput.VMwareCbt": VMwareCbtResyncInput, + "TestMigrateProviderSpecificInput.VMwareCbt": VMwareCbtTestMigrateInput, + "ConfigurationSettings.HyperVVirtualMachine": HyperVVirtualMachineDetails, + "ConfigurationSettings.ReplicationGroupDetails": ReplicationGroupDetails, + "ConfigurationSettings.VMwareVirtualMachine": VMwareVirtualMachineDetails, + "ReplicationProviderSpecificSettings.A2ACrossClusterMigration": A2ACrossClusterMigrationReplicationDetails, + "ReplicationProviderSpecificSettings.A2A": A2AReplicationDetails, + "ReplicationProviderSpecificSettings.HyperVReplicaAzure": HyperVReplicaAzureReplicationDetails, + "ReplicationProviderSpecificSettings.HyperVReplicaBaseReplicationDetails": HyperVReplicaBaseReplicationDetails, + "ReplicationProviderSpecificSettings.HyperVReplica2012R2": HyperVReplicaBlueReplicationDetails, + "ReplicationProviderSpecificSettings.HyperVReplica2012": HyperVReplicaReplicationDetails, + "ReplicationProviderSpecificSettings.InMageAzureV2": InMageAzureV2ReplicationDetails, + "ReplicationProviderSpecificSettings.InMageRcmFailback": InMageRcmFailbackReplicationDetails, + "ReplicationProviderSpecificSettings.InMageRcm": InMageRcmReplicationDetails, + "ReplicationProviderSpecificSettings.InMage": InMageReplicationDetails, + "EnableProtectionProviderSpecificInput.A2ACrossClusterMigration": A2ACrossClusterMigrationEnableProtectionInput, + "EnableProtectionProviderSpecificInput.A2A": A2AEnableProtectionInput, + "EnableProtectionProviderSpecificInput.HyperVReplicaAzure": HyperVReplicaAzureEnableProtectionInput, + "EnableProtectionProviderSpecificInput.InMageAzureV2": InMageAzureV2EnableProtectionInput, + "EnableProtectionProviderSpecificInput.InMage": InMageEnableProtectionInput, + "EnableProtectionProviderSpecificInput.InMageRcm": InMageRcmEnableProtectionInput, + "UpdateReplicationProtectedItemProviderInput.A2A": A2AUpdateReplicationProtectedItemInput, + "UpdateReplicationProtectedItemProviderInput.HyperVReplicaAzure": HyperVReplicaAzureUpdateReplicationProtectedItemInput, + "UpdateReplicationProtectedItemProviderInput.InMageAzureV2": InMageAzureV2UpdateReplicationProtectedItemInput, + "UpdateReplicationProtectedItemProviderInput.InMageRcm": InMageRcmUpdateReplicationProtectedItemInput, + "AddDisksProviderSpecificInput.A2A": A2AAddDisksInput, + "ApplyRecoveryPointProviderSpecificInput.A2A": A2AApplyRecoveryPointInput, + "ApplyRecoveryPointProviderSpecificInput.A2ACrossClusterMigration": A2ACrossClusterMigrationApplyRecoveryPointInput, + "ApplyRecoveryPointProviderSpecificInput.HyperVReplicaAzure": HyperVReplicaAzureApplyRecoveryPointInput, + "ApplyRecoveryPointProviderSpecificInput.InMageAzureV2": InMageAzureV2ApplyRecoveryPointInput, + "ApplyRecoveryPointProviderSpecificInput.InMageRcm": InMageRcmApplyRecoveryPointInput, + "PlannedFailoverProviderSpecificFailoverInput.HyperVReplicaAzureFailback": HyperVReplicaAzureFailbackProviderInput, + "PlannedFailoverProviderSpecificFailoverInput.HyperVReplicaAzure": HyperVReplicaAzurePlannedFailoverProviderInput, + "PlannedFailoverProviderSpecificFailoverInput.InMageRcmFailback": InMageRcmFailbackPlannedFailoverProviderInput, + "ProviderSpecificRecoveryPointDetails.A2A": A2ARecoveryPointDetails, + "ProviderSpecificRecoveryPointDetails.InMageAzureV2": InMageAzureV2RecoveryPointDetails, + "ProviderSpecificRecoveryPointDetails.InMageRcm": InMageRcmRecoveryPointDetails, + "DisableProtectionProviderSpecificInput.InMage": InMageDisableProtectionProviderSpecificInput, + "RemoveDisksProviderSpecificInput.A2A": A2ARemoveDisksInput, + "ReverseReplicationProviderSpecificInput.A2A": A2AReprotectInput, + "ReverseReplicationProviderSpecificInput.HyperVReplicaAzure": HyperVReplicaAzureReprotectInput, + "ReverseReplicationProviderSpecificInput.InMageAzureV2": InMageAzureV2ReprotectInput, + "ReverseReplicationProviderSpecificInput.InMageRcmFailback": InMageRcmFailbackReprotectInput, + "ReverseReplicationProviderSpecificInput.InMageRcm": InMageRcmReprotectInput, + "ReverseReplicationProviderSpecificInput.InMage": InMageReprotectInput, + "SwitchProviderSpecificInput.InMageAzureV2": InMageAzureV2SwitchProviderInput, + "TestFailoverProviderSpecificInput.A2A": A2ATestFailoverInput, + "TestFailoverProviderSpecificInput.HyperVReplicaAzure": HyperVReplicaAzureTestFailoverInput, + "TestFailoverProviderSpecificInput.InMageAzureV2": InMageAzureV2TestFailoverInput, + "TestFailoverProviderSpecificInput.InMageRcm": InMageRcmTestFailoverInput, + "TestFailoverProviderSpecificInput.InMage": InMageTestFailoverInput, + "UnplannedFailoverProviderSpecificInput.A2A": A2AUnplannedFailoverInput, + "UnplannedFailoverProviderSpecificInput.HyperVReplicaAzure": HyperVReplicaAzureUnplannedFailoverInput, + "UnplannedFailoverProviderSpecificInput.InMageAzureV2": InMageAzureV2UnplannedFailoverInput, + "UnplannedFailoverProviderSpecificInput.InMageRcm": InMageRcmUnplannedFailoverInput, + "UnplannedFailoverProviderSpecificInput.InMage": InMageUnplannedFailoverInput, + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput.InMageRcm": InMageRcmUpdateApplianceForReplicationProtectedItemInput, + "ProtectionContainerMappingProviderSpecificDetails.A2A": A2AProtectionContainerMappingDetails, + "ProtectionContainerMappingProviderSpecificDetails.InMageRcm": InMageRcmProtectionContainerMappingDetails, + "ProtectionContainerMappingProviderSpecificDetails.VMwareCbt": VMwareCbtProtectionContainerMappingDetails, + "ReplicationProviderSpecificContainerMappingInput.A2A": A2AContainerMappingInput, + "ReplicationProviderSpecificContainerMappingInput.VMwareCbt": VMwareCbtContainerMappingInput, + "ReplicationProviderSpecificUpdateContainerMappingInput.A2A": A2AUpdateContainerMappingInput, + "ReplicationProviderSpecificUpdateContainerMappingInput.InMageRcm": InMageRcmUpdateContainerMappingInput, + "SwitchProtectionProviderSpecificInput.A2A": A2ASwitchProtectionInput, + "TaskTypeDetails.AutomationRunbookTaskDetails": AutomationRunbookTaskDetails, + "TaskTypeDetails.ConsistencyCheckTaskDetails": ConsistencyCheckTaskDetails, + "TaskTypeDetails.JobTaskDetails": JobTaskDetails, + "TaskTypeDetails.ManualActionTaskDetails": ManualActionTaskDetails, + "TaskTypeDetails.ScriptActionTaskDetails": ScriptActionTaskDetails, + "TaskTypeDetails.VmNicUpdatesTaskDetails": VmNicUpdatesTaskDetails, + "GroupTaskDetails.InlineWorkflowTaskDetails": InlineWorkflowTaskDetails, + "GroupTaskDetails.RecoveryPlanGroupTaskDetails": RecoveryPlanGroupTaskDetails, + "JobDetails.AsrJobDetails": AsrJobDetails, + "JobDetails.ExportJobDetails": ExportJobDetails, + "JobDetails.FailoverJobDetails": FailoverJobDetails, + "JobDetails.SwitchProtectionJobDetails": SwitchProtectionJobDetails, + "JobDetails.TestFailoverJobDetails": TestFailoverJobDetails, + "PolicyProviderSpecificDetails.A2A": A2APolicyDetails, + "PolicyProviderSpecificDetails.HyperVReplicaAzure": HyperVReplicaAzurePolicyDetails, + "PolicyProviderSpecificDetails.HyperVReplicaBasePolicyDetails": HyperVReplicaBasePolicyDetails, + "PolicyProviderSpecificDetails.HyperVReplica2012R2": HyperVReplicaBluePolicyDetails, + "PolicyProviderSpecificDetails.HyperVReplica2012": HyperVReplicaPolicyDetails, + "PolicyProviderSpecificDetails.InMageAzureV2": InMageAzureV2PolicyDetails, + "PolicyProviderSpecificDetails.InMageBasePolicyDetails": InMageBasePolicyDetails, + "PolicyProviderSpecificDetails.InMage": InMagePolicyDetails, + "PolicyProviderSpecificDetails.InMageRcmFailback": InMageRcmFailbackPolicyDetails, + "PolicyProviderSpecificDetails.InMageRcm": InMageRcmPolicyDetails, + "PolicyProviderSpecificDetails.VMwareCbt": VmwareCbtPolicyDetails, + "PolicyProviderSpecificInput.A2ACrossClusterMigration": A2ACrossClusterMigrationPolicyCreationInput, + "PolicyProviderSpecificInput.A2A": A2APolicyCreationInput, + "PolicyProviderSpecificInput.HyperVReplicaAzure": HyperVReplicaAzurePolicyInput, + "PolicyProviderSpecificInput.HyperVReplica2012": HyperVReplicaPolicyInput, + "PolicyProviderSpecificInput.InMageAzureV2": InMageAzureV2PolicyInput, + "PolicyProviderSpecificInput.InMage": InMagePolicyInput, + "PolicyProviderSpecificInput.InMageRcmFailback": InMageRcmFailbackPolicyCreationInput, + "PolicyProviderSpecificInput.InMageRcm": InMageRcmPolicyCreationInput, + "PolicyProviderSpecificInput.VMwareCbt": VMwareCbtPolicyCreationInput, + "ReplicationProtectionIntentProviderSpecificSettings.A2A": A2AReplicationIntentDetails, + "CreateProtectionIntentProviderSpecificDetails.A2A": A2ACreateProtectionIntentInput, + "RecoveryPlanActionDetails.AutomationRunbookActionDetails": RecoveryPlanAutomationRunbookActionDetails, + "RecoveryPlanActionDetails.ManualActionDetails": RecoveryPlanManualActionDetails, + "RecoveryPlanActionDetails.ScriptActionDetails": RecoveryPlanScriptActionDetails, + "RecoveryPlanProviderSpecificDetails.A2A": RecoveryPlanA2ADetails, + "RecoveryPlanProviderSpecificInput.A2A": RecoveryPlanA2AInput, + "RecoveryPlanProviderSpecificFailoverInput.A2A": RecoveryPlanA2AFailoverInput, + "RecoveryPlanProviderSpecificFailoverInput.HyperVReplicaAzureFailback": RecoveryPlanHyperVReplicaAzureFailbackInput, + "RecoveryPlanProviderSpecificFailoverInput.HyperVReplicaAzure": RecoveryPlanHyperVReplicaAzureFailoverInput, + "RecoveryPlanProviderSpecificFailoverInput.InMageAzureV2": RecoveryPlanInMageAzureV2FailoverInput, + "RecoveryPlanProviderSpecificFailoverInput.InMage": RecoveryPlanInMageFailoverInput, + "RecoveryPlanProviderSpecificFailoverInput.InMageRcmFailback": RecoveryPlanInMageRcmFailbackFailoverInput, + "RecoveryPlanProviderSpecificFailoverInput.InMageRcm": RecoveryPlanInMageRcmFailoverInput, + "ProtectionProfileCustomDetails.Existing": ExistingProtectionProfile, + "ProtectionProfileCustomDetails.New": NewProtectionProfile, + "StorageAccountCustomDetails.Existing": ExistingStorageAccount, + "RecoveryAvailabilitySetCustomDetails.Existing": ExistingRecoveryAvailabilitySet, + "RecoveryVirtualNetworkCustomDetails.Existing": ExistingRecoveryVirtualNetwork, + "RecoveryVirtualNetworkCustomDetails.New": NewRecoveryVirtualNetwork, + "RecoveryProximityPlacementGroupCustomDetails.Existing": ExistingRecoveryProximityPlacementGroup, + "RecoveryResourceGroupCustomDetails.Existing": ExistingRecoveryResourceGroup, + "ConfigurationSettings.VmmVirtualMachine": VmmVirtualMachineDetails, + "TaskTypeDetails.FabricReplicationGroupTaskDetails": FabricReplicationGroupTaskDetails, + "TaskTypeDetails.VirtualMachineTaskDetails": VirtualMachineTaskDetails, + "GroupTaskDetails.RecoveryPlanShutdownGroupTaskDetails": RecoveryPlanShutdownGroupTaskDetails, + "PolicyProviderSpecificInput.HyperVReplica2012R2": HyperVReplicaBluePolicyInput }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/operationsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/operationsMappers.ts deleted file mode 100644 index c542566c0253..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/operationsMappers.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - OperationsDiscoveryCollection, - OperationsDiscovery, - Display, - CloudError -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts index a7bf383ee3f7..c26ea21e6257 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts @@ -1,70 +1,179 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; +import { + OperationParameter, + OperationURLParameter, + OperationQueryParameter +} from "@azure/core-client"; +import { + ConfigureAlertRequest as ConfigureAlertRequestMapper, + FabricCreationInput as FabricCreationInputMapper, + FailoverProcessServerRequest as FailoverProcessServerRequestMapper, + RenewCertificateInput as RenewCertificateInputMapper, + CreateNetworkMappingInput as CreateNetworkMappingInputMapper, + UpdateNetworkMappingInput as UpdateNetworkMappingInputMapper, + CreateProtectionContainerInput as CreateProtectionContainerInputMapper, + DiscoverProtectableItemRequest as DiscoverProtectableItemRequestMapper, + SwitchProtectionInput as SwitchProtectionInputMapper, + EnableMigrationInput as EnableMigrationInputMapper, + UpdateMigrationItemInput as UpdateMigrationItemInputMapper, + MigrateInput as MigrateInputMapper, + ResyncInput as ResyncInputMapper, + TestMigrateInput as TestMigrateInputMapper, + TestMigrateCleanupInput as TestMigrateCleanupInputMapper, + EnableProtectionInput as EnableProtectionInputMapper, + UpdateReplicationProtectedItemInput as UpdateReplicationProtectedItemInputMapper, + AddDisksInput as AddDisksInputMapper, + ApplyRecoveryPointInput as ApplyRecoveryPointInputMapper, + PlannedFailoverInput as PlannedFailoverInputMapper, + DisableProtectionInput as DisableProtectionInputMapper, + RemoveDisksInput as RemoveDisksInputMapper, + ReverseReplicationInput as ReverseReplicationInputMapper, + ResolveHealthInput as ResolveHealthInputMapper, + SwitchProviderInput as SwitchProviderInputMapper, + TestFailoverInput as TestFailoverInputMapper, + TestFailoverCleanupInput as TestFailoverCleanupInputMapper, + UnplannedFailoverInput as UnplannedFailoverInputMapper, + UpdateApplianceForReplicationProtectedItemInput as UpdateApplianceForReplicationProtectedItemInputMapper, + UpdateMobilityServiceRequest as UpdateMobilityServiceRequestMapper, + CreateProtectionContainerMappingInput as CreateProtectionContainerMappingInputMapper, + UpdateProtectionContainerMappingInput as UpdateProtectionContainerMappingInputMapper, + RemoveProtectionContainerMappingInput as RemoveProtectionContainerMappingInputMapper, + AddRecoveryServicesProviderInput as AddRecoveryServicesProviderInputMapper, + StorageClassificationMappingInput as StorageClassificationMappingInputMapper, + AddVCenterRequest as AddVCenterRequestMapper, + UpdateVCenterRequest as UpdateVCenterRequestMapper, + ResumeJobParams as ResumeJobParamsMapper, + JobQueryParameter as JobQueryParameterMapper, + CreatePolicyInput as CreatePolicyInputMapper, + UpdatePolicyInput as UpdatePolicyInputMapper, + CreateProtectionIntentInput as CreateProtectionIntentInputMapper, + CreateRecoveryPlanInput as CreateRecoveryPlanInputMapper, + UpdateRecoveryPlanInput as UpdateRecoveryPlanInputMapper, + RecoveryPlanPlannedFailoverInput as RecoveryPlanPlannedFailoverInputMapper, + RecoveryPlanTestFailoverInput as RecoveryPlanTestFailoverInputMapper, + RecoveryPlanTestFailoverCleanupInput as RecoveryPlanTestFailoverCleanupInputMapper, + RecoveryPlanUnplannedFailoverInput as RecoveryPlanUnplannedFailoverInputMapper, + VaultSettingCreationInput as VaultSettingCreationInputMapper +} from "../models/mappers"; -export const acceptLanguage: msRest.OperationParameter = { - parameterPath: "acceptLanguage", +export const accept: OperationParameter = { + parameterPath: "accept", mapper: { - serializedName: "accept-language", - defaultValue: 'en-US', + defaultValue: "application/json", + isConstant: true, + serializedName: "Accept", type: { name: "String" } } }; -export const alertSettingName: msRest.OperationURLParameter = { - parameterPath: "alertSettingName", + +export const $host: OperationURLParameter = { + parameterPath: "$host", mapper: { + serializedName: "$host", required: true, - serializedName: "alertSettingName", type: { name: "String" } - } + }, + skipEncoding: true }; -export const apiVersion: msRest.OperationQueryParameter = { + +export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - required: true, + defaultValue: "2021-12-01", + isConstant: true, serializedName: "api-version", type: { name: "String" } } }; -export const eventName: msRest.OperationURLParameter = { - parameterPath: "eventName", + +export const resourceGroupName: OperationURLParameter = { + parameterPath: "resourceGroupName", mapper: { + serializedName: "resourceGroupName", required: true, - serializedName: "eventName", type: { name: "String" } } }; -export const fabricName: msRest.OperationURLParameter = { - parameterPath: "fabricName", + +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { + serializedName: "subscriptionId", + required: true, + type: { + name: "String" + } + } +}; + +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", + mapper: { + serializedName: "nextLink", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const resourceName: OperationURLParameter = { + parameterPath: "resourceName", + mapper: { + serializedName: "resourceName", required: true, - serializedName: "fabricName", type: { name: "String" } } }; -export const filter: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "filter" - ], + +export const alertSettingName: OperationURLParameter = { + parameterPath: "alertSettingName", + mapper: { + serializedName: "alertSettingName", + required: true, + type: { + name: "String" + } + } +}; + +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], + mapper: { + defaultValue: "application/json", + isConstant: true, + serializedName: "Content-Type", + type: { + name: "String" + } + } +}; + +export const request: OperationParameter = { + parameterPath: "request", + mapper: ConfigureAlertRequestMapper +}; + +export const filter: OperationQueryParameter = { + parameterPath: ["options", "filter"], mapper: { serializedName: "$filter", type: { @@ -72,216 +181,556 @@ export const filter: msRest.OperationQueryParameter = { } } }; -export const jobName: msRest.OperationURLParameter = { - parameterPath: "jobName", + +export const virtualMachineName: OperationURLParameter = { + parameterPath: "virtualMachineName", mapper: { + serializedName: "virtualMachineName", required: true, - serializedName: "jobName", type: { name: "String" } } }; -export const logicalNetworkName: msRest.OperationURLParameter = { - parameterPath: "logicalNetworkName", + +export const eventName: OperationURLParameter = { + parameterPath: "eventName", mapper: { + serializedName: "eventName", required: true, + type: { + name: "String" + } + } +}; + +export const fabricName: OperationURLParameter = { + parameterPath: "fabricName", + mapper: { + serializedName: "fabricName", + required: true, + type: { + name: "String" + } + } +}; + +export const input: OperationParameter = { + parameterPath: "input", + mapper: FabricCreationInputMapper +}; + +export const failoverProcessServerRequest: OperationParameter = { + parameterPath: "failoverProcessServerRequest", + mapper: FailoverProcessServerRequestMapper +}; + +export const renewCertificate: OperationParameter = { + parameterPath: "renewCertificate", + mapper: RenewCertificateInputMapper +}; + +export const logicalNetworkName: OperationURLParameter = { + parameterPath: "logicalNetworkName", + mapper: { serializedName: "logicalNetworkName", + required: true, type: { name: "String" } } }; -export const mappingName: msRest.OperationURLParameter = { - parameterPath: "mappingName", + +export const networkName: OperationURLParameter = { + parameterPath: "networkName", mapper: { + serializedName: "networkName", required: true, - serializedName: "mappingName", type: { name: "String" } } }; -export const networkMappingName: msRest.OperationURLParameter = { + +export const networkMappingName: OperationURLParameter = { parameterPath: "networkMappingName", mapper: { - required: true, serializedName: "networkMappingName", + required: true, type: { name: "String" } } }; -export const networkName: msRest.OperationURLParameter = { - parameterPath: "networkName", + +export const input1: OperationParameter = { + parameterPath: "input", + mapper: CreateNetworkMappingInputMapper +}; + +export const input2: OperationParameter = { + parameterPath: "input", + mapper: UpdateNetworkMappingInputMapper +}; + +export const protectionContainerName: OperationURLParameter = { + parameterPath: "protectionContainerName", mapper: { + serializedName: "protectionContainerName", required: true, - serializedName: "networkName", type: { name: "String" } } }; -export const nextPageLink: msRest.OperationURLParameter = { - parameterPath: "nextPageLink", + +export const creationInput: OperationParameter = { + parameterPath: "creationInput", + mapper: CreateProtectionContainerInputMapper +}; + +export const discoverProtectableItemRequest: OperationParameter = { + parameterPath: "discoverProtectableItemRequest", + mapper: DiscoverProtectableItemRequestMapper +}; + +export const switchInput: OperationParameter = { + parameterPath: "switchInput", + mapper: SwitchProtectionInputMapper +}; + +export const skipToken: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], + mapper: { + serializedName: "skipToken", + type: { + name: "String" + } + } +}; + +export const takeToken: OperationQueryParameter = { + parameterPath: ["options", "takeToken"], mapper: { + serializedName: "takeToken", + type: { + name: "String" + } + } +}; + +export const migrationItemName: OperationURLParameter = { + parameterPath: "migrationItemName", + mapper: { + serializedName: "migrationItemName", required: true, - serializedName: "nextLink", type: { name: "String" } - }, - skipEncoding: true + } }; -export const policyName: msRest.OperationURLParameter = { - parameterPath: "policyName", + +export const input3: OperationParameter = { + parameterPath: "input", + mapper: EnableMigrationInputMapper +}; + +export const deleteOption: OperationQueryParameter = { + parameterPath: ["options", "deleteOption"], + mapper: { + serializedName: "deleteOption", + type: { + name: "String" + } + } +}; + +export const input4: OperationParameter = { + parameterPath: "input", + mapper: UpdateMigrationItemInputMapper +}; + +export const migrateInput: OperationParameter = { + parameterPath: "migrateInput", + mapper: MigrateInputMapper +}; + +export const input5: OperationParameter = { + parameterPath: "input", + mapper: ResyncInputMapper +}; + +export const testMigrateInput: OperationParameter = { + parameterPath: "testMigrateInput", + mapper: TestMigrateInputMapper +}; + +export const testMigrateCleanupInput: OperationParameter = { + parameterPath: "testMigrateCleanupInput", + mapper: TestMigrateCleanupInputMapper +}; + +export const migrationRecoveryPointName: OperationURLParameter = { + parameterPath: "migrationRecoveryPointName", mapper: { + serializedName: "migrationRecoveryPointName", required: true, - serializedName: "policyName", type: { name: "String" } } }; -export const protectableItemName: msRest.OperationURLParameter = { + +export const take: OperationQueryParameter = { + parameterPath: ["options", "take"], + mapper: { + serializedName: "$take", + type: { + name: "String" + } + } +}; + +export const skipToken1: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], + mapper: { + serializedName: "$skipToken", + type: { + name: "String" + } + } +}; + +export const protectableItemName: OperationURLParameter = { parameterPath: "protectableItemName", mapper: { - required: true, serializedName: "protectableItemName", + required: true, type: { name: "String" } } }; -export const protectionContainerName: msRest.OperationURLParameter = { - parameterPath: "protectionContainerName", + +export const replicatedProtectedItemName: OperationURLParameter = { + parameterPath: "replicatedProtectedItemName", mapper: { + serializedName: "replicatedProtectedItemName", required: true, - serializedName: "protectionContainerName", type: { name: "String" } } }; -export const providerName: msRest.OperationURLParameter = { - parameterPath: "providerName", + +export const input6: OperationParameter = { + parameterPath: "input", + mapper: EnableProtectionInputMapper +}; + +export const updateProtectionInput: OperationParameter = { + parameterPath: "updateProtectionInput", + mapper: UpdateReplicationProtectedItemInputMapper +}; + +export const addDisksInput: OperationParameter = { + parameterPath: "addDisksInput", + mapper: AddDisksInputMapper +}; + +export const applyRecoveryPointInput: OperationParameter = { + parameterPath: "applyRecoveryPointInput", + mapper: ApplyRecoveryPointInputMapper +}; + +export const failoverInput: OperationParameter = { + parameterPath: "failoverInput", + mapper: PlannedFailoverInputMapper +}; + +export const disableProtectionInput: OperationParameter = { + parameterPath: "disableProtectionInput", + mapper: DisableProtectionInputMapper +}; + +export const removeDisksInput: OperationParameter = { + parameterPath: "removeDisksInput", + mapper: RemoveDisksInputMapper +}; + +export const reprotectInput: OperationParameter = { + parameterPath: "reprotectInput", + mapper: ReverseReplicationInputMapper +}; + +export const resolveHealthInput: OperationParameter = { + parameterPath: "resolveHealthInput", + mapper: ResolveHealthInputMapper +}; + +export const switchProviderInput: OperationParameter = { + parameterPath: "switchProviderInput", + mapper: SwitchProviderInputMapper +}; + +export const testfailoverInput: OperationParameter = { + parameterPath: "testfailoverInput", + mapper: TestFailoverInputMapper +}; + +export const cleanupInput: OperationParameter = { + parameterPath: "cleanupInput", + mapper: TestFailoverCleanupInputMapper +}; + +export const failoverInput1: OperationParameter = { + parameterPath: "failoverInput", + mapper: UnplannedFailoverInputMapper +}; + +export const applianceUpdateInput: OperationParameter = { + parameterPath: "applianceUpdateInput", + mapper: UpdateApplianceForReplicationProtectedItemInputMapper +}; + +export const updateMobilityServiceRequest: OperationParameter = { + parameterPath: "updateMobilityServiceRequest", + mapper: UpdateMobilityServiceRequestMapper +}; + +export const replicationProtectedItemName: OperationURLParameter = { + parameterPath: "replicationProtectedItemName", mapper: { + serializedName: "replicationProtectedItemName", required: true, - serializedName: "providerName", type: { name: "String" } } }; -export const recoveryPlanName: msRest.OperationURLParameter = { - parameterPath: "recoveryPlanName", + +export const recoveryPointName: OperationURLParameter = { + parameterPath: "recoveryPointName", mapper: { + serializedName: "recoveryPointName", required: true, - serializedName: "recoveryPlanName", type: { name: "String" } } }; -export const recoveryPointName: msRest.OperationURLParameter = { - parameterPath: "recoveryPointName", + +export const mappingName: OperationURLParameter = { + parameterPath: "mappingName", mapper: { + serializedName: "mappingName", required: true, - serializedName: "recoveryPointName", type: { name: "String" } } }; -export const replicatedProtectedItemName: msRest.OperationURLParameter = { - parameterPath: "replicatedProtectedItemName", + +export const creationInput1: OperationParameter = { + parameterPath: "creationInput", + mapper: CreateProtectionContainerMappingInputMapper +}; + +export const updateInput: OperationParameter = { + parameterPath: "updateInput", + mapper: UpdateProtectionContainerMappingInputMapper +}; + +export const removalInput: OperationParameter = { + parameterPath: "removalInput", + mapper: RemoveProtectionContainerMappingInputMapper +}; + +export const providerName: OperationURLParameter = { + parameterPath: "providerName", mapper: { + serializedName: "providerName", required: true, - serializedName: "replicatedProtectedItemName", type: { name: "String" } } }; -export const replicationProtectedItemName: msRest.OperationURLParameter = { - parameterPath: "replicationProtectedItemName", + +export const addProviderInput: OperationParameter = { + parameterPath: "addProviderInput", + mapper: AddRecoveryServicesProviderInputMapper +}; + +export const storageClassificationName: OperationURLParameter = { + parameterPath: "storageClassificationName", mapper: { + serializedName: "storageClassificationName", required: true, - serializedName: "replicationProtectedItemName", type: { name: "String" } } }; -export const resourceGroupName: msRest.OperationURLParameter = { - parameterPath: "resourceGroupName", + +export const storageClassificationMappingName: OperationURLParameter = { + parameterPath: "storageClassificationMappingName", mapper: { + serializedName: "storageClassificationMappingName", required: true, - serializedName: "resourceGroupName", type: { name: "String" } } }; -export const resourceName: msRest.OperationURLParameter = { - parameterPath: "resourceName", + +export const pairingInput: OperationParameter = { + parameterPath: "pairingInput", + mapper: StorageClassificationMappingInputMapper +}; + +export const vcenterName: OperationURLParameter = { + parameterPath: "vcenterName", mapper: { + serializedName: "vcenterName", required: true, - serializedName: "resourceName", type: { name: "String" } } }; -export const skipToken: msRest.OperationQueryParameter = { - parameterPath: [ - "options", - "skipToken" - ], + +export const addVCenterRequest: OperationParameter = { + parameterPath: "addVCenterRequest", + mapper: AddVCenterRequestMapper +}; + +export const updateVCenterRequest: OperationParameter = { + parameterPath: "updateVCenterRequest", + mapper: UpdateVCenterRequestMapper +}; + +export const jobName: OperationURLParameter = { + parameterPath: "jobName", mapper: { - serializedName: "skipToken", + serializedName: "jobName", + required: true, type: { name: "String" } } }; -export const storageClassificationMappingName: msRest.OperationURLParameter = { - parameterPath: "storageClassificationMappingName", + +export const resumeJobParams: OperationParameter = { + parameterPath: "resumeJobParams", + mapper: ResumeJobParamsMapper +}; + +export const jobQueryParameter: OperationParameter = { + parameterPath: "jobQueryParameter", + mapper: JobQueryParameterMapper +}; + +export const policyName: OperationURLParameter = { + parameterPath: "policyName", mapper: { + serializedName: "policyName", required: true, - serializedName: "storageClassificationMappingName", type: { name: "String" } } }; -export const storageClassificationName: msRest.OperationURLParameter = { - parameterPath: "storageClassificationName", + +export const input7: OperationParameter = { + parameterPath: "input", + mapper: CreatePolicyInputMapper +}; + +export const input8: OperationParameter = { + parameterPath: "input", + mapper: UpdatePolicyInputMapper +}; + +export const intentObjectName: OperationURLParameter = { + parameterPath: "intentObjectName", mapper: { + serializedName: "intentObjectName", required: true, - serializedName: "storageClassificationName", type: { name: "String" } } }; -export const subscriptionId: msRest.OperationURLParameter = { - parameterPath: "subscriptionId", + +export const input9: OperationParameter = { + parameterPath: "input", + mapper: CreateProtectionIntentInputMapper +}; + +export const recoveryPlanName: OperationURLParameter = { + parameterPath: "recoveryPlanName", mapper: { + serializedName: "recoveryPlanName", required: true, - serializedName: "subscriptionId", type: { name: "String" } } }; -export const vCenterName: msRest.OperationURLParameter = { - parameterPath: "vCenterName", + +export const input10: OperationParameter = { + parameterPath: "input", + mapper: CreateRecoveryPlanInputMapper +}; + +export const input11: OperationParameter = { + parameterPath: "input", + mapper: UpdateRecoveryPlanInputMapper +}; + +export const input12: OperationParameter = { + parameterPath: "input", + mapper: RecoveryPlanPlannedFailoverInputMapper +}; + +export const input13: OperationParameter = { + parameterPath: "input", + mapper: RecoveryPlanTestFailoverInputMapper +}; + +export const input14: OperationParameter = { + parameterPath: "input", + mapper: RecoveryPlanTestFailoverCleanupInputMapper +}; + +export const input15: OperationParameter = { + parameterPath: "input", + mapper: RecoveryPlanUnplannedFailoverInputMapper +}; + +export const instanceType: OperationQueryParameter = { + parameterPath: ["options", "instanceType"], + mapper: { + serializedName: "instanceType", + type: { + name: "String" + } + } +}; + +export const vaultSettingName: OperationURLParameter = { + parameterPath: "vaultSettingName", mapper: { + serializedName: "vaultSettingName", required: true, - serializedName: "vCenterName", type: { name: "String" } } }; + +export const input16: OperationParameter = { + parameterPath: "input", + mapper: VaultSettingCreationInputMapper +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/recoveryPointsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/recoveryPointsMappers.ts deleted file mode 100644 index e30a369bf270..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/recoveryPointsMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - RecoveryPointCollection, - RecoveryPoint, - Resource, - BaseResource, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - CloudError, - A2ARecoveryPointDetails, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - InMageAzureV2RecoveryPointDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationAlertSettingsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationAlertSettingsMappers.ts deleted file mode 100644 index 9dce3b118fae..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationAlertSettingsMappers.ts +++ /dev/null @@ -1,171 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - AlertCollection, - Alert, - Resource, - BaseResource, - AlertProperties, - CloudError, - ConfigureAlertRequest, - ConfigureAlertRequestProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationEventsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationEventsMappers.ts deleted file mode 100644 index 968fb31ae230..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationEventsMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - EventCollection, - Event, - Resource, - BaseResource, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - CloudError, - A2AEventDetails, - Alert, - AlertProperties, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationFabricsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationFabricsMappers.ts deleted file mode 100644 index eda4dd1cd69e..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationFabricsMappers.ts +++ /dev/null @@ -1,178 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - FabricCollection, - Fabric, - Resource, - BaseResource, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HealthError, - InnerHealthError, - CloudError, - FabricCreationInput, - FabricCreationInputProperties, - FabricSpecificCreationInput, - FailoverProcessServerRequest, - FailoverProcessServerRequestProperties, - RenewCertificateInput, - RenewCertificateInputProperties, - Alert, - AlertProperties, - AzureFabricCreationInput, - AzureFabricSpecificDetails, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricCreationInput, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationJobsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationJobsMappers.ts deleted file mode 100644 index 4c9ce01a06ba..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationJobsMappers.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - JobCollection, - Job, - Resource, - BaseResource, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - CloudError, - ResumeJobParams, - ResumeJobParamsProperties, - JobQueryParameter, - Alert, - AlertProperties, - AsrJobDetails, - AutomationRunbookTaskDetails, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - ExportJobDetails, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - FabricReplicationGroupTaskDetails, - JobEntity, - FailoverJobDetails, - FailoverReplicationProtectedItemDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InlineWorkflowTaskDetails, - InMageAzureV2EventDetails, - JobStatusEventDetails, - JobTaskDetails, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationLogicalNetworksMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationLogicalNetworksMappers.ts deleted file mode 100644 index 6a85fc7ad5b1..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationLogicalNetworksMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - LogicalNetworkCollection, - LogicalNetwork, - Resource, - BaseResource, - LogicalNetworkProperties, - CloudError, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationNetworkMappingsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationNetworkMappingsMappers.ts deleted file mode 100644 index 11655d1ad2bc..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationNetworkMappingsMappers.ts +++ /dev/null @@ -1,181 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - NetworkMappingCollection, - NetworkMapping, - Resource, - BaseResource, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - CloudError, - CreateNetworkMappingInput, - CreateNetworkMappingInputProperties, - FabricSpecificCreateNetworkMappingInput, - UpdateNetworkMappingInput, - UpdateNetworkMappingInputProperties, - FabricSpecificUpdateNetworkMappingInput, - Alert, - AlertProperties, - AzureToAzureCreateNetworkMappingInput, - AzureToAzureNetworkMappingSettings, - AzureToAzureUpdateNetworkMappingInput, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureCreateNetworkMappingInput, - VmmToAzureNetworkMappingSettings, - VmmToAzureUpdateNetworkMappingInput, - VmmToVmmCreateNetworkMappingInput, - VmmToVmmNetworkMappingSettings, - VmmToVmmUpdateNetworkMappingInput, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationNetworksMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationNetworksMappers.ts deleted file mode 100644 index 07da42c72cfb..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationNetworksMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - NetworkCollection, - Network, - Resource, - BaseResource, - NetworkProperties, - Subnet, - CloudError, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationPoliciesMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationPoliciesMappers.ts deleted file mode 100644 index a524c39491c2..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationPoliciesMappers.ts +++ /dev/null @@ -1,181 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - PolicyCollection, - Policy, - Resource, - BaseResource, - PolicyProperties, - PolicyProviderSpecificDetails, - CloudError, - CreatePolicyInput, - CreatePolicyInputProperties, - PolicyProviderSpecificInput, - UpdatePolicyInput, - UpdatePolicyInputProperties, - A2APolicyCreationInput, - A2APolicyDetails, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzurePolicyInput, - HyperVReplicaBaseEventDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBluePolicyInput, - HyperVReplicaPolicyDetails, - HyperVReplicaPolicyInput, - HyperVSiteDetails, - InMageAzureV2EventDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2PolicyInput, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMagePolicyInput, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VMwareCbtPolicyCreationInput, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectableItemsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectableItemsMappers.ts deleted file mode 100644 index b12ec224ec54..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectableItemsMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - ProtectableItemCollection, - ProtectableItem, - Resource, - BaseResource, - ProtectableItemProperties, - ConfigurationSettings, - CloudError, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - HyperVVirtualMachineDetails, - OSDetails, - DiskDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectedItemsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectedItemsMappers.ts deleted file mode 100644 index 9fb7bd5bfa83..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectedItemsMappers.ts +++ /dev/null @@ -1,226 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - ReplicationProtectedItemCollection, - ReplicationProtectedItem, - Resource, - BaseResource, - ReplicationProtectedItemProperties, - HealthError, - InnerHealthError, - CurrentScenarioDetails, - ReplicationProviderSpecificSettings, - CloudError, - EnableProtectionInput, - EnableProtectionInputProperties, - EnableProtectionProviderSpecificInput, - UpdateReplicationProtectedItemInput, - UpdateReplicationProtectedItemInputProperties, - VMNicInputDetails, - UpdateReplicationProtectedItemProviderInput, - ApplyRecoveryPointInput, - ApplyRecoveryPointInputProperties, - ApplyRecoveryPointProviderSpecificInput, - PlannedFailoverInput, - PlannedFailoverInputProperties, - ProviderSpecificFailoverInput, - DisableProtectionInput, - DisableProtectionInputProperties, - DisableProtectionProviderSpecificInput, - ReverseReplicationInput, - ReverseReplicationInputProperties, - ReverseReplicationProviderSpecificInput, - TestFailoverInput, - TestFailoverInputProperties, - TestFailoverCleanupInput, - TestFailoverCleanupInputProperties, - UnplannedFailoverInput, - UnplannedFailoverInputProperties, - UpdateMobilityServiceRequest, - UpdateMobilityServiceRequestProperties, - A2AApplyRecoveryPointInput, - A2AEnableProtectionInput, - A2AVmDiskInputDetails, - A2AVmManagedDiskInputDetails, - DiskEncryptionInfo, - DiskEncryptionKeyInfo, - KeyEncryptionKeyInfo, - A2AFailoverProviderInput, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - A2AReprotectInput, - A2AUpdateReplicationProtectedItemInput, - A2AVmManagedDiskUpdateDetails, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureApplyRecoveryPointInput, - HyperVReplicaAzureEnableProtectionInput, - HyperVReplicaAzureEventDetails, - HyperVReplicaAzureFailbackProviderInput, - HyperVReplicaAzureFailoverProviderInput, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - OSDetails, - HyperVReplicaAzureReprotectInput, - HyperVReplicaAzureUpdateReplicationProtectedItemInput, - HyperVReplicaBaseEventDetails, - HyperVReplicaBaseReplicationDetails, - DiskDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaReplicationDetails, - HyperVSiteDetails, - InMageAzureV2ApplyRecoveryPointInput, - InMageAzureV2EnableProtectionInput, - InMageAzureV2EventDetails, - InMageAzureV2FailoverProviderInput, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageAzureV2ReprotectInput, - InMageAzureV2UpdateReplicationProtectedItemInput, - InMageDisableProtectionProviderSpecificInput, - InMageEnableProtectionInput, - InMageDiskExclusionInput, - InMageVolumeExclusionOptions, - InMageDiskSignatureExclusionOptions, - InMageFailoverProviderInput, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails, - InMageReprotectInput, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - SanEnableProtectionInput, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaPolicyDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageBasePolicyDetails, - InMagePolicyDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectionContainerMappingsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectionContainerMappingsMappers.ts deleted file mode 100644 index 0d6ad5eff961..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectionContainerMappingsMappers.ts +++ /dev/null @@ -1,180 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - ProtectionContainerMappingCollection, - ProtectionContainerMapping, - Resource, - BaseResource, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - HealthError, - InnerHealthError, - CloudError, - CreateProtectionContainerMappingInput, - CreateProtectionContainerMappingInputProperties, - ReplicationProviderSpecificContainerMappingInput, - UpdateProtectionContainerMappingInput, - UpdateProtectionContainerMappingInputProperties, - ReplicationProviderSpecificUpdateContainerMappingInput, - RemoveProtectionContainerMappingInput, - RemoveProtectionContainerMappingInputProperties, - ReplicationProviderContainerUnmappingInput, - A2AContainerMappingInput, - A2AProtectionContainerMappingDetails, - A2AUpdateContainerMappingInput, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectionContainersMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectionContainersMappers.ts deleted file mode 100644 index dd8441a0c5f2..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationProtectionContainersMappers.ts +++ /dev/null @@ -1,184 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - ProtectionContainerCollection, - ProtectionContainer, - Resource, - BaseResource, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - CloudError, - CreateProtectionContainerInput, - CreateProtectionContainerInputProperties, - ReplicationProviderSpecificContainerCreationInput, - DiscoverProtectableItemRequest, - DiscoverProtectableItemRequestProperties, - SwitchProtectionInput, - SwitchProtectionInputProperties, - SwitchProtectionProviderSpecificInput, - A2AContainerCreationInput, - A2ASwitchProtectionInput, - A2AVmDiskInputDetails, - A2AVmManagedDiskInputDetails, - DiskEncryptionInfo, - DiskEncryptionKeyInfo, - KeyEncryptionKeyInfo, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationRecoveryPlansMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationRecoveryPlansMappers.ts deleted file mode 100644 index 083318f00636..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationRecoveryPlansMappers.ts +++ /dev/null @@ -1,187 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - RecoveryPlanCollection, - RecoveryPlan, - Resource, - BaseResource, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - CloudError, - CreateRecoveryPlanInput, - CreateRecoveryPlanInputProperties, - UpdateRecoveryPlanInput, - UpdateRecoveryPlanInputProperties, - RecoveryPlanPlannedFailoverInput, - RecoveryPlanPlannedFailoverInputProperties, - RecoveryPlanProviderSpecificFailoverInput, - RecoveryPlanTestFailoverInput, - RecoveryPlanTestFailoverInputProperties, - RecoveryPlanTestFailoverCleanupInput, - RecoveryPlanTestFailoverCleanupInputProperties, - RecoveryPlanUnplannedFailoverInput, - RecoveryPlanUnplannedFailoverInputProperties, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlanA2AFailoverInput, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanHyperVReplicaAzureFailbackInput, - RecoveryPlanHyperVReplicaAzureFailoverInput, - RecoveryPlanInMageAzureV2FailoverInput, - RecoveryPlanInMageFailoverInput, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationRecoveryServicesProvidersMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationRecoveryServicesProvidersMappers.ts deleted file mode 100644 index 261676593e7f..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationRecoveryServicesProvidersMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - RecoveryServicesProviderCollection, - RecoveryServicesProvider, - Resource, - BaseResource, - RecoveryServicesProviderProperties, - HealthError, - InnerHealthError, - IdentityInformation, - VersionDetails, - CloudError, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationStorageClassificationMappingsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationStorageClassificationMappingsMappers.ts deleted file mode 100644 index d5b74ec1fea5..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationStorageClassificationMappingsMappers.ts +++ /dev/null @@ -1,171 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - StorageClassificationMappingCollection, - StorageClassificationMapping, - Resource, - BaseResource, - StorageClassificationMappingProperties, - CloudError, - StorageClassificationMappingInput, - StorageMappingInputProperties, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationStorageClassificationsMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationStorageClassificationsMappers.ts deleted file mode 100644 index a9cacac31c2f..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationStorageClassificationsMappers.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - StorageClassificationCollection, - StorageClassification, - Resource, - BaseResource, - StorageClassificationProperties, - CloudError, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - HealthError, - InnerHealthError, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationVaultHealthMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationVaultHealthMappers.ts deleted file mode 100644 index 7885552c73a6..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationVaultHealthMappers.ts +++ /dev/null @@ -1,168 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - VaultHealthDetails, - Resource, - BaseResource, - VaultHealthProperties, - HealthError, - InnerHealthError, - ResourceHealthSummary, - HealthErrorSummary, - CloudError, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VCenter, - VCenterProperties, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationvCentersMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationvCentersMappers.ts deleted file mode 100644 index c3861efe7369..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/replicationvCentersMappers.ts +++ /dev/null @@ -1,173 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - VCenterCollection, - VCenter, - Resource, - BaseResource, - VCenterProperties, - HealthError, - InnerHealthError, - CloudError, - AddVCenterRequest, - AddVCenterRequestProperties, - UpdateVCenterRequest, - UpdateVCenterRequestProperties, - Alert, - AlertProperties, - Event, - EventProperties, - EventProviderSpecificDetails, - EventSpecificDetails, - Fabric, - FabricProperties, - EncryptionDetails, - FabricSpecificDetails, - HyperVReplica2012EventDetails, - HyperVReplica2012R2EventDetails, - HyperVReplicaAzureEventDetails, - HyperVReplicaBaseEventDetails, - HyperVSiteDetails, - InMageAzureV2EventDetails, - Job, - JobProperties, - ASRTask, - TaskTypeDetails, - GroupTaskDetails, - JobErrorDetails, - ServiceError, - ProviderError, - JobDetails, - JobStatusEventDetails, - JobTaskDetails, - JobEntity, - LogicalNetwork, - LogicalNetworkProperties, - ManualActionTaskDetails, - Network, - NetworkProperties, - Subnet, - NetworkMapping, - NetworkMappingProperties, - NetworkMappingFabricSpecificSettings, - Policy, - PolicyProperties, - PolicyProviderSpecificDetails, - ProtectableItem, - ProtectableItemProperties, - ConfigurationSettings, - ProtectionContainer, - ProtectionContainerProperties, - ProtectionContainerFabricSpecificDetails, - ProtectionContainerMapping, - ProtectionContainerMappingProperties, - ProtectionContainerMappingProviderSpecificDetails, - RcmAzureMigrationPolicyDetails, - RecoveryPlan, - RecoveryPlanProperties, - CurrentScenarioDetails, - RecoveryPlanGroup, - RecoveryPlanProtectedItem, - RecoveryPlanAction, - RecoveryPlanActionDetails, - RecoveryPlanAutomationRunbookActionDetails, - RecoveryPlanGroupTaskDetails, - RecoveryPlanManualActionDetails, - RecoveryPlanScriptActionDetails, - RecoveryPlanShutdownGroupTaskDetails, - RecoveryPoint, - RecoveryPointProperties, - ProviderSpecificRecoveryPointDetails, - RecoveryServicesProvider, - RecoveryServicesProviderProperties, - IdentityInformation, - VersionDetails, - ReplicationGroupDetails, - ReplicationProtectedItem, - ReplicationProtectedItemProperties, - ReplicationProviderSpecificSettings, - ScriptActionTaskDetails, - StorageClassification, - StorageClassificationProperties, - StorageClassificationMapping, - StorageClassificationMappingProperties, - SwitchProtectionJobDetails, - TestFailoverJobDetails, - FailoverReplicationProtectedItemDetails, - VaultHealthDetails, - VaultHealthProperties, - ResourceHealthSummary, - HealthErrorSummary, - VirtualMachineTaskDetails, - VmmDetails, - VmmToAzureNetworkMappingSettings, - VmmToVmmNetworkMappingSettings, - VmmVirtualMachineDetails, - OSDetails, - DiskDetails, - VmNicUpdatesTaskDetails, - VmwareCbtPolicyDetails, - VMwareDetails, - ProcessServer, - MobilityServiceUpdate, - MasterTargetServer, - RetentionVolume, - DataStore, - RunAsAccount, - VMwareV2FabricSpecificDetails, - VMwareVirtualMachineDetails, - InMageDiskDetails, - DiskVolumeDetails, - A2AEventDetails, - A2APolicyDetails, - A2AProtectionContainerMappingDetails, - A2ARecoveryPointDetails, - A2AReplicationDetails, - A2AProtectedDiskDetails, - A2AProtectedManagedDiskDetails, - VMNicDetails, - AzureToAzureVmSyncedConfigDetails, - RoleAssignment, - InputEndpoint, - AsrJobDetails, - AutomationRunbookTaskDetails, - AzureFabricSpecificDetails, - AzureToAzureNetworkMappingSettings, - ConsistencyCheckTaskDetails, - InconsistentVmDetails, - ExportJobDetails, - FabricReplicationGroupTaskDetails, - FailoverJobDetails, - HyperVReplicaAzurePolicyDetails, - HyperVReplicaAzureReplicationDetails, - AzureVmDiskDetails, - InitialReplicationDetails, - HyperVReplicaBasePolicyDetails, - HyperVReplicaBaseReplicationDetails, - HyperVReplicaBluePolicyDetails, - HyperVReplicaBlueReplicationDetails, - HyperVReplicaPolicyDetails, - HyperVReplicaReplicationDetails, - HyperVVirtualMachineDetails, - InlineWorkflowTaskDetails, - InMageAzureV2PolicyDetails, - InMageAzureV2RecoveryPointDetails, - InMageAzureV2ReplicationDetails, - InMageAzureV2ProtectedDiskDetails, - InMageBasePolicyDetails, - InMagePolicyDetails, - InMageReplicationDetails, - OSDiskDetails, - InMageProtectedDiskDetails, - InMageAgentDetails -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/targetComputeSizesMappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/targetComputeSizesMappers.ts deleted file mode 100644 index 0b4374cffa7b..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/targetComputeSizesMappers.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * 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. - */ - -export { - discriminators, - TargetComputeSizeCollection, - TargetComputeSize, - TargetComputeSizeProperties, - ComputeSizeErrorDetails, - CloudError -} from "../models/mappers"; - diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/index.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/index.ts index 15dfbb40976d..961209a58c5b 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/index.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/index.ts @@ -1,21 +1,23 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export * from "./operations"; export * from "./replicationAlertSettings"; +export * from "./replicationAppliances"; +export * from "./replicationEligibilityResultsOperations"; export * from "./replicationEvents"; export * from "./replicationFabrics"; export * from "./replicationLogicalNetworks"; export * from "./replicationNetworks"; export * from "./replicationNetworkMappings"; export * from "./replicationProtectionContainers"; +export * from "./replicationMigrationItems"; +export * from "./migrationRecoveryPoints"; export * from "./replicationProtectableItems"; export * from "./replicationProtectedItems"; export * from "./recoveryPoints"; @@ -27,5 +29,8 @@ export * from "./replicationStorageClassificationMappings"; export * from "./replicationvCenters"; export * from "./replicationJobs"; export * from "./replicationPolicies"; +export * from "./replicationProtectionIntents"; export * from "./replicationRecoveryPlans"; +export * from "./supportedOperatingSystemsOperations"; export * from "./replicationVaultHealth"; +export * from "./replicationVaultSetting"; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/migrationRecoveryPoints.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/migrationRecoveryPoints.ts new file mode 100644 index 000000000000..a0dfe8e1f11b --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/migrationRecoveryPoints.ts @@ -0,0 +1,263 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { MigrationRecoveryPoints } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + MigrationRecoveryPoint, + MigrationRecoveryPointsListByReplicationMigrationItemsNextOptionalParams, + MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams, + MigrationRecoveryPointsListByReplicationMigrationItemsResponse, + MigrationRecoveryPointsGetOptionalParams, + MigrationRecoveryPointsGetResponse, + MigrationRecoveryPointsListByReplicationMigrationItemsNextResponse +} from "../models"; + +/// +/** Class containing MigrationRecoveryPoints operations. */ +export class MigrationRecoveryPointsImpl implements MigrationRecoveryPoints { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class MigrationRecoveryPoints class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Gets the recovery points for a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + public listByReplicationMigrationItems( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationMigrationItemsPagingAll( + fabricName, + protectionContainerName, + migrationItemName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationMigrationItemsPagingPage( + fabricName, + protectionContainerName, + migrationItemName, + options + ); + } + }; + } + + private async *listByReplicationMigrationItemsPagingPage( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationMigrationItems( + fabricName, + protectionContainerName, + migrationItemName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationMigrationItemsNext( + fabricName, + protectionContainerName, + migrationItemName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationMigrationItemsPagingAll( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationMigrationItemsPagingPage( + fabricName, + protectionContainerName, + migrationItemName, + options + )) { + yield* page; + } + } + + /** + * Gets the recovery points for a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + private _listByReplicationMigrationItems( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, migrationItemName, options }, + listByReplicationMigrationItemsOperationSpec + ); + } + + /** + * Gets a recovery point for a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param migrationRecoveryPointName The migration recovery point name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + migrationRecoveryPointName: string, + options?: MigrationRecoveryPointsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + fabricName, + protectionContainerName, + migrationItemName, + migrationRecoveryPointName, + options + }, + getOperationSpec + ); + } + + /** + * ListByReplicationMigrationItemsNext + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationMigrationItems method. + * @param options The options parameters. + */ + private _listByReplicationMigrationItemsNext( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + nextLink: string, + options?: MigrationRecoveryPointsListByReplicationMigrationItemsNextOptionalParams + ): Promise< + MigrationRecoveryPointsListByReplicationMigrationItemsNextResponse + > { + return this.client.sendOperationRequest( + { + fabricName, + protectionContainerName, + migrationItemName, + nextLink, + options + }, + listByReplicationMigrationItemsNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationMigrationItemsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationRecoveryPointCollection + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationRecoveryPoint + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName, + Parameters.migrationRecoveryPointName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByReplicationMigrationItemsNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationRecoveryPointCollection + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/operations.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/operations.ts index 93e4f8979113..fc04339199dc 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/operations.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/operations.ts @@ -1,129 +1,141 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/operationsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { Operations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + OperationsDiscovery, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; -/** Class representing a Operations. */ -export class Operations { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { + private readonly client: SiteRecoveryManagementClient; /** - * Create a Operations. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Operation to return the list of available operations. - * @summary Returns the list of available operations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Operation to return the list of available operations. - * @summary Returns the list of available operations. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations", - urlParameters: [ - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.OperationsDiscoveryCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.OperationsDiscoveryCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/recoveryPoints.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/recoveryPoints.ts index eebe79ec88d8..5043e8c6fbe1 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/recoveryPoints.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/recoveryPoints.ts @@ -1,57 +1,133 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/recoveryPointsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { RecoveryPoints } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + RecoveryPoint, + RecoveryPointsListByReplicationProtectedItemsNextOptionalParams, + RecoveryPointsListByReplicationProtectedItemsOptionalParams, + RecoveryPointsListByReplicationProtectedItemsResponse, + RecoveryPointsGetOptionalParams, + RecoveryPointsGetResponse, + RecoveryPointsListByReplicationProtectedItemsNextResponse +} from "../models"; -/** Class representing a RecoveryPoints. */ -export class RecoveryPoints { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing RecoveryPoints operations. */ +export class RecoveryPointsImpl implements RecoveryPoints { + private readonly client: SiteRecoveryManagementClient; /** - * Create a RecoveryPoints. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class RecoveryPoints class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the available recovery points for a replication protected item. - * @summary Get recovery points for a replication protected item. * @param fabricName The fabric name. * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replication protected item's name. - * @param [options] The optional parameters - * @returns Promise + * @param replicatedProtectedItemName The replication protected item name. + * @param options The options parameters. */ - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName The fabric name. - * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replication protected item's name. - * @param callback The callback - */ - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, callback: msRest.ServiceCallback): void; + public listByReplicationProtectedItems( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: RecoveryPointsListByReplicationProtectedItemsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationProtectedItemsPagingAll( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationProtectedItemsPagingPage( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + } + }; + } + + private async *listByReplicationProtectedItemsPagingPage( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: RecoveryPointsListByReplicationProtectedItemsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationProtectedItems( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationProtectedItemsNext( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationProtectedItemsPagingAll( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: RecoveryPointsListByReplicationProtectedItemsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationProtectedItemsPagingPage( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + )) { + yield* page; + } + } + /** + * Lists the available recovery points for a replication protected item. * @param fabricName The fabric name. * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replication protected item's name. - * @param options The optional parameters - * @param callback The callback + * @param replicatedProtectedItemName The replication protected item name. + * @param options The options parameters. */ - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationProtectedItems( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: RecoveryPointsListByReplicationProtectedItemsOptionalParams + ): Promise { return this.client.sendOperationRequest( { fabricName, @@ -59,39 +135,25 @@ export class RecoveryPoints { replicatedProtectedItemName, options }, - listByReplicationProtectedItemsOperationSpec, - callback) as Promise; + listByReplicationProtectedItemsOperationSpec + ); } /** * Get the details of specified recovery point. - * @summary Get a recovery point. * @param fabricName The fabric name. * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replication protected item's name. + * @param replicatedProtectedItemName The replication protected item name. * @param recoveryPointName The recovery point name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, recoveryPointName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName The fabric name. - * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replication protected item's name. - * @param recoveryPointName The recovery point name. - * @param callback The callback - */ - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, recoveryPointName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName The fabric name. - * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replication protected item's name. - * @param recoveryPointName The recovery point name. - * @param options The optional parameters - * @param callback The callback - */ - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, recoveryPointName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, recoveryPointName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + recoveryPointName: string, + options?: RecoveryPointsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { fabricName, @@ -100,116 +162,105 @@ export class RecoveryPoints { recoveryPointName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** - * Lists the available recovery points for a replication protected item. - * @summary Get recovery points for a replication protected item. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationProtectedItemsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByReplicationProtectedItemsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationProtectedItemsNext + * @param fabricName The fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replication protected item name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationProtectedItems method. + * @param options The options parameters. */ - listByReplicationProtectedItemsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectedItemsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationProtectedItemsNext( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + nextLink: string, + options?: RecoveryPointsListByReplicationProtectedItemsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + fabricName, + protectionContainerName, + replicatedProtectedItemName, + nextLink, options }, - listByReplicationProtectedItemsNextOperationSpec, - callback) as Promise; + listByReplicationProtectedItemsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationProtectedItemsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationProtectedItemsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints", + responses: { + 200: { + bodyMapper: Mappers.RecoveryPointCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RecoveryPointCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.RecoveryPoint } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName, Parameters.recoveryPointName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.RecoveryPoint - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationProtectedItemsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationProtectedItemsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoveryPointCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAlertSettings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAlertSettings.ts index 695b196b8e90..9f848478146f 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAlertSettings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAlertSettings.ts @@ -1,251 +1,222 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationAlertSettingsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationAlertSettings } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + Alert, + ReplicationAlertSettingsListNextOptionalParams, + ReplicationAlertSettingsListOptionalParams, + ReplicationAlertSettingsListResponse, + ReplicationAlertSettingsGetOptionalParams, + ReplicationAlertSettingsGetResponse, + ConfigureAlertRequest, + ReplicationAlertSettingsCreateOptionalParams, + ReplicationAlertSettingsCreateResponse, + ReplicationAlertSettingsListNextResponse +} from "../models"; -/** Class representing a ReplicationAlertSettings. */ -export class ReplicationAlertSettings { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationAlertSettings operations. */ +export class ReplicationAlertSettingsImpl implements ReplicationAlertSettings { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationAlertSettings. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationAlertSettings class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Gets the list of email notification(alert) configurations for the vault. - * @summary Gets the list of configured email notification(alert) configurations. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationAlertSettingsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationAlertSettingsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationAlertSettingsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Gets the details of the specified email notification(alert) configuration. - * @summary Gets an email notification(alert) configuration. - * @param alertSettingName The name of the email notification configuration. - * @param [options] The optional parameters - * @returns Promise - */ - get(alertSettingName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param alertSettingName The name of the email notification configuration. - * @param callback The callback + * Gets the list of email notification(alert) configurations for the vault. + * @param options The options parameters. */ - get(alertSettingName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationAlertSettingsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Gets the details of the specified email notification(alert) configuration. * @param alertSettingName The name of the email notification configuration. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(alertSettingName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(alertSettingName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + alertSettingName: string, + options?: ReplicationAlertSettingsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - alertSettingName, - options - }, - getOperationSpec, - callback) as Promise; + { alertSettingName, options }, + getOperationSpec + ); } /** * Create or update an email notification(alert) configuration. - * @summary Configures email notifications for this vault. * @param alertSettingName The name of the email notification(alert) configuration. * @param request The input to configure the email notification(alert). - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(alertSettingName: string, request: Models.ConfigureAlertRequest, options?: msRest.RequestOptionsBase): Promise; - /** - * @param alertSettingName The name of the email notification(alert) configuration. - * @param request The input to configure the email notification(alert). - * @param callback The callback - */ - create(alertSettingName: string, request: Models.ConfigureAlertRequest, callback: msRest.ServiceCallback): void; - /** - * @param alertSettingName The name of the email notification(alert) configuration. - * @param request The input to configure the email notification(alert). - * @param options The optional parameters - * @param callback The callback - */ - create(alertSettingName: string, request: Models.ConfigureAlertRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - create(alertSettingName: string, request: Models.ConfigureAlertRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + create( + alertSettingName: string, + request: ConfigureAlertRequest, + options?: ReplicationAlertSettingsCreateOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - alertSettingName, - request, - options - }, - createOperationSpec, - callback) as Promise; + { alertSettingName, request, options }, + createOperationSpec + ); } /** - * Gets the list of email notification(alert) configurations for the vault. - * @summary Gets the list of configured email notification(alert) configurations. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationAlertSettingsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.AlertCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.alertSettingName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Alert - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const createOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.alertSettingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "request", - mapper: { - ...Mappers.ConfigureAlertRequest, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Alert - }, - default: { - bodyMapper: Mappers.CloudError } }, + requestBody: Parameters.request, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.alertSettingName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.AlertCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAppliances.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAppliances.ts new file mode 100644 index 000000000000..dc0a6eb05521 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationAppliances.ts @@ -0,0 +1,143 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationAppliances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + ReplicationAppliance, + ReplicationAppliancesListNextOptionalParams, + ReplicationAppliancesListOptionalParams, + ReplicationAppliancesListResponse, + ReplicationAppliancesListNextResponse +} from "../models"; + +/// +/** Class containing ReplicationAppliances operations. */ +export class ReplicationAppliancesImpl implements ReplicationAppliances { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class ReplicationAppliances class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Gets the list of Azure Site Recovery appliances for the vault. + * @param options The options parameters. + */ + public list( + options?: ReplicationAppliancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationAppliancesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationAppliancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Gets the list of Azure Site Recovery appliances for the vault. + * @param options The options parameters. + */ + private _list( + options?: ReplicationAppliancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ReplicationAppliancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAppliances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplianceCollection + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ApplianceCollection + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEligibilityResultsOperations.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEligibilityResultsOperations.ts new file mode 100644 index 000000000000..54fcc5a5a468 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEligibilityResultsOperations.ts @@ -0,0 +1,104 @@ +/* + * 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 { ReplicationEligibilityResultsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + ReplicationEligibilityResultsListOptionalParams, + ReplicationEligibilityResultsListResponse, + ReplicationEligibilityResultsGetOptionalParams, + ReplicationEligibilityResultsGetResponse +} from "../models"; + +/** Class containing ReplicationEligibilityResultsOperations operations. */ +export class ReplicationEligibilityResultsOperationsImpl + implements ReplicationEligibilityResultsOperations { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class ReplicationEligibilityResultsOperations class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Validates whether a given VM can be protected or not in which case returns list of errors. + * @param virtualMachineName Virtual Machine name. + * @param options The options parameters. + */ + list( + virtualMachineName: string, + options?: ReplicationEligibilityResultsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { virtualMachineName, options }, + listOperationSpec + ); + } + + /** + * Validates whether a given VM can be protected or not in which case returns list of errors. + * @param virtualMachineName Virtual Machine name. + * @param options The options parameters. + */ + get( + virtualMachineName: string, + options?: ReplicationEligibilityResultsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { virtualMachineName, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationEligibilityResultsCollection + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualMachineName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationEligibilityResults + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualMachineName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEvents.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEvents.ts index 6cfc2a14ded8..b03cb3eebfe0 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEvents.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationEvents.ts @@ -1,186 +1,180 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationEventsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationEvents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + Event, + ReplicationEventsListNextOptionalParams, + ReplicationEventsListOptionalParams, + ReplicationEventsListResponse, + ReplicationEventsGetOptionalParams, + ReplicationEventsGetResponse, + ReplicationEventsListNextResponse +} from "../models"; -/** Class representing a ReplicationEvents. */ -export class ReplicationEvents { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationEvents operations. */ +export class ReplicationEventsImpl implements ReplicationEvents { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationEvents. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationEvents class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Gets the list of Azure Site Recovery events for the vault. - * @summary Gets the list of Azure Site Recovery events. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: Models.ReplicationEventsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: Models.ReplicationEventsListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.ReplicationEventsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationEventsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationEventsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationEventsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * The operation to get the details of an Azure Site recovery event. - * @summary Get the details of an Azure Site recovery event. - * @param eventName The name of the Azure Site Recovery event. - * @param [options] The optional parameters - * @returns Promise - */ - get(eventName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param eventName The name of the Azure Site Recovery event. - * @param callback The callback + * Gets the list of Azure Site Recovery events for the vault. + * @param options The options parameters. */ - get(eventName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationEventsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * The operation to get the details of an Azure Site recovery event. * @param eventName The name of the Azure Site Recovery event. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(eventName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(eventName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + eventName: string, + options?: ReplicationEventsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - eventName, - options - }, - getOperationSpec, - callback) as Promise; + { eventName, options }, + getOperationSpec + ); } /** - * Gets the list of Azure Site Recovery events for the vault. - * @summary Gets the list of Azure Site Recovery events. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationEventsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.EventCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.eventName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Event - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.eventName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.EventCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts index 63c772b877e9..71fd3482115c 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts @@ -1,602 +1,907 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationFabricsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationFabrics } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Fabric, + ReplicationFabricsListNextOptionalParams, + ReplicationFabricsListOptionalParams, + ReplicationFabricsListResponse, + ReplicationFabricsGetOptionalParams, + ReplicationFabricsGetResponse, + FabricCreationInput, + ReplicationFabricsCreateOptionalParams, + ReplicationFabricsCreateResponse, + ReplicationFabricsPurgeOptionalParams, + ReplicationFabricsCheckConsistencyOptionalParams, + ReplicationFabricsCheckConsistencyResponse, + ReplicationFabricsMigrateToAadOptionalParams, + FailoverProcessServerRequest, + ReplicationFabricsReassociateGatewayOptionalParams, + ReplicationFabricsReassociateGatewayResponse, + ReplicationFabricsDeleteOptionalParams, + RenewCertificateInput, + ReplicationFabricsRenewCertificateOptionalParams, + ReplicationFabricsRenewCertificateResponse, + ReplicationFabricsListNextResponse +} from "../models"; -/** Class representing a ReplicationFabrics. */ -export class ReplicationFabrics { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationFabrics operations. */ +export class ReplicationFabricsImpl implements ReplicationFabrics { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationFabrics. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationFabrics class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Gets a list of the Azure Site Recovery fabrics in the vault. - * @summary Gets the list of ASR fabrics - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationFabricsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationFabricsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationFabricsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Gets the details of an Azure Site Recovery fabric. - * @summary Gets the details of an ASR fabric. - * @param fabricName Fabric name. - * @param [options] The optional parameters - * @returns Promise - */ - get(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param callback The callback + * Gets a list of the Azure Site Recovery fabrics in the vault. + * @param options The options parameters. */ - get(fabricName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationFabricsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Gets the details of an Azure Site Recovery fabric. * @param fabricName Fabric name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + options?: ReplicationFabricsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, options }, + getOperationSpec + ); } /** - * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site) - * @summary Creates an Azure Site Recovery fabric. + * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site). * @param fabricName Name of the ASR fabric. * @param input Fabric creation input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(fabricName: string, input: Models.FabricCreationInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreate( + fabricName: string, + input: FabricCreationInput, + options?: ReplicationFabricsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to purge(force delete) an Azure Site Recovery fabric. - * @summary Purges the site. - * @param fabricName ASR fabric to purge. - * @param [options] The optional parameters - * @returns Promise - */ - purge(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginPurge(fabricName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + const lro = new LroImpl( + sendOperation, + { fabricName, input, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to perform a consistency check on the fabric. - * @summary Checks the consistency of the ASR fabric. - * @param fabricName Fabric name. - * @param [options] The optional parameters - * @returns Promise + * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site). + * @param fabricName Name of the ASR fabric. + * @param input Fabric creation input. + * @param options The options parameters. */ - checkConsistency(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginCheckConsistency(fabricName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateAndWait( + fabricName: string, + input: FabricCreationInput, + options?: ReplicationFabricsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate(fabricName, input, options); + return poller.pollUntilDone(); } /** - * The operation to migrate an Azure Site Recovery fabric to AAD. - * @summary Migrates the site to AAD. - * @param fabricName ASR fabric to migrate. - * @param [options] The optional parameters - * @returns Promise + * The operation to purge(force delete) an Azure Site Recovery fabric. + * @param fabricName ASR fabric to purge. + * @param options The options parameters. */ - migrateToAad(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginMigrateToAad(fabricName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginPurge( + fabricName: string, + options?: ReplicationFabricsPurgeOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to move replications from a process server to another process server. - * @summary Perform failover of the process server. - * @param fabricName The name of the fabric containing the process server. - * @param failoverProcessServerRequest The input to the failover process server operation. - * @param [options] The optional parameters - * @returns Promise - */ - reassociateGateway(fabricName: string, failoverProcessServerRequest: Models.FailoverProcessServerRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginReassociateGateway(fabricName,failoverProcessServerRequest,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { fabricName, options }, + purgeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to delete or remove an Azure Site Recovery fabric. - * @summary Deletes the site. - * @param fabricName ASR fabric to delete - * @param [options] The optional parameters - * @returns Promise + * The operation to purge(force delete) an Azure Site Recovery fabric. + * @param fabricName ASR fabric to purge. + * @param options The options parameters. */ - deleteMethod(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginPurgeAndWait( + fabricName: string, + options?: ReplicationFabricsPurgeOptionalParams + ): Promise { + const poller = await this.beginPurge(fabricName, options); + return poller.pollUntilDone(); } /** - * Renews the connection certificate for the ASR replication fabric. - * @summary Renews certificate for the fabric. - * @param fabricName fabric name to renew certs for. - * @param renewCertificateParameter Renew certificate input. - * @param [options] The optional parameters - * @returns Promise + * The operation to perform a consistency check on the fabric. + * @param fabricName Fabric name. + * @param options The options parameters. */ - renewCertificate(fabricName: string, renewCertificateParameter: Models.RenewCertificateInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginRenewCertificate(fabricName,renewCertificateParameter,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCheckConsistency( + fabricName: string, + options?: ReplicationFabricsCheckConsistencyOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsCheckConsistencyResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, options }, + checkConsistencyOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site) - * @summary Creates an Azure Site Recovery fabric. - * @param fabricName Name of the ASR fabric. - * @param input Fabric creation input. - * @param [options] The optional parameters - * @returns Promise + * The operation to perform a consistency check on the fabric. + * @param fabricName Fabric name. + * @param options The options parameters. */ - beginCreate(fabricName: string, input: Models.FabricCreationInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - input, - options - }, - beginCreateOperationSpec, - options); + async beginCheckConsistencyAndWait( + fabricName: string, + options?: ReplicationFabricsCheckConsistencyOptionalParams + ): Promise { + const poller = await this.beginCheckConsistency(fabricName, options); + return poller.pollUntilDone(); } /** - * The operation to purge(force delete) an Azure Site Recovery fabric. - * @summary Purges the site. - * @param fabricName ASR fabric to purge. - * @param [options] The optional parameters - * @returns Promise + * The operation to migrate an Azure Site Recovery fabric to AAD. + * @param fabricName ASR fabric to migrate. + * @param options The options parameters. */ - beginPurge(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - options - }, - beginPurgeOperationSpec, - options); + async beginMigrateToAad( + fabricName: string, + options?: ReplicationFabricsMigrateToAadOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, options }, + migrateToAadOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to perform a consistency check on the fabric. - * @summary Checks the consistency of the ASR fabric. - * @param fabricName Fabric name. - * @param [options] The optional parameters - * @returns Promise + * The operation to migrate an Azure Site Recovery fabric to AAD. + * @param fabricName ASR fabric to migrate. + * @param options The options parameters. */ - beginCheckConsistency(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - options - }, - beginCheckConsistencyOperationSpec, - options); + async beginMigrateToAadAndWait( + fabricName: string, + options?: ReplicationFabricsMigrateToAadOptionalParams + ): Promise { + const poller = await this.beginMigrateToAad(fabricName, options); + return poller.pollUntilDone(); } /** - * The operation to migrate an Azure Site Recovery fabric to AAD. - * @summary Migrates the site to AAD. - * @param fabricName ASR fabric to migrate. - * @param [options] The optional parameters - * @returns Promise + * The operation to move replications from a process server to another process server. + * @param fabricName The name of the fabric containing the process server. + * @param failoverProcessServerRequest The input to the failover process server operation. + * @param options The options parameters. */ - beginMigrateToAad(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - options - }, - beginMigrateToAadOperationSpec, - options); + async beginReassociateGateway( + fabricName: string, + failoverProcessServerRequest: FailoverProcessServerRequest, + options?: ReplicationFabricsReassociateGatewayOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsReassociateGatewayResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, failoverProcessServerRequest, options }, + reassociateGatewayOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to move replications from a process server to another process server. - * @summary Perform failover of the process server. * @param fabricName The name of the fabric containing the process server. * @param failoverProcessServerRequest The input to the failover process server operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginReassociateGateway(fabricName: string, failoverProcessServerRequest: Models.FailoverProcessServerRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - failoverProcessServerRequest, - options - }, - beginReassociateGatewayOperationSpec, - options); + async beginReassociateGatewayAndWait( + fabricName: string, + failoverProcessServerRequest: FailoverProcessServerRequest, + options?: ReplicationFabricsReassociateGatewayOptionalParams + ): Promise { + const poller = await this.beginReassociateGateway( + fabricName, + failoverProcessServerRequest, + options + ); + return poller.pollUntilDone(); } /** * The operation to delete or remove an Azure Site Recovery fabric. - * @summary Deletes the site. - * @param fabricName ASR fabric to delete - * @param [options] The optional parameters - * @returns Promise + * @param fabricName ASR fabric to delete. + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + fabricName: string, + options?: ReplicationFabricsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Renews the connection certificate for the ASR replication fabric. - * @summary Renews certificate for the fabric. - * @param fabricName fabric name to renew certs for. - * @param renewCertificateParameter Renew certificate input. - * @param [options] The optional parameters - * @returns Promise + * The operation to delete or remove an Azure Site Recovery fabric. + * @param fabricName ASR fabric to delete. + * @param options The options parameters. */ - beginRenewCertificate(fabricName: string, renewCertificateParameter: Models.RenewCertificateInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - renewCertificateParameter, - options - }, - beginRenewCertificateOperationSpec, - options); + async beginDeleteAndWait( + fabricName: string, + options?: ReplicationFabricsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(fabricName, options); + return poller.pollUntilDone(); } /** - * Gets a list of the Azure Site Recovery fabrics in the vault. - * @summary Gets the list of ASR fabrics - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Renews the connection certificate for the ASR replication fabric. + * @param fabricName fabric name to renew certs for. + * @param renewCertificate Renew certificate input. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginRenewCertificate( + fabricName: string, + renewCertificate: RenewCertificateInput, + options?: ReplicationFabricsRenewCertificateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsRenewCertificateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, renewCertificate, options }, + renewCertificateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Renews the connection certificate for the ASR replication fabric. + * @param fabricName fabric name to renew certs for. + * @param renewCertificate Renew certificate input. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginRenewCertificateAndWait( + fabricName: string, + renewCertificate: RenewCertificateInput, + options?: ReplicationFabricsRenewCertificateOptionalParams + ): Promise { + const poller = await this.beginRenewCertificate( + fabricName, + renewCertificate, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationFabricsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.FabricCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.fabricName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Fabric - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.FabricCreationInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Fabric }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Fabric + }, + 202: { + bodyMapper: Mappers.Fabric + }, + 204: { + bodyMapper: Mappers.Fabric } }, - serializer -}; - -const beginPurgeOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", + requestBody: Parameters.input, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCheckConsistencyOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency", +const purgeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + serializer +}; +const checkConsistencyOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Fabric }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Fabric + }, + 202: { + bodyMapper: Mappers.Fabric + }, + 204: { + bodyMapper: Mappers.Fabric } }, - serializer -}; - -const beginMigrateToAadOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const beginReassociateGatewayOperationSpec: msRest.OperationSpec = { +const migrateToAadOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad", httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "failoverProcessServerRequest", - mapper: { - ...Mappers.FailoverProcessServerRequest, - required: true - } - }, + serializer +}; +const reassociateGatewayOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Fabric }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Fabric + }, + 202: { + bodyMapper: Mappers.Fabric + }, + 204: { + bodyMapper: Mappers.Fabric } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove", + requestBody: Parameters.failoverProcessServerRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginRenewCertificateOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove", httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "renewCertificateParameter", - mapper: { - ...Mappers.RenewCertificateInput, - required: true - } - }, + serializer +}; +const renewCertificateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Fabric }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Fabric + }, + 202: { + bodyMapper: Mappers.Fabric + }, + 204: { + bodyMapper: Mappers.Fabric } }, + requestBody: Parameters.renewCertificate, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.FabricCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts index fb2ac84965b2..03dfd0576800 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts @@ -1,427 +1,623 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationJobsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationJobs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Job, + ReplicationJobsListNextOptionalParams, + ReplicationJobsListOptionalParams, + ReplicationJobsListResponse, + ReplicationJobsGetOptionalParams, + ReplicationJobsGetResponse, + ReplicationJobsCancelOptionalParams, + ReplicationJobsCancelResponse, + ReplicationJobsRestartOptionalParams, + ReplicationJobsRestartResponse, + ResumeJobParams, + ReplicationJobsResumeOptionalParams, + ReplicationJobsResumeResponse, + JobQueryParameter, + ReplicationJobsExportOptionalParams, + ReplicationJobsExportResponse, + ReplicationJobsListNextResponse +} from "../models"; -/** Class representing a ReplicationJobs. */ -export class ReplicationJobs { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationJobs operations. */ +export class ReplicationJobsImpl implements ReplicationJobs { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationJobs. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationJobs class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Gets the list of Azure Site Recovery Jobs for the vault. - * @summary Gets the list of jobs. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: Models.ReplicationJobsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: Models.ReplicationJobsListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.ReplicationJobsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationJobsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationJobsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationJobsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Get the details of an Azure Site Recovery job. - * @summary Gets the job details. - * @param jobName Job identifier - * @param [options] The optional parameters - * @returns Promise - */ - get(jobName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param jobName Job identifier - * @param callback The callback + * Gets the list of Azure Site Recovery Jobs for the vault. + * @param options The options parameters. */ - get(jobName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationJobsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param jobName Job identifier - * @param options The optional parameters - * @param callback The callback + * Get the details of an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. */ - get(jobName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(jobName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + jobName: string, + options?: ReplicationJobsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - jobName, - options - }, - getOperationSpec, - callback) as Promise; + { jobName, options }, + getOperationSpec + ); } /** * The operation to cancel an Azure Site Recovery job. - * @summary Cancels the specified job. - * @param jobName Job indentifier. - * @param [options] The optional parameters - * @returns Promise + * @param jobName Job identifier. + * @param options The options parameters. */ - cancel(jobName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginCancel(jobName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCancel( + jobName: string, + options?: ReplicationJobsCancelOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsCancelResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { jobName, options }, + cancelOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to restart an Azure Site Recovery job. - * @summary Restarts the specified job. + * The operation to cancel an Azure Site Recovery job. * @param jobName Job identifier. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - restart(jobName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRestart(jobName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCancelAndWait( + jobName: string, + options?: ReplicationJobsCancelOptionalParams + ): Promise { + const poller = await this.beginCancel(jobName, options); + return poller.pollUntilDone(); } /** - * The operation to resume an Azure Site Recovery job - * @summary Resumes the specified job. + * The operation to restart an Azure Site Recovery job. * @param jobName Job identifier. - * @param resumeJobParams Resume rob comments. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - resume(jobName: string, resumeJobParams: Models.ResumeJobParams, options?: msRest.RequestOptionsBase): Promise { - return this.beginResume(jobName,resumeJobParams,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginRestart( + jobName: string, + options?: ReplicationJobsRestartOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsRestartResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to export the details of the Azure Site Recovery jobs of the vault. - * @summary Exports the details of the Azure Site Recovery jobs of the vault. - * @param jobQueryParameter job query filter. - * @param [options] The optional parameters - * @returns Promise - */ - exportMethod(jobQueryParameter: Models.JobQueryParameter, options?: msRest.RequestOptionsBase): Promise { - return this.beginExportMethod(jobQueryParameter,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { jobName, options }, + restartOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to cancel an Azure Site Recovery job. - * @summary Cancels the specified job. - * @param jobName Job indentifier. - * @param [options] The optional parameters - * @returns Promise + * The operation to restart an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. */ - beginCancel(jobName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - jobName, - options - }, - beginCancelOperationSpec, - options); + async beginRestartAndWait( + jobName: string, + options?: ReplicationJobsRestartOptionalParams + ): Promise { + const poller = await this.beginRestart(jobName, options); + return poller.pollUntilDone(); } /** - * The operation to restart an Azure Site Recovery job. - * @summary Restarts the specified job. + * The operation to resume an Azure Site Recovery job. * @param jobName Job identifier. - * @param [options] The optional parameters - * @returns Promise + * @param resumeJobParams Resume rob comments. + * @param options The options parameters. */ - beginRestart(jobName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - jobName, - options - }, - beginRestartOperationSpec, - options); + async beginResume( + jobName: string, + resumeJobParams: ResumeJobParams, + options?: ReplicationJobsResumeOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsResumeResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { jobName, resumeJobParams, options }, + resumeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to resume an Azure Site Recovery job - * @summary Resumes the specified job. + * The operation to resume an Azure Site Recovery job. * @param jobName Job identifier. * @param resumeJobParams Resume rob comments. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginResume(jobName: string, resumeJobParams: Models.ResumeJobParams, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - jobName, - resumeJobParams, - options - }, - beginResumeOperationSpec, - options); + async beginResumeAndWait( + jobName: string, + resumeJobParams: ResumeJobParams, + options?: ReplicationJobsResumeOptionalParams + ): Promise { + const poller = await this.beginResume(jobName, resumeJobParams, options); + return poller.pollUntilDone(); } /** * The operation to export the details of the Azure Site Recovery jobs of the vault. - * @summary Exports the details of the Azure Site Recovery jobs of the vault. * @param jobQueryParameter job query filter. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginExportMethod(jobQueryParameter: Models.JobQueryParameter, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - jobQueryParameter, - options - }, - beginExportMethodOperationSpec, - options); + async beginExport( + jobQueryParameter: JobQueryParameter, + options?: ReplicationJobsExportOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsExportResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { jobQueryParameter, options }, + exportOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets the list of Azure Site Recovery Jobs for the vault. - * @summary Gets the list of jobs. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * The operation to export the details of the Azure Site Recovery jobs of the vault. + * @param jobQueryParameter job query filter. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginExportAndWait( + jobQueryParameter: JobQueryParameter, + options?: ReplicationJobsExportOptionalParams + ): Promise { + const poller = await this.beginExport(jobQueryParameter, options); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationJobsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.JobCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}", + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.jobName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Job - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCancelOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.jobName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const cancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Job }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Job + }, + 202: { + bodyMapper: Mappers.Job + }, + 204: { + bodyMapper: Mappers.Job } }, - serializer -}; - -const beginRestartOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.jobName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const restartOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Job }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Job + }, + 202: { + bodyMapper: Mappers.Job + }, + 204: { + bodyMapper: Mappers.Job } }, - serializer -}; - -const beginResumeOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.jobName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "resumeJobParams", - mapper: { - ...Mappers.ResumeJobParams, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const resumeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Job }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Job + }, + 202: { + bodyMapper: Mappers.Job + }, + 204: { + bodyMapper: Mappers.Job } }, - serializer -}; - -const beginExportMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export", + requestBody: Parameters.resumeJobParams, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.jobName ], - requestBody: { - parameterPath: "jobQueryParameter", - mapper: { - ...Mappers.JobQueryParameter, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const exportOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.Job }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Job + }, + 202: { + bodyMapper: Mappers.Job + }, + 204: { + bodyMapper: Mappers.Job } }, + requestBody: Parameters.jobQueryParameter, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.JobCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationLogicalNetworks.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationLogicalNetworks.ts index fa371cb47086..511da1e09ae2 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationLogicalNetworks.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationLogicalNetworks.ts @@ -1,195 +1,205 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationLogicalNetworksMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationLogicalNetworks } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + LogicalNetwork, + ReplicationLogicalNetworksListByReplicationFabricsNextOptionalParams, + ReplicationLogicalNetworksListByReplicationFabricsOptionalParams, + ReplicationLogicalNetworksListByReplicationFabricsResponse, + ReplicationLogicalNetworksGetOptionalParams, + ReplicationLogicalNetworksGetResponse, + ReplicationLogicalNetworksListByReplicationFabricsNextResponse +} from "../models"; -/** Class representing a ReplicationLogicalNetworks. */ -export class ReplicationLogicalNetworks { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationLogicalNetworks operations. */ +export class ReplicationLogicalNetworksImpl + implements ReplicationLogicalNetworks { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationLogicalNetworks. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationLogicalNetworks class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** - * Lists all the logical networks of the Azure Site Recovery fabric - * @summary Gets the list of logical networks under a fabric. + * Lists all the logical networks of the Azure Site Recovery fabric. * @param fabricName Server Id. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Server Id. - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Server Id. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationFabrics( + fabricName: string, + options?: ReplicationLogicalNetworksListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationFabricsPagingAll(fabricName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationFabricsPagingPage(fabricName, options); + } + }; + } + + private async *listByReplicationFabricsPagingPage( + fabricName: string, + options?: ReplicationLogicalNetworksListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationFabrics(fabricName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationFabricsNext( fabricName, + continuationToken, options - }, - listByReplicationFabricsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationFabricsPagingAll( + fabricName: string, + options?: ReplicationLogicalNetworksListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationFabricsPagingPage( + fabricName, + options + )) { + yield* page; + } } /** - * Gets the details of a logical network. - * @summary Gets a logical network with specified server id and logical network name. - * @param fabricName Server Id. - * @param logicalNetworkName Logical network name. - * @param [options] The optional parameters - * @returns Promise - */ - get(fabricName: string, logicalNetworkName: string, options?: msRest.RequestOptionsBase): Promise; - /** + * Lists all the logical networks of the Azure Site Recovery fabric. * @param fabricName Server Id. - * @param logicalNetworkName Logical network name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, logicalNetworkName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabrics( + fabricName: string, + options?: ReplicationLogicalNetworksListByReplicationFabricsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, options }, + listByReplicationFabricsOperationSpec + ); + } + /** + * Gets the details of a logical network. * @param fabricName Server Id. * @param logicalNetworkName Logical network name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, logicalNetworkName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, logicalNetworkName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + logicalNetworkName: string, + options?: ReplicationLogicalNetworksGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - logicalNetworkName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, logicalNetworkName, options }, + getOperationSpec + ); } /** - * Lists all the logical networks of the Azure Site Recovery fabric - * @summary Gets the list of logical networks under a fabric. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByReplicationFabricsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationFabricsNext + * @param fabricName Server Id. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationFabrics + * method. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationFabricsNext( + fabricName: string, + nextLink: string, + options?: ReplicationLogicalNetworksListByReplicationFabricsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationFabricsNextOperationSpec, - callback) as Promise; + { fabricName, nextLink, options }, + listByReplicationFabricsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationFabricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationFabricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks", + responses: { + 200: { + bodyMapper: Mappers.LogicalNetworkCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.LogicalNetworkCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.LogicalNetwork } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.logicalNetworkName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.LogicalNetwork - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationFabricsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationFabricsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.LogicalNetworkCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts new file mode 100644 index 000000000000..a7da8dce794d --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts @@ -0,0 +1,1292 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationMigrationItems } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + MigrationItem, + ReplicationMigrationItemsListByReplicationProtectionContainersNextOptionalParams, + ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams, + ReplicationMigrationItemsListNextOptionalParams, + ReplicationMigrationItemsListOptionalParams, + ReplicationMigrationItemsListByReplicationProtectionContainersResponse, + ReplicationMigrationItemsGetOptionalParams, + ReplicationMigrationItemsGetResponse, + EnableMigrationInput, + ReplicationMigrationItemsCreateOptionalParams, + ReplicationMigrationItemsCreateResponse, + ReplicationMigrationItemsDeleteOptionalParams, + UpdateMigrationItemInput, + ReplicationMigrationItemsUpdateOptionalParams, + ReplicationMigrationItemsUpdateResponse, + MigrateInput, + ReplicationMigrationItemsMigrateOptionalParams, + ReplicationMigrationItemsMigrateResponse, + ResyncInput, + ReplicationMigrationItemsResyncOptionalParams, + ReplicationMigrationItemsResyncResponse, + TestMigrateInput, + ReplicationMigrationItemsTestMigrateOptionalParams, + ReplicationMigrationItemsTestMigrateResponse, + TestMigrateCleanupInput, + ReplicationMigrationItemsTestMigrateCleanupOptionalParams, + ReplicationMigrationItemsTestMigrateCleanupResponse, + ReplicationMigrationItemsListResponse, + ReplicationMigrationItemsListByReplicationProtectionContainersNextResponse, + ReplicationMigrationItemsListNextResponse +} from "../models"; + +/// +/** Class containing ReplicationMigrationItems operations. */ +export class ReplicationMigrationItemsImpl + implements ReplicationMigrationItems { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class ReplicationMigrationItems class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Gets the list of ASR migration items in the protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + public listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationProtectionContainersPagingAll( + fabricName, + protectionContainerName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + ); + } + }; + } + + private async *listByReplicationProtectionContainersPagingPage( + fabricName: string, + protectionContainerName: string, + options?: ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationProtectionContainers( + fabricName, + protectionContainerName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationProtectionContainersNext( + fabricName, + protectionContainerName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationProtectionContainersPagingAll( + fabricName: string, + protectionContainerName: string, + options?: ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + )) { + yield* page; + } + } + + /** + * Gets the list of migration items in the vault. + * @param options The options parameters. + */ + public list( + options?: ReplicationMigrationItemsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationMigrationItemsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationMigrationItemsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Gets the list of ASR migration items in the protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + private _listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams + ): Promise< + ReplicationMigrationItemsListByReplicationProtectionContainersResponse + > { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, options }, + listByReplicationProtectionContainersOperationSpec + ); + } + + /** + * Gets the details of a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: ReplicationMigrationItemsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, migrationItemName, options }, + getOperationSpec + ); + } + + /** + * The operation to create an ASR migration item (enable migration). + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Enable migration input. + * @param options The options parameters. + */ + async beginCreate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: EnableMigrationInput, + options?: ReplicationMigrationItemsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + migrationItemName, + input, + options + }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to create an ASR migration item (enable migration). + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Enable migration input. + * @param options The options parameters. + */ + async beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: EnableMigrationInput, + options?: ReplicationMigrationItemsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + protectionContainerName, + migrationItemName, + input, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to delete an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + async beginDelete( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: ReplicationMigrationItemsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, protectionContainerName, migrationItemName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to delete an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + async beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: ReplicationMigrationItemsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + fabricName, + protectionContainerName, + migrationItemName, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to update the recovery settings of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Update migration item input. + * @param options The options parameters. + */ + async beginUpdate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: UpdateMigrationItemInput, + options?: ReplicationMigrationItemsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + migrationItemName, + input, + options + }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to update the recovery settings of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Update migration item input. + * @param options The options parameters. + */ + async beginUpdateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: UpdateMigrationItemInput, + options?: ReplicationMigrationItemsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + fabricName, + protectionContainerName, + migrationItemName, + input, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to initiate migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param migrateInput Migrate input. + * @param options The options parameters. + */ + async beginMigrate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + migrateInput: MigrateInput, + options?: ReplicationMigrationItemsMigrateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsMigrateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + migrationItemName, + migrateInput, + options + }, + migrateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to initiate migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param migrateInput Migrate input. + * @param options The options parameters. + */ + async beginMigrateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + migrateInput: MigrateInput, + options?: ReplicationMigrationItemsMigrateOptionalParams + ): Promise { + const poller = await this.beginMigrate( + fabricName, + protectionContainerName, + migrationItemName, + migrateInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to resynchronize replication of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Resync input. + * @param options The options parameters. + */ + async beginResync( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: ResyncInput, + options?: ReplicationMigrationItemsResyncOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsResyncResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + migrationItemName, + input, + options + }, + resyncOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to resynchronize replication of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Resync input. + * @param options The options parameters. + */ + async beginResyncAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: ResyncInput, + options?: ReplicationMigrationItemsResyncOptionalParams + ): Promise { + const poller = await this.beginResync( + fabricName, + protectionContainerName, + migrationItemName, + input, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to initiate test migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateInput Test migrate input. + * @param options The options parameters. + */ + async beginTestMigrate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateInput: TestMigrateInput, + options?: ReplicationMigrationItemsTestMigrateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsTestMigrateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + migrationItemName, + testMigrateInput, + options + }, + testMigrateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to initiate test migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateInput Test migrate input. + * @param options The options parameters. + */ + async beginTestMigrateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateInput: TestMigrateInput, + options?: ReplicationMigrationItemsTestMigrateOptionalParams + ): Promise { + const poller = await this.beginTestMigrate( + fabricName, + protectionContainerName, + migrationItemName, + testMigrateInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to initiate test migrate cleanup. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateCleanupInput Test migrate cleanup input. + * @param options The options parameters. + */ + async beginTestMigrateCleanup( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateCleanupInput: TestMigrateCleanupInput, + options?: ReplicationMigrationItemsTestMigrateCleanupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsTestMigrateCleanupResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + migrationItemName, + testMigrateCleanupInput, + options + }, + testMigrateCleanupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to initiate test migrate cleanup. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateCleanupInput Test migrate cleanup input. + * @param options The options parameters. + */ + async beginTestMigrateCleanupAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateCleanupInput: TestMigrateCleanupInput, + options?: ReplicationMigrationItemsTestMigrateCleanupOptionalParams + ): Promise { + const poller = await this.beginTestMigrateCleanup( + fabricName, + protectionContainerName, + migrationItemName, + testMigrateCleanupInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets the list of migration items in the vault. + * @param options The options parameters. + */ + private _list( + options?: ReplicationMigrationItemsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListByReplicationProtectionContainersNext + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationProtectionContainers method. + * @param options The options parameters. + */ + private _listByReplicationProtectionContainersNext( + fabricName: string, + protectionContainerName: string, + nextLink: string, + options?: ReplicationMigrationItemsListByReplicationProtectionContainersNextOptionalParams + ): Promise< + ReplicationMigrationItemsListByReplicationProtectionContainersNextResponse + > { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, nextLink, options }, + listByReplicationProtectionContainersNextOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ReplicationMigrationItemsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationItemCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken, + Parameters.takeToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.input3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion, Parameters.deleteOption], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.input4, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const migrateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.migrateInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const resyncOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resync", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.input5, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const testMigrateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.testMigrateInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const testMigrateCleanupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.testMigrateCleanupInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.migrationItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationMigrationItems", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationItemCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken, + Parameters.takeToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationItemCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken, + Parameters.takeToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.MigrationItemCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken, + Parameters.takeToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts index 68456734a9af..284949057fe1 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts @@ -1,516 +1,708 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationNetworkMappingsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationNetworkMappings } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + NetworkMapping, + ReplicationNetworkMappingsListByReplicationNetworksNextOptionalParams, + ReplicationNetworkMappingsListByReplicationNetworksOptionalParams, + ReplicationNetworkMappingsListNextOptionalParams, + ReplicationNetworkMappingsListOptionalParams, + ReplicationNetworkMappingsListByReplicationNetworksResponse, + ReplicationNetworkMappingsGetOptionalParams, + ReplicationNetworkMappingsGetResponse, + CreateNetworkMappingInput, + ReplicationNetworkMappingsCreateOptionalParams, + ReplicationNetworkMappingsCreateResponse, + ReplicationNetworkMappingsDeleteOptionalParams, + UpdateNetworkMappingInput, + ReplicationNetworkMappingsUpdateOptionalParams, + ReplicationNetworkMappingsUpdateResponse, + ReplicationNetworkMappingsListResponse, + ReplicationNetworkMappingsListByReplicationNetworksNextResponse, + ReplicationNetworkMappingsListNextResponse +} from "../models"; -/** Class representing a ReplicationNetworkMappings. */ -export class ReplicationNetworkMappings { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationNetworkMappings operations. */ +export class ReplicationNetworkMappingsImpl + implements ReplicationNetworkMappings { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationNetworkMappings. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationNetworkMappings class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists all ASR network mappings for the specified network. - * @summary Gets all the network mappings under a network. * @param fabricName Primary fabric name. * @param networkName Primary network name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationNetworks(fabricName: string, networkName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Primary fabric name. - * @param networkName Primary network name. - * @param callback The callback - */ - listByReplicationNetworks(fabricName: string, networkName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Primary fabric name. - * @param networkName Primary network name. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationNetworks(fabricName: string, networkName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationNetworks(fabricName: string, networkName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationNetworks( + fabricName: string, + networkName: string, + options?: ReplicationNetworkMappingsListByReplicationNetworksOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationNetworksPagingAll( + fabricName, + networkName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationNetworksPagingPage( + fabricName, + networkName, + options + ); + } + }; + } + + private async *listByReplicationNetworksPagingPage( + fabricName: string, + networkName: string, + options?: ReplicationNetworkMappingsListByReplicationNetworksOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationNetworks( + fabricName, + networkName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationNetworksNext( fabricName, networkName, + continuationToken, options - }, - listByReplicationNetworksOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationNetworksPagingAll( + fabricName: string, + networkName: string, + options?: ReplicationNetworkMappingsListByReplicationNetworksOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationNetworksPagingPage( + fabricName, + networkName, + options + )) { + yield* page; + } } /** - * Gets the details of an ASR network mapping - * @summary Gets network mapping by name. - * @param fabricName Primary fabric name. - * @param networkName Primary network name. - * @param networkMappingName Network mapping name. - * @param [options] The optional parameters - * @returns Promise + * Lists all ASR network mappings in the vault. + * @param options The options parameters. */ - get(fabricName: string, networkName: string, networkMappingName: string, options?: msRest.RequestOptionsBase): Promise; + public list( + options?: ReplicationNetworkMappingsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationNetworkMappingsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationNetworkMappingsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** + * Lists all ASR network mappings for the specified network. * @param fabricName Primary fabric name. * @param networkName Primary network name. - * @param networkMappingName Network mapping name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, networkName: string, networkMappingName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationNetworks( + fabricName: string, + networkName: string, + options?: ReplicationNetworkMappingsListByReplicationNetworksOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, networkName, options }, + listByReplicationNetworksOperationSpec + ); + } + /** + * Gets the details of an ASR network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. * @param networkMappingName Network mapping name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, networkName: string, networkMappingName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, networkName: string, networkMappingName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + networkName: string, + networkMappingName: string, + options?: ReplicationNetworkMappingsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - networkName, - networkMappingName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, networkName, networkMappingName, options }, + getOperationSpec + ); } /** * The operation to create an ASR network mapping. - * @summary Creates network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. * @param networkMappingName Network mapping name. * @param input Create network mapping input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(fabricName: string, networkName: string, networkMappingName: string, input: Models.CreateNetworkMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,networkName,networkMappingName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + fabricName: string, + networkName: string, + networkMappingName: string, + input: CreateNetworkMappingInput, + options?: ReplicationNetworkMappingsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationNetworkMappingsCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, networkName, networkMappingName, input, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to delete a network mapping. - * @summary Delete network mapping. + * The operation to create an ASR network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. - * @param networkMappingName ARM Resource Name for network mapping. - * @param [options] The optional parameters - * @returns Promise + * @param networkMappingName Network mapping name. + * @param input Create network mapping input. + * @param options The options parameters. */ - deleteMethod(fabricName: string, networkName: string, networkMappingName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,networkName,networkMappingName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateAndWait( + fabricName: string, + networkName: string, + networkMappingName: string, + input: CreateNetworkMappingInput, + options?: ReplicationNetworkMappingsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + networkName, + networkMappingName, + input, + options + ); + return poller.pollUntilDone(); } /** - * The operation to update an ASR network mapping. - * @summary Updates network mapping. + * The operation to delete a network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. - * @param networkMappingName Network mapping name. - * @param input Update network mapping input. - * @param [options] The optional parameters - * @returns Promise + * @param networkMappingName ARM Resource Name for network mapping. + * @param options The options parameters. */ - update(fabricName: string, networkName: string, networkMappingName: string, input: Models.UpdateNetworkMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(fabricName,networkName,networkMappingName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginDelete( + fabricName: string, + networkName: string, + networkMappingName: string, + options?: ReplicationNetworkMappingsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Lists all ASR network mappings in the vault. - * @summary Gets all the network mappings under a vault. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + const lro = new LroImpl( + sendOperation, + { fabricName, networkName, networkMappingName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to create an ASR network mapping. - * @summary Creates network mapping. + * The operation to delete a network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. - * @param networkMappingName Network mapping name. - * @param input Create network mapping input. - * @param [options] The optional parameters - * @returns Promise + * @param networkMappingName ARM Resource Name for network mapping. + * @param options The options parameters. */ - beginCreate(fabricName: string, networkName: string, networkMappingName: string, input: Models.CreateNetworkMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - networkName, - networkMappingName, - input, - options - }, - beginCreateOperationSpec, - options); + async beginDeleteAndWait( + fabricName: string, + networkName: string, + networkMappingName: string, + options?: ReplicationNetworkMappingsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + fabricName, + networkName, + networkMappingName, + options + ); + return poller.pollUntilDone(); } /** - * The operation to delete a network mapping. - * @summary Delete network mapping. + * The operation to update an ASR network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. - * @param networkMappingName ARM Resource Name for network mapping. - * @param [options] The optional parameters - * @returns Promise + * @param networkMappingName Network mapping name. + * @param input Update network mapping input. + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, networkName: string, networkMappingName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - networkName, - networkMappingName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginUpdate( + fabricName: string, + networkName: string, + networkMappingName: string, + input: UpdateNetworkMappingInput, + options?: ReplicationNetworkMappingsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationNetworkMappingsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, networkName, networkMappingName, input, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to update an ASR network mapping. - * @summary Updates network mapping. * @param fabricName Primary fabric name. * @param networkName Primary network name. * @param networkMappingName Network mapping name. * @param input Update network mapping input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(fabricName: string, networkName: string, networkMappingName: string, input: Models.UpdateNetworkMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - networkName, - networkMappingName, - input, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdateAndWait( + fabricName: string, + networkName: string, + networkMappingName: string, + input: UpdateNetworkMappingInput, + options?: ReplicationNetworkMappingsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + fabricName, + networkName, + networkMappingName, + input, + options + ); + return poller.pollUntilDone(); } /** - * Lists all ASR network mappings for the specified network. - * @summary Gets all the network mappings under a network. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationNetworksNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Lists all ASR network mappings in the vault. + * @param options The options parameters. */ - listByReplicationNetworksNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationNetworkMappingsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationNetworksNext + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationNetworks + * method. + * @param options The options parameters. */ - listByReplicationNetworksNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationNetworksNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationNetworksNext( + fabricName: string, + networkName: string, + nextLink: string, + options?: ReplicationNetworkMappingsListByReplicationNetworksNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationNetworksNextOperationSpec, - callback) as Promise; + { fabricName, networkName, nextLink, options }, + listByReplicationNetworksNextOperationSpec + ); } /** - * Lists all ASR network mappings in the vault. - * @summary Gets all the network mappings under a vault. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationNetworkMappingsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationNetworksOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationNetworksOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings", + responses: { + 200: { + bodyMapper: Mappers.NetworkMappingCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.networkName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.NetworkMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.NetworkMapping } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.networkName, Parameters.networkMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.NetworkMapping - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.NetworkMappingCollection + bodyMapper: Mappers.NetworkMapping + }, + 201: { + bodyMapper: Mappers.NetworkMapping }, - default: { - bodyMapper: Mappers.CloudError + 202: { + bodyMapper: Mappers.NetworkMapping + }, + 204: { + bodyMapper: Mappers.NetworkMapping } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", + requestBody: Parameters.input1, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.networkName, Parameters.networkMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.CreateNetworkMappingInput, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.NetworkMapping - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.networkName, Parameters.networkMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", httpMethod: "PATCH", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}", + responses: { + 200: { + bodyMapper: Mappers.NetworkMapping + }, + 201: { + bodyMapper: Mappers.NetworkMapping + }, + 202: { + bodyMapper: Mappers.NetworkMapping + }, + 204: { + bodyMapper: Mappers.NetworkMapping + } + }, + requestBody: Parameters.input2, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.networkName, Parameters.networkMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.UpdateNetworkMappingInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.NetworkMapping - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.NetworkMappingCollection } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationNetworksNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationNetworksNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.networkName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworks.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworks.ts index fd550486e5f3..a7f48eb23975 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworks.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworks.ts @@ -1,295 +1,313 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationNetworksMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationNetworks } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + Network, + ReplicationNetworksListByReplicationFabricsNextOptionalParams, + ReplicationNetworksListByReplicationFabricsOptionalParams, + ReplicationNetworksListNextOptionalParams, + ReplicationNetworksListOptionalParams, + ReplicationNetworksListByReplicationFabricsResponse, + ReplicationNetworksGetOptionalParams, + ReplicationNetworksGetResponse, + ReplicationNetworksListResponse, + ReplicationNetworksListByReplicationFabricsNextResponse, + ReplicationNetworksListNextResponse +} from "../models"; -/** Class representing a ReplicationNetworks. */ -export class ReplicationNetworks { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationNetworks operations. */ +export class ReplicationNetworksImpl implements ReplicationNetworks { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationNetworks. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationNetworks class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the networks available for a fabric. - * @summary Gets the list of networks under a fabric. - * @param fabricName Fabric name - * @param [options] The optional parameters - * @returns Promise + * @param fabricName Fabric name. + * @param options The options parameters. */ - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - fabricName, - options + public listByReplicationFabrics( + fabricName: string, + options?: ReplicationNetworksListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationFabricsPagingAll(fabricName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listByReplicationFabricsOperationSpec, - callback) as Promise; + byPage: () => { + return this.listByReplicationFabricsPagingPage(fabricName, options); + } + }; } - /** - * Gets the details of a network. - * @summary Gets a network with specified server id and network name. - * @param fabricName Server Id. - * @param networkName Primary network name. - * @param [options] The optional parameters - * @returns Promise - */ - get(fabricName: string, networkName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Server Id. - * @param networkName Primary network name. - * @param callback The callback - */ - get(fabricName: string, networkName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Server Id. - * @param networkName Primary network name. - * @param options The optional parameters - * @param callback The callback - */ - get(fabricName: string, networkName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, networkName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByReplicationFabricsPagingPage( + fabricName: string, + options?: ReplicationNetworksListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationFabrics(fabricName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationFabricsNext( fabricName, - networkName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationFabricsPagingAll( + fabricName: string, + options?: ReplicationNetworksListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationFabricsPagingPage( + fabricName, + options + )) { + yield* page; + } } /** - * Lists the networks available in a vault - * @summary Gets the list of networks. View-only API. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * Lists the networks available in a vault. + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationNetworksListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationNetworksListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationNetworksListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists the networks available for a fabric. - * @summary Gets the list of networks under a fabric. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param fabricName Fabric name. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabrics( + fabricName: string, + options?: ReplicationNetworksListByReplicationFabricsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, options }, + listByReplicationFabricsOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Gets the details of a network. + * @param fabricName Server Id. + * @param networkName Primary network name. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + networkName: string, + options?: ReplicationNetworksGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationFabricsNextOperationSpec, - callback) as Promise; + { fabricName, networkName, options }, + getOperationSpec + ); } /** - * Lists the networks available in a vault - * @summary Gets the list of networks. View-only API. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Lists the networks available in a vault. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: ReplicationNetworksListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByReplicationFabricsNext + * @param fabricName Fabric name. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationFabrics + * method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabricsNext( + fabricName: string, + nextLink: string, + options?: ReplicationNetworksListByReplicationFabricsNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, nextLink, options }, + listByReplicationFabricsNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationNetworksListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationFabricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationFabricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks", + responses: { + 200: { + bodyMapper: Mappers.NetworkCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.NetworkCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.Network } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.networkName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.Network - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.NetworkCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationFabricsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationFabricsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NetworkCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts index ad5a7e8193bf..55f28417fcf8 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts @@ -1,372 +1,500 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationPoliciesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationPolicies } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Policy, + ReplicationPoliciesListNextOptionalParams, + ReplicationPoliciesListOptionalParams, + ReplicationPoliciesListResponse, + ReplicationPoliciesGetOptionalParams, + ReplicationPoliciesGetResponse, + CreatePolicyInput, + ReplicationPoliciesCreateOptionalParams, + ReplicationPoliciesCreateResponse, + ReplicationPoliciesDeleteOptionalParams, + UpdatePolicyInput, + ReplicationPoliciesUpdateOptionalParams, + ReplicationPoliciesUpdateResponse, + ReplicationPoliciesListNextResponse +} from "../models"; -/** Class representing a ReplicationPolicies. */ -export class ReplicationPolicies { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationPolicies operations. */ +export class ReplicationPoliciesImpl implements ReplicationPolicies { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationPolicies. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationPolicies class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the replication policies for a vault. - * @summary Gets the list of replication policies - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationPoliciesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationPoliciesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationPoliciesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Gets the details of a replication policy. - * @summary Gets the requested policy. - * @param policyName Replication policy name. - * @param [options] The optional parameters - * @returns Promise - */ - get(policyName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param policyName Replication policy name. - * @param callback The callback + * Lists the replication policies for a vault. + * @param options The options parameters. */ - get(policyName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationPoliciesListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Gets the details of a replication policy. * @param policyName Replication policy name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(policyName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(policyName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + policyName: string, + options?: ReplicationPoliciesGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - policyName, - options - }, - getOperationSpec, - callback) as Promise; + { policyName, options }, + getOperationSpec + ); } /** - * The operation to create a replication policy - * @summary Creates the policy. - * @param policyName Replication policy name - * @param input Create policy input - * @param [options] The optional parameters - * @returns Promise + * The operation to create a replication policy. + * @param policyName Replication policy name. + * @param input Create policy input. + * @param options The options parameters. */ - create(policyName: string, input: Models.CreatePolicyInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(policyName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + policyName: string, + input: CreatePolicyInput, + options?: ReplicationPoliciesCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationPoliciesCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { policyName, input, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to delete a replication policy. - * @summary Delete the policy. + * The operation to create a replication policy. * @param policyName Replication policy name. - * @param [options] The optional parameters - * @returns Promise + * @param input Create policy input. + * @param options The options parameters. */ - deleteMethod(policyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(policyName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateAndWait( + policyName: string, + input: CreatePolicyInput, + options?: ReplicationPoliciesCreateOptionalParams + ): Promise { + const poller = await this.beginCreate(policyName, input, options); + return poller.pollUntilDone(); } /** - * The operation to update a replication policy. - * @summary Updates the policy. - * @param policyName Policy Id. - * @param input Update Policy Input - * @param [options] The optional parameters - * @returns Promise + * The operation to delete a replication policy. + * @param policyName Replication policy name. + * @param options The options parameters. */ - update(policyName: string, input: Models.UpdatePolicyInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(policyName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginDelete( + policyName: string, + options?: ReplicationPoliciesDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to create a replication policy - * @summary Creates the policy. - * @param policyName Replication policy name - * @param input Create policy input - * @param [options] The optional parameters - * @returns Promise - */ - beginCreate(policyName: string, input: Models.CreatePolicyInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - policyName, - input, - options - }, - beginCreateOperationSpec, - options); + const lro = new LroImpl( + sendOperation, + { policyName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to delete a replication policy. - * @summary Delete the policy. * @param policyName Replication policy name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(policyName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - policyName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDeleteAndWait( + policyName: string, + options?: ReplicationPoliciesDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(policyName, options); + return poller.pollUntilDone(); } /** * The operation to update a replication policy. - * @summary Updates the policy. * @param policyName Policy Id. - * @param input Update Policy Input - * @param [options] The optional parameters - * @returns Promise + * @param input Update Policy Input. + * @param options The options parameters. */ - beginUpdate(policyName: string, input: Models.UpdatePolicyInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - policyName, - input, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdate( + policyName: string, + input: UpdatePolicyInput, + options?: ReplicationPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationPoliciesUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { policyName, input, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the replication policies for a vault. - * @summary Gets the list of replication policies - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * The operation to update a replication policy. + * @param policyName Policy Id. + * @param input Update Policy Input. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAndWait( + policyName: string, + input: UpdatePolicyInput, + options?: ReplicationPoliciesUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate(policyName, input, options); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationPoliciesListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.PolicyCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.policyName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.Policy - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.policyName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.CreatePolicyInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.Policy }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Policy + }, + 202: { + bodyMapper: Mappers.Policy + }, + 204: { + bodyMapper: Mappers.Policy } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + requestBody: Parameters.input7, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.policyName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.policyName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.UpdatePolicyInput, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.Policy }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.Policy + }, + 202: { + bodyMapper: Mappers.Policy + }, + 204: { + bodyMapper: Mappers.Policy } }, + requestBody: Parameters.input8, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.policyName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.PolicyCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectableItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectableItems.ts index 4c2d2bc2768c..6fe558b01bb6 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectableItems.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectableItems.ts @@ -1,208 +1,246 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationProtectableItemsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationProtectableItems } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + ProtectableItem, + ReplicationProtectableItemsListByReplicationProtectionContainersNextOptionalParams, + ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams, + ReplicationProtectableItemsListByReplicationProtectionContainersResponse, + ReplicationProtectableItemsGetOptionalParams, + ReplicationProtectableItemsGetResponse, + ReplicationProtectableItemsListByReplicationProtectionContainersNextResponse +} from "../models"; -/** Class representing a ReplicationProtectableItems. */ -export class ReplicationProtectableItems { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationProtectableItems operations. */ +export class ReplicationProtectableItemsImpl + implements ReplicationProtectableItems { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationProtectableItems. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationProtectableItems class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the protectable items in a protection container. - * @summary Gets the list of protectable items. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param [options] The optional parameters - * @returns - * Promise + * @param options The options parameters. */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: Models.ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams): Promise; - /** - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param callback The callback - */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options: Models.ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams, callback: msRest.ServiceCallback): void; - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: Models.ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationProtectionContainersPagingAll( + fabricName, + protectionContainerName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + ); + } + }; + } + + private async *listByReplicationProtectionContainersPagingPage( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationProtectionContainers( + fabricName, + protectionContainerName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationProtectionContainersNext( fabricName, protectionContainerName, + continuationToken, options - }, - listByReplicationProtectionContainersOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationProtectionContainersPagingAll( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + )) { + yield* page; + } } /** - * The operation to get the details of a protectable item. - * @summary Gets the details of a protectable item. - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param protectableItemName Protectable item name. - * @param [options] The optional parameters - * @returns Promise - */ - get(fabricName: string, protectionContainerName: string, protectableItemName: string, options?: msRest.RequestOptionsBase): Promise; - /** + * Lists the protectable items in a protection container. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param protectableItemName Protectable item name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, protectableItemName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams + ): Promise< + ReplicationProtectableItemsListByReplicationProtectionContainersResponse + > { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, options }, + listByReplicationProtectionContainersOperationSpec + ); + } + /** + * The operation to get the details of a protectable item. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param protectableItemName Protectable item name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, protectableItemName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, protectionContainerName: string, protectableItemName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + protectionContainerName: string, + protectableItemName: string, + options?: ReplicationProtectableItemsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - protectionContainerName, - protectableItemName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, protectionContainerName, protectableItemName, options }, + getOperationSpec + ); } /** - * Lists the protectable items in a protection container. - * @summary Gets the list of protectable items. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listByReplicationProtectionContainersNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByReplicationProtectionContainersNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationProtectionContainersNext + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationProtectionContainers method. + * @param options The options parameters. */ - listByReplicationProtectionContainersNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectionContainersNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationProtectionContainersNext( + fabricName: string, + protectionContainerName: string, + nextLink: string, + options?: ReplicationProtectableItemsListByReplicationProtectionContainersNextOptionalParams + ): Promise< + ReplicationProtectableItemsListByReplicationProtectionContainersNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationProtectionContainersNextOperationSpec, - callback) as Promise; + { fabricName, protectionContainerName, nextLink, options }, + listByReplicationProtectionContainersNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationProtectionContainersOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems", + responses: { + 200: { + bodyMapper: Mappers.ProtectableItemCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.take, + Parameters.skipToken1 + ], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName ], - queryParameters: [ - Parameters.apiVersion, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProtectableItemCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ProtectableItem } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.protectableItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.ProtectableItem - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationProtectionContainersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProtectableItemCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.take, + Parameters.skipToken1 + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts index 8d142df82139..69630843f861 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts @@ -1,91 +1,243 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationProtectedItemsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationProtectedItems } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ReplicationProtectedItem, + ReplicationProtectedItemsListByReplicationProtectionContainersNextOptionalParams, + ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams, + ReplicationProtectedItemsListNextOptionalParams, + ReplicationProtectedItemsListOptionalParams, + ReplicationProtectedItemsListByReplicationProtectionContainersResponse, + ReplicationProtectedItemsGetOptionalParams, + ReplicationProtectedItemsGetResponse, + EnableProtectionInput, + ReplicationProtectedItemsCreateOptionalParams, + ReplicationProtectedItemsCreateResponse, + ReplicationProtectedItemsPurgeOptionalParams, + UpdateReplicationProtectedItemInput, + ReplicationProtectedItemsUpdateOptionalParams, + ReplicationProtectedItemsUpdateResponse, + AddDisksInput, + ReplicationProtectedItemsAddDisksOptionalParams, + ReplicationProtectedItemsAddDisksResponse, + ApplyRecoveryPointInput, + ReplicationProtectedItemsApplyRecoveryPointOptionalParams, + ReplicationProtectedItemsApplyRecoveryPointResponse, + ReplicationProtectedItemsFailoverCancelOptionalParams, + ReplicationProtectedItemsFailoverCancelResponse, + ReplicationProtectedItemsFailoverCommitOptionalParams, + ReplicationProtectedItemsFailoverCommitResponse, + PlannedFailoverInput, + ReplicationProtectedItemsPlannedFailoverOptionalParams, + ReplicationProtectedItemsPlannedFailoverResponse, + DisableProtectionInput, + ReplicationProtectedItemsDeleteOptionalParams, + RemoveDisksInput, + ReplicationProtectedItemsRemoveDisksOptionalParams, + ReplicationProtectedItemsRemoveDisksResponse, + ReplicationProtectedItemsRepairReplicationOptionalParams, + ReplicationProtectedItemsRepairReplicationResponse, + ReverseReplicationInput, + ReplicationProtectedItemsReprotectOptionalParams, + ReplicationProtectedItemsReprotectResponse, + ResolveHealthInput, + ReplicationProtectedItemsResolveHealthErrorsOptionalParams, + ReplicationProtectedItemsResolveHealthErrorsResponse, + SwitchProviderInput, + ReplicationProtectedItemsSwitchProviderOptionalParams, + ReplicationProtectedItemsSwitchProviderResponse, + TestFailoverInput, + ReplicationProtectedItemsTestFailoverOptionalParams, + ReplicationProtectedItemsTestFailoverResponse, + TestFailoverCleanupInput, + ReplicationProtectedItemsTestFailoverCleanupOptionalParams, + ReplicationProtectedItemsTestFailoverCleanupResponse, + UnplannedFailoverInput, + ReplicationProtectedItemsUnplannedFailoverOptionalParams, + ReplicationProtectedItemsUnplannedFailoverResponse, + UpdateApplianceForReplicationProtectedItemInput, + ReplicationProtectedItemsUpdateApplianceOptionalParams, + ReplicationProtectedItemsUpdateApplianceResponse, + UpdateMobilityServiceRequest, + ReplicationProtectedItemsUpdateMobilityServiceOptionalParams, + ReplicationProtectedItemsUpdateMobilityServiceResponse, + ReplicationProtectedItemsListResponse, + ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse, + ReplicationProtectedItemsListNextResponse +} from "../models"; -/** Class representing a ReplicationProtectedItems. */ -export class ReplicationProtectedItems { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationProtectedItems operations. */ +export class ReplicationProtectedItemsImpl + implements ReplicationProtectedItems { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationProtectedItems. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationProtectedItems class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Gets the list of ASR replication protected items in the protection container. - * @summary Gets the list of Replication protected items. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param callback The callback - */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationProtectionContainersPagingAll( + fabricName, + protectionContainerName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + ); + } + }; + } + + private async *listByReplicationProtectionContainersPagingPage( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationProtectionContainers( + fabricName, + protectionContainerName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationProtectionContainersNext( fabricName, protectionContainerName, + continuationToken, options - }, - listByReplicationProtectionContainersOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationProtectionContainersPagingAll( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + )) { + yield* page; + } } /** - * Gets the details of an ASR replication protected item. - * @summary Gets the details of a Replication protected item. - * @param fabricName Fabric unique name. - * @param protectionContainerName Protection container name. - * @param replicatedProtectedItemName Replication protected item name. - * @param [options] The optional parameters - * @returns Promise + * Gets the list of ASR replication protected items in the vault. + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise; + public list( + options?: ReplicationProtectedItemsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationProtectedItemsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationProtectedItemsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** - * @param fabricName Fabric unique name. + * Gets the list of ASR replication protected items in the protection container. + * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param replicatedProtectedItemName Replication protected item name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams + ): Promise< + ReplicationProtectedItemsListByReplicationProtectionContainersResponse + > { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, options }, + listByReplicationProtectionContainersOperationSpec + ); + } + /** + * Gets the details of an ASR replication protected item. * @param fabricName Fabric unique name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { fabricName, @@ -93,1159 +245,2659 @@ export class ReplicationProtectedItems { replicatedProtectedItemName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * The operation to create an ASR replication protected item (Enable replication). - * @summary Enables protection. * @param fabricName Name of the fabric. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName A name for the replication protected item. * @param input Enable Protection Input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, input: Models.EnableProtectionInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,protectionContainerName,replicatedProtectedItemName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + input: EnableProtectionInput, + options?: ReplicationProtectedItemsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + input, + options + }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to delete or purge a replication protected item. This operation will force delete - * the replication protected item. Use the remove operation on replication protected item to - * perform a clean disable replication for the item. - * @summary Purges protection. - * @param fabricName Fabric name. + * The operation to create an ASR replication protected item (Enable replication). + * @param fabricName Name of the fabric. * @param protectionContainerName Protection container name. - * @param replicatedProtectedItemName Replication protected item name. - * @param [options] The optional parameters - * @returns Promise + * @param replicatedProtectedItemName A name for the replication protected item. + * @param input Enable Protection Input. + * @param options The options parameters. */ - purge(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginPurge(fabricName,protectionContainerName,replicatedProtectedItemName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + input: EnableProtectionInput, + options?: ReplicationProtectedItemsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + input, + options + ); + return poller.pollUntilDone(); } /** - * The operation to update the recovery settings of an ASR replication protected item. - * @summary Updates protection. + * The operation to delete or purge a replication protected item. This operation will force delete the + * replication protected item. Use the remove operation on replication protected item to perform a + * clean disable replication for the item. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param updateProtectionInput Update protection input. - * @param [options] The optional parameters - * @returns Promise - */ - update(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, updateProtectionInput: Models.UpdateReplicationProtectedItemInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(fabricName,protectionContainerName,replicatedProtectedItemName,updateProtectionInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * The operation to change the recovery point of a failed over replication protected item. - * @summary Change or apply recovery point. - * @param fabricName The ARM fabric name. - * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replicated protected item's name. - * @param applyRecoveryPointInput The ApplyRecoveryPointInput. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - applyRecoveryPoint(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, applyRecoveryPointInput: Models.ApplyRecoveryPointInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginApplyRecoveryPoint(fabricName,protectionContainerName,replicatedProtectedItemName,applyRecoveryPointInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginPurge( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsPurgeOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Operation to commit the failover of the replication protected item. - * @summary Execute commit failover - * @param fabricName Unique fabric name. - * @param protectionContainerName Protection container name. - * @param replicatedProtectedItemName Replication protected item name. - * @param [options] The optional parameters - * @returns Promise - */ - failoverCommit(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailoverCommit(fabricName,protectionContainerName,replicatedProtectedItemName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + }, + purgeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Operation to initiate a planned failover of the replication protected item. - * @summary Execute planned failover - * @param fabricName Unique fabric name. + * The operation to delete or purge a replication protected item. This operation will force delete the + * replication protected item. Use the remove operation on replication protected item to perform a + * clean disable replication for the item. + * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param failoverInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - plannedFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: Models.PlannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginPlannedFailover(fabricName,protectionContainerName,replicatedProtectedItemName,failoverInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginPurgeAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsPurgeOptionalParams + ): Promise { + const poller = await this.beginPurge( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + return poller.pollUntilDone(); } /** - * The operation to disable replication on a replication protected item. This will also remove the - * item. - * @summary Disables protection. + * The operation to update the recovery settings of an ASR replication protected item. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param disableProtectionInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param updateProtectionInput Update protection input. + * @param options The options parameters. */ - deleteMethod(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, disableProtectionInput: Models.DisableProtectionInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,protectionContainerName,replicatedProtectedItemName,disableProtectionInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginUpdate( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + updateProtectionInput: UpdateReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to start resynchronize/repair replication for a replication protected item - * requiring resynchronization. - * @summary Resynchronize or repair replication. - * @param fabricName The name of the fabric. - * @param protectionContainerName The name of the container. - * @param replicatedProtectedItemName The name of the replication protected item. - * @param [options] The optional parameters - * @returns Promise - */ - repairReplication(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRepairReplication(fabricName,protectionContainerName,replicatedProtectedItemName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + updateProtectionInput, + options + }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Operation to reprotect or reverse replicate a failed over replication protected item. - * @summary Execute Reverse Replication\Reprotect - * @param fabricName Unique fabric name. + * The operation to update the recovery settings of an ASR replication protected item. + * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param rrInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param updateProtectionInput Update protection input. + * @param options The options parameters. */ - reprotect(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, rrInput: Models.ReverseReplicationInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginReprotect(fabricName,protectionContainerName,replicatedProtectedItemName,rrInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginUpdateAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + updateProtectionInput: UpdateReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + updateProtectionInput, + options + ); + return poller.pollUntilDone(); } /** - * Operation to perform a test failover of the replication protected item. - * @summary Execute test failover + * Operation to add disks(s) to the replication protected item. * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param failoverInput Test failover input. - * @param [options] The optional parameters - * @returns Promise + * @param addDisksInput Add disks input. + * @param options The options parameters. */ - testFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: Models.TestFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginTestFailover(fabricName,protectionContainerName,replicatedProtectedItemName,failoverInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginAddDisks( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + addDisksInput: AddDisksInput, + options?: ReplicationProtectedItemsAddDisksOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsAddDisksResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Operation to clean up the test failover of a replication protected item. - * @summary Execute test failover cleanup. - * @param fabricName Unique fabric name. - * @param protectionContainerName Protection container name. - * @param replicatedProtectedItemName Replication protected item name. - * @param cleanupInput Test failover cleanup input. - * @param [options] The optional parameters - * @returns Promise - */ - testFailoverCleanup(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, cleanupInput: Models.TestFailoverCleanupInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginTestFailoverCleanup(fabricName,protectionContainerName,replicatedProtectedItemName,cleanupInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + addDisksInput, + options + }, + addDisksOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Operation to initiate a failover of the replication protected item. - * @summary Execute unplanned failover + * Operation to add disks(s) to the replication protected item. * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param failoverInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param addDisksInput Add disks input. + * @param options The options parameters. */ - unplannedFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: Models.UnplannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUnplannedFailover(fabricName,protectionContainerName,replicatedProtectedItemName,failoverInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginAddDisksAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + addDisksInput: AddDisksInput, + options?: ReplicationProtectedItemsAddDisksOptionalParams + ): Promise { + const poller = await this.beginAddDisks( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + addDisksInput, + options + ); + return poller.pollUntilDone(); } /** - * The operation to update(push update) the installed mobility service software on a replication - * protected item to the latest available version. - * @summary Update the mobility service on a protected item. - * @param fabricName The name of the fabric containing the protected item. - * @param protectionContainerName The name of the container containing the protected item. - * @param replicationProtectedItemName The name of the protected item on which the agent is to be - * updated. - * @param updateMobilityServiceRequest Request to update the mobility service on the protected - * item. - * @param [options] The optional parameters - * @returns Promise + * The operation to change the recovery point of a failed over replication protected item. + * @param fabricName The ARM fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replicated protected item name. + * @param applyRecoveryPointInput The ApplyRecoveryPointInput. + * @param options The options parameters. */ - updateMobilityService(fabricName: string, protectionContainerName: string, replicationProtectedItemName: string, updateMobilityServiceRequest: Models.UpdateMobilityServiceRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdateMobilityService(fabricName,protectionContainerName,replicationProtectedItemName,updateMobilityServiceRequest,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginApplyRecoveryPoint( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applyRecoveryPointInput: ApplyRecoveryPointInput, + options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsApplyRecoveryPointResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Gets the list of ASR replication protected items in the vault. - * @summary Gets the list of replication protected items. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: Models.ReplicationProtectedItemsListOptionalParams): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: Models.ReplicationProtectedItemsListOptionalParams, callback: msRest.ServiceCallback): void; - list(options?: Models.ReplicationProtectedItemsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + const lro = new LroImpl( + sendOperation, { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + applyRecoveryPointInput, options }, - listOperationSpec, - callback) as Promise; + applyRecoveryPointOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to create an ASR replication protected item (Enable replication). - * @summary Enables protection. - * @param fabricName Name of the fabric. - * @param protectionContainerName Protection container name. - * @param replicatedProtectedItemName A name for the replication protected item. - * @param input Enable Protection Input. - * @param [options] The optional parameters - * @returns Promise + * The operation to change the recovery point of a failed over replication protected item. + * @param fabricName The ARM fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replicated protected item name. + * @param applyRecoveryPointInput The ApplyRecoveryPointInput. + * @param options The options parameters. */ - beginCreate(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, input: Models.EnableProtectionInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - replicatedProtectedItemName, - input, - options - }, - beginCreateOperationSpec, - options); + async beginApplyRecoveryPointAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applyRecoveryPointInput: ApplyRecoveryPointInput, + options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams + ): Promise { + const poller = await this.beginApplyRecoveryPoint( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + applyRecoveryPointInput, + options + ); + return poller.pollUntilDone(); } /** - * The operation to delete or purge a replication protected item. This operation will force delete - * the replication protected item. Use the remove operation on replication protected item to - * perform a clean disable replication for the item. - * @summary Purges protection. - * @param fabricName Fabric name. + * Operation to cancel the failover of the replication protected item. + * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginPurge(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginFailoverCancel( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCancelOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsFailoverCancelResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, options }, - beginPurgeOperationSpec, - options); + failoverCancelOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to update the recovery settings of an ASR replication protected item. - * @summary Updates protection. - * @param fabricName Fabric name. + * Operation to cancel the failover of the replication protected item. + * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param updateProtectionInput Update protection input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, updateProtectionInput: Models.UpdateReplicationProtectedItemInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - replicatedProtectedItemName, - updateProtectionInput, - options - }, - beginUpdateOperationSpec, - options); + async beginFailoverCancelAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCancelOptionalParams + ): Promise { + const poller = await this.beginFailoverCancel( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + return poller.pollUntilDone(); } /** - * The operation to change the recovery point of a failed over replication protected item. - * @summary Change or apply recovery point. - * @param fabricName The ARM fabric name. - * @param protectionContainerName The protection container name. - * @param replicatedProtectedItemName The replicated protected item's name. - * @param applyRecoveryPointInput The ApplyRecoveryPointInput. - * @param [options] The optional parameters - * @returns Promise + * Operation to commit the failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. */ - beginApplyRecoveryPoint(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, applyRecoveryPointInput: Models.ApplyRecoveryPointInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginFailoverCommit( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCommitOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsFailoverCommitResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, - applyRecoveryPointInput, options }, - beginApplyRecoveryPointOperationSpec, - options); + failoverCommitOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Operation to commit the failover of the replication protected item. - * @summary Execute commit failover * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. + */ + async beginFailoverCommitAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCommitOptionalParams + ): Promise { + const poller = await this.beginFailoverCommit( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + return poller.pollUntilDone(); + } + + /** + * Operation to initiate a planned failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Planned failover input. + * @param options The options parameters. */ - beginFailoverCommit(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginPlannedFailover( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: PlannedFailoverInput, + options?: ReplicationProtectedItemsPlannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsPlannedFailoverResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, + failoverInput, options }, - beginFailoverCommitOperationSpec, - options); + plannedFailoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * Operation to initiate a planned failover of the replication protected item. - * @summary Execute planned failover * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param failoverInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param failoverInput Planned failover input. + * @param options The options parameters. + */ + async beginPlannedFailoverAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: PlannedFailoverInput, + options?: ReplicationProtectedItemsPlannedFailoverOptionalParams + ): Promise { + const poller = await this.beginPlannedFailover( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + failoverInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to disable replication on a replication protected item. This will also remove the + * item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param disableProtectionInput Disable protection input. + * @param options The options parameters. */ - beginPlannedFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: Models.PlannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginDelete( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + disableProtectionInput: DisableProtectionInput, + options?: ReplicationProtectedItemsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, - failoverInput, + disableProtectionInput, options }, - beginPlannedFailoverOperationSpec, - options); + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to disable replication on a replication protected item. This will also remove the * item. - * @summary Disables protection. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. * @param disableProtectionInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. + */ + async beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + disableProtectionInput: DisableProtectionInput, + options?: ReplicationProtectedItemsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + disableProtectionInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * Operation to remove disk(s) from the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param removeDisksInput Remove disks input. + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, disableProtectionInput: Models.DisableProtectionInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginRemoveDisks( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + removeDisksInput: RemoveDisksInput, + options?: ReplicationProtectedItemsRemoveDisksOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsRemoveDisksResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, - disableProtectionInput, + removeDisksInput, options }, - beginDeleteMethodOperationSpec, - options); + removeDisksOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to start resynchronize/repair replication for a replication protected item - * requiring resynchronization. - * @summary Resynchronize or repair replication. + * Operation to remove disk(s) from the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param removeDisksInput Remove disks input. + * @param options The options parameters. + */ + async beginRemoveDisksAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + removeDisksInput: RemoveDisksInput, + options?: ReplicationProtectedItemsRemoveDisksOptionalParams + ): Promise { + const poller = await this.beginRemoveDisks( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + removeDisksInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to start resynchronize/repair replication for a replication protected item requiring + * resynchronization. * @param fabricName The name of the fabric. * @param protectionContainerName The name of the container. * @param replicatedProtectedItemName The name of the replication protected item. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginRepairReplication(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginRepairReplication( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsRepairReplicationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsRepairReplicationResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, options }, - beginRepairReplicationOperationSpec, - options); + repairReplicationOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to start resynchronize/repair replication for a replication protected item requiring + * resynchronization. + * @param fabricName The name of the fabric. + * @param protectionContainerName The name of the container. + * @param replicatedProtectedItemName The name of the replication protected item. + * @param options The options parameters. + */ + async beginRepairReplicationAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsRepairReplicationOptionalParams + ): Promise { + const poller = await this.beginRepairReplication( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + return poller.pollUntilDone(); } /** * Operation to reprotect or reverse replicate a failed over replication protected item. - * @summary Execute Reverse Replication\Reprotect * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param rrInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param reprotectInput Reverse replication input. + * @param options The options parameters. */ - beginReprotect(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, rrInput: Models.ReverseReplicationInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginReprotect( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + reprotectInput: ReverseReplicationInput, + options?: ReplicationProtectedItemsReprotectOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsReprotectResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, - rrInput, + reprotectInput, options }, - beginReprotectOperationSpec, - options); + reprotectOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Operation to perform a test failover of the replication protected item. - * @summary Execute test failover + * Operation to reprotect or reverse replicate a failed over replication protected item. * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param failoverInput Test failover input. - * @param [options] The optional parameters - * @returns Promise + * @param reprotectInput Reverse replication input. + * @param options The options parameters. */ - beginTestFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: Models.TestFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - replicatedProtectedItemName, - failoverInput, - options - }, - beginTestFailoverOperationSpec, - options); + async beginReprotectAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + reprotectInput: ReverseReplicationInput, + options?: ReplicationProtectedItemsReprotectOptionalParams + ): Promise { + const poller = await this.beginReprotect( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + reprotectInput, + options + ); + return poller.pollUntilDone(); } /** - * Operation to clean up the test failover of a replication protected item. - * @summary Execute test failover cleanup. + * Operation to resolve health issues of the replication protected item. * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param cleanupInput Test failover cleanup input. - * @param [options] The optional parameters - * @returns Promise + * @param resolveHealthInput Health issue input object. + * @param options The options parameters. */ - beginTestFailoverCleanup(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, cleanupInput: Models.TestFailoverCleanupInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginResolveHealthErrors( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + resolveHealthInput: ResolveHealthInput, + options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsResolveHealthErrorsResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, - cleanupInput, + resolveHealthInput, options }, - beginTestFailoverCleanupOperationSpec, - options); + resolveHealthErrorsOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Operation to initiate a failover of the replication protected item. - * @summary Execute unplanned failover + * Operation to resolve health issues of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param resolveHealthInput Health issue input object. + * @param options The options parameters. + */ + async beginResolveHealthErrorsAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + resolveHealthInput: ResolveHealthInput, + options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams + ): Promise { + const poller = await this.beginResolveHealthErrors( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + resolveHealthInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * Operation to initiate a switch provider of the replication protected item. * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param failoverInput Disable protection input. - * @param [options] The optional parameters - * @returns Promise + * @param switchProviderInput Switch provider input. + * @param options The options parameters. */ - beginUnplannedFailover(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, failoverInput: Models.UnplannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginSwitchProvider( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + switchProviderInput: SwitchProviderInput, + options?: ReplicationProtectedItemsSwitchProviderOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsSwitchProviderResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, replicatedProtectedItemName, - failoverInput, + switchProviderInput, options }, - beginUnplannedFailoverOperationSpec, - options); + switchProviderOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "azure-async-operation" + }); } /** - * The operation to update(push update) the installed mobility service software on a replication - * protected item to the latest available version. - * @summary Update the mobility service on a protected item. - * @param fabricName The name of the fabric containing the protected item. - * @param protectionContainerName The name of the container containing the protected item. - * @param replicationProtectedItemName The name of the protected item on which the agent is to be - * updated. - * @param updateMobilityServiceRequest Request to update the mobility service on the protected - * item. - * @param [options] The optional parameters - * @returns Promise + * Operation to initiate a switch provider of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param switchProviderInput Switch provider input. + * @param options The options parameters. + */ + async beginSwitchProviderAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + switchProviderInput: SwitchProviderInput, + options?: ReplicationProtectedItemsSwitchProviderOptionalParams + ): Promise { + const poller = await this.beginSwitchProvider( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + switchProviderInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * Operation to perform a test failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param testfailoverInput Test failover input. + * @param options The options parameters. */ - beginUpdateMobilityService(fabricName: string, protectionContainerName: string, replicationProtectedItemName: string, updateMobilityServiceRequest: Models.UpdateMobilityServiceRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginTestFailover( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + testfailoverInput: TestFailoverInput, + options?: ReplicationProtectedItemsTestFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsTestFailoverResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, - replicationProtectedItemName, - updateMobilityServiceRequest, + replicatedProtectedItemName, + testfailoverInput, options }, - beginUpdateMobilityServiceOperationSpec, - options); + testFailoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets the list of ASR replication protected items in the protection container. - * @summary Gets the list of Replication protected items. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise + * Operation to perform a test failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param testfailoverInput Test failover input. + * @param options The options parameters. */ - listByReplicationProtectionContainersNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginTestFailoverAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + testfailoverInput: TestFailoverInput, + options?: ReplicationProtectedItemsTestFailoverOptionalParams + ): Promise { + const poller = await this.beginTestFailover( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + testfailoverInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * Operation to clean up the test failover of a replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param cleanupInput Test failover cleanup input. + * @param options The options parameters. + */ + async beginTestFailoverCleanup( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + cleanupInput: TestFailoverCleanupInput, + options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsTestFailoverCleanupResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + cleanupInput, + options + }, + testFailoverCleanupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Operation to clean up the test failover of a replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param cleanupInput Test failover cleanup input. + * @param options The options parameters. */ - listByReplicationProtectionContainersNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginTestFailoverCleanupAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + cleanupInput: TestFailoverCleanupInput, + options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams + ): Promise { + const poller = await this.beginTestFailoverCleanup( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + cleanupInput, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Operation to initiate a failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Failover input. + * @param options The options parameters. */ - listByReplicationProtectionContainersNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectionContainersNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginUnplannedFailover( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: UnplannedFailoverInput, + options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsUnplannedFailoverResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { - nextPageLink, + fabricName, + protectionContainerName, + replicatedProtectedItemName, + failoverInput, options }, - listByReplicationProtectionContainersNextOperationSpec, - callback) as Promise; + unplannedFailoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Gets the list of ASR replication protected items in the vault. - * @summary Gets the list of replication protected items. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * Operation to initiate a failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Failover input. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginUnplannedFailoverAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: UnplannedFailoverInput, + options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams + ): Promise { + const poller = await this.beginUnplannedFailover( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + failoverInput, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * The operation to update appliance of an ASR replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param applianceUpdateInput Appliance update protection input. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUpdateAppliance( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateApplianceOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsUpdateApplianceResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { + fabricName, + protectionContainerName, + replicatedProtectedItemName, + applianceUpdateInput, + options + }, + updateApplianceOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * The operation to update appliance of an ASR replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param applianceUpdateInput Appliance update protection input. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginUpdateApplianceAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateApplianceOptionalParams + ): Promise { + const poller = await this.beginUpdateAppliance( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + applianceUpdateInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to update(push update) the installed mobility service software on a replication + * protected item to the latest available version. + * @param fabricName The name of the fabric containing the protected item. + * @param protectionContainerName The name of the container containing the protected item. + * @param replicationProtectedItemName The name of the protected item on which the agent is to be + * updated. + * @param updateMobilityServiceRequest Request to update the mobility service on the protected item. + * @param options The options parameters. + */ + async beginUpdateMobilityService( + fabricName: string, + protectionContainerName: string, + replicationProtectedItemName: string, + updateMobilityServiceRequest: UpdateMobilityServiceRequest, + options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationProtectedItemsUpdateMobilityServiceResponse + >, + ReplicationProtectedItemsUpdateMobilityServiceResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { - nextPageLink, + fabricName, + protectionContainerName, + replicationProtectedItemName, + updateMobilityServiceRequest, options }, - listNextOperationSpec, - callback) as Promise; + updateMobilityServiceOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } -} + /** + * The operation to update(push update) the installed mobility service software on a replication + * protected item to the latest available version. + * @param fabricName The name of the fabric containing the protected item. + * @param protectionContainerName The name of the container containing the protected item. + * @param replicationProtectedItemName The name of the protected item on which the agent is to be + * updated. + * @param updateMobilityServiceRequest Request to update the mobility service on the protected item. + * @param options The options parameters. + */ + async beginUpdateMobilityServiceAndWait( + fabricName: string, + protectionContainerName: string, + replicationProtectedItemName: string, + updateMobilityServiceRequest: UpdateMobilityServiceRequest, + options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams + ): Promise { + const poller = await this.beginUpdateMobilityService( + fabricName, + protectionContainerName, + replicationProtectedItemName, + updateMobilityServiceRequest, + options + ); + return poller.pollUntilDone(); + } + + /** + * Gets the list of ASR replication protected items in the vault. + * @param options The options parameters. + */ + private _list( + options?: ReplicationProtectedItemsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListByReplicationProtectionContainersNext + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationProtectionContainers method. + * @param options The options parameters. + */ + private _listByReplicationProtectionContainersNext( + fabricName: string, + protectionContainerName: string, + nextLink: string, + options?: ReplicationProtectedItemsListByReplicationProtectionContainersNextOptionalParams + ): Promise< + ReplicationProtectedItemsListByReplicationProtectionContainersNextResponse + > { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, nextLink, options }, + listByReplicationProtectionContainersNextOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ReplicationProtectedItemsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationProtectionContainersOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectedItemCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectedItem + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.ReplicationProtectedItemCollection + bodyMapper: Mappers.ReplicationProtectedItem + }, + 201: { + bodyMapper: Mappers.ReplicationProtectedItem }, - default: { - bodyMapper: Mappers.CloudError + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, + requestBody: Parameters.input6, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", +const purgeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, + requestBody: Parameters.updateProtectionInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems", +const addDisksOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/addDisks", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem + } + }, + requestBody: Parameters.addDisksInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion, - Parameters.skipToken, - Parameters.filter - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const applyRecoveryPointOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint", + httpMethod: "POST", responses: { 200: { - bodyMapper: Mappers.ReplicationProtectedItemCollection + bodyMapper: Mappers.ReplicationProtectedItem }, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, + requestBody: Parameters.applyRecoveryPointInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", +const failoverCancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCancel", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.EnableProtectionInput, - required: true + headerParameters: [Parameters.accept], + serializer +}; +const failoverCommitOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName + ], + headerParameters: [Parameters.accept], + serializer +}; +const plannedFailoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginPurgeOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", + requestBody: Parameters.failoverInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove", + httpMethod: "POST", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + requestBody: Parameters.disableProtectionInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "updateProtectionInput", - mapper: { - ...Mappers.UpdateReplicationProtectedItemInput, - required: true - } - }, + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const removeDisksOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/removeDisks", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginApplyRecoveryPointOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint", + requestBody: Parameters.removeDisksInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "applyRecoveryPointInput", - mapper: { - ...Mappers.ApplyRecoveryPointInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const repairReplicationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginFailoverCommitOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const reprotectOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginPlannedFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover", + requestBody: Parameters.reprotectInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "failoverInput", - mapper: { - ...Mappers.PlannedFailoverInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const resolveHealthErrorsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/resolveHealthErrors", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove", + requestBody: Parameters.resolveHealthInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "disableProtectionInput", - mapper: { - ...Mappers.DisableProtectionInput, - required: true - } - }, - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginRepairReplicationOperationSpec: msRest.OperationSpec = { +const switchProviderOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/switchProvider", httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem + } + }, + requestBody: Parameters.switchProviderInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const testFailoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginReprotectOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect", + requestBody: Parameters.testfailoverInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "rrInput", - mapper: { - ...Mappers.ReverseReplicationInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const testFailoverCleanupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginTestFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover", + requestBody: Parameters.cleanupInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "failoverInput", - mapper: { - ...Mappers.TestFailoverInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const unplannedFailoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginTestFailoverCleanupOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup", + requestBody: Parameters.failoverInput1, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "cleanupInput", - mapper: { - ...Mappers.TestFailoverCleanupInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateApplianceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateAppliance", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginUnplannedFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover", + requestBody: Parameters.applianceUpdateInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "failoverInput", - mapper: { - ...Mappers.UnplannedFailoverInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const updateMobilityServiceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItem }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 202: { + bodyMapper: Mappers.ReplicationProtectedItem + }, + 204: { + bodyMapper: Mappers.ReplicationProtectedItem } }, - serializer -}; - -const beginUpdateMobilityServiceOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService", + requestBody: Parameters.updateMobilityServiceRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicationProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "updateMobilityServiceRequest", - mapper: { - ...Mappers.UpdateMobilityServiceRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ReplicationProtectedItem - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ReplicationProtectedItemCollection } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationProtectionContainersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItemCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ReplicationProtectedItemCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [ + Parameters.apiVersion, + Parameters.filter, + Parameters.skipToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts index 1e218a24293f..667dc832fc2e 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts @@ -1,590 +1,842 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationProtectionContainerMappingsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationProtectionContainerMappings } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ProtectionContainerMapping, + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextOptionalParams, + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams, + ReplicationProtectionContainerMappingsListNextOptionalParams, + ReplicationProtectionContainerMappingsListOptionalParams, + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersResponse, + ReplicationProtectionContainerMappingsGetOptionalParams, + ReplicationProtectionContainerMappingsGetResponse, + CreateProtectionContainerMappingInput, + ReplicationProtectionContainerMappingsCreateOptionalParams, + ReplicationProtectionContainerMappingsCreateResponse, + ReplicationProtectionContainerMappingsPurgeOptionalParams, + UpdateProtectionContainerMappingInput, + ReplicationProtectionContainerMappingsUpdateOptionalParams, + ReplicationProtectionContainerMappingsUpdateResponse, + RemoveProtectionContainerMappingInput, + ReplicationProtectionContainerMappingsDeleteOptionalParams, + ReplicationProtectionContainerMappingsListResponse, + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextResponse, + ReplicationProtectionContainerMappingsListNextResponse +} from "../models"; -/** Class representing a ReplicationProtectionContainerMappings. */ -export class ReplicationProtectionContainerMappings { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationProtectionContainerMappings operations. */ +export class ReplicationProtectionContainerMappingsImpl + implements ReplicationProtectionContainerMappings { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationProtectionContainerMappings. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationProtectionContainerMappings class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the protection container mappings for a protection container. - * @summary Gets the list of protection container mappings for a protection container. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param [options] The optional parameters - * @returns - * Promise + * @param options The options parameters. */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param callback The callback - */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectionContainers(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationProtectionContainersPagingAll( + fabricName, + protectionContainerName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + ); + } + }; + } + + private async *listByReplicationProtectionContainersPagingPage( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationProtectionContainers( + fabricName, + protectionContainerName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationProtectionContainersNext( fabricName, protectionContainerName, + continuationToken, options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationProtectionContainersPagingAll( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationProtectionContainersPagingPage( + fabricName, + protectionContainerName, + options + )) { + yield* page; + } + } + + /** + * Lists the protection container mappings in the vault. + * @param options The options parameters. + */ + public list( + options?: ReplicationProtectionContainerMappingsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listByReplicationProtectionContainersOperationSpec, - callback) as Promise; + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationProtectionContainerMappingsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationProtectionContainerMappingsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Gets the details of a protection container mapping. - * @summary Gets a protection container mapping/ + * Lists the protection container mappings for a protection container. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param mappingName Protection Container mapping name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, mappingName: string, options?: msRest.RequestOptionsBase): Promise; + private _listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams + ): Promise< + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersResponse + > { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, options }, + listByReplicationProtectionContainersOperationSpec + ); + } + /** + * Gets the details of a protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection Container mapping name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, mappingName: string, callback: msRest.ServiceCallback): void; + get( + fabricName: string, + protectionContainerName: string, + mappingName: string, + options?: ReplicationProtectionContainerMappingsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, protectionContainerName, mappingName, options }, + getOperationSpec + ); + } + /** + * The operation to create a protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param mappingName Protection Container mapping name. - * @param options The optional parameters - * @param callback The callback + * @param mappingName Protection container mapping name. + * @param creationInput Mapping creation input. + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, mappingName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, protectionContainerName: string, mappingName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + async beginCreate( + fabricName: string, + protectionContainerName: string, + mappingName: string, + creationInput: CreateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectionContainerMappingsCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, mappingName, + creationInput, options }, - getOperationSpec, - callback) as Promise; + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to create a protection container mapping. - * @summary Create protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. * @param creationInput Mapping creation input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(fabricName: string, protectionContainerName: string, mappingName: string, creationInput: Models.CreateProtectionContainerMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,protectionContainerName,mappingName,creationInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + creationInput: CreateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + protectionContainerName, + mappingName, + creationInput, + options + ); + return poller.pollUntilDone(); } /** - * The operation to purge(force delete) a protection container mapping - * @summary Purge protection container mapping. + * The operation to purge(force delete) a protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - purge(fabricName: string, protectionContainerName: string, mappingName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginPurge(fabricName,protectionContainerName,mappingName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginPurge( + fabricName: string, + protectionContainerName: string, + mappingName: string, + options?: ReplicationProtectionContainerMappingsPurgeOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to update protection container mapping. - * @summary Update protection container mapping. - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param mappingName Protection container mapping name. - * @param updateInput Mapping update input. - * @param [options] The optional parameters - * @returns Promise - */ - update(fabricName: string, protectionContainerName: string, mappingName: string, updateInput: Models.UpdateProtectionContainerMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(fabricName,protectionContainerName,mappingName,updateInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { fabricName, protectionContainerName, mappingName, options }, + purgeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to delete or remove a protection container mapping. - * @summary Remove protection container mapping. + * The operation to purge(force delete) a protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. - * @param removalInput Removal input. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(fabricName: string, protectionContainerName: string, mappingName: string, removalInput: Models.RemoveProtectionContainerMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,protectionContainerName,mappingName,removalInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - - /** - * Lists the protection container mappings in the vault. - * @summary Gets the list of all protection container mappings in a vault. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + async beginPurgeAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + options?: ReplicationProtectionContainerMappingsPurgeOptionalParams + ): Promise { + const poller = await this.beginPurge( + fabricName, + protectionContainerName, + mappingName, + options + ); + return poller.pollUntilDone(); } /** - * The operation to create a protection container mapping. - * @summary Create protection container mapping. + * The operation to update protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. - * @param creationInput Mapping creation input. - * @param [options] The optional parameters - * @returns Promise + * @param updateInput Mapping update input. + * @param options The options parameters. */ - beginCreate(fabricName: string, protectionContainerName: string, mappingName: string, creationInput: Models.CreateProtectionContainerMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginUpdate( + fabricName: string, + protectionContainerName: string, + mappingName: string, + updateInput: UpdateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectionContainerMappingsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, mappingName, - creationInput, + updateInput, options }, - beginCreateOperationSpec, - options); + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to purge(force delete) a protection container mapping - * @summary Purge protection container mapping. + * The operation to update protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. - * @param [options] The optional parameters - * @returns Promise + * @param updateInput Mapping update input. + * @param options The options parameters. */ - beginPurge(fabricName: string, protectionContainerName: string, mappingName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - mappingName, - options - }, - beginPurgeOperationSpec, - options); + async beginUpdateAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + updateInput: UpdateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + fabricName, + protectionContainerName, + mappingName, + updateInput, + options + ); + return poller.pollUntilDone(); } /** - * The operation to update protection container mapping. - * @summary Update protection container mapping. + * The operation to delete or remove a protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. - * @param updateInput Mapping update input. - * @param [options] The optional parameters - * @returns Promise + * @param removalInput Removal input. + * @param options The options parameters. */ - beginUpdate(fabricName: string, protectionContainerName: string, mappingName: string, updateInput: Models.UpdateProtectionContainerMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginDelete( + fabricName: string, + protectionContainerName: string, + mappingName: string, + removalInput: RemoveProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, mappingName, - updateInput, + removalInput, options }, - beginUpdateOperationSpec, - options); + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to delete or remove a protection container mapping. - * @summary Remove protection container mapping. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. * @param mappingName Protection container mapping name. * @param removalInput Removal input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, protectionContainerName: string, mappingName: string, removalInput: Models.RemoveProtectionContainerMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - mappingName, - removalInput, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + removalInput: RemoveProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + fabricName, + protectionContainerName, + mappingName, + removalInput, + options + ); + return poller.pollUntilDone(); } /** - * Lists the protection container mappings for a protection container. - * @summary Gets the list of protection container mappings for a protection container. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listByReplicationProtectionContainersNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Lists the protection container mappings in the vault. + * @param options The options parameters. */ - listByReplicationProtectionContainersNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationProtectionContainerMappingsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationProtectionContainersNext + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationProtectionContainers method. + * @param options The options parameters. */ - listByReplicationProtectionContainersNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectionContainersNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationProtectionContainersNext( + fabricName: string, + protectionContainerName: string, + nextLink: string, + options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextOptionalParams + ): Promise< + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationProtectionContainersNextOperationSpec, - callback) as Promise; + { fabricName, protectionContainerName, nextLink, options }, + listByReplicationProtectionContainersNextOperationSpec + ); } /** - * Lists the protection container mappings in the vault. - * @summary Gets the list of all protection container mappings in a vault. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationProtectionContainerMappingsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationProtectionContainersOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId, - Parameters.fabricName, - Parameters.protectionContainerName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ProtectionContainerMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, - Parameters.protectionContainerName, - Parameters.mappingName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.protectionContainerName ], - responses: { - 200: { - bodyMapper: Mappers.ProtectionContainerMapping - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { - bodyMapper: Mappers.ProtectionContainerMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ProtectionContainerMapping } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.mappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "creationInput", - mapper: { - ...Mappers.CreateProtectionContainerMappingInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ProtectionContainerMapping }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ProtectionContainerMapping + }, + 202: { + bodyMapper: Mappers.ProtectionContainerMapping + }, + 204: { + bodyMapper: Mappers.ProtectionContainerMapping } }, - serializer -}; - -const beginPurgeOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", + requestBody: Parameters.creationInput1, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.mappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", +const purgeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.mappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "updateInput", - mapper: { - ...Mappers.UpdateProtectionContainerMappingInput, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.ProtectionContainerMapping }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ProtectionContainerMapping + }, + 202: { + bodyMapper: Mappers.ProtectionContainerMapping + }, + 204: { + bodyMapper: Mappers.ProtectionContainerMapping } }, + requestBody: Parameters.updateInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.mappingName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove", httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + requestBody: Parameters.removalInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.mappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "removalInput", - mapper: { - ...Mappers.RemoveProtectionContainerMappingInput, - required: true - } - }, + headerParameters: [Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError + 200: { + bodyMapper: Mappers.ProtectionContainerMappingCollection } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationProtectionContainersNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProtectionContainerMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProtectionContainerMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts index 16e8b340f1e0..f9681733f6db 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts @@ -1,568 +1,799 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationProtectionContainersMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationProtectionContainers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ProtectionContainer, + ReplicationProtectionContainersListByReplicationFabricsNextOptionalParams, + ReplicationProtectionContainersListByReplicationFabricsOptionalParams, + ReplicationProtectionContainersListNextOptionalParams, + ReplicationProtectionContainersListOptionalParams, + ReplicationProtectionContainersListByReplicationFabricsResponse, + ReplicationProtectionContainersGetOptionalParams, + ReplicationProtectionContainersGetResponse, + CreateProtectionContainerInput, + ReplicationProtectionContainersCreateOptionalParams, + ReplicationProtectionContainersCreateResponse, + DiscoverProtectableItemRequest, + ReplicationProtectionContainersDiscoverProtectableItemOptionalParams, + ReplicationProtectionContainersDiscoverProtectableItemResponse, + ReplicationProtectionContainersDeleteOptionalParams, + SwitchProtectionInput, + ReplicationProtectionContainersSwitchProtectionOptionalParams, + ReplicationProtectionContainersSwitchProtectionResponse, + ReplicationProtectionContainersListResponse, + ReplicationProtectionContainersListByReplicationFabricsNextResponse, + ReplicationProtectionContainersListNextResponse +} from "../models"; -/** Class representing a ReplicationProtectionContainers. */ -export class ReplicationProtectionContainers { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationProtectionContainers operations. */ +export class ReplicationProtectionContainersImpl + implements ReplicationProtectionContainers { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationProtectionContainers. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationProtectionContainers class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the protection containers in the specified fabric. - * @summary Gets the list of protection container for a fabric. * @param fabricName Fabric name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationFabrics( + fabricName: string, + options?: ReplicationProtectionContainersListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationFabricsPagingAll(fabricName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationFabricsPagingPage(fabricName, options); + } + }; + } + + private async *listByReplicationFabricsPagingPage( + fabricName: string, + options?: ReplicationProtectionContainersListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationFabrics(fabricName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationFabricsNext( fabricName, + continuationToken, options - }, - listByReplicationFabricsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationFabricsPagingAll( + fabricName: string, + options?: ReplicationProtectionContainersListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationFabricsPagingPage( + fabricName, + options + )) { + yield* page; + } } /** - * Gets the details of a protection container. - * @summary Gets the protection container details. - * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param [options] The optional parameters - * @returns Promise + * Lists the protection containers in a vault. + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase): Promise; + public list( + options?: ReplicationProtectionContainersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationProtectionContainersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationProtectionContainersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** + * Lists the protection containers in the specified fabric. * @param fabricName Fabric name. - * @param protectionContainerName Protection container name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabrics( + fabricName: string, + options?: ReplicationProtectionContainersListByReplicationFabricsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, options }, + listByReplicationFabricsOperationSpec + ); + } + /** + * Gets the details of a protection container. * @param fabricName Fabric name. * @param protectionContainerName Protection container name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, protectionContainerName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - protectionContainerName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, protectionContainerName, options }, + getOperationSpec + ); } /** * Operation to create a protection container. - * @summary Create a protection container. * @param fabricName Unique fabric ARM name. * @param protectionContainerName Unique protection container ARM name. * @param creationInput Creation input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(fabricName: string, protectionContainerName: string, creationInput: Models.CreateProtectionContainerInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,protectionContainerName,creationInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginCreate( + fabricName: string, + protectionContainerName: string, + creationInput: CreateProtectionContainerInput, + options?: ReplicationProtectionContainersCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectionContainersCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * The operation to a add a protectable item to a protection container(Add physical server.) - * @summary Adds a protectable item to the replication protection container. - * @param fabricName The name of the fabric. - * @param protectionContainerName The name of the protection container. - * @param discoverProtectableItemRequest The request object to add a protectable item. - * @param [options] The optional parameters - * @returns Promise - */ - discoverProtectableItem(fabricName: string, protectionContainerName: string, discoverProtectableItemRequest: Models.DiscoverProtectableItemRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginDiscoverProtectableItem(fabricName,protectionContainerName,discoverProtectableItemRequest,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + const lro = new LroImpl( + sendOperation, + { fabricName, protectionContainerName, creationInput, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Operation to remove a protection container. - * @summary Removes a protection container. + * Operation to create a protection container. * @param fabricName Unique fabric ARM name. * @param protectionContainerName Unique protection container ARM name. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,protectionContainerName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } - - /** - * Operation to switch protection from one container to another or one replication provider to - * another. - * @summary Switches protection from one container to another or one replication provider to - * another. - * @param fabricName Unique fabric name. - * @param protectionContainerName Protection container name. - * @param switchInput Switch protection input. - * @param [options] The optional parameters - * @returns Promise + * @param creationInput Creation input. + * @param options The options parameters. */ - switchProtection(fabricName: string, protectionContainerName: string, switchInput: Models.SwitchProtectionInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginSwitchProtection(fabricName,protectionContainerName,switchInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + creationInput: CreateProtectionContainerInput, + options?: ReplicationProtectionContainersCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + protectionContainerName, + creationInput, + options + ); + return poller.pollUntilDone(); } /** - * Lists the protection containers in a vault. - * @summary Gets the list of all protection containers in a vault. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * The operation to a add a protectable item to a protection container(Add physical server). + * @param fabricName The name of the fabric. + * @param protectionContainerName The name of the protection container. + * @param discoverProtectableItemRequest The request object to add a protectable item. + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; - } + async beginDiscoverProtectableItem( + fabricName: string, + protectionContainerName: string, + discoverProtectableItemRequest: DiscoverProtectableItemRequest, + options?: ReplicationProtectionContainersDiscoverProtectableItemOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationProtectionContainersDiscoverProtectableItemResponse + >, + ReplicationProtectionContainersDiscoverProtectableItemResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Operation to create a protection container. - * @summary Create a protection container. - * @param fabricName Unique fabric ARM name. - * @param protectionContainerName Unique protection container ARM name. - * @param creationInput Creation input. - * @param [options] The optional parameters - * @returns Promise - */ - beginCreate(fabricName: string, protectionContainerName: string, creationInput: Models.CreateProtectionContainerInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + const lro = new LroImpl( + sendOperation, { fabricName, protectionContainerName, - creationInput, + discoverProtectableItemRequest, options }, - beginCreateOperationSpec, - options); + discoverProtectableItemOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to a add a protectable item to a protection container(Add physical server.) - * @summary Adds a protectable item to the replication protection container. + * The operation to a add a protectable item to a protection container(Add physical server). * @param fabricName The name of the fabric. * @param protectionContainerName The name of the protection container. * @param discoverProtectableItemRequest The request object to add a protectable item. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDiscoverProtectableItem(fabricName: string, protectionContainerName: string, discoverProtectableItemRequest: Models.DiscoverProtectableItemRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - discoverProtectableItemRequest, - options - }, - beginDiscoverProtectableItemOperationSpec, - options); + async beginDiscoverProtectableItemAndWait( + fabricName: string, + protectionContainerName: string, + discoverProtectableItemRequest: DiscoverProtectableItemRequest, + options?: ReplicationProtectionContainersDiscoverProtectableItemOptionalParams + ): Promise { + const poller = await this.beginDiscoverProtectableItem( + fabricName, + protectionContainerName, + discoverProtectableItemRequest, + options + ); + return poller.pollUntilDone(); } /** * Operation to remove a protection container. - * @summary Removes a protection container. * @param fabricName Unique fabric ARM name. * @param protectionContainerName Unique protection container ARM name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, protectionContainerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainersDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, protectionContainerName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * Operation to remove a protection container. + * @param fabricName Unique fabric ARM name. + * @param protectionContainerName Unique protection container ARM name. + * @param options The options parameters. + */ + async beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + fabricName, + protectionContainerName, + options + ); + return poller.pollUntilDone(); } /** - * Operation to switch protection from one container to another or one replication provider to - * another. - * @summary Switches protection from one container to another or one replication provider to - * another. + * Operation to switch protection from one container to another or one replication provider to another. * @param fabricName Unique fabric name. * @param protectionContainerName Protection container name. * @param switchInput Switch protection input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginSwitchProtection(fabricName: string, protectionContainerName: string, switchInput: Models.SwitchProtectionInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - protectionContainerName, - switchInput, - options - }, - beginSwitchProtectionOperationSpec, - options); + async beginSwitchProtection( + fabricName: string, + protectionContainerName: string, + switchInput: SwitchProtectionInput, + options?: ReplicationProtectionContainersSwitchProtectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationProtectionContainersSwitchProtectionResponse + >, + ReplicationProtectionContainersSwitchProtectionResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, protectionContainerName, switchInput, options }, + switchProtectionOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the protection containers in the specified fabric. - * @summary Gets the list of protection container for a fabric. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByReplicationFabricsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Operation to switch protection from one container to another or one replication provider to another. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param switchInput Switch protection input. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationFabricsNextOperationSpec, - callback) as Promise; + async beginSwitchProtectionAndWait( + fabricName: string, + protectionContainerName: string, + switchInput: SwitchProtectionInput, + options?: ReplicationProtectionContainersSwitchProtectionOptionalParams + ): Promise { + const poller = await this.beginSwitchProtection( + fabricName, + protectionContainerName, + switchInput, + options + ); + return poller.pollUntilDone(); } /** * Lists the protection containers in a vault. - * @summary Gets the list of all protection containers in a vault. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: ReplicationProtectionContainersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByReplicationFabricsNext + * @param fabricName Fabric name. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationFabrics + * method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabricsNext( + fabricName: string, + nextLink: string, + options?: ReplicationProtectionContainersListByReplicationFabricsNextOptionalParams + ): Promise< + ReplicationProtectionContainersListByReplicationFabricsNextResponse + > { + return this.client.sendOperationRequest( + { fabricName, nextLink, options }, + listByReplicationFabricsNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationProtectionContainersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationFabricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationFabricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId, - Parameters.fabricName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ProtectionContainerCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.fabricName, - Parameters.protectionContainerName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName, + Parameters.fabricName ], - responses: { - 200: { - bodyMapper: Mappers.ProtectionContainer - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { - bodyMapper: Mappers.ProtectionContainerCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.ProtectionContainer } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "creationInput", - mapper: { - ...Mappers.CreateProtectionContainerInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.ProtectionContainer }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ProtectionContainer + }, + 202: { + bodyMapper: Mappers.ProtectionContainer + }, + 204: { + bodyMapper: Mappers.ProtectionContainer } }, - serializer -}; - -const beginDiscoverProtectableItemOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem", + requestBody: Parameters.creationInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "discoverProtectableItemRequest", - mapper: { - ...Mappers.DiscoverProtectableItemRequest, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const discoverProtectableItemOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ProtectionContainer }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ProtectionContainer + }, + 202: { + bodyMapper: Mappers.ProtectionContainer + }, + 204: { + bodyMapper: Mappers.ProtectionContainer } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove", + requestBody: Parameters.discoverProtectableItemRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginSwitchProtectionOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove", httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "switchInput", - mapper: { - ...Mappers.SwitchProtectionInput, - required: true - } - }, + serializer +}; +const switchProtectionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ProtectionContainer }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.ProtectionContainer + }, + 202: { + bodyMapper: Mappers.ProtectionContainer + }, + 204: { + bodyMapper: Mappers.ProtectionContainer } }, + requestBody: Parameters.switchInput, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listByReplicationFabricsNextOperationSpec: msRest.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers", httpMethod: "GET", - baseUrl: "https://management.azure.com", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.ProtectionContainerCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationFabricsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ProtectionContainerCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.ProtectionContainerCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionIntents.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionIntents.ts new file mode 100644 index 000000000000..5b473bd3e311 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionIntents.ts @@ -0,0 +1,231 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationProtectionIntents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + ReplicationProtectionIntent, + ReplicationProtectionIntentsListNextOptionalParams, + ReplicationProtectionIntentsListOptionalParams, + ReplicationProtectionIntentsListResponse, + ReplicationProtectionIntentsGetOptionalParams, + ReplicationProtectionIntentsGetResponse, + CreateProtectionIntentInput, + ReplicationProtectionIntentsCreateOptionalParams, + ReplicationProtectionIntentsCreateResponse, + ReplicationProtectionIntentsListNextResponse +} from "../models"; + +/// +/** Class containing ReplicationProtectionIntents operations. */ +export class ReplicationProtectionIntentsImpl + implements ReplicationProtectionIntents { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class ReplicationProtectionIntents class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Gets the list of ASR replication protection intent objects in the vault. + * @param options The options parameters. + */ + public list( + options?: ReplicationProtectionIntentsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationProtectionIntentsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationProtectionIntentsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Gets the list of ASR replication protection intent objects in the vault. + * @param options The options parameters. + */ + private _list( + options?: ReplicationProtectionIntentsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Gets the details of an ASR replication protection intent. + * @param intentObjectName Replication protection intent name. + * @param options The options parameters. + */ + get( + intentObjectName: string, + options?: ReplicationProtectionIntentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { intentObjectName, options }, + getOperationSpec + ); + } + + /** + * The operation to create an ASR replication protection intent item. + * @param intentObjectName A name for the replication protection item. + * @param input Create Protection Intent Input. + * @param options The options parameters. + */ + create( + intentObjectName: string, + input: CreateProtectionIntentInput, + options?: ReplicationProtectionIntentsCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { intentObjectName, input, options }, + createOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ReplicationProtectionIntentsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectionIntentCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.takeToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectionIntent + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.intentObjectName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectionIntent + } + }, + requestBody: Parameters.input9, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.intentObjectName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReplicationProtectionIntentCollection + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.takeToken + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts index 9caa6fa4d2cb..701bc8866a3b 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts @@ -1,748 +1,1300 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationRecoveryPlansMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationRecoveryPlans } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + RecoveryPlan, + ReplicationRecoveryPlansListNextOptionalParams, + ReplicationRecoveryPlansListOptionalParams, + ReplicationRecoveryPlansListResponse, + ReplicationRecoveryPlansGetOptionalParams, + ReplicationRecoveryPlansGetResponse, + CreateRecoveryPlanInput, + ReplicationRecoveryPlansCreateOptionalParams, + ReplicationRecoveryPlansCreateResponse, + ReplicationRecoveryPlansDeleteOptionalParams, + UpdateRecoveryPlanInput, + ReplicationRecoveryPlansUpdateOptionalParams, + ReplicationRecoveryPlansUpdateResponse, + ReplicationRecoveryPlansFailoverCancelOptionalParams, + ReplicationRecoveryPlansFailoverCancelResponse, + ReplicationRecoveryPlansFailoverCommitOptionalParams, + ReplicationRecoveryPlansFailoverCommitResponse, + RecoveryPlanPlannedFailoverInput, + ReplicationRecoveryPlansPlannedFailoverOptionalParams, + ReplicationRecoveryPlansPlannedFailoverResponse, + ReplicationRecoveryPlansReprotectOptionalParams, + ReplicationRecoveryPlansReprotectResponse, + RecoveryPlanTestFailoverInput, + ReplicationRecoveryPlansTestFailoverOptionalParams, + ReplicationRecoveryPlansTestFailoverResponse, + RecoveryPlanTestFailoverCleanupInput, + ReplicationRecoveryPlansTestFailoverCleanupOptionalParams, + ReplicationRecoveryPlansTestFailoverCleanupResponse, + RecoveryPlanUnplannedFailoverInput, + ReplicationRecoveryPlansUnplannedFailoverOptionalParams, + ReplicationRecoveryPlansUnplannedFailoverResponse, + ReplicationRecoveryPlansListNextResponse +} from "../models"; -/** Class representing a ReplicationRecoveryPlans. */ -export class ReplicationRecoveryPlans { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationRecoveryPlans operations. */ +export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationRecoveryPlans. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationRecoveryPlans class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the recovery plans in the vault. - * @summary Gets the list of recovery plans. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationRecoveryPlansListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationRecoveryPlansListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationRecoveryPlansListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** - * Gets the details of the recovery plan. - * @summary Gets the requested recovery plan. - * @param recoveryPlanName Name of the recovery plan. - * @param [options] The optional parameters - * @returns Promise - */ - get(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param recoveryPlanName Name of the recovery plan. - * @param callback The callback + * Lists the recovery plans in the vault. + * @param options The options parameters. */ - get(recoveryPlanName: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationRecoveryPlansListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** + * Gets the details of the recovery plan. * @param recoveryPlanName Name of the recovery plan. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(recoveryPlanName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(recoveryPlanName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - recoveryPlanName, - options - }, - getOperationSpec, - callback) as Promise; + { recoveryPlanName, options }, + getOperationSpec + ); } /** * The operation to create a recovery plan. - * @summary Creates a recovery plan with the given details. * @param recoveryPlanName Recovery plan name. * @param input Recovery Plan creation input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(recoveryPlanName: string, input: Models.CreateRecoveryPlanInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(recoveryPlanName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + recoveryPlanName: string, + input: CreateRecoveryPlanInput, + options?: ReplicationRecoveryPlansCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, input, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Delete a recovery plan. - * @summary Deletes the specified recovery plan. + * The operation to create a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param [options] The optional parameters - * @returns Promise + * @param input Recovery Plan creation input. + * @param options The options parameters. */ - deleteMethod(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(recoveryPlanName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateAndWait( + recoveryPlanName: string, + input: CreateRecoveryPlanInput, + options?: ReplicationRecoveryPlansCreateOptionalParams + ): Promise { + const poller = await this.beginCreate(recoveryPlanName, input, options); + return poller.pollUntilDone(); } /** - * The operation to update a recovery plan. - * @summary Updates the given recovery plan. + * Delete a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Update recovery plan input - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - update(recoveryPlanName: string, input: Models.UpdateRecoveryPlanInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(recoveryPlanName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDelete( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to commit the fail over of a recovery plan. - * @summary Execute commit failover of the recovery plan. + * Delete a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - failoverCommit(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginFailoverCommit(recoveryPlanName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginDeleteAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(recoveryPlanName, options); + return poller.pollUntilDone(); } /** - * The operation to start the planned failover of a recovery plan. - * @summary Execute planned failover of the recovery plan. + * The operation to update a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Failover input. - * @param [options] The optional parameters - * @returns Promise + * @param input Update recovery plan input. + * @param options The options parameters. */ - plannedFailover(recoveryPlanName: string, input: Models.RecoveryPlanPlannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginPlannedFailover(recoveryPlanName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginUpdate( + recoveryPlanName: string, + input: UpdateRecoveryPlanInput, + options?: ReplicationRecoveryPlansUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, input, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to reprotect(reverse replicate) a recovery plan. - * @summary Execute reprotect of the recovery plan. + * The operation to update a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param [options] The optional parameters - * @returns Promise + * @param input Update recovery plan input. + * @param options The options parameters. */ - reprotect(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginReprotect(recoveryPlanName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginUpdateAndWait( + recoveryPlanName: string, + input: UpdateRecoveryPlanInput, + options?: ReplicationRecoveryPlansUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate(recoveryPlanName, input, options); + return poller.pollUntilDone(); } /** - * The operation to start the test failover of a recovery plan. - * @summary Execute test failover of the recovery plan. + * The operation to cancel the failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Failover input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - testFailover(recoveryPlanName: string, input: Models.RecoveryPlanTestFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginTestFailover(recoveryPlanName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginFailoverCancel( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCancelOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansFailoverCancelResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, options }, + failoverCancelOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to cleanup test failover of a recovery plan. - * @summary Execute test failover cleanup of the recovery plan. + * The operation to cancel the failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Test failover cleanup input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - testFailoverCleanup(recoveryPlanName: string, input: Models.RecoveryPlanTestFailoverCleanupInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginTestFailoverCleanup(recoveryPlanName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginFailoverCancelAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCancelOptionalParams + ): Promise { + const poller = await this.beginFailoverCancel(recoveryPlanName, options); + return poller.pollUntilDone(); } /** - * The operation to start the failover of a recovery plan. - * @summary Execute unplanned failover of the recovery plan. + * The operation to commit the failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Failover input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - unplannedFailover(recoveryPlanName: string, input: Models.RecoveryPlanUnplannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginUnplannedFailover(recoveryPlanName,input,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginFailoverCommit( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCommitOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansFailoverCommitResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, options }, + failoverCommitOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to create a recovery plan. - * @summary Creates a recovery plan with the given details. + * The operation to commit the failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Recovery Plan creation input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreate(recoveryPlanName: string, input: Models.CreateRecoveryPlanInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - input, - options - }, - beginCreateOperationSpec, - options); + async beginFailoverCommitAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCommitOptionalParams + ): Promise { + const poller = await this.beginFailoverCommit(recoveryPlanName, options); + return poller.pollUntilDone(); } /** - * Delete a recovery plan. - * @summary Deletes the specified recovery plan. + * The operation to start the planned failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param [options] The optional parameters - * @returns Promise + * @param input Failover input. + * @param options The options parameters. */ - beginDeleteMethod(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginPlannedFailover( + recoveryPlanName: string, + input: RecoveryPlanPlannedFailoverInput, + options?: ReplicationRecoveryPlansPlannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansPlannedFailoverResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, input, options }, + plannedFailoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to update a recovery plan. - * @summary Updates the given recovery plan. + * The operation to start the planned failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Update recovery plan input - * @param [options] The optional parameters - * @returns Promise + * @param input Failover input. + * @param options The options parameters. */ - beginUpdate(recoveryPlanName: string, input: Models.UpdateRecoveryPlanInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - input, - options - }, - beginUpdateOperationSpec, - options); + async beginPlannedFailoverAndWait( + recoveryPlanName: string, + input: RecoveryPlanPlannedFailoverInput, + options?: ReplicationRecoveryPlansPlannedFailoverOptionalParams + ): Promise { + const poller = await this.beginPlannedFailover( + recoveryPlanName, + input, + options + ); + return poller.pollUntilDone(); } /** - * The operation to commit the fail over of a recovery plan. - * @summary Execute commit failover of the recovery plan. + * The operation to reprotect(reverse replicate) a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginFailoverCommit(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - options - }, - beginFailoverCommitOperationSpec, - options); + async beginReprotect( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansReprotectOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansReprotectResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, options }, + reprotectOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to start the planned failover of a recovery plan. - * @summary Execute planned failover of the recovery plan. + * The operation to reprotect(reverse replicate) a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Failover input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginPlannedFailover(recoveryPlanName: string, input: Models.RecoveryPlanPlannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - input, - options - }, - beginPlannedFailoverOperationSpec, - options); + async beginReprotectAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansReprotectOptionalParams + ): Promise { + const poller = await this.beginReprotect(recoveryPlanName, options); + return poller.pollUntilDone(); } /** - * The operation to reprotect(reverse replicate) a recovery plan. - * @summary Execute reprotect of the recovery plan. + * The operation to start the test failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param [options] The optional parameters - * @returns Promise + * @param input Recovery plan test failover input. + * @param options The options parameters. */ - beginReprotect(recoveryPlanName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - options - }, - beginReprotectOperationSpec, - options); + async beginTestFailover( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverInput, + options?: ReplicationRecoveryPlansTestFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansTestFailoverResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, input, options }, + testFailoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to start the test failover of a recovery plan. - * @summary Execute test failover of the recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Failover input. - * @param [options] The optional parameters - * @returns Promise + * @param input Recovery plan test failover input. + * @param options The options parameters. */ - beginTestFailover(recoveryPlanName: string, input: Models.RecoveryPlanTestFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - input, - options - }, - beginTestFailoverOperationSpec, - options); + async beginTestFailoverAndWait( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverInput, + options?: ReplicationRecoveryPlansTestFailoverOptionalParams + ): Promise { + const poller = await this.beginTestFailover( + recoveryPlanName, + input, + options + ); + return poller.pollUntilDone(); } /** * The operation to cleanup test failover of a recovery plan. - * @summary Execute test failover cleanup of the recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Test failover cleanup input. - * @param [options] The optional parameters - * @returns Promise + * @param input Recovery plan test failover cleanup input. + * @param options The options parameters. */ - beginTestFailoverCleanup(recoveryPlanName: string, input: Models.RecoveryPlanTestFailoverCleanupInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - input, - options - }, - beginTestFailoverCleanupOperationSpec, - options); + async beginTestFailoverCleanup( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverCleanupInput, + options?: ReplicationRecoveryPlansTestFailoverCleanupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansTestFailoverCleanupResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, input, options }, + testFailoverCleanupOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to start the failover of a recovery plan. - * @summary Execute unplanned failover of the recovery plan. + * The operation to cleanup test failover of a recovery plan. * @param recoveryPlanName Recovery plan name. - * @param input Failover input. - * @param [options] The optional parameters - * @returns Promise + * @param input Recovery plan test failover cleanup input. + * @param options The options parameters. */ - beginUnplannedFailover(recoveryPlanName: string, input: Models.RecoveryPlanUnplannedFailoverInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - recoveryPlanName, - input, - options - }, - beginUnplannedFailoverOperationSpec, - options); + async beginTestFailoverCleanupAndWait( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverCleanupInput, + options?: ReplicationRecoveryPlansTestFailoverCleanupOptionalParams + ): Promise { + const poller = await this.beginTestFailoverCleanup( + recoveryPlanName, + input, + options + ); + return poller.pollUntilDone(); } /** - * Lists the recovery plans in the vault. - * @summary Gets the list of recovery plans. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * The operation to start the unplanned failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan unplanned failover input. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginUnplannedFailover( + recoveryPlanName: string, + input: RecoveryPlanUnplannedFailoverInput, + options?: ReplicationRecoveryPlansUnplannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansUnplannedFailoverResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { recoveryPlanName, input, options }, + unplannedFailoverOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * The operation to start the unplanned failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan unplanned failover input. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + async beginUnplannedFailoverAndWait( + recoveryPlanName: string, + input: RecoveryPlanUnplannedFailoverInput, + options?: ReplicationRecoveryPlansUnplannedFailoverOptionalParams + ): Promise { + const poller = await this.beginUnplannedFailover( + recoveryPlanName, + input, + options + ); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationRecoveryPlansListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.RecoveryPlanCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.recoveryPlanName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoveryPlan - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.CreateRecoveryPlanInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, + requestBody: Parameters.input10, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.recoveryPlanName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, serializer }; - -const beginUpdateOperationSpec: msRest.OperationSpec = { +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", httpMethod: "PATCH", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}", + responses: { + 200: { + bodyMapper: Mappers.RecoveryPlan + }, + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan + } + }, + requestBody: Parameters.input11, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.UpdateRecoveryPlanInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const failoverCancelOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCancel", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, - serializer -}; - -const beginFailoverCommitOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const failoverCommitOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, - serializer -}; - -const beginPlannedFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.RecoveryPlanPlannedFailoverInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const plannedFailoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, - serializer -}; - -const beginReprotectOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect", + requestBody: Parameters.input12, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const reprotectOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, - serializer -}; - -const beginTestFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.RecoveryPlanTestFailoverInput, - required: true - } - }, + headerParameters: [Parameters.accept], + serializer +}; +const testFailoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, - serializer -}; - -const beginTestFailoverCleanupOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup", + requestBody: Parameters.input13, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.RecoveryPlanTestFailoverCleanupInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const testFailoverCleanupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, - serializer -}; - -const beginUnplannedFailoverOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover", + requestBody: Parameters.input14, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.recoveryPlanName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "input", - mapper: { - ...Mappers.RecoveryPlanUnplannedFailoverInput, - required: true - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const unplannedFailoverOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryPlan }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryPlan + }, + 202: { + bodyMapper: Mappers.RecoveryPlan + }, + 204: { + bodyMapper: Mappers.RecoveryPlan } }, + requestBody: Parameters.input15, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.recoveryPlanName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoveryPlanCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts index 804dbd4a710c..d0996c242520 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts @@ -1,481 +1,750 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationRecoveryServicesProvidersMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationRecoveryServicesProviders } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + RecoveryServicesProvider, + ReplicationRecoveryServicesProvidersListByReplicationFabricsNextOptionalParams, + ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams, + ReplicationRecoveryServicesProvidersListNextOptionalParams, + ReplicationRecoveryServicesProvidersListOptionalParams, + ReplicationRecoveryServicesProvidersListByReplicationFabricsResponse, + ReplicationRecoveryServicesProvidersGetOptionalParams, + ReplicationRecoveryServicesProvidersGetResponse, + AddRecoveryServicesProviderInput, + ReplicationRecoveryServicesProvidersCreateOptionalParams, + ReplicationRecoveryServicesProvidersCreateResponse, + ReplicationRecoveryServicesProvidersPurgeOptionalParams, + ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams, + ReplicationRecoveryServicesProvidersRefreshProviderResponse, + ReplicationRecoveryServicesProvidersDeleteOptionalParams, + ReplicationRecoveryServicesProvidersListResponse, + ReplicationRecoveryServicesProvidersListByReplicationFabricsNextResponse, + ReplicationRecoveryServicesProvidersListNextResponse +} from "../models"; -/** Class representing a ReplicationRecoveryServicesProviders. */ -export class ReplicationRecoveryServicesProviders { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationRecoveryServicesProviders operations. */ +export class ReplicationRecoveryServicesProvidersImpl + implements ReplicationRecoveryServicesProviders { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationRecoveryServicesProviders. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationRecoveryServicesProviders class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the registered recovery services providers for the specified fabric. - * @summary Gets the list of registered recovery services providers for the fabric. - * @param fabricName Fabric name - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name - * @param options The optional parameters - * @param callback The callback + * @param fabricName Fabric name. + * @param options The options parameters. */ - listByReplicationFabrics(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationFabrics( + fabricName: string, + options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationFabricsPagingAll(fabricName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationFabricsPagingPage(fabricName, options); + } + }; + } + + private async *listByReplicationFabricsPagingPage( + fabricName: string, + options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationFabrics(fabricName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationFabricsNext( fabricName, + continuationToken, options - }, - listByReplicationFabricsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationFabricsPagingAll( + fabricName: string, + options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationFabricsPagingPage( + fabricName, + options + )) { + yield* page; + } } /** - * Gets the details of registered recovery services provider. - * @summary Gets the details of a recovery services provider. - * @param fabricName Fabric name. - * @param providerName Recovery services provider name - * @param [options] The optional parameters - * @returns Promise + * Lists the registered recovery services providers in the vault. + * @param options The options parameters. */ - get(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise; + public list( + options?: ReplicationRecoveryServicesProvidersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationRecoveryServicesProvidersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationRecoveryServicesProvidersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** + * Lists the registered recovery services providers for the specified fabric. * @param fabricName Fabric name. - * @param providerName Recovery services provider name - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, providerName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabrics( + fabricName: string, + options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams + ): Promise< + ReplicationRecoveryServicesProvidersListByReplicationFabricsResponse + > { + return this.client.sendOperationRequest( + { fabricName, options }, + listByReplicationFabricsOperationSpec + ); + } + /** + * Gets the details of registered recovery services provider. * @param fabricName Fabric name. - * @param providerName Recovery services provider name - * @param options The optional parameters - * @param callback The callback + * @param providerName Recovery services provider name. + * @param options The options parameters. */ - get(fabricName: string, providerName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - providerName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, providerName, options }, + getOperationSpec + ); } /** - * The operation to purge(force delete) a recovery services provider from the vault. - * @summary Purges recovery service provider from fabric + * The operation to add a recovery services provider. * @param fabricName Fabric name. * @param providerName Recovery services provider name. - * @param [options] The optional parameters - * @returns Promise + * @param addProviderInput Add provider input. + * @param options The options parameters. */ - purge(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginPurge(fabricName,providerName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreate( + fabricName: string, + providerName: string, + addProviderInput: AddRecoveryServicesProviderInput, + options?: ReplicationRecoveryServicesProvidersCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryServicesProvidersCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, providerName, addProviderInput, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to refresh the information from the recovery services provider. - * @summary Refresh details from the recovery services provider. + * The operation to add a recovery services provider. * @param fabricName Fabric name. * @param providerName Recovery services provider name. - * @param [options] The optional parameters - * @returns Promise + * @param addProviderInput Add provider input. + * @param options The options parameters. */ - refreshProvider(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginRefreshProvider(fabricName,providerName,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreateAndWait( + fabricName: string, + providerName: string, + addProviderInput: AddRecoveryServicesProviderInput, + options?: ReplicationRecoveryServicesProvidersCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + providerName, + addProviderInput, + options + ); + return poller.pollUntilDone(); } /** - * The operation to removes/delete(unregister) a recovery services provider from the vault - * @summary Deletes provider from fabric. Note: Deleting provider for any fabric other than - * SingleHost is unsupported. To maintain backward compatibility for released clients the object - * "deleteRspInput" is used (if the object is empty we assume that it is old client and continue - * the old behavior). + * The operation to purge(force delete) a recovery services provider from the vault. * @param fabricName Fabric name. * @param providerName Recovery services provider name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,providerName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginPurge( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersPurgeOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, providerName, options }, + purgeOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the registered recovery services providers in the vault - * @summary Gets the list of registered recovery services providers in the vault. This is a view - * only api. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback + * The operation to purge(force delete) a recovery services provider from the vault. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + async beginPurgeAndWait( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersPurgeOptionalParams + ): Promise { + const poller = await this.beginPurge(fabricName, providerName, options); + return poller.pollUntilDone(); } /** - * The operation to purge(force delete) a recovery services provider from the vault. - * @summary Purges recovery service provider from fabric + * The operation to refresh the information from the recovery services provider. * @param fabricName Fabric name. * @param providerName Recovery services provider name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginPurge(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - providerName, - options - }, - beginPurgeOperationSpec, - options); + async beginRefreshProvider( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationRecoveryServicesProvidersRefreshProviderResponse + >, + ReplicationRecoveryServicesProvidersRefreshProviderResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, providerName, options }, + refreshProviderOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to refresh the information from the recovery services provider. - * @summary Refresh details from the recovery services provider. * @param fabricName Fabric name. * @param providerName Recovery services provider name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginRefreshProvider(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - providerName, - options - }, - beginRefreshProviderOperationSpec, - options); + async beginRefreshProviderAndWait( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams + ): Promise { + const poller = await this.beginRefreshProvider( + fabricName, + providerName, + options + ); + return poller.pollUntilDone(); } /** - * The operation to removes/delete(unregister) a recovery services provider from the vault - * @summary Deletes provider from fabric. Note: Deleting provider for any fabric other than - * SingleHost is unsupported. To maintain backward compatibility for released clients the object - * "deleteRspInput" is used (if the object is empty we assume that it is old client and continue - * the old behavior). + * The operation to removes/delete(unregister) a recovery services provider from the vault. * @param fabricName Fabric name. * @param providerName Recovery services provider name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, providerName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - providerName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginDelete( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, providerName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the registered recovery services providers for the specified fabric. - * @summary Gets the list of registered recovery services providers for the fabric. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise + * The operation to removes/delete(unregister) a recovery services provider from the vault. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + async beginDeleteAndWait( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(fabricName, providerName, options); + return poller.pollUntilDone(); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Lists the registered recovery services providers in the vault. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationRecoveryServicesProvidersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationFabricsNext + * @param fabricName Fabric name. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationFabrics + * method. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationFabricsNext( + fabricName: string, + nextLink: string, + options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsNextOptionalParams + ): Promise< + ReplicationRecoveryServicesProvidersListByReplicationFabricsNextResponse + > { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationFabricsNextOperationSpec, - callback) as Promise; + { fabricName, nextLink, options }, + listByReplicationFabricsNextOperationSpec + ); } /** - * Lists the registered recovery services providers in the vault - * @summary Gets the list of registered recovery services providers in the vault. This is a view - * only api. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationRecoveryServicesProvidersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationFabricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationFabricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId, - Parameters.fabricName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.RecoveryServicesProviderCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.fabricName, - Parameters.providerName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.resourceName, + Parameters.fabricName ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoveryServicesProvider - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.providerName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.RecoveryServicesProviderCollection + bodyMapper: Mappers.RecoveryServicesProvider }, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryServicesProvider + }, + 202: { + bodyMapper: Mappers.RecoveryServicesProvider + }, + 204: { + bodyMapper: Mappers.RecoveryServicesProvider } }, - serializer -}; - -const beginPurgeOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", + requestBody: Parameters.addProviderInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.providerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginRefreshProviderOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider", +const purgeOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.providerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + serializer +}; +const refreshProviderOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.RecoveryServicesProvider }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.RecoveryServicesProvider + }, + 202: { + bodyMapper: Mappers.RecoveryServicesProvider + }, + 204: { + bodyMapper: Mappers.RecoveryServicesProvider } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.providerName + ], + headerParameters: [Parameters.accept], serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove", httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.providerName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError + 200: { + bodyMapper: Mappers.RecoveryServicesProviderCollection } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationFabricsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationFabricsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoveryServicesProviderCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.RecoveryServicesProviderCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts index e2e925e8f5e4..2091faebcd8a 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts @@ -1,92 +1,196 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationStorageClassificationMappingsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationStorageClassificationMappings } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + StorageClassificationMapping, + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextOptionalParams, + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams, + ReplicationStorageClassificationMappingsListNextOptionalParams, + ReplicationStorageClassificationMappingsListOptionalParams, + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsResponse, + ReplicationStorageClassificationMappingsGetOptionalParams, + ReplicationStorageClassificationMappingsGetResponse, + StorageClassificationMappingInput, + ReplicationStorageClassificationMappingsCreateOptionalParams, + ReplicationStorageClassificationMappingsCreateResponse, + ReplicationStorageClassificationMappingsDeleteOptionalParams, + ReplicationStorageClassificationMappingsListResponse, + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextResponse, + ReplicationStorageClassificationMappingsListNextResponse +} from "../models"; -/** Class representing a ReplicationStorageClassificationMappings. */ -export class ReplicationStorageClassificationMappings { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationStorageClassificationMappings operations. */ +export class ReplicationStorageClassificationMappingsImpl + implements ReplicationStorageClassificationMappings { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationStorageClassificationMappings. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationStorageClassificationMappings class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the storage classification mappings for the fabric. - * @summary Gets the list of storage classification mappings objects under a storage. * @param fabricName Fabric name. - * @param storageClassificationName Storage classfication name. - * @param [options] The optional parameters - * @returns - * Promise - */ - listByReplicationStorageClassifications(fabricName: string, storageClassificationName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param storageClassificationName Storage classfication name. - * @param callback The callback - */ - listByReplicationStorageClassifications(fabricName: string, storageClassificationName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param storageClassificationName Storage classfication name. - * @param options The optional parameters - * @param callback The callback + * @param storageClassificationName Storage classification name. + * @param options The options parameters. */ - listByReplicationStorageClassifications(fabricName: string, storageClassificationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationStorageClassifications(fabricName: string, storageClassificationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationStorageClassifications( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationStorageClassificationsPagingAll( + fabricName, + storageClassificationName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationStorageClassificationsPagingPage( + fabricName, + storageClassificationName, + options + ); + } + }; + } + + private async *listByReplicationStorageClassificationsPagingPage( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationStorageClassifications( + fabricName, + storageClassificationName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationStorageClassificationsNext( fabricName, storageClassificationName, + continuationToken, options - }, - listByReplicationStorageClassificationsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationStorageClassificationsPagingAll( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationStorageClassificationsPagingPage( + fabricName, + storageClassificationName, + options + )) { + yield* page; + } } /** - * Gets the details of the specified storage classification mapping. - * @summary Gets the details of a storage classification mapping. - * @param fabricName Fabric name. - * @param storageClassificationName Storage classification name. - * @param storageClassificationMappingName Storage classification mapping name. - * @param [options] The optional parameters - * @returns Promise + * Lists the storage classification mappings in the vault. + * @param options The options parameters. */ - get(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: msRest.RequestOptionsBase): Promise; + public list( + options?: ReplicationStorageClassificationMappingsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationStorageClassificationMappingsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationStorageClassificationMappingsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** + * Lists the storage classification mappings for the fabric. * @param fabricName Fabric name. * @param storageClassificationName Storage classification name. - * @param storageClassificationMappingName Storage classification mapping name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationStorageClassifications( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams + ): Promise< + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsResponse + > { + return this.client.sendOperationRequest( + { fabricName, storageClassificationName, options }, + listByReplicationStorageClassificationsOperationSpec + ); + } + /** + * Gets the details of the specified storage classification mapping. * @param fabricName Fabric name. * @param storageClassificationName Storage classification name. * @param storageClassificationMappingName Storage classification mapping name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + options?: ReplicationStorageClassificationMappingsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( { fabricName, @@ -94,351 +198,402 @@ export class ReplicationStorageClassificationMappings { storageClassificationMappingName, options }, - getOperationSpec, - callback) as Promise; + getOperationSpec + ); } /** * The operation to create a storage classification mapping. - * @summary Create storage classification mapping. * @param fabricName Fabric name. * @param storageClassificationName Storage classification name. * @param storageClassificationMappingName Storage classification mapping name. * @param pairingInput Pairing input. - * @param [options] The optional parameters - * @returns Promise - */ - create(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, pairingInput: Models.StorageClassificationMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,storageClassificationName,storageClassificationMappingName,pairingInput,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } - - /** - * The operation to delete a storage classification mapping. - * @summary Delete a storage classification mapping. - * @param fabricName Fabric name. - * @param storageClassificationName Storage classification name. - * @param storageClassificationMappingName Storage classification mapping name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - deleteMethod(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,storageClassificationName,storageClassificationMappingName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); - } + async beginCreate( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + pairingInput: StorageClassificationMappingInput, + options?: ReplicationStorageClassificationMappingsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationStorageClassificationMappingsCreateResponse + >, + ReplicationStorageClassificationMappingsCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Lists the storage classification mappings in the vault. - * @summary Gets the list of storage classification mappings objects under a vault. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( + const lro = new LroImpl( + sendOperation, { + fabricName, + storageClassificationName, + storageClassificationMappingName, + pairingInput, options }, - listOperationSpec, - callback) as Promise; + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to create a storage classification mapping. - * @summary Create storage classification mapping. * @param fabricName Fabric name. * @param storageClassificationName Storage classification name. * @param storageClassificationMappingName Storage classification mapping name. * @param pairingInput Pairing input. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginCreate(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, pairingInput: Models.StorageClassificationMappingInput, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - storageClassificationName, - storageClassificationMappingName, - pairingInput, - options - }, - beginCreateOperationSpec, - options); + async beginCreateAndWait( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + pairingInput: StorageClassificationMappingInput, + options?: ReplicationStorageClassificationMappingsCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + storageClassificationName, + storageClassificationMappingName, + pairingInput, + options + ); + return poller.pollUntilDone(); } /** * The operation to delete a storage classification mapping. - * @summary Delete a storage classification mapping. * @param fabricName Fabric name. * @param storageClassificationName Storage classification name. * @param storageClassificationMappingName Storage classification mapping name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, storageClassificationName: string, storageClassificationMappingName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( + async beginDelete( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + options?: ReplicationStorageClassificationMappingsDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, { fabricName, storageClassificationName, storageClassificationMappingName, options }, - beginDeleteMethodOperationSpec, - options); + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * Lists the storage classification mappings for the fabric. - * @summary Gets the list of storage classification mappings objects under a storage. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns - * Promise - */ - listByReplicationStorageClassificationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByReplicationStorageClassificationsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * The operation to delete a storage classification mapping. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param storageClassificationMappingName Storage classification mapping name. + * @param options The options parameters. */ - listByReplicationStorageClassificationsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationStorageClassificationsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationStorageClassificationsNextOperationSpec, - callback) as Promise; + async beginDeleteAndWait( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + options?: ReplicationStorageClassificationMappingsDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete( + fabricName, + storageClassificationName, + storageClassificationMappingName, + options + ); + return poller.pollUntilDone(); } /** * Lists the storage classification mappings in the vault. - * @summary Gets the list of storage classification mappings objects under a vault. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: ReplicationStorageClassificationMappingsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByReplicationStorageClassificationsNext + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationStorageClassifications method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByReplicationStorageClassificationsNext( + fabricName: string, + storageClassificationName: string, + nextLink: string, + options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextOptionalParams + ): Promise< + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsNextResponse + > { + return this.client.sendOperationRequest( + { fabricName, storageClassificationName, nextLink, options }, + listByReplicationStorageClassificationsNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationStorageClassificationMappingsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationStorageClassificationsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationStorageClassificationsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings", + responses: { + 200: { + bodyMapper: Mappers.StorageClassificationMappingCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.storageClassificationName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StorageClassificationMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.StorageClassificationMapping } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.storageClassificationName, Parameters.storageClassificationMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.StorageClassificationMapping - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", + httpMethod: "PUT", responses: { 200: { - bodyMapper: Mappers.StorageClassificationMappingCollection + bodyMapper: Mappers.StorageClassificationMapping }, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.StorageClassificationMapping + }, + 202: { + bodyMapper: Mappers.StorageClassificationMapping + }, + 204: { + bodyMapper: Mappers.StorageClassificationMapping } }, - serializer -}; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", + requestBody: Parameters.pairingInput, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.storageClassificationName, Parameters.storageClassificationMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "pairingInput", - mapper: { - ...Mappers.StorageClassificationMappingInput, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.StorageClassificationMapping - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.storageClassificationName, Parameters.storageClassificationMappingName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError + 200: { + bodyMapper: Mappers.StorageClassificationMappingCollection } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationStorageClassificationsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationStorageClassificationsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StorageClassificationMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.storageClassificationName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StorageClassificationMappingCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassifications.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassifications.ts index 7e6adb1712fb..f5d3eb473a45 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassifications.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassifications.ts @@ -1,295 +1,318 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationStorageClassificationsMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationStorageClassifications } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + StorageClassification, + ReplicationStorageClassificationsListByReplicationFabricsNextOptionalParams, + ReplicationStorageClassificationsListByReplicationFabricsOptionalParams, + ReplicationStorageClassificationsListNextOptionalParams, + ReplicationStorageClassificationsListOptionalParams, + ReplicationStorageClassificationsListByReplicationFabricsResponse, + ReplicationStorageClassificationsGetOptionalParams, + ReplicationStorageClassificationsGetResponse, + ReplicationStorageClassificationsListResponse, + ReplicationStorageClassificationsListByReplicationFabricsNextResponse, + ReplicationStorageClassificationsListNextResponse +} from "../models"; -/** Class representing a ReplicationStorageClassifications. */ -export class ReplicationStorageClassifications { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationStorageClassifications operations. */ +export class ReplicationStorageClassificationsImpl + implements ReplicationStorageClassifications { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationStorageClassifications. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationStorageClassifications class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the storage classifications available in the specified fabric. - * @summary Gets the list of storage classification objects under a fabric. * @param fabricName Site name of interest. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Site name of interest. - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Site name of interest. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - fabricName, - options + public listByReplicationFabrics( + fabricName: string, + options?: ReplicationStorageClassificationsListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationFabricsPagingAll(fabricName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; }, - listByReplicationFabricsOperationSpec, - callback) as Promise; + byPage: () => { + return this.listByReplicationFabricsPagingPage(fabricName, options); + } + }; } - /** - * Gets the details of the specified storage classification. - * @summary Gets the details of a storage classification. - * @param fabricName Fabric name. - * @param storageClassificationName Storage classification name. - * @param [options] The optional parameters - * @returns Promise - */ - get(fabricName: string, storageClassificationName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param storageClassificationName Storage classification name. - * @param callback The callback - */ - get(fabricName: string, storageClassificationName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param storageClassificationName Storage classification name. - * @param options The optional parameters - * @param callback The callback - */ - get(fabricName: string, storageClassificationName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, storageClassificationName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + private async *listByReplicationFabricsPagingPage( + fabricName: string, + options?: ReplicationStorageClassificationsListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationFabrics(fabricName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationFabricsNext( fabricName, - storageClassificationName, + continuationToken, options - }, - getOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationFabricsPagingAll( + fabricName: string, + options?: ReplicationStorageClassificationsListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationFabricsPagingPage( + fabricName, + options + )) { + yield* page; + } } /** * Lists the storage classifications in the vault. - * @summary Gets the list of storage classification objects under a vault. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback + * @param options The options parameters. */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options + public list( + options?: ReplicationStorageClassificationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); }, - listOperationSpec, - callback) as Promise; + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationStorageClassificationsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationStorageClassificationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } } /** * Lists the storage classifications available in the specified fabric. - * @summary Gets the list of storage classification objects under a fabric. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * @param fabricName Site name of interest. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabrics( + fabricName: string, + options?: ReplicationStorageClassificationsListByReplicationFabricsOptionalParams + ): Promise< + ReplicationStorageClassificationsListByReplicationFabricsResponse + > { + return this.client.sendOperationRequest( + { fabricName, options }, + listByReplicationFabricsOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * Gets the details of the specified storage classification. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationFabricsNextOperationSpec, - callback) as Promise; + { fabricName, storageClassificationName, options }, + getOperationSpec + ); } /** * Lists the storage classifications in the vault. - * @summary Gets the list of storage classification objects under a vault. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + private _list( + options?: ReplicationStorageClassificationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListByReplicationFabricsNext + * @param fabricName Site name of interest. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationFabrics + * method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabricsNext( + fabricName: string, + nextLink: string, + options?: ReplicationStorageClassificationsListByReplicationFabricsNextOptionalParams + ): Promise< + ReplicationStorageClassificationsListByReplicationFabricsNextResponse + > { + return this.client.sendOperationRequest( + { fabricName, nextLink, options }, + listByReplicationFabricsNextOperationSpec + ); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationStorageClassificationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationFabricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationFabricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications", + responses: { + 200: { + bodyMapper: Mappers.StorageClassificationCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.StorageClassificationCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.StorageClassification } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.storageClassificationName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.StorageClassification - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listOperationSpec: msRest.OperationSpec = { +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.StorageClassificationCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationFabricsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationFabricsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StorageClassificationCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.StorageClassificationCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts index a797b0132ad2..d760dcf6c23c 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts @@ -1,131 +1,163 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationVaultHealthMappers"; +import { ReplicationVaultHealth } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + ReplicationVaultHealthGetOptionalParams, + ReplicationVaultHealthGetResponse, + ReplicationVaultHealthRefreshOptionalParams, + ReplicationVaultHealthRefreshResponse +} from "../models"; -/** Class representing a ReplicationVaultHealth. */ -export class ReplicationVaultHealth { - private readonly client: SiteRecoveryManagementClientContext; +/** Class containing ReplicationVaultHealth operations. */ +export class ReplicationVaultHealthImpl implements ReplicationVaultHealth { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationVaultHealth. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationVaultHealth class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Gets the health details of the vault. - * @summary Gets the health summary for the vault. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - get(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - get(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - get(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - getOperationSpec, - callback) as Promise; + get( + options?: ReplicationVaultHealthGetOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, getOperationSpec); } /** - * @summary Refreshes health summary of the vault. - * @param [options] The optional parameters - * @returns Promise + * Refreshes health summary of the vault. + * @param options The options parameters. */ - refresh(options?: msRest.RequestOptionsBase): Promise { - return this.beginRefresh(options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginRefresh( + options?: ReplicationVaultHealthRefreshOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationVaultHealthRefreshResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl(sendOperation, { options }, refreshOperationSpec); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * @summary Refreshes health summary of the vault. - * @param [options] The optional parameters - * @returns Promise + * Refreshes health summary of the vault. + * @param options The options parameters. */ - beginRefresh(options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - options - }, - beginRefreshOperationSpec, - options); + async beginRefreshAndWait( + options?: ReplicationVaultHealthRefreshOptionalParams + ): Promise { + const poller = await this.beginRefresh(options); + return poller.pollUntilDone(); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const getOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth", - urlParameters: [ - Parameters.resourceName, - Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], responses: { 200: { bodyMapper: Mappers.VaultHealthDetails - }, - default: { - bodyMapper: Mappers.CloudError } }, - serializer -}; - -const beginRefreshOperationSpec: msRest.OperationSpec = { - httpMethod: "POST", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionId, + Parameters.resourceName ], + headerParameters: [Parameters.accept], + serializer +}; +const refreshOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh", + httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.VaultHealthDetails }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.VaultHealthDetails + }, + 202: { + bodyMapper: Mappers.VaultHealthDetails + }, + 204: { + bodyMapper: Mappers.VaultHealthDetails } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts new file mode 100644 index 000000000000..d11b81225584 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts @@ -0,0 +1,297 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationVaultSetting } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VaultSetting, + ReplicationVaultSettingListNextOptionalParams, + ReplicationVaultSettingListOptionalParams, + ReplicationVaultSettingListResponse, + ReplicationVaultSettingGetOptionalParams, + ReplicationVaultSettingGetResponse, + VaultSettingCreationInput, + ReplicationVaultSettingCreateOptionalParams, + ReplicationVaultSettingCreateResponse, + ReplicationVaultSettingListNextResponse +} from "../models"; + +/// +/** Class containing ReplicationVaultSetting operations. */ +export class ReplicationVaultSettingImpl implements ReplicationVaultSetting { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class ReplicationVaultSetting class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Gets the list of vault setting. This includes the Migration Hub connection settings. + * @param options The options parameters. + */ + public list( + options?: ReplicationVaultSettingListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationVaultSettingListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationVaultSettingListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Gets the list of vault setting. This includes the Migration Hub connection settings. + * @param options The options parameters. + */ + private _list( + options?: ReplicationVaultSettingListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Gets the vault setting. This includes the Migration Hub connection settings. + * @param vaultSettingName Vault setting name. + * @param options The options parameters. + */ + get( + vaultSettingName: string, + options?: ReplicationVaultSettingGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { vaultSettingName, options }, + getOperationSpec + ); + } + + /** + * The operation to configure vault setting. + * @param vaultSettingName Vault setting name. + * @param input Vault setting creation input. + * @param options The options parameters. + */ + async beginCreate( + vaultSettingName: string, + input: VaultSettingCreationInput, + options?: ReplicationVaultSettingCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationVaultSettingCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { vaultSettingName, input, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + } + + /** + * The operation to configure vault setting. + * @param vaultSettingName Vault setting name. + * @param input Vault setting creation input. + * @param options The options parameters. + */ + async beginCreateAndWait( + vaultSettingName: string, + input: VaultSettingCreationInput, + options?: ReplicationVaultSettingCreateOptionalParams + ): Promise { + const poller = await this.beginCreate(vaultSettingName, input, options); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: ReplicationVaultSettingListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VaultSettingCollection + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings/{vaultSettingName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VaultSetting + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.vaultSettingName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings/{vaultSettingName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.VaultSetting + }, + 201: { + bodyMapper: Mappers.VaultSetting + }, + 202: { + bodyMapper: Mappers.VaultSetting + }, + 204: { + bodyMapper: Mappers.VaultSetting + } + }, + requestBody: Parameters.input16, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.vaultSettingName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VaultSettingCollection + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts index ea2de6343fbc..a541ea6d1778 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts @@ -1,494 +1,658 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; -import * as Models from "../models"; -import * as Mappers from "../models/replicationvCentersMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { ReplicationvCenters } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + VCenter, + ReplicationvCentersListByReplicationFabricsNextOptionalParams, + ReplicationvCentersListByReplicationFabricsOptionalParams, + ReplicationvCentersListNextOptionalParams, + ReplicationvCentersListOptionalParams, + ReplicationvCentersListByReplicationFabricsResponse, + ReplicationvCentersGetOptionalParams, + ReplicationvCentersGetResponse, + AddVCenterRequest, + ReplicationvCentersCreateOptionalParams, + ReplicationvCentersCreateResponse, + ReplicationvCentersDeleteOptionalParams, + UpdateVCenterRequest, + ReplicationvCentersUpdateOptionalParams, + ReplicationvCentersUpdateResponse, + ReplicationvCentersListResponse, + ReplicationvCentersListByReplicationFabricsNextResponse, + ReplicationvCentersListNextResponse +} from "../models"; -/** Class representing a ReplicationvCenters. */ -export class ReplicationvCenters { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing ReplicationvCenters operations. */ +export class ReplicationvCentersImpl implements ReplicationvCenters { + private readonly client: SiteRecoveryManagementClient; /** - * Create a ReplicationvCenters. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class ReplicationvCenters class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the vCenter servers registered in a fabric. - * @summary Gets the list of vCenter registered under a fabric. * @param fabricName Fabric name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, callback: msRest.ServiceCallback): void; - /** - * @param fabricName Fabric name. - * @param options The optional parameters - * @param callback The callback - */ - listByReplicationFabrics(fabricName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabrics(fabricName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { + public listByReplicationFabrics( + fabricName: string, + options?: ReplicationvCentersListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationFabricsPagingAll(fabricName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationFabricsPagingPage(fabricName, options); + } + }; + } + + private async *listByReplicationFabricsPagingPage( + fabricName: string, + options?: ReplicationvCentersListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationFabrics(fabricName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationFabricsNext( fabricName, + continuationToken, options - }, - listByReplicationFabricsOperationSpec, - callback) as Promise; + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationFabricsPagingAll( + fabricName: string, + options?: ReplicationvCentersListByReplicationFabricsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationFabricsPagingPage( + fabricName, + options + )) { + yield* page; + } } /** - * Gets the details of a registered vCenter server(Add vCenter server.) - * @summary Gets the details of a vCenter. - * @param fabricName Fabric name. - * @param vCenterName vCenter name. - * @param [options] The optional parameters - * @returns Promise + * Lists the vCenter servers registered in the vault. + * @param options The options parameters. */ - get(fabricName: string, vCenterName: string, options?: msRest.RequestOptionsBase): Promise; + public list( + options?: ReplicationvCentersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: ReplicationvCentersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: ReplicationvCentersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + /** + * Lists the vCenter servers registered in a fabric. * @param fabricName Fabric name. - * @param vCenterName vCenter name. - * @param callback The callback + * @param options The options parameters. */ - get(fabricName: string, vCenterName: string, callback: msRest.ServiceCallback): void; + private _listByReplicationFabrics( + fabricName: string, + options?: ReplicationvCentersListByReplicationFabricsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { fabricName, options }, + listByReplicationFabricsOperationSpec + ); + } + /** + * Gets the details of a registered vCenter server(Add vCenter server). * @param fabricName Fabric name. - * @param vCenterName vCenter name. - * @param options The optional parameters - * @param callback The callback + * @param vcenterName vcenter name. + * @param options The options parameters. */ - get(fabricName: string, vCenterName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - get(fabricName: string, vCenterName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + get( + fabricName: string, + vcenterName: string, + options?: ReplicationvCentersGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - fabricName, - vCenterName, - options - }, - getOperationSpec, - callback) as Promise; + { fabricName, vcenterName, options }, + getOperationSpec + ); } /** * The operation to create a vCenter object.. - * @summary Add vCenter. * @param fabricName Fabric name. - * @param vCenterName vCenter name. + * @param vcenterName vcenter name. * @param addVCenterRequest The input to the add vCenter operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - create(fabricName: string, vCenterName: string, addVCenterRequest: Models.AddVCenterRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginCreate(fabricName,vCenterName,addVCenterRequest,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + async beginCreate( + fabricName: string, + vcenterName: string, + addVCenterRequest: AddVCenterRequest, + options?: ReplicationvCentersCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationvCentersCreateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, vcenterName, addVCenterRequest, options }, + createOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to remove(unregister) a registered vCenter server from the vault. - * @summary Remove vCenter operation. + * The operation to create a vCenter object.. * @param fabricName Fabric name. - * @param vCenterName vCenter name. - * @param [options] The optional parameters - * @returns Promise + * @param vcenterName vcenter name. + * @param addVCenterRequest The input to the add vCenter operation. + * @param options The options parameters. */ - deleteMethod(fabricName: string, vCenterName: string, options?: msRest.RequestOptionsBase): Promise { - return this.beginDeleteMethod(fabricName,vCenterName,options) - .then(lroPoller => lroPoller.pollUntilFinished()); + async beginCreateAndWait( + fabricName: string, + vcenterName: string, + addVCenterRequest: AddVCenterRequest, + options?: ReplicationvCentersCreateOptionalParams + ): Promise { + const poller = await this.beginCreate( + fabricName, + vcenterName, + addVCenterRequest, + options + ); + return poller.pollUntilDone(); } /** - * The operation to update a registered vCenter. - * @summary Update vCenter operation. + * The operation to remove(unregister) a registered vCenter server from the vault. * @param fabricName Fabric name. - * @param vCenterName vCeneter name - * @param updateVCenterRequest The input to the update vCenter operation. - * @param [options] The optional parameters - * @returns Promise + * @param vcenterName vcenter name. + * @param options The options parameters. */ - update(fabricName: string, vCenterName: string, updateVCenterRequest: Models.UpdateVCenterRequest, options?: msRest.RequestOptionsBase): Promise { - return this.beginUpdate(fabricName,vCenterName,updateVCenterRequest,options) - .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; - } + async beginDelete( + fabricName: string, + vcenterName: string, + options?: ReplicationvCentersDeleteOptionalParams + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; - /** - * Lists the vCenter servers registered in the vault. - * @summary Gets the list of vCenter registered under the vault. - * @param [options] The optional parameters - * @returns Promise - */ - list(options?: msRest.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - list(callback: msRest.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listOperationSpec, - callback) as Promise; + const lro = new LroImpl( + sendOperation, + { fabricName, vcenterName, options }, + deleteOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** - * The operation to create a vCenter object.. - * @summary Add vCenter. + * The operation to remove(unregister) a registered vCenter server from the vault. * @param fabricName Fabric name. - * @param vCenterName vCenter name. - * @param addVCenterRequest The input to the add vCenter operation. - * @param [options] The optional parameters - * @returns Promise + * @param vcenterName vcenter name. + * @param options The options parameters. */ - beginCreate(fabricName: string, vCenterName: string, addVCenterRequest: Models.AddVCenterRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - vCenterName, - addVCenterRequest, - options - }, - beginCreateOperationSpec, - options); + async beginDeleteAndWait( + fabricName: string, + vcenterName: string, + options?: ReplicationvCentersDeleteOptionalParams + ): Promise { + const poller = await this.beginDelete(fabricName, vcenterName, options); + return poller.pollUntilDone(); } /** - * The operation to remove(unregister) a registered vCenter server from the vault. - * @summary Remove vCenter operation. + * The operation to update a registered vCenter. * @param fabricName Fabric name. - * @param vCenterName vCenter name. - * @param [options] The optional parameters - * @returns Promise + * @param vcenterName vcenter name. + * @param updateVCenterRequest The input to the update vCenter operation. + * @param options The options parameters. */ - beginDeleteMethod(fabricName: string, vCenterName: string, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - vCenterName, - options - }, - beginDeleteMethodOperationSpec, - options); + async beginUpdate( + fabricName: string, + vcenterName: string, + updateVCenterRequest: UpdateVCenterRequest, + options?: ReplicationvCentersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationvCentersUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = new LroImpl( + sendOperation, + { fabricName, vcenterName, updateVCenterRequest, options }, + updateOperationSpec + ); + return new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); } /** * The operation to update a registered vCenter. - * @summary Update vCenter operation. * @param fabricName Fabric name. - * @param vCenterName vCeneter name + * @param vcenterName vcenter name. * @param updateVCenterRequest The input to the update vCenter operation. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - beginUpdate(fabricName: string, vCenterName: string, updateVCenterRequest: Models.UpdateVCenterRequest, options?: msRest.RequestOptionsBase): Promise { - return this.client.sendLRORequest( - { - fabricName, - vCenterName, - updateVCenterRequest, - options - }, - beginUpdateOperationSpec, - options); + async beginUpdateAndWait( + fabricName: string, + vcenterName: string, + updateVCenterRequest: UpdateVCenterRequest, + options?: ReplicationvCentersUpdateOptionalParams + ): Promise { + const poller = await this.beginUpdate( + fabricName, + vcenterName, + updateVCenterRequest, + options + ); + return poller.pollUntilDone(); } /** - * Lists the vCenter servers registered in a fabric. - * @summary Gets the list of vCenter registered under a fabric. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * Lists the vCenter servers registered in the vault. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + private _list( + options?: ReplicationvCentersListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationFabricsNext + * @param fabricName Fabric name. + * @param nextLink The nextLink from the previous successful call to the ListByReplicationFabrics + * method. + * @param options The options parameters. */ - listByReplicationFabricsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationFabricsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationFabricsNext( + fabricName: string, + nextLink: string, + options?: ReplicationvCentersListByReplicationFabricsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listByReplicationFabricsNextOperationSpec, - callback) as Promise; + { fabricName, nextLink, options }, + listByReplicationFabricsNextOperationSpec + ); } /** - * Lists the vCenter servers registered in the vault. - * @summary Gets the list of vCenter registered under the vault. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. */ - listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listNext( + nextLink: string, + options?: ReplicationvCentersListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listNextOperationSpec, - callback) as Promise; + { nextLink, options }, + listNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationFabricsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationFabricsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters", + responses: { + 200: { + bodyMapper: Mappers.VCenterCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], + headerParameters: [Parameters.accept], + serializer +}; +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}", + httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.VCenterCollection - }, - default: { - bodyMapper: Mappers.CloudError + bodyMapper: Mappers.VCenter } }, - serializer -}; - -const getOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, - Parameters.vCenterName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vcenterName ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}", + httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.VCenter }, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.VCenter + }, + 202: { + bodyMapper: Mappers.VCenter + }, + 204: { + bodyMapper: Mappers.VCenter } }, - serializer -}; - -const listOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters", + requestBody: Parameters.addVCenterRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, - Parameters.subscriptionId - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.subscriptionId, + Parameters.resourceName, + Parameters.fabricName, + Parameters.vcenterName ], - responses: { - 200: { - bodyMapper: Mappers.VCenterCollection - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", serializer }; - -const beginCreateOperationSpec: msRest.OperationSpec = { - httpMethod: "PUT", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}", + httpMethod: "DELETE", + responses: { 200: {}, 201: {}, 202: {}, 204: {} }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, - Parameters.vCenterName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vcenterName ], - requestBody: { - parameterPath: "addVCenterRequest", - mapper: { - ...Mappers.AddVCenterRequest, - required: true - } - }, + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}", + httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.VCenter }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError + 201: { + bodyMapper: Mappers.VCenter + }, + 202: { + bodyMapper: Mappers.VCenter + }, + 204: { + bodyMapper: Mappers.VCenter } }, - serializer -}; - -const beginDeleteMethodOperationSpec: msRest.OperationSpec = { - httpMethod: "DELETE", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", + requestBody: Parameters.updateVCenterRequest, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, - Parameters.vCenterName - ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage + Parameters.vcenterName ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters", + httpMethod: "GET", responses: { - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError + 200: { + bodyMapper: Mappers.VCenterCollection } }, - serializer -}; - -const beginUpdateOperationSpec: msRest.OperationSpec = { - httpMethod: "PATCH", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}", + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.fabricName, - Parameters.vCenterName + Parameters.resourceName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - requestBody: { - parameterPath: "updateVCenterRequest", - mapper: { - ...Mappers.UpdateVCenterRequest, - required: true - } - }, - responses: { - 200: { - bodyMapper: Mappers.VCenter - }, - 202: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationFabricsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationFabricsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VCenterCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName + ], + headerParameters: [Parameters.accept], serializer }; - -const listNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.VCenterCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/supportedOperatingSystemsOperations.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/supportedOperatingSystemsOperations.ts new file mode 100644 index 000000000000..a9065d125e79 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/supportedOperatingSystemsOperations.ts @@ -0,0 +1,63 @@ +/* + * 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 { SupportedOperatingSystemsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + SupportedOperatingSystemsGetOptionalParams, + SupportedOperatingSystemsGetResponse +} from "../models"; + +/** Class containing SupportedOperatingSystemsOperations operations. */ +export class SupportedOperatingSystemsOperationsImpl + implements SupportedOperatingSystemsOperations { + private readonly client: SiteRecoveryManagementClient; + + /** + * Initialize a new instance of the class SupportedOperatingSystemsOperations class. + * @param client Reference to the service client + */ + constructor(client: SiteRecoveryManagementClient) { + this.client = client; + } + + /** + * Gets the data of supported operating systems by SRS. + * @param options The options parameters. + */ + get( + options?: SupportedOperatingSystemsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, getOperationSpec); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationSupportedOperatingSystems", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SupportedOperatingSystems + } + }, + queryParameters: [Parameters.apiVersion, Parameters.instanceType], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.resourceName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/targetComputeSizes.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/targetComputeSizes.ts index 891dad9dc3bf..dde927a4bbe4 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/targetComputeSizes.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/targetComputeSizes.ts @@ -1,57 +1,131 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "../models"; -import * as Mappers from "../models/targetComputeSizesMappers"; +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { TargetComputeSizes } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; -import { SiteRecoveryManagementClientContext } from "../siteRecoveryManagementClientContext"; +import { SiteRecoveryManagementClient } from "../siteRecoveryManagementClient"; +import { + TargetComputeSize, + TargetComputeSizesListByReplicationProtectedItemsNextOptionalParams, + TargetComputeSizesListByReplicationProtectedItemsOptionalParams, + TargetComputeSizesListByReplicationProtectedItemsResponse, + TargetComputeSizesListByReplicationProtectedItemsNextResponse +} from "../models"; -/** Class representing a TargetComputeSizes. */ -export class TargetComputeSizes { - private readonly client: SiteRecoveryManagementClientContext; +/// +/** Class containing TargetComputeSizes operations. */ +export class TargetComputeSizesImpl implements TargetComputeSizes { + private readonly client: SiteRecoveryManagementClient; /** - * Create a TargetComputeSizes. - * @param {SiteRecoveryManagementClientContext} client Reference to the service client. + * Initialize a new instance of the class TargetComputeSizes class. + * @param client Reference to the service client */ - constructor(client: SiteRecoveryManagementClientContext) { + constructor(client: SiteRecoveryManagementClient) { this.client = client; } /** * Lists the available target compute sizes for a replication protected item. - * @summary Gets the list of target compute sizes for the replication protected item. * @param fabricName Fabric name. * @param protectionContainerName protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param [options] The optional parameters - * @returns Promise + * @param options The options parameters. */ - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param fabricName Fabric name. - * @param protectionContainerName protection container name. - * @param replicatedProtectedItemName Replication protected item name. - * @param callback The callback - */ - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, callback: msRest.ServiceCallback): void; + public listByReplicationProtectedItems( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: TargetComputeSizesListByReplicationProtectedItemsOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByReplicationProtectedItemsPagingAll( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listByReplicationProtectedItemsPagingPage( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + } + }; + } + + private async *listByReplicationProtectedItemsPagingPage( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: TargetComputeSizesListByReplicationProtectedItemsOptionalParams + ): AsyncIterableIterator { + let result = await this._listByReplicationProtectedItems( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + ); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listByReplicationProtectedItemsNext( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listByReplicationProtectedItemsPagingAll( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: TargetComputeSizesListByReplicationProtectedItemsOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByReplicationProtectedItemsPagingPage( + fabricName, + protectionContainerName, + replicatedProtectedItemName, + options + )) { + yield* page; + } + } + /** + * Lists the available target compute sizes for a replication protected item. * @param fabricName Fabric name. * @param protectionContainerName protection container name. * @param replicatedProtectedItemName Replication protected item name. - * @param options The optional parameters - * @param callback The callback + * @param options The options parameters. */ - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectedItems(fabricName: string, protectionContainerName: string, replicatedProtectedItemName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationProtectedItems( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: TargetComputeSizesListByReplicationProtectedItemsOptionalParams + ): Promise { return this.client.sendOperationRequest( { fabricName, @@ -59,87 +133,82 @@ export class TargetComputeSizes { replicatedProtectedItemName, options }, - listByReplicationProtectedItemsOperationSpec, - callback) as Promise; + listByReplicationProtectedItemsOperationSpec + ); } /** - * Lists the available target compute sizes for a replication protected item. - * @summary Gets the list of target compute sizes for the replication protected item. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listByReplicationProtectedItemsNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listByReplicationProtectedItemsNext(nextPageLink: string, callback: msRest.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback + * ListByReplicationProtectedItemsNext + * @param fabricName Fabric name. + * @param protectionContainerName protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param nextLink The nextLink from the previous successful call to the + * ListByReplicationProtectedItems method. + * @param options The options parameters. */ - listByReplicationProtectedItemsNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; - listByReplicationProtectedItemsNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + private _listByReplicationProtectedItemsNext( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + nextLink: string, + options?: TargetComputeSizesListByReplicationProtectedItemsNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { - nextPageLink, + fabricName, + protectionContainerName, + replicatedProtectedItemName, + nextLink, options }, - listByReplicationProtectedItemsNextOperationSpec, - callback) as Promise; + listByReplicationProtectedItemsNextOperationSpec + ); } } - // Operation Specifications -const serializer = new msRest.Serializer(Mappers); -const listByReplicationProtectedItemsOperationSpec: msRest.OperationSpec = { +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByReplicationProtectedItemsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes", httpMethod: "GET", - path: "Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes", + responses: { + 200: { + bodyMapper: Mappers.TargetComputeSizeCollection + } + }, + queryParameters: [Parameters.apiVersion], urlParameters: [ - Parameters.resourceName, + Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, + Parameters.resourceName, Parameters.fabricName, Parameters.protectionContainerName, Parameters.replicatedProtectedItemName ], - queryParameters: [ - Parameters.apiVersion - ], - headerParameters: [ - Parameters.acceptLanguage - ], - responses: { - 200: { - bodyMapper: Mappers.TargetComputeSizeCollection - }, - default: { - bodyMapper: Mappers.CloudError - } - }, + headerParameters: [Parameters.accept], serializer }; - -const listByReplicationProtectedItemsNextOperationSpec: msRest.OperationSpec = { - httpMethod: "GET", - baseUrl: "https://management.azure.com", +const listByReplicationProtectedItemsNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.acceptLanguage - ], + httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.TargetComputeSizeCollection - }, - default: { - bodyMapper: Mappers.CloudError } }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceName, + Parameters.fabricName, + Parameters.protectionContainerName, + Parameters.replicatedProtectedItemName + ], + headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/index.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/index.ts new file mode 100644 index 000000000000..961209a58c5b --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/index.ts @@ -0,0 +1,36 @@ +/* + * 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 "./operations"; +export * from "./replicationAlertSettings"; +export * from "./replicationAppliances"; +export * from "./replicationEligibilityResultsOperations"; +export * from "./replicationEvents"; +export * from "./replicationFabrics"; +export * from "./replicationLogicalNetworks"; +export * from "./replicationNetworks"; +export * from "./replicationNetworkMappings"; +export * from "./replicationProtectionContainers"; +export * from "./replicationMigrationItems"; +export * from "./migrationRecoveryPoints"; +export * from "./replicationProtectableItems"; +export * from "./replicationProtectedItems"; +export * from "./recoveryPoints"; +export * from "./targetComputeSizes"; +export * from "./replicationProtectionContainerMappings"; +export * from "./replicationRecoveryServicesProviders"; +export * from "./replicationStorageClassifications"; +export * from "./replicationStorageClassificationMappings"; +export * from "./replicationvCenters"; +export * from "./replicationJobs"; +export * from "./replicationPolicies"; +export * from "./replicationProtectionIntents"; +export * from "./replicationRecoveryPlans"; +export * from "./supportedOperatingSystemsOperations"; +export * from "./replicationVaultHealth"; +export * from "./replicationVaultSetting"; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/migrationRecoveryPoints.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/migrationRecoveryPoints.ts new file mode 100644 index 000000000000..8996502a340c --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/migrationRecoveryPoints.ts @@ -0,0 +1,48 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + MigrationRecoveryPoint, + MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams, + MigrationRecoveryPointsGetOptionalParams, + MigrationRecoveryPointsGetResponse +} from "../models"; + +/// +/** Interface representing a MigrationRecoveryPoints. */ +export interface MigrationRecoveryPoints { + /** + * Gets the recovery points for a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + listByReplicationMigrationItems( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: MigrationRecoveryPointsListByReplicationMigrationItemsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets a recovery point for a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param migrationRecoveryPointName The migration recovery point name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + migrationRecoveryPointName: string, + options?: MigrationRecoveryPointsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/operations.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..bfc3f13fab5d --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/operations.ts @@ -0,0 +1,22 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { OperationsDiscovery, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * Operation to return the list of available operations. + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/recoveryPoints.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/recoveryPoints.ts new file mode 100644 index 000000000000..a048e734f193 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/recoveryPoints.ts @@ -0,0 +1,48 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + RecoveryPoint, + RecoveryPointsListByReplicationProtectedItemsOptionalParams, + RecoveryPointsGetOptionalParams, + RecoveryPointsGetResponse +} from "../models"; + +/// +/** Interface representing a RecoveryPoints. */ +export interface RecoveryPoints { + /** + * Lists the available recovery points for a replication protected item. + * @param fabricName The fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replication protected item name. + * @param options The options parameters. + */ + listByReplicationProtectedItems( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: RecoveryPointsListByReplicationProtectedItemsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the details of specified recovery point. + * @param fabricName The fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replication protected item name. + * @param recoveryPointName The recovery point name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + recoveryPointName: string, + options?: RecoveryPointsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationAlertSettings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationAlertSettings.ts new file mode 100644 index 000000000000..504ad56e0740 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationAlertSettings.ts @@ -0,0 +1,50 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Alert, + ReplicationAlertSettingsListOptionalParams, + ReplicationAlertSettingsGetOptionalParams, + ReplicationAlertSettingsGetResponse, + ConfigureAlertRequest, + ReplicationAlertSettingsCreateOptionalParams, + ReplicationAlertSettingsCreateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationAlertSettings. */ +export interface ReplicationAlertSettings { + /** + * Gets the list of email notification(alert) configurations for the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationAlertSettingsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of the specified email notification(alert) configuration. + * @param alertSettingName The name of the email notification configuration. + * @param options The options parameters. + */ + get( + alertSettingName: string, + options?: ReplicationAlertSettingsGetOptionalParams + ): Promise; + /** + * Create or update an email notification(alert) configuration. + * @param alertSettingName The name of the email notification(alert) configuration. + * @param request The input to configure the email notification(alert). + * @param options The options parameters. + */ + create( + alertSettingName: string, + request: ConfigureAlertRequest, + options?: ReplicationAlertSettingsCreateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationAppliances.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationAppliances.ts new file mode 100644 index 000000000000..27b58e7ad502 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationAppliances.ts @@ -0,0 +1,25 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ReplicationAppliance, + ReplicationAppliancesListOptionalParams +} from "../models"; + +/// +/** Interface representing a ReplicationAppliances. */ +export interface ReplicationAppliances { + /** + * Gets the list of Azure Site Recovery appliances for the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationAppliancesListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationEligibilityResultsOperations.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationEligibilityResultsOperations.ts new file mode 100644 index 000000000000..b7cda009da3c --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationEligibilityResultsOperations.ts @@ -0,0 +1,36 @@ +/* + * 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 { + ReplicationEligibilityResultsListOptionalParams, + ReplicationEligibilityResultsListResponse, + ReplicationEligibilityResultsGetOptionalParams, + ReplicationEligibilityResultsGetResponse +} from "../models"; + +/** Interface representing a ReplicationEligibilityResultsOperations. */ +export interface ReplicationEligibilityResultsOperations { + /** + * Validates whether a given VM can be protected or not in which case returns list of errors. + * @param virtualMachineName Virtual Machine name. + * @param options The options parameters. + */ + list( + virtualMachineName: string, + options?: ReplicationEligibilityResultsListOptionalParams + ): Promise; + /** + * Validates whether a given VM can be protected or not in which case returns list of errors. + * @param virtualMachineName Virtual Machine name. + * @param options The options parameters. + */ + get( + virtualMachineName: string, + options?: ReplicationEligibilityResultsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationEvents.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationEvents.ts new file mode 100644 index 000000000000..4653a17ceed6 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationEvents.ts @@ -0,0 +1,36 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Event, + ReplicationEventsListOptionalParams, + ReplicationEventsGetOptionalParams, + ReplicationEventsGetResponse +} from "../models"; + +/// +/** Interface representing a ReplicationEvents. */ +export interface ReplicationEvents { + /** + * Gets the list of Azure Site Recovery events for the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationEventsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * The operation to get the details of an Azure Site recovery event. + * @param eventName The name of the Azure Site Recovery event. + * @param options The options parameters. + */ + get( + eventName: string, + options?: ReplicationEventsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationFabrics.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationFabrics.ts new file mode 100644 index 000000000000..4a6eb9a99682 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationFabrics.ts @@ -0,0 +1,209 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Fabric, + ReplicationFabricsListOptionalParams, + ReplicationFabricsGetOptionalParams, + ReplicationFabricsGetResponse, + FabricCreationInput, + ReplicationFabricsCreateOptionalParams, + ReplicationFabricsCreateResponse, + ReplicationFabricsPurgeOptionalParams, + ReplicationFabricsCheckConsistencyOptionalParams, + ReplicationFabricsCheckConsistencyResponse, + ReplicationFabricsMigrateToAadOptionalParams, + FailoverProcessServerRequest, + ReplicationFabricsReassociateGatewayOptionalParams, + ReplicationFabricsReassociateGatewayResponse, + ReplicationFabricsDeleteOptionalParams, + RenewCertificateInput, + ReplicationFabricsRenewCertificateOptionalParams, + ReplicationFabricsRenewCertificateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationFabrics. */ +export interface ReplicationFabrics { + /** + * Gets a list of the Azure Site Recovery fabrics in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationFabricsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of an Azure Site Recovery fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + get( + fabricName: string, + options?: ReplicationFabricsGetOptionalParams + ): Promise; + /** + * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site). + * @param fabricName Name of the ASR fabric. + * @param input Fabric creation input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + input: FabricCreationInput, + options?: ReplicationFabricsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsCreateResponse + > + >; + /** + * The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site). + * @param fabricName Name of the ASR fabric. + * @param input Fabric creation input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + input: FabricCreationInput, + options?: ReplicationFabricsCreateOptionalParams + ): Promise; + /** + * The operation to purge(force delete) an Azure Site Recovery fabric. + * @param fabricName ASR fabric to purge. + * @param options The options parameters. + */ + beginPurge( + fabricName: string, + options?: ReplicationFabricsPurgeOptionalParams + ): Promise, void>>; + /** + * The operation to purge(force delete) an Azure Site Recovery fabric. + * @param fabricName ASR fabric to purge. + * @param options The options parameters. + */ + beginPurgeAndWait( + fabricName: string, + options?: ReplicationFabricsPurgeOptionalParams + ): Promise; + /** + * The operation to perform a consistency check on the fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + beginCheckConsistency( + fabricName: string, + options?: ReplicationFabricsCheckConsistencyOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsCheckConsistencyResponse + > + >; + /** + * The operation to perform a consistency check on the fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + beginCheckConsistencyAndWait( + fabricName: string, + options?: ReplicationFabricsCheckConsistencyOptionalParams + ): Promise; + /** + * The operation to migrate an Azure Site Recovery fabric to AAD. + * @param fabricName ASR fabric to migrate. + * @param options The options parameters. + */ + beginMigrateToAad( + fabricName: string, + options?: ReplicationFabricsMigrateToAadOptionalParams + ): Promise, void>>; + /** + * The operation to migrate an Azure Site Recovery fabric to AAD. + * @param fabricName ASR fabric to migrate. + * @param options The options parameters. + */ + beginMigrateToAadAndWait( + fabricName: string, + options?: ReplicationFabricsMigrateToAadOptionalParams + ): Promise; + /** + * The operation to move replications from a process server to another process server. + * @param fabricName The name of the fabric containing the process server. + * @param failoverProcessServerRequest The input to the failover process server operation. + * @param options The options parameters. + */ + beginReassociateGateway( + fabricName: string, + failoverProcessServerRequest: FailoverProcessServerRequest, + options?: ReplicationFabricsReassociateGatewayOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsReassociateGatewayResponse + > + >; + /** + * The operation to move replications from a process server to another process server. + * @param fabricName The name of the fabric containing the process server. + * @param failoverProcessServerRequest The input to the failover process server operation. + * @param options The options parameters. + */ + beginReassociateGatewayAndWait( + fabricName: string, + failoverProcessServerRequest: FailoverProcessServerRequest, + options?: ReplicationFabricsReassociateGatewayOptionalParams + ): Promise; + /** + * The operation to delete or remove an Azure Site Recovery fabric. + * @param fabricName ASR fabric to delete. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + options?: ReplicationFabricsDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to delete or remove an Azure Site Recovery fabric. + * @param fabricName ASR fabric to delete. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + options?: ReplicationFabricsDeleteOptionalParams + ): Promise; + /** + * Renews the connection certificate for the ASR replication fabric. + * @param fabricName fabric name to renew certs for. + * @param renewCertificate Renew certificate input. + * @param options The options parameters. + */ + beginRenewCertificate( + fabricName: string, + renewCertificate: RenewCertificateInput, + options?: ReplicationFabricsRenewCertificateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationFabricsRenewCertificateResponse + > + >; + /** + * Renews the connection certificate for the ASR replication fabric. + * @param fabricName fabric name to renew certs for. + * @param renewCertificate Renew certificate input. + * @param options The options parameters. + */ + beginRenewCertificateAndWait( + fabricName: string, + renewCertificate: RenewCertificateInput, + options?: ReplicationFabricsRenewCertificateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationJobs.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationJobs.ts new file mode 100644 index 000000000000..1b34628d1742 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationJobs.ts @@ -0,0 +1,143 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Job, + ReplicationJobsListOptionalParams, + ReplicationJobsGetOptionalParams, + ReplicationJobsGetResponse, + ReplicationJobsCancelOptionalParams, + ReplicationJobsCancelResponse, + ReplicationJobsRestartOptionalParams, + ReplicationJobsRestartResponse, + ResumeJobParams, + ReplicationJobsResumeOptionalParams, + ReplicationJobsResumeResponse, + JobQueryParameter, + ReplicationJobsExportOptionalParams, + ReplicationJobsExportResponse +} from "../models"; + +/// +/** Interface representing a ReplicationJobs. */ +export interface ReplicationJobs { + /** + * Gets the list of Azure Site Recovery Jobs for the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationJobsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the details of an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. + */ + get( + jobName: string, + options?: ReplicationJobsGetOptionalParams + ): Promise; + /** + * The operation to cancel an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. + */ + beginCancel( + jobName: string, + options?: ReplicationJobsCancelOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsCancelResponse + > + >; + /** + * The operation to cancel an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. + */ + beginCancelAndWait( + jobName: string, + options?: ReplicationJobsCancelOptionalParams + ): Promise; + /** + * The operation to restart an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. + */ + beginRestart( + jobName: string, + options?: ReplicationJobsRestartOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsRestartResponse + > + >; + /** + * The operation to restart an Azure Site Recovery job. + * @param jobName Job identifier. + * @param options The options parameters. + */ + beginRestartAndWait( + jobName: string, + options?: ReplicationJobsRestartOptionalParams + ): Promise; + /** + * The operation to resume an Azure Site Recovery job. + * @param jobName Job identifier. + * @param resumeJobParams Resume rob comments. + * @param options The options parameters. + */ + beginResume( + jobName: string, + resumeJobParams: ResumeJobParams, + options?: ReplicationJobsResumeOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsResumeResponse + > + >; + /** + * The operation to resume an Azure Site Recovery job. + * @param jobName Job identifier. + * @param resumeJobParams Resume rob comments. + * @param options The options parameters. + */ + beginResumeAndWait( + jobName: string, + resumeJobParams: ResumeJobParams, + options?: ReplicationJobsResumeOptionalParams + ): Promise; + /** + * The operation to export the details of the Azure Site Recovery jobs of the vault. + * @param jobQueryParameter job query filter. + * @param options The options parameters. + */ + beginExport( + jobQueryParameter: JobQueryParameter, + options?: ReplicationJobsExportOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationJobsExportResponse + > + >; + /** + * The operation to export the details of the Azure Site Recovery jobs of the vault. + * @param jobQueryParameter job query filter. + * @param options The options parameters. + */ + beginExportAndWait( + jobQueryParameter: JobQueryParameter, + options?: ReplicationJobsExportOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationLogicalNetworks.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationLogicalNetworks.ts new file mode 100644 index 000000000000..c7a6c453ed42 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationLogicalNetworks.ts @@ -0,0 +1,40 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + LogicalNetwork, + ReplicationLogicalNetworksListByReplicationFabricsOptionalParams, + ReplicationLogicalNetworksGetOptionalParams, + ReplicationLogicalNetworksGetResponse +} from "../models"; + +/// +/** Interface representing a ReplicationLogicalNetworks. */ +export interface ReplicationLogicalNetworks { + /** + * Lists all the logical networks of the Azure Site Recovery fabric. + * @param fabricName Server Id. + * @param options The options parameters. + */ + listByReplicationFabrics( + fabricName: string, + options?: ReplicationLogicalNetworksListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a logical network. + * @param fabricName Server Id. + * @param logicalNetworkName Logical network name. + * @param options The options parameters. + */ + get( + fabricName: string, + logicalNetworkName: string, + options?: ReplicationLogicalNetworksGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts new file mode 100644 index 000000000000..1cadf130d44e --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts @@ -0,0 +1,308 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + MigrationItem, + ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams, + ReplicationMigrationItemsListOptionalParams, + ReplicationMigrationItemsGetOptionalParams, + ReplicationMigrationItemsGetResponse, + EnableMigrationInput, + ReplicationMigrationItemsCreateOptionalParams, + ReplicationMigrationItemsCreateResponse, + ReplicationMigrationItemsDeleteOptionalParams, + UpdateMigrationItemInput, + ReplicationMigrationItemsUpdateOptionalParams, + ReplicationMigrationItemsUpdateResponse, + MigrateInput, + ReplicationMigrationItemsMigrateOptionalParams, + ReplicationMigrationItemsMigrateResponse, + ResyncInput, + ReplicationMigrationItemsResyncOptionalParams, + ReplicationMigrationItemsResyncResponse, + TestMigrateInput, + ReplicationMigrationItemsTestMigrateOptionalParams, + ReplicationMigrationItemsTestMigrateResponse, + TestMigrateCleanupInput, + ReplicationMigrationItemsTestMigrateCleanupOptionalParams, + ReplicationMigrationItemsTestMigrateCleanupResponse +} from "../models"; + +/// +/** Interface representing a ReplicationMigrationItems. */ +export interface ReplicationMigrationItems { + /** + * Gets the list of ASR migration items in the protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationMigrationItemsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the list of migration items in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationMigrationItemsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a migration item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: ReplicationMigrationItemsGetOptionalParams + ): Promise; + /** + * The operation to create an ASR migration item (enable migration). + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Enable migration input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: EnableMigrationInput, + options?: ReplicationMigrationItemsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsCreateResponse + > + >; + /** + * The operation to create an ASR migration item (enable migration). + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Enable migration input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: EnableMigrationInput, + options?: ReplicationMigrationItemsCreateOptionalParams + ): Promise; + /** + * The operation to delete an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: ReplicationMigrationItemsDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to delete an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + options?: ReplicationMigrationItemsDeleteOptionalParams + ): Promise; + /** + * The operation to update the recovery settings of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Update migration item input. + * @param options The options parameters. + */ + beginUpdate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: UpdateMigrationItemInput, + options?: ReplicationMigrationItemsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsUpdateResponse + > + >; + /** + * The operation to update the recovery settings of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Update migration item input. + * @param options The options parameters. + */ + beginUpdateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: UpdateMigrationItemInput, + options?: ReplicationMigrationItemsUpdateOptionalParams + ): Promise; + /** + * The operation to initiate migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param migrateInput Migrate input. + * @param options The options parameters. + */ + beginMigrate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + migrateInput: MigrateInput, + options?: ReplicationMigrationItemsMigrateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsMigrateResponse + > + >; + /** + * The operation to initiate migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param migrateInput Migrate input. + * @param options The options parameters. + */ + beginMigrateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + migrateInput: MigrateInput, + options?: ReplicationMigrationItemsMigrateOptionalParams + ): Promise; + /** + * The operation to resynchronize replication of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Resync input. + * @param options The options parameters. + */ + beginResync( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: ResyncInput, + options?: ReplicationMigrationItemsResyncOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsResyncResponse + > + >; + /** + * The operation to resynchronize replication of an ASR migration item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param input Resync input. + * @param options The options parameters. + */ + beginResyncAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + input: ResyncInput, + options?: ReplicationMigrationItemsResyncOptionalParams + ): Promise; + /** + * The operation to initiate test migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateInput Test migrate input. + * @param options The options parameters. + */ + beginTestMigrate( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateInput: TestMigrateInput, + options?: ReplicationMigrationItemsTestMigrateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsTestMigrateResponse + > + >; + /** + * The operation to initiate test migration of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateInput Test migrate input. + * @param options The options parameters. + */ + beginTestMigrateAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateInput: TestMigrateInput, + options?: ReplicationMigrationItemsTestMigrateOptionalParams + ): Promise; + /** + * The operation to initiate test migrate cleanup. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateCleanupInput Test migrate cleanup input. + * @param options The options parameters. + */ + beginTestMigrateCleanup( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateCleanupInput: TestMigrateCleanupInput, + options?: ReplicationMigrationItemsTestMigrateCleanupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsTestMigrateCleanupResponse + > + >; + /** + * The operation to initiate test migrate cleanup. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param testMigrateCleanupInput Test migrate cleanup input. + * @param options The options parameters. + */ + beginTestMigrateCleanupAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + testMigrateCleanupInput: TestMigrateCleanupInput, + options?: ReplicationMigrationItemsTestMigrateCleanupOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationNetworkMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationNetworkMappings.ts new file mode 100644 index 000000000000..618e260a720e --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationNetworkMappings.ts @@ -0,0 +1,156 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + NetworkMapping, + ReplicationNetworkMappingsListByReplicationNetworksOptionalParams, + ReplicationNetworkMappingsListOptionalParams, + ReplicationNetworkMappingsGetOptionalParams, + ReplicationNetworkMappingsGetResponse, + CreateNetworkMappingInput, + ReplicationNetworkMappingsCreateOptionalParams, + ReplicationNetworkMappingsCreateResponse, + ReplicationNetworkMappingsDeleteOptionalParams, + UpdateNetworkMappingInput, + ReplicationNetworkMappingsUpdateOptionalParams, + ReplicationNetworkMappingsUpdateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationNetworkMappings. */ +export interface ReplicationNetworkMappings { + /** + * Lists all ASR network mappings for the specified network. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param options The options parameters. + */ + listByReplicationNetworks( + fabricName: string, + networkName: string, + options?: ReplicationNetworkMappingsListByReplicationNetworksOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists all ASR network mappings in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationNetworkMappingsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of an ASR network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName Network mapping name. + * @param options The options parameters. + */ + get( + fabricName: string, + networkName: string, + networkMappingName: string, + options?: ReplicationNetworkMappingsGetOptionalParams + ): Promise; + /** + * The operation to create an ASR network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName Network mapping name. + * @param input Create network mapping input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + networkName: string, + networkMappingName: string, + input: CreateNetworkMappingInput, + options?: ReplicationNetworkMappingsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationNetworkMappingsCreateResponse + > + >; + /** + * The operation to create an ASR network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName Network mapping name. + * @param input Create network mapping input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + networkName: string, + networkMappingName: string, + input: CreateNetworkMappingInput, + options?: ReplicationNetworkMappingsCreateOptionalParams + ): Promise; + /** + * The operation to delete a network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName ARM Resource Name for network mapping. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + networkName: string, + networkMappingName: string, + options?: ReplicationNetworkMappingsDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to delete a network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName ARM Resource Name for network mapping. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + networkName: string, + networkMappingName: string, + options?: ReplicationNetworkMappingsDeleteOptionalParams + ): Promise; + /** + * The operation to update an ASR network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName Network mapping name. + * @param input Update network mapping input. + * @param options The options parameters. + */ + beginUpdate( + fabricName: string, + networkName: string, + networkMappingName: string, + input: UpdateNetworkMappingInput, + options?: ReplicationNetworkMappingsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationNetworkMappingsUpdateResponse + > + >; + /** + * The operation to update an ASR network mapping. + * @param fabricName Primary fabric name. + * @param networkName Primary network name. + * @param networkMappingName Network mapping name. + * @param input Update network mapping input. + * @param options The options parameters. + */ + beginUpdateAndWait( + fabricName: string, + networkName: string, + networkMappingName: string, + input: UpdateNetworkMappingInput, + options?: ReplicationNetworkMappingsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationNetworks.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationNetworks.ts new file mode 100644 index 000000000000..91f561c82a07 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationNetworks.ts @@ -0,0 +1,48 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + Network, + ReplicationNetworksListByReplicationFabricsOptionalParams, + ReplicationNetworksListOptionalParams, + ReplicationNetworksGetOptionalParams, + ReplicationNetworksGetResponse +} from "../models"; + +/// +/** Interface representing a ReplicationNetworks. */ +export interface ReplicationNetworks { + /** + * Lists the networks available for a fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + listByReplicationFabrics( + fabricName: string, + options?: ReplicationNetworksListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the networks available in a vault. + * @param options The options parameters. + */ + list( + options?: ReplicationNetworksListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a network. + * @param fabricName Server Id. + * @param networkName Primary network name. + * @param options The options parameters. + */ + get( + fabricName: string, + networkName: string, + options?: ReplicationNetworksGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationPolicies.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationPolicies.ts new file mode 100644 index 000000000000..2ea286ad4776 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationPolicies.ts @@ -0,0 +1,116 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + Policy, + ReplicationPoliciesListOptionalParams, + ReplicationPoliciesGetOptionalParams, + ReplicationPoliciesGetResponse, + CreatePolicyInput, + ReplicationPoliciesCreateOptionalParams, + ReplicationPoliciesCreateResponse, + ReplicationPoliciesDeleteOptionalParams, + UpdatePolicyInput, + ReplicationPoliciesUpdateOptionalParams, + ReplicationPoliciesUpdateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationPolicies. */ +export interface ReplicationPolicies { + /** + * Lists the replication policies for a vault. + * @param options The options parameters. + */ + list( + options?: ReplicationPoliciesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a replication policy. + * @param policyName Replication policy name. + * @param options The options parameters. + */ + get( + policyName: string, + options?: ReplicationPoliciesGetOptionalParams + ): Promise; + /** + * The operation to create a replication policy. + * @param policyName Replication policy name. + * @param input Create policy input. + * @param options The options parameters. + */ + beginCreate( + policyName: string, + input: CreatePolicyInput, + options?: ReplicationPoliciesCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationPoliciesCreateResponse + > + >; + /** + * The operation to create a replication policy. + * @param policyName Replication policy name. + * @param input Create policy input. + * @param options The options parameters. + */ + beginCreateAndWait( + policyName: string, + input: CreatePolicyInput, + options?: ReplicationPoliciesCreateOptionalParams + ): Promise; + /** + * The operation to delete a replication policy. + * @param policyName Replication policy name. + * @param options The options parameters. + */ + beginDelete( + policyName: string, + options?: ReplicationPoliciesDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to delete a replication policy. + * @param policyName Replication policy name. + * @param options The options parameters. + */ + beginDeleteAndWait( + policyName: string, + options?: ReplicationPoliciesDeleteOptionalParams + ): Promise; + /** + * The operation to update a replication policy. + * @param policyName Policy Id. + * @param input Update Policy Input. + * @param options The options parameters. + */ + beginUpdate( + policyName: string, + input: UpdatePolicyInput, + options?: ReplicationPoliciesUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationPoliciesUpdateResponse + > + >; + /** + * The operation to update a replication policy. + * @param policyName Policy Id. + * @param input Update Policy Input. + * @param options The options parameters. + */ + beginUpdateAndWait( + policyName: string, + input: UpdatePolicyInput, + options?: ReplicationPoliciesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectableItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectableItems.ts new file mode 100644 index 000000000000..9c632a243d24 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectableItems.ts @@ -0,0 +1,44 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ProtectableItem, + ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams, + ReplicationProtectableItemsGetOptionalParams, + ReplicationProtectableItemsGetResponse +} from "../models"; + +/// +/** Interface representing a ReplicationProtectableItems. */ +export interface ReplicationProtectableItems { + /** + * Lists the protectable items in a protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectableItemsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator; + /** + * The operation to get the details of a protectable item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param protectableItemName Protectable item name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + protectableItemName: string, + options?: ReplicationProtectableItemsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectedItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectedItems.ts new file mode 100644 index 000000000000..6de52d3298d4 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectedItems.ts @@ -0,0 +1,757 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ReplicationProtectedItem, + ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams, + ReplicationProtectedItemsListOptionalParams, + ReplicationProtectedItemsGetOptionalParams, + ReplicationProtectedItemsGetResponse, + EnableProtectionInput, + ReplicationProtectedItemsCreateOptionalParams, + ReplicationProtectedItemsCreateResponse, + ReplicationProtectedItemsPurgeOptionalParams, + UpdateReplicationProtectedItemInput, + ReplicationProtectedItemsUpdateOptionalParams, + ReplicationProtectedItemsUpdateResponse, + AddDisksInput, + ReplicationProtectedItemsAddDisksOptionalParams, + ReplicationProtectedItemsAddDisksResponse, + ApplyRecoveryPointInput, + ReplicationProtectedItemsApplyRecoveryPointOptionalParams, + ReplicationProtectedItemsApplyRecoveryPointResponse, + ReplicationProtectedItemsFailoverCancelOptionalParams, + ReplicationProtectedItemsFailoverCancelResponse, + ReplicationProtectedItemsFailoverCommitOptionalParams, + ReplicationProtectedItemsFailoverCommitResponse, + PlannedFailoverInput, + ReplicationProtectedItemsPlannedFailoverOptionalParams, + ReplicationProtectedItemsPlannedFailoverResponse, + DisableProtectionInput, + ReplicationProtectedItemsDeleteOptionalParams, + RemoveDisksInput, + ReplicationProtectedItemsRemoveDisksOptionalParams, + ReplicationProtectedItemsRemoveDisksResponse, + ReplicationProtectedItemsRepairReplicationOptionalParams, + ReplicationProtectedItemsRepairReplicationResponse, + ReverseReplicationInput, + ReplicationProtectedItemsReprotectOptionalParams, + ReplicationProtectedItemsReprotectResponse, + ResolveHealthInput, + ReplicationProtectedItemsResolveHealthErrorsOptionalParams, + ReplicationProtectedItemsResolveHealthErrorsResponse, + SwitchProviderInput, + ReplicationProtectedItemsSwitchProviderOptionalParams, + ReplicationProtectedItemsSwitchProviderResponse, + TestFailoverInput, + ReplicationProtectedItemsTestFailoverOptionalParams, + ReplicationProtectedItemsTestFailoverResponse, + TestFailoverCleanupInput, + ReplicationProtectedItemsTestFailoverCleanupOptionalParams, + ReplicationProtectedItemsTestFailoverCleanupResponse, + UnplannedFailoverInput, + ReplicationProtectedItemsUnplannedFailoverOptionalParams, + ReplicationProtectedItemsUnplannedFailoverResponse, + UpdateApplianceForReplicationProtectedItemInput, + ReplicationProtectedItemsUpdateApplianceOptionalParams, + ReplicationProtectedItemsUpdateApplianceResponse, + UpdateMobilityServiceRequest, + ReplicationProtectedItemsUpdateMobilityServiceOptionalParams, + ReplicationProtectedItemsUpdateMobilityServiceResponse +} from "../models"; + +/// +/** Interface representing a ReplicationProtectedItems. */ +export interface ReplicationProtectedItems { + /** + * Gets the list of ASR replication protected items in the protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectedItemsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the list of ASR replication protected items in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationProtectedItemsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of an ASR replication protected item. + * @param fabricName Fabric unique name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsGetOptionalParams + ): Promise; + /** + * The operation to create an ASR replication protected item (Enable replication). + * @param fabricName Name of the fabric. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName A name for the replication protected item. + * @param input Enable Protection Input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + input: EnableProtectionInput, + options?: ReplicationProtectedItemsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsCreateResponse + > + >; + /** + * The operation to create an ASR replication protected item (Enable replication). + * @param fabricName Name of the fabric. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName A name for the replication protected item. + * @param input Enable Protection Input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + input: EnableProtectionInput, + options?: ReplicationProtectedItemsCreateOptionalParams + ): Promise; + /** + * The operation to delete or purge a replication protected item. This operation will force delete the + * replication protected item. Use the remove operation on replication protected item to perform a + * clean disable replication for the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + beginPurge( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsPurgeOptionalParams + ): Promise, void>>; + /** + * The operation to delete or purge a replication protected item. This operation will force delete the + * replication protected item. Use the remove operation on replication protected item to perform a + * clean disable replication for the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + beginPurgeAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsPurgeOptionalParams + ): Promise; + /** + * The operation to update the recovery settings of an ASR replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param updateProtectionInput Update protection input. + * @param options The options parameters. + */ + beginUpdate( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + updateProtectionInput: UpdateReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsUpdateResponse + > + >; + /** + * The operation to update the recovery settings of an ASR replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param updateProtectionInput Update protection input. + * @param options The options parameters. + */ + beginUpdateAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + updateProtectionInput: UpdateReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateOptionalParams + ): Promise; + /** + * Operation to add disks(s) to the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param addDisksInput Add disks input. + * @param options The options parameters. + */ + beginAddDisks( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + addDisksInput: AddDisksInput, + options?: ReplicationProtectedItemsAddDisksOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsAddDisksResponse + > + >; + /** + * Operation to add disks(s) to the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param addDisksInput Add disks input. + * @param options The options parameters. + */ + beginAddDisksAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + addDisksInput: AddDisksInput, + options?: ReplicationProtectedItemsAddDisksOptionalParams + ): Promise; + /** + * The operation to change the recovery point of a failed over replication protected item. + * @param fabricName The ARM fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replicated protected item name. + * @param applyRecoveryPointInput The ApplyRecoveryPointInput. + * @param options The options parameters. + */ + beginApplyRecoveryPoint( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applyRecoveryPointInput: ApplyRecoveryPointInput, + options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsApplyRecoveryPointResponse + > + >; + /** + * The operation to change the recovery point of a failed over replication protected item. + * @param fabricName The ARM fabric name. + * @param protectionContainerName The protection container name. + * @param replicatedProtectedItemName The replicated protected item name. + * @param applyRecoveryPointInput The ApplyRecoveryPointInput. + * @param options The options parameters. + */ + beginApplyRecoveryPointAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applyRecoveryPointInput: ApplyRecoveryPointInput, + options?: ReplicationProtectedItemsApplyRecoveryPointOptionalParams + ): Promise; + /** + * Operation to cancel the failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + beginFailoverCancel( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCancelOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsFailoverCancelResponse + > + >; + /** + * Operation to cancel the failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + beginFailoverCancelAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCancelOptionalParams + ): Promise; + /** + * Operation to commit the failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + beginFailoverCommit( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCommitOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsFailoverCommitResponse + > + >; + /** + * Operation to commit the failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + beginFailoverCommitAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsFailoverCommitOptionalParams + ): Promise; + /** + * Operation to initiate a planned failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Planned failover input. + * @param options The options parameters. + */ + beginPlannedFailover( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: PlannedFailoverInput, + options?: ReplicationProtectedItemsPlannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsPlannedFailoverResponse + > + >; + /** + * Operation to initiate a planned failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Planned failover input. + * @param options The options parameters. + */ + beginPlannedFailoverAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: PlannedFailoverInput, + options?: ReplicationProtectedItemsPlannedFailoverOptionalParams + ): Promise; + /** + * The operation to disable replication on a replication protected item. This will also remove the + * item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param disableProtectionInput Disable protection input. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + disableProtectionInput: DisableProtectionInput, + options?: ReplicationProtectedItemsDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to disable replication on a replication protected item. This will also remove the + * item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param disableProtectionInput Disable protection input. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + disableProtectionInput: DisableProtectionInput, + options?: ReplicationProtectedItemsDeleteOptionalParams + ): Promise; + /** + * Operation to remove disk(s) from the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param removeDisksInput Remove disks input. + * @param options The options parameters. + */ + beginRemoveDisks( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + removeDisksInput: RemoveDisksInput, + options?: ReplicationProtectedItemsRemoveDisksOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsRemoveDisksResponse + > + >; + /** + * Operation to remove disk(s) from the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param removeDisksInput Remove disks input. + * @param options The options parameters. + */ + beginRemoveDisksAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + removeDisksInput: RemoveDisksInput, + options?: ReplicationProtectedItemsRemoveDisksOptionalParams + ): Promise; + /** + * The operation to start resynchronize/repair replication for a replication protected item requiring + * resynchronization. + * @param fabricName The name of the fabric. + * @param protectionContainerName The name of the container. + * @param replicatedProtectedItemName The name of the replication protected item. + * @param options The options parameters. + */ + beginRepairReplication( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsRepairReplicationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsRepairReplicationResponse + > + >; + /** + * The operation to start resynchronize/repair replication for a replication protected item requiring + * resynchronization. + * @param fabricName The name of the fabric. + * @param protectionContainerName The name of the container. + * @param replicatedProtectedItemName The name of the replication protected item. + * @param options The options parameters. + */ + beginRepairReplicationAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: ReplicationProtectedItemsRepairReplicationOptionalParams + ): Promise; + /** + * Operation to reprotect or reverse replicate a failed over replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param reprotectInput Reverse replication input. + * @param options The options parameters. + */ + beginReprotect( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + reprotectInput: ReverseReplicationInput, + options?: ReplicationProtectedItemsReprotectOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsReprotectResponse + > + >; + /** + * Operation to reprotect or reverse replicate a failed over replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param reprotectInput Reverse replication input. + * @param options The options parameters. + */ + beginReprotectAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + reprotectInput: ReverseReplicationInput, + options?: ReplicationProtectedItemsReprotectOptionalParams + ): Promise; + /** + * Operation to resolve health issues of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param resolveHealthInput Health issue input object. + * @param options The options parameters. + */ + beginResolveHealthErrors( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + resolveHealthInput: ResolveHealthInput, + options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsResolveHealthErrorsResponse + > + >; + /** + * Operation to resolve health issues of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param resolveHealthInput Health issue input object. + * @param options The options parameters. + */ + beginResolveHealthErrorsAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + resolveHealthInput: ResolveHealthInput, + options?: ReplicationProtectedItemsResolveHealthErrorsOptionalParams + ): Promise; + /** + * Operation to initiate a switch provider of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param switchProviderInput Switch provider input. + * @param options The options parameters. + */ + beginSwitchProvider( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + switchProviderInput: SwitchProviderInput, + options?: ReplicationProtectedItemsSwitchProviderOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsSwitchProviderResponse + > + >; + /** + * Operation to initiate a switch provider of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param switchProviderInput Switch provider input. + * @param options The options parameters. + */ + beginSwitchProviderAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + switchProviderInput: SwitchProviderInput, + options?: ReplicationProtectedItemsSwitchProviderOptionalParams + ): Promise; + /** + * Operation to perform a test failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param testfailoverInput Test failover input. + * @param options The options parameters. + */ + beginTestFailover( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + testfailoverInput: TestFailoverInput, + options?: ReplicationProtectedItemsTestFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsTestFailoverResponse + > + >; + /** + * Operation to perform a test failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param testfailoverInput Test failover input. + * @param options The options parameters. + */ + beginTestFailoverAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + testfailoverInput: TestFailoverInput, + options?: ReplicationProtectedItemsTestFailoverOptionalParams + ): Promise; + /** + * Operation to clean up the test failover of a replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param cleanupInput Test failover cleanup input. + * @param options The options parameters. + */ + beginTestFailoverCleanup( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + cleanupInput: TestFailoverCleanupInput, + options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsTestFailoverCleanupResponse + > + >; + /** + * Operation to clean up the test failover of a replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param cleanupInput Test failover cleanup input. + * @param options The options parameters. + */ + beginTestFailoverCleanupAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + cleanupInput: TestFailoverCleanupInput, + options?: ReplicationProtectedItemsTestFailoverCleanupOptionalParams + ): Promise; + /** + * Operation to initiate a failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Failover input. + * @param options The options parameters. + */ + beginUnplannedFailover( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: UnplannedFailoverInput, + options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsUnplannedFailoverResponse + > + >; + /** + * Operation to initiate a failover of the replication protected item. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param failoverInput Failover input. + * @param options The options parameters. + */ + beginUnplannedFailoverAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + failoverInput: UnplannedFailoverInput, + options?: ReplicationProtectedItemsUnplannedFailoverOptionalParams + ): Promise; + /** + * The operation to update appliance of an ASR replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param applianceUpdateInput Appliance update protection input. + * @param options The options parameters. + */ + beginUpdateAppliance( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateApplianceOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectedItemsUpdateApplianceResponse + > + >; + /** + * The operation to update appliance of an ASR replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param applianceUpdateInput Appliance update protection input. + * @param options The options parameters. + */ + beginUpdateApplianceAndWait( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + applianceUpdateInput: UpdateApplianceForReplicationProtectedItemInput, + options?: ReplicationProtectedItemsUpdateApplianceOptionalParams + ): Promise; + /** + * The operation to update(push update) the installed mobility service software on a replication + * protected item to the latest available version. + * @param fabricName The name of the fabric containing the protected item. + * @param protectionContainerName The name of the container containing the protected item. + * @param replicationProtectedItemName The name of the protected item on which the agent is to be + * updated. + * @param updateMobilityServiceRequest Request to update the mobility service on the protected item. + * @param options The options parameters. + */ + beginUpdateMobilityService( + fabricName: string, + protectionContainerName: string, + replicationProtectedItemName: string, + updateMobilityServiceRequest: UpdateMobilityServiceRequest, + options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationProtectedItemsUpdateMobilityServiceResponse + >, + ReplicationProtectedItemsUpdateMobilityServiceResponse + > + >; + /** + * The operation to update(push update) the installed mobility service software on a replication + * protected item to the latest available version. + * @param fabricName The name of the fabric containing the protected item. + * @param protectionContainerName The name of the container containing the protected item. + * @param replicationProtectedItemName The name of the protected item on which the agent is to be + * updated. + * @param updateMobilityServiceRequest Request to update the mobility service on the protected item. + * @param options The options parameters. + */ + beginUpdateMobilityServiceAndWait( + fabricName: string, + protectionContainerName: string, + replicationProtectedItemName: string, + updateMobilityServiceRequest: UpdateMobilityServiceRequest, + options?: ReplicationProtectedItemsUpdateMobilityServiceOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionContainerMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionContainerMappings.ts new file mode 100644 index 000000000000..1602dadc425f --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionContainerMappings.ts @@ -0,0 +1,188 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ProtectionContainerMapping, + ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams, + ReplicationProtectionContainerMappingsListOptionalParams, + ReplicationProtectionContainerMappingsGetOptionalParams, + ReplicationProtectionContainerMappingsGetResponse, + CreateProtectionContainerMappingInput, + ReplicationProtectionContainerMappingsCreateOptionalParams, + ReplicationProtectionContainerMappingsCreateResponse, + ReplicationProtectionContainerMappingsPurgeOptionalParams, + UpdateProtectionContainerMappingInput, + ReplicationProtectionContainerMappingsUpdateOptionalParams, + ReplicationProtectionContainerMappingsUpdateResponse, + RemoveProtectionContainerMappingInput, + ReplicationProtectionContainerMappingsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ReplicationProtectionContainerMappings. */ +export interface ReplicationProtectionContainerMappings { + /** + * Lists the protection container mappings for a protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + listByReplicationProtectionContainers( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainerMappingsListByReplicationProtectionContainersOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the protection container mappings in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationProtectionContainerMappingsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection Container mapping name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + mappingName: string, + options?: ReplicationProtectionContainerMappingsGetOptionalParams + ): Promise; + /** + * The operation to create a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param creationInput Mapping creation input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + protectionContainerName: string, + mappingName: string, + creationInput: CreateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectionContainerMappingsCreateResponse + > + >; + /** + * The operation to create a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param creationInput Mapping creation input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + creationInput: CreateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsCreateOptionalParams + ): Promise; + /** + * The operation to purge(force delete) a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param options The options parameters. + */ + beginPurge( + fabricName: string, + protectionContainerName: string, + mappingName: string, + options?: ReplicationProtectionContainerMappingsPurgeOptionalParams + ): Promise, void>>; + /** + * The operation to purge(force delete) a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param options The options parameters. + */ + beginPurgeAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + options?: ReplicationProtectionContainerMappingsPurgeOptionalParams + ): Promise; + /** + * The operation to update protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param updateInput Mapping update input. + * @param options The options parameters. + */ + beginUpdate( + fabricName: string, + protectionContainerName: string, + mappingName: string, + updateInput: UpdateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectionContainerMappingsUpdateResponse + > + >; + /** + * The operation to update protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param updateInput Mapping update input. + * @param options The options parameters. + */ + beginUpdateAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + updateInput: UpdateProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsUpdateOptionalParams + ): Promise; + /** + * The operation to delete or remove a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param removalInput Removal input. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + protectionContainerName: string, + mappingName: string, + removalInput: RemoveProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to delete or remove a protection container mapping. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param mappingName Protection container mapping name. + * @param removalInput Removal input. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + mappingName: string, + removalInput: RemoveProtectionContainerMappingInput, + options?: ReplicationProtectionContainerMappingsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionContainers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionContainers.ts new file mode 100644 index 000000000000..213399c0deeb --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionContainers.ts @@ -0,0 +1,178 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ProtectionContainer, + ReplicationProtectionContainersListByReplicationFabricsOptionalParams, + ReplicationProtectionContainersListOptionalParams, + ReplicationProtectionContainersGetOptionalParams, + ReplicationProtectionContainersGetResponse, + CreateProtectionContainerInput, + ReplicationProtectionContainersCreateOptionalParams, + ReplicationProtectionContainersCreateResponse, + DiscoverProtectableItemRequest, + ReplicationProtectionContainersDiscoverProtectableItemOptionalParams, + ReplicationProtectionContainersDiscoverProtectableItemResponse, + ReplicationProtectionContainersDeleteOptionalParams, + SwitchProtectionInput, + ReplicationProtectionContainersSwitchProtectionOptionalParams, + ReplicationProtectionContainersSwitchProtectionResponse +} from "../models"; + +/// +/** Interface representing a ReplicationProtectionContainers. */ +export interface ReplicationProtectionContainers { + /** + * Lists the protection containers in the specified fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + listByReplicationFabrics( + fabricName: string, + options?: ReplicationProtectionContainersListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the protection containers in a vault. + * @param options The options parameters. + */ + list( + options?: ReplicationProtectionContainersListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a protection container. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param options The options parameters. + */ + get( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainersGetOptionalParams + ): Promise; + /** + * Operation to create a protection container. + * @param fabricName Unique fabric ARM name. + * @param protectionContainerName Unique protection container ARM name. + * @param creationInput Creation input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + protectionContainerName: string, + creationInput: CreateProtectionContainerInput, + options?: ReplicationProtectionContainersCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationProtectionContainersCreateResponse + > + >; + /** + * Operation to create a protection container. + * @param fabricName Unique fabric ARM name. + * @param protectionContainerName Unique protection container ARM name. + * @param creationInput Creation input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + protectionContainerName: string, + creationInput: CreateProtectionContainerInput, + options?: ReplicationProtectionContainersCreateOptionalParams + ): Promise; + /** + * The operation to a add a protectable item to a protection container(Add physical server). + * @param fabricName The name of the fabric. + * @param protectionContainerName The name of the protection container. + * @param discoverProtectableItemRequest The request object to add a protectable item. + * @param options The options parameters. + */ + beginDiscoverProtectableItem( + fabricName: string, + protectionContainerName: string, + discoverProtectableItemRequest: DiscoverProtectableItemRequest, + options?: ReplicationProtectionContainersDiscoverProtectableItemOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationProtectionContainersDiscoverProtectableItemResponse + >, + ReplicationProtectionContainersDiscoverProtectableItemResponse + > + >; + /** + * The operation to a add a protectable item to a protection container(Add physical server). + * @param fabricName The name of the fabric. + * @param protectionContainerName The name of the protection container. + * @param discoverProtectableItemRequest The request object to add a protectable item. + * @param options The options parameters. + */ + beginDiscoverProtectableItemAndWait( + fabricName: string, + protectionContainerName: string, + discoverProtectableItemRequest: DiscoverProtectableItemRequest, + options?: ReplicationProtectionContainersDiscoverProtectableItemOptionalParams + ): Promise; + /** + * Operation to remove a protection container. + * @param fabricName Unique fabric ARM name. + * @param protectionContainerName Unique protection container ARM name. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainersDeleteOptionalParams + ): Promise, void>>; + /** + * Operation to remove a protection container. + * @param fabricName Unique fabric ARM name. + * @param protectionContainerName Unique protection container ARM name. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + protectionContainerName: string, + options?: ReplicationProtectionContainersDeleteOptionalParams + ): Promise; + /** + * Operation to switch protection from one container to another or one replication provider to another. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param switchInput Switch protection input. + * @param options The options parameters. + */ + beginSwitchProtection( + fabricName: string, + protectionContainerName: string, + switchInput: SwitchProtectionInput, + options?: ReplicationProtectionContainersSwitchProtectionOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationProtectionContainersSwitchProtectionResponse + >, + ReplicationProtectionContainersSwitchProtectionResponse + > + >; + /** + * Operation to switch protection from one container to another or one replication provider to another. + * @param fabricName Unique fabric name. + * @param protectionContainerName Protection container name. + * @param switchInput Switch protection input. + * @param options The options parameters. + */ + beginSwitchProtectionAndWait( + fabricName: string, + protectionContainerName: string, + switchInput: SwitchProtectionInput, + options?: ReplicationProtectionContainersSwitchProtectionOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionIntents.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionIntents.ts new file mode 100644 index 000000000000..cbd4db9d0d98 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationProtectionIntents.ts @@ -0,0 +1,50 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ReplicationProtectionIntent, + ReplicationProtectionIntentsListOptionalParams, + ReplicationProtectionIntentsGetOptionalParams, + ReplicationProtectionIntentsGetResponse, + CreateProtectionIntentInput, + ReplicationProtectionIntentsCreateOptionalParams, + ReplicationProtectionIntentsCreateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationProtectionIntents. */ +export interface ReplicationProtectionIntents { + /** + * Gets the list of ASR replication protection intent objects in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationProtectionIntentsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of an ASR replication protection intent. + * @param intentObjectName Replication protection intent name. + * @param options The options parameters. + */ + get( + intentObjectName: string, + options?: ReplicationProtectionIntentsGetOptionalParams + ): Promise; + /** + * The operation to create an ASR replication protection intent item. + * @param intentObjectName A name for the replication protection item. + * @param input Create Protection Intent Input. + * @param options The options parameters. + */ + create( + intentObjectName: string, + input: CreateProtectionIntentInput, + options?: ReplicationProtectionIntentsCreateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationRecoveryPlans.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationRecoveryPlans.ts new file mode 100644 index 000000000000..16a91ef88e3b --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationRecoveryPlans.ts @@ -0,0 +1,311 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + RecoveryPlan, + ReplicationRecoveryPlansListOptionalParams, + ReplicationRecoveryPlansGetOptionalParams, + ReplicationRecoveryPlansGetResponse, + CreateRecoveryPlanInput, + ReplicationRecoveryPlansCreateOptionalParams, + ReplicationRecoveryPlansCreateResponse, + ReplicationRecoveryPlansDeleteOptionalParams, + UpdateRecoveryPlanInput, + ReplicationRecoveryPlansUpdateOptionalParams, + ReplicationRecoveryPlansUpdateResponse, + ReplicationRecoveryPlansFailoverCancelOptionalParams, + ReplicationRecoveryPlansFailoverCancelResponse, + ReplicationRecoveryPlansFailoverCommitOptionalParams, + ReplicationRecoveryPlansFailoverCommitResponse, + RecoveryPlanPlannedFailoverInput, + ReplicationRecoveryPlansPlannedFailoverOptionalParams, + ReplicationRecoveryPlansPlannedFailoverResponse, + ReplicationRecoveryPlansReprotectOptionalParams, + ReplicationRecoveryPlansReprotectResponse, + RecoveryPlanTestFailoverInput, + ReplicationRecoveryPlansTestFailoverOptionalParams, + ReplicationRecoveryPlansTestFailoverResponse, + RecoveryPlanTestFailoverCleanupInput, + ReplicationRecoveryPlansTestFailoverCleanupOptionalParams, + ReplicationRecoveryPlansTestFailoverCleanupResponse, + RecoveryPlanUnplannedFailoverInput, + ReplicationRecoveryPlansUnplannedFailoverOptionalParams, + ReplicationRecoveryPlansUnplannedFailoverResponse +} from "../models"; + +/// +/** Interface representing a ReplicationRecoveryPlans. */ +export interface ReplicationRecoveryPlans { + /** + * Lists the recovery plans in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationRecoveryPlansListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of the recovery plan. + * @param recoveryPlanName Name of the recovery plan. + * @param options The options parameters. + */ + get( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansGetOptionalParams + ): Promise; + /** + * The operation to create a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery Plan creation input. + * @param options The options parameters. + */ + beginCreate( + recoveryPlanName: string, + input: CreateRecoveryPlanInput, + options?: ReplicationRecoveryPlansCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansCreateResponse + > + >; + /** + * The operation to create a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery Plan creation input. + * @param options The options parameters. + */ + beginCreateAndWait( + recoveryPlanName: string, + input: CreateRecoveryPlanInput, + options?: ReplicationRecoveryPlansCreateOptionalParams + ): Promise; + /** + * Delete a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginDelete( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansDeleteOptionalParams + ): Promise, void>>; + /** + * Delete a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginDeleteAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansDeleteOptionalParams + ): Promise; + /** + * The operation to update a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Update recovery plan input. + * @param options The options parameters. + */ + beginUpdate( + recoveryPlanName: string, + input: UpdateRecoveryPlanInput, + options?: ReplicationRecoveryPlansUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansUpdateResponse + > + >; + /** + * The operation to update a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Update recovery plan input. + * @param options The options parameters. + */ + beginUpdateAndWait( + recoveryPlanName: string, + input: UpdateRecoveryPlanInput, + options?: ReplicationRecoveryPlansUpdateOptionalParams + ): Promise; + /** + * The operation to cancel the failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginFailoverCancel( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCancelOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansFailoverCancelResponse + > + >; + /** + * The operation to cancel the failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginFailoverCancelAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCancelOptionalParams + ): Promise; + /** + * The operation to commit the failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginFailoverCommit( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCommitOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansFailoverCommitResponse + > + >; + /** + * The operation to commit the failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginFailoverCommitAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansFailoverCommitOptionalParams + ): Promise; + /** + * The operation to start the planned failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Failover input. + * @param options The options parameters. + */ + beginPlannedFailover( + recoveryPlanName: string, + input: RecoveryPlanPlannedFailoverInput, + options?: ReplicationRecoveryPlansPlannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansPlannedFailoverResponse + > + >; + /** + * The operation to start the planned failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Failover input. + * @param options The options parameters. + */ + beginPlannedFailoverAndWait( + recoveryPlanName: string, + input: RecoveryPlanPlannedFailoverInput, + options?: ReplicationRecoveryPlansPlannedFailoverOptionalParams + ): Promise; + /** + * The operation to reprotect(reverse replicate) a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginReprotect( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansReprotectOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansReprotectResponse + > + >; + /** + * The operation to reprotect(reverse replicate) a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param options The options parameters. + */ + beginReprotectAndWait( + recoveryPlanName: string, + options?: ReplicationRecoveryPlansReprotectOptionalParams + ): Promise; + /** + * The operation to start the test failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan test failover input. + * @param options The options parameters. + */ + beginTestFailover( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverInput, + options?: ReplicationRecoveryPlansTestFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansTestFailoverResponse + > + >; + /** + * The operation to start the test failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan test failover input. + * @param options The options parameters. + */ + beginTestFailoverAndWait( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverInput, + options?: ReplicationRecoveryPlansTestFailoverOptionalParams + ): Promise; + /** + * The operation to cleanup test failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan test failover cleanup input. + * @param options The options parameters. + */ + beginTestFailoverCleanup( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverCleanupInput, + options?: ReplicationRecoveryPlansTestFailoverCleanupOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansTestFailoverCleanupResponse + > + >; + /** + * The operation to cleanup test failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan test failover cleanup input. + * @param options The options parameters. + */ + beginTestFailoverCleanupAndWait( + recoveryPlanName: string, + input: RecoveryPlanTestFailoverCleanupInput, + options?: ReplicationRecoveryPlansTestFailoverCleanupOptionalParams + ): Promise; + /** + * The operation to start the unplanned failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan unplanned failover input. + * @param options The options parameters. + */ + beginUnplannedFailover( + recoveryPlanName: string, + input: RecoveryPlanUnplannedFailoverInput, + options?: ReplicationRecoveryPlansUnplannedFailoverOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryPlansUnplannedFailoverResponse + > + >; + /** + * The operation to start the unplanned failover of a recovery plan. + * @param recoveryPlanName Recovery plan name. + * @param input Recovery plan unplanned failover input. + * @param options The options parameters. + */ + beginUnplannedFailoverAndWait( + recoveryPlanName: string, + input: RecoveryPlanUnplannedFailoverInput, + options?: ReplicationRecoveryPlansUnplannedFailoverOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationRecoveryServicesProviders.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationRecoveryServicesProviders.ts new file mode 100644 index 000000000000..a09a73bf1373 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationRecoveryServicesProviders.ts @@ -0,0 +1,160 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + RecoveryServicesProvider, + ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams, + ReplicationRecoveryServicesProvidersListOptionalParams, + ReplicationRecoveryServicesProvidersGetOptionalParams, + ReplicationRecoveryServicesProvidersGetResponse, + AddRecoveryServicesProviderInput, + ReplicationRecoveryServicesProvidersCreateOptionalParams, + ReplicationRecoveryServicesProvidersCreateResponse, + ReplicationRecoveryServicesProvidersPurgeOptionalParams, + ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams, + ReplicationRecoveryServicesProvidersRefreshProviderResponse, + ReplicationRecoveryServicesProvidersDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ReplicationRecoveryServicesProviders. */ +export interface ReplicationRecoveryServicesProviders { + /** + * Lists the registered recovery services providers for the specified fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + listByReplicationFabrics( + fabricName: string, + options?: ReplicationRecoveryServicesProvidersListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the registered recovery services providers in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationRecoveryServicesProvidersListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of registered recovery services provider. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + get( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersGetOptionalParams + ): Promise; + /** + * The operation to add a recovery services provider. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param addProviderInput Add provider input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + providerName: string, + addProviderInput: AddRecoveryServicesProviderInput, + options?: ReplicationRecoveryServicesProvidersCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationRecoveryServicesProvidersCreateResponse + > + >; + /** + * The operation to add a recovery services provider. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param addProviderInput Add provider input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + providerName: string, + addProviderInput: AddRecoveryServicesProviderInput, + options?: ReplicationRecoveryServicesProvidersCreateOptionalParams + ): Promise; + /** + * The operation to purge(force delete) a recovery services provider from the vault. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + beginPurge( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersPurgeOptionalParams + ): Promise, void>>; + /** + * The operation to purge(force delete) a recovery services provider from the vault. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + beginPurgeAndWait( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersPurgeOptionalParams + ): Promise; + /** + * The operation to refresh the information from the recovery services provider. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + beginRefreshProvider( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationRecoveryServicesProvidersRefreshProviderResponse + >, + ReplicationRecoveryServicesProvidersRefreshProviderResponse + > + >; + /** + * The operation to refresh the information from the recovery services provider. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + beginRefreshProviderAndWait( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersRefreshProviderOptionalParams + ): Promise; + /** + * The operation to removes/delete(unregister) a recovery services provider from the vault. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to removes/delete(unregister) a recovery services provider from the vault. + * @param fabricName Fabric name. + * @param providerName Recovery services provider name. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + providerName: string, + options?: ReplicationRecoveryServicesProvidersDeleteOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationStorageClassificationMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationStorageClassificationMappings.ts new file mode 100644 index 000000000000..5bdc71dded2f --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationStorageClassificationMappings.ts @@ -0,0 +1,120 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + StorageClassificationMapping, + ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams, + ReplicationStorageClassificationMappingsListOptionalParams, + ReplicationStorageClassificationMappingsGetOptionalParams, + ReplicationStorageClassificationMappingsGetResponse, + StorageClassificationMappingInput, + ReplicationStorageClassificationMappingsCreateOptionalParams, + ReplicationStorageClassificationMappingsCreateResponse, + ReplicationStorageClassificationMappingsDeleteOptionalParams +} from "../models"; + +/// +/** Interface representing a ReplicationStorageClassificationMappings. */ +export interface ReplicationStorageClassificationMappings { + /** + * Lists the storage classification mappings for the fabric. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param options The options parameters. + */ + listByReplicationStorageClassifications( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationMappingsListByReplicationStorageClassificationsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the storage classification mappings in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationStorageClassificationMappingsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of the specified storage classification mapping. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param storageClassificationMappingName Storage classification mapping name. + * @param options The options parameters. + */ + get( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + options?: ReplicationStorageClassificationMappingsGetOptionalParams + ): Promise; + /** + * The operation to create a storage classification mapping. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param storageClassificationMappingName Storage classification mapping name. + * @param pairingInput Pairing input. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + pairingInput: StorageClassificationMappingInput, + options?: ReplicationStorageClassificationMappingsCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState< + ReplicationStorageClassificationMappingsCreateResponse + >, + ReplicationStorageClassificationMappingsCreateResponse + > + >; + /** + * The operation to create a storage classification mapping. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param storageClassificationMappingName Storage classification mapping name. + * @param pairingInput Pairing input. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + pairingInput: StorageClassificationMappingInput, + options?: ReplicationStorageClassificationMappingsCreateOptionalParams + ): Promise; + /** + * The operation to delete a storage classification mapping. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param storageClassificationMappingName Storage classification mapping name. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + options?: ReplicationStorageClassificationMappingsDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to delete a storage classification mapping. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param storageClassificationMappingName Storage classification mapping name. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + storageClassificationName: string, + storageClassificationMappingName: string, + options?: ReplicationStorageClassificationMappingsDeleteOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationStorageClassifications.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationStorageClassifications.ts new file mode 100644 index 000000000000..65b6fa0b2c4c --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationStorageClassifications.ts @@ -0,0 +1,48 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + StorageClassification, + ReplicationStorageClassificationsListByReplicationFabricsOptionalParams, + ReplicationStorageClassificationsListOptionalParams, + ReplicationStorageClassificationsGetOptionalParams, + ReplicationStorageClassificationsGetResponse +} from "../models"; + +/// +/** Interface representing a ReplicationStorageClassifications. */ +export interface ReplicationStorageClassifications { + /** + * Lists the storage classifications available in the specified fabric. + * @param fabricName Site name of interest. + * @param options The options parameters. + */ + listByReplicationFabrics( + fabricName: string, + options?: ReplicationStorageClassificationsListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the storage classifications in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationStorageClassificationsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of the specified storage classification. + * @param fabricName Fabric name. + * @param storageClassificationName Storage classification name. + * @param options The options parameters. + */ + get( + fabricName: string, + storageClassificationName: string, + options?: ReplicationStorageClassificationsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationVaultHealth.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationVaultHealth.ts new file mode 100644 index 000000000000..a0d35428df99 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationVaultHealth.ts @@ -0,0 +1,45 @@ +/* + * 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 { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + ReplicationVaultHealthGetOptionalParams, + ReplicationVaultHealthGetResponse, + ReplicationVaultHealthRefreshOptionalParams, + ReplicationVaultHealthRefreshResponse +} from "../models"; + +/** Interface representing a ReplicationVaultHealth. */ +export interface ReplicationVaultHealth { + /** + * Gets the health details of the vault. + * @param options The options parameters. + */ + get( + options?: ReplicationVaultHealthGetOptionalParams + ): Promise; + /** + * Refreshes health summary of the vault. + * @param options The options parameters. + */ + beginRefresh( + options?: ReplicationVaultHealthRefreshOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationVaultHealthRefreshResponse + > + >; + /** + * Refreshes health summary of the vault. + * @param options The options parameters. + */ + beginRefreshAndWait( + options?: ReplicationVaultHealthRefreshOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationVaultSetting.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationVaultSetting.ts new file mode 100644 index 000000000000..c3da16493d25 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationVaultSetting.ts @@ -0,0 +1,67 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VaultSetting, + ReplicationVaultSettingListOptionalParams, + ReplicationVaultSettingGetOptionalParams, + ReplicationVaultSettingGetResponse, + VaultSettingCreationInput, + ReplicationVaultSettingCreateOptionalParams, + ReplicationVaultSettingCreateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationVaultSetting. */ +export interface ReplicationVaultSetting { + /** + * Gets the list of vault setting. This includes the Migration Hub connection settings. + * @param options The options parameters. + */ + list( + options?: ReplicationVaultSettingListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the vault setting. This includes the Migration Hub connection settings. + * @param vaultSettingName Vault setting name. + * @param options The options parameters. + */ + get( + vaultSettingName: string, + options?: ReplicationVaultSettingGetOptionalParams + ): Promise; + /** + * The operation to configure vault setting. + * @param vaultSettingName Vault setting name. + * @param input Vault setting creation input. + * @param options The options parameters. + */ + beginCreate( + vaultSettingName: string, + input: VaultSettingCreationInput, + options?: ReplicationVaultSettingCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationVaultSettingCreateResponse + > + >; + /** + * The operation to configure vault setting. + * @param vaultSettingName Vault setting name. + * @param input Vault setting creation input. + * @param options The options parameters. + */ + beginCreateAndWait( + vaultSettingName: string, + input: VaultSettingCreationInput, + options?: ReplicationVaultSettingCreateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationvCenters.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationvCenters.ts new file mode 100644 index 000000000000..4c376af6632d --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationvCenters.ts @@ -0,0 +1,140 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } from "@azure/core-lro"; +import { + VCenter, + ReplicationvCentersListByReplicationFabricsOptionalParams, + ReplicationvCentersListOptionalParams, + ReplicationvCentersGetOptionalParams, + ReplicationvCentersGetResponse, + AddVCenterRequest, + ReplicationvCentersCreateOptionalParams, + ReplicationvCentersCreateResponse, + ReplicationvCentersDeleteOptionalParams, + UpdateVCenterRequest, + ReplicationvCentersUpdateOptionalParams, + ReplicationvCentersUpdateResponse +} from "../models"; + +/// +/** Interface representing a ReplicationvCenters. */ +export interface ReplicationvCenters { + /** + * Lists the vCenter servers registered in a fabric. + * @param fabricName Fabric name. + * @param options The options parameters. + */ + listByReplicationFabrics( + fabricName: string, + options?: ReplicationvCentersListByReplicationFabricsOptionalParams + ): PagedAsyncIterableIterator; + /** + * Lists the vCenter servers registered in the vault. + * @param options The options parameters. + */ + list( + options?: ReplicationvCentersListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Gets the details of a registered vCenter server(Add vCenter server). + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param options The options parameters. + */ + get( + fabricName: string, + vcenterName: string, + options?: ReplicationvCentersGetOptionalParams + ): Promise; + /** + * The operation to create a vCenter object.. + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param addVCenterRequest The input to the add vCenter operation. + * @param options The options parameters. + */ + beginCreate( + fabricName: string, + vcenterName: string, + addVCenterRequest: AddVCenterRequest, + options?: ReplicationvCentersCreateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationvCentersCreateResponse + > + >; + /** + * The operation to create a vCenter object.. + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param addVCenterRequest The input to the add vCenter operation. + * @param options The options parameters. + */ + beginCreateAndWait( + fabricName: string, + vcenterName: string, + addVCenterRequest: AddVCenterRequest, + options?: ReplicationvCentersCreateOptionalParams + ): Promise; + /** + * The operation to remove(unregister) a registered vCenter server from the vault. + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param options The options parameters. + */ + beginDelete( + fabricName: string, + vcenterName: string, + options?: ReplicationvCentersDeleteOptionalParams + ): Promise, void>>; + /** + * The operation to remove(unregister) a registered vCenter server from the vault. + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param options The options parameters. + */ + beginDeleteAndWait( + fabricName: string, + vcenterName: string, + options?: ReplicationvCentersDeleteOptionalParams + ): Promise; + /** + * The operation to update a registered vCenter. + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param updateVCenterRequest The input to the update vCenter operation. + * @param options The options parameters. + */ + beginUpdate( + fabricName: string, + vcenterName: string, + updateVCenterRequest: UpdateVCenterRequest, + options?: ReplicationvCentersUpdateOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationvCentersUpdateResponse + > + >; + /** + * The operation to update a registered vCenter. + * @param fabricName Fabric name. + * @param vcenterName vcenter name. + * @param updateVCenterRequest The input to the update vCenter operation. + * @param options The options parameters. + */ + beginUpdateAndWait( + fabricName: string, + vcenterName: string, + updateVCenterRequest: UpdateVCenterRequest, + options?: ReplicationvCentersUpdateOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/supportedOperatingSystemsOperations.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/supportedOperatingSystemsOperations.ts new file mode 100644 index 000000000000..9f05bd9e6b20 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/supportedOperatingSystemsOperations.ts @@ -0,0 +1,23 @@ +/* + * 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 { + SupportedOperatingSystemsGetOptionalParams, + SupportedOperatingSystemsGetResponse +} from "../models"; + +/** Interface representing a SupportedOperatingSystemsOperations. */ +export interface SupportedOperatingSystemsOperations { + /** + * Gets the data of supported operating systems by SRS. + * @param options The options parameters. + */ + get( + options?: SupportedOperatingSystemsGetOptionalParams + ): Promise; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/targetComputeSizes.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/targetComputeSizes.ts new file mode 100644 index 000000000000..20e5e6b2b7e6 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/targetComputeSizes.ts @@ -0,0 +1,31 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + TargetComputeSize, + TargetComputeSizesListByReplicationProtectedItemsOptionalParams +} from "../models"; + +/// +/** Interface representing a TargetComputeSizes. */ +export interface TargetComputeSizes { + /** + * Lists the available target compute sizes for a replication protected item. + * @param fabricName Fabric name. + * @param protectionContainerName protection container name. + * @param replicatedProtectedItemName Replication protected item name. + * @param options The options parameters. + */ + listByReplicationProtectedItems( + fabricName: string, + protectionContainerName: string, + replicatedProtectedItemName: string, + options?: TargetComputeSizesListByReplicationProtectedItemsOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts index 8bfa137ac28f..97a29f4adb34 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts @@ -1,85 +1,220 @@ /* - * 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. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import * as msRest from "@azure/ms-rest-js"; -import * as Models from "./models"; -import * as Mappers from "./models/mappers"; -import * as operations from "./operations"; -import { SiteRecoveryManagementClientContext } from "./siteRecoveryManagementClientContext"; +import * as coreClient from "@azure/core-client"; +import * as coreAuth from "@azure/core-auth"; +import { + OperationsImpl, + ReplicationAlertSettingsImpl, + ReplicationAppliancesImpl, + ReplicationEligibilityResultsOperationsImpl, + ReplicationEventsImpl, + ReplicationFabricsImpl, + ReplicationLogicalNetworksImpl, + ReplicationNetworksImpl, + ReplicationNetworkMappingsImpl, + ReplicationProtectionContainersImpl, + ReplicationMigrationItemsImpl, + MigrationRecoveryPointsImpl, + ReplicationProtectableItemsImpl, + ReplicationProtectedItemsImpl, + RecoveryPointsImpl, + TargetComputeSizesImpl, + ReplicationProtectionContainerMappingsImpl, + ReplicationRecoveryServicesProvidersImpl, + ReplicationStorageClassificationsImpl, + ReplicationStorageClassificationMappingsImpl, + ReplicationvCentersImpl, + ReplicationJobsImpl, + ReplicationPoliciesImpl, + ReplicationProtectionIntentsImpl, + ReplicationRecoveryPlansImpl, + SupportedOperatingSystemsOperationsImpl, + ReplicationVaultHealthImpl, + ReplicationVaultSettingImpl +} from "./operations"; +import { + Operations, + ReplicationAlertSettings, + ReplicationAppliances, + ReplicationEligibilityResultsOperations, + ReplicationEvents, + ReplicationFabrics, + ReplicationLogicalNetworks, + ReplicationNetworks, + ReplicationNetworkMappings, + ReplicationProtectionContainers, + ReplicationMigrationItems, + MigrationRecoveryPoints, + ReplicationProtectableItems, + ReplicationProtectedItems, + RecoveryPoints, + TargetComputeSizes, + ReplicationProtectionContainerMappings, + ReplicationRecoveryServicesProviders, + ReplicationStorageClassifications, + ReplicationStorageClassificationMappings, + ReplicationvCenters, + ReplicationJobs, + ReplicationPolicies, + ReplicationProtectionIntents, + ReplicationRecoveryPlans, + SupportedOperatingSystemsOperations, + ReplicationVaultHealth, + ReplicationVaultSetting +} from "./operationsInterfaces"; +import { SiteRecoveryManagementClientOptionalParams } from "./models"; - -class SiteRecoveryManagementClient extends SiteRecoveryManagementClientContext { - // Operation groups - operations: operations.Operations; - replicationAlertSettings: operations.ReplicationAlertSettings; - replicationEvents: operations.ReplicationEvents; - replicationFabrics: operations.ReplicationFabrics; - replicationLogicalNetworks: operations.ReplicationLogicalNetworks; - replicationNetworks: operations.ReplicationNetworks; - replicationNetworkMappings: operations.ReplicationNetworkMappings; - replicationProtectionContainers: operations.ReplicationProtectionContainers; - replicationProtectableItems: operations.ReplicationProtectableItems; - replicationProtectedItems: operations.ReplicationProtectedItems; - recoveryPoints: operations.RecoveryPoints; - targetComputeSizes: operations.TargetComputeSizes; - replicationProtectionContainerMappings: operations.ReplicationProtectionContainerMappings; - replicationRecoveryServicesProviders: operations.ReplicationRecoveryServicesProviders; - replicationStorageClassifications: operations.ReplicationStorageClassifications; - replicationStorageClassificationMappings: operations.ReplicationStorageClassificationMappings; - replicationvCenters: operations.ReplicationvCenters; - replicationJobs: operations.ReplicationJobs; - replicationPolicies: operations.ReplicationPolicies; - replicationRecoveryPlans: operations.ReplicationRecoveryPlans; - replicationVaultHealth: operations.ReplicationVaultHealth; +export class SiteRecoveryManagementClient extends coreClient.ServiceClient { + $host: string; + apiVersion: string; + resourceGroupName: string; + subscriptionId: string; + resourceName: string; /** * Initializes a new instance of the SiteRecoveryManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. - * @param subscriptionId The subscription Id. + * @param credentials Subscription credentials which uniquely identify client subscription. * @param resourceGroupName The name of the resource group where the recovery services vault is - * present. + * present. + * @param subscriptionId The subscription Id. * @param resourceName The name of the recovery services vault. - * @param [options] The parameter options + * @param options The parameter options */ - constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, resourceGroupName: string, resourceName: string, options?: Models.SiteRecoveryManagementClientOptions) { - super(credentials, subscriptionId, resourceGroupName, resourceName, options); - this.operations = new operations.Operations(this); - this.replicationAlertSettings = new operations.ReplicationAlertSettings(this); - this.replicationEvents = new operations.ReplicationEvents(this); - this.replicationFabrics = new operations.ReplicationFabrics(this); - this.replicationLogicalNetworks = new operations.ReplicationLogicalNetworks(this); - this.replicationNetworks = new operations.ReplicationNetworks(this); - this.replicationNetworkMappings = new operations.ReplicationNetworkMappings(this); - this.replicationProtectionContainers = new operations.ReplicationProtectionContainers(this); - this.replicationProtectableItems = new operations.ReplicationProtectableItems(this); - this.replicationProtectedItems = new operations.ReplicationProtectedItems(this); - this.recoveryPoints = new operations.RecoveryPoints(this); - this.targetComputeSizes = new operations.TargetComputeSizes(this); - this.replicationProtectionContainerMappings = new operations.ReplicationProtectionContainerMappings(this); - this.replicationRecoveryServicesProviders = new operations.ReplicationRecoveryServicesProviders(this); - this.replicationStorageClassifications = new operations.ReplicationStorageClassifications(this); - this.replicationStorageClassificationMappings = new operations.ReplicationStorageClassificationMappings(this); - this.replicationvCenters = new operations.ReplicationvCenters(this); - this.replicationJobs = new operations.ReplicationJobs(this); - this.replicationPolicies = new operations.ReplicationPolicies(this); - this.replicationRecoveryPlans = new operations.ReplicationRecoveryPlans(this); - this.replicationVaultHealth = new operations.ReplicationVaultHealth(this); - } -} + constructor( + credentials: coreAuth.TokenCredential, + resourceGroupName: string, + subscriptionId: string, + resourceName: string, + options?: SiteRecoveryManagementClientOptionalParams + ) { + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); + } + if (resourceGroupName === undefined) { + throw new Error("'resourceGroupName' cannot be null"); + } + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); + } + if (resourceName === undefined) { + throw new Error("'resourceName' cannot be null"); + } -// Operation Specifications + // Initializing default values for options + if (!options) { + options = {}; + } + const defaults: SiteRecoveryManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; -export { - SiteRecoveryManagementClient, - SiteRecoveryManagementClientContext, - Models as SiteRecoveryManagementModels, - Mappers as SiteRecoveryManagementMappers -}; -export * from "./operations"; + const packageDetails = `azsdk-js-arm-recoveryservices-siterecovery/4.0.0`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + + if (!options.credentialScopes) { + options.credentialScopes = ["https://management.azure.com/.default"]; + } + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: options.endpoint || "https://management.azure.com" + }; + super(optionsWithDefaults); + // Parameter assignments + this.resourceGroupName = resourceGroupName; + this.subscriptionId = subscriptionId; + this.resourceName = resourceName; + + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.apiVersion = options.apiVersion || "2021-12-01"; + this.operations = new OperationsImpl(this); + this.replicationAlertSettings = new ReplicationAlertSettingsImpl(this); + this.replicationAppliances = new ReplicationAppliancesImpl(this); + this.replicationEligibilityResultsOperations = new ReplicationEligibilityResultsOperationsImpl( + this + ); + this.replicationEvents = new ReplicationEventsImpl(this); + this.replicationFabrics = new ReplicationFabricsImpl(this); + this.replicationLogicalNetworks = new ReplicationLogicalNetworksImpl(this); + this.replicationNetworks = new ReplicationNetworksImpl(this); + this.replicationNetworkMappings = new ReplicationNetworkMappingsImpl(this); + this.replicationProtectionContainers = new ReplicationProtectionContainersImpl( + this + ); + this.replicationMigrationItems = new ReplicationMigrationItemsImpl(this); + this.migrationRecoveryPoints = new MigrationRecoveryPointsImpl(this); + this.replicationProtectableItems = new ReplicationProtectableItemsImpl( + this + ); + this.replicationProtectedItems = new ReplicationProtectedItemsImpl(this); + this.recoveryPoints = new RecoveryPointsImpl(this); + this.targetComputeSizes = new TargetComputeSizesImpl(this); + this.replicationProtectionContainerMappings = new ReplicationProtectionContainerMappingsImpl( + this + ); + this.replicationRecoveryServicesProviders = new ReplicationRecoveryServicesProvidersImpl( + this + ); + this.replicationStorageClassifications = new ReplicationStorageClassificationsImpl( + this + ); + this.replicationStorageClassificationMappings = new ReplicationStorageClassificationMappingsImpl( + this + ); + this.replicationvCenters = new ReplicationvCentersImpl(this); + this.replicationJobs = new ReplicationJobsImpl(this); + this.replicationPolicies = new ReplicationPoliciesImpl(this); + this.replicationProtectionIntents = new ReplicationProtectionIntentsImpl( + this + ); + this.replicationRecoveryPlans = new ReplicationRecoveryPlansImpl(this); + this.supportedOperatingSystemsOperations = new SupportedOperatingSystemsOperationsImpl( + this + ); + this.replicationVaultHealth = new ReplicationVaultHealthImpl(this); + this.replicationVaultSetting = new ReplicationVaultSettingImpl(this); + } + + operations: Operations; + replicationAlertSettings: ReplicationAlertSettings; + replicationAppliances: ReplicationAppliances; + replicationEligibilityResultsOperations: ReplicationEligibilityResultsOperations; + replicationEvents: ReplicationEvents; + replicationFabrics: ReplicationFabrics; + replicationLogicalNetworks: ReplicationLogicalNetworks; + replicationNetworks: ReplicationNetworks; + replicationNetworkMappings: ReplicationNetworkMappings; + replicationProtectionContainers: ReplicationProtectionContainers; + replicationMigrationItems: ReplicationMigrationItems; + migrationRecoveryPoints: MigrationRecoveryPoints; + replicationProtectableItems: ReplicationProtectableItems; + replicationProtectedItems: ReplicationProtectedItems; + recoveryPoints: RecoveryPoints; + targetComputeSizes: TargetComputeSizes; + replicationProtectionContainerMappings: ReplicationProtectionContainerMappings; + replicationRecoveryServicesProviders: ReplicationRecoveryServicesProviders; + replicationStorageClassifications: ReplicationStorageClassifications; + replicationStorageClassificationMappings: ReplicationStorageClassificationMappings; + replicationvCenters: ReplicationvCenters; + replicationJobs: ReplicationJobs; + replicationPolicies: ReplicationPolicies; + replicationProtectionIntents: ReplicationProtectionIntents; + replicationRecoveryPlans: ReplicationRecoveryPlans; + supportedOperatingSystemsOperations: SupportedOperatingSystemsOperations; + replicationVaultHealth: ReplicationVaultHealth; + replicationVaultSetting: ReplicationVaultSetting; +} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClientContext.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClientContext.ts deleted file mode 100644 index 23d375cb660f..000000000000 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClientContext.ts +++ /dev/null @@ -1,75 +0,0 @@ -/* - * 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. - */ - -import * as Models from "./models"; -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; - -const packageName = "@azure/arm-recoveryservices-siterecovery"; -const packageVersion = "0.1.0"; - -export class SiteRecoveryManagementClientContext extends msRestAzure.AzureServiceClient { - credentials: msRest.ServiceClientCredentials; - subscriptionId: string; - resourceGroupName: string; - resourceName: string; - apiVersion?: string; - - /** - * Initializes a new instance of the SiteRecoveryManagementClient class. - * @param credentials Credentials needed for the client to connect to Azure. - * @param subscriptionId The subscription Id. - * @param resourceGroupName The name of the resource group where the recovery services vault is - * present. - * @param resourceName The name of the recovery services vault. - * @param [options] The parameter options - */ - constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, resourceGroupName: string, resourceName: string, options?: Models.SiteRecoveryManagementClientOptions) { - if (credentials == undefined) { - throw new Error('\'credentials\' cannot be null.'); - } - if (subscriptionId == undefined) { - throw new Error('\'subscriptionId\' cannot be null.'); - } - if (resourceGroupName == undefined) { - throw new Error('\'resourceGroupName\' cannot be null.'); - } - if (resourceName == undefined) { - throw new Error('\'resourceName\' cannot be null.'); - } - - if (!options) { - options = {}; - } - if(!options.userAgent) { - const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); - options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; - } - - super(credentials, options); - - this.apiVersion = '2018-01-10'; - this.acceptLanguage = 'en-US'; - this.longRunningOperationRetryTimeout = 30; - this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; - this.requestContentType = "application/json; charset=utf-8"; - this.credentials = credentials; - this.subscriptionId = subscriptionId; - this.resourceGroupName = resourceGroupName; - this.resourceName = resourceName; - - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { - this.acceptLanguage = options.acceptLanguage; - } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { - this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; - } - } -} diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts new file mode 100644 index 000000000000..7ed89b043e1b --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts @@ -0,0 +1,48 @@ +/* + * 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 { + env, + record, + RecorderEnvironmentSetup, + Recorder +} from "@azure-tools/test-recorder"; +import * as assert from "assert"; + +const recorderEnvSetup: RecorderEnvironmentSetup = { + replaceableVariables: { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" + }, + customizationsOnRecordings: [ + (recording: any): any => + recording.replace( + /"access_token":"[^"]*"/g, + `"access_token":"access_token"` + ) + ], + queryParametersToSkip: [] +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function() { + recorder = record(this, recorderEnvSetup); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json index 87bbf5b5fa49..3e6ae96443f3 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json @@ -3,17 +3,25 @@ "module": "es6", "moduleResolution": "node", "strict": true, - "target": "es5", + "target": "es6", "sourceMap": true, "declarationMap": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": [ + "es6", + "dom" + ], "declaration": true, - "outDir": "./esm", + "outDir": "./dist-esm", "importHelpers": true }, - "include": ["./src/**/*.ts"], - "exclude": ["node_modules"] -} + "include": [ + "./src/**/*.ts", + "./test/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/sdk/recoveryservicessiterecovery/ci.yml b/sdk/recoveryservicessiterecovery/ci.yml new file mode 100644 index 000000000000..7a5631bc78f2 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/ci.yml @@ -0,0 +1,30 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/recoveryservicessiterecovery/ + +pr: + branches: + include: + - main + - release/* + - hotfix/* + paths: + include: + - sdk/recoveryservicessiterecovery/ + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: recoveryservicessiterecovery + Artifacts: + - name: azure-arm-recoveryservices-siterecovery + safeName: azurearmrecoveryservicessiterecovery + \ No newline at end of file