From 11a046121e5a4b863b4a329ee227337f2c576d66 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 5 Aug 2022 07:48:10 +0000 Subject: [PATCH] CodeGen from PR 19659 in Azure/azure-rest-api-specs Merge 1a85d6809840149edad4f25ded5935961291f91c into 996166d183e3420b8e7e08fcbb700f34749c3daa --- common/config/rush/pnpm-lock.yaml | 24 +- .../CHANGELOG.md | 232 ++ .../README.md | 11 + .../_meta.json | 7 +- .../api-extractor.json | 25 +- .../package.json | 35 +- .../arm-recoveryservices-siterecovery.api.md | 2353 ++++++++--------- .../rollup.config.js | 78 +- .../sample.env | 4 + .../src/models/index.ts | 1266 ++++++--- .../src/models/mappers.ts | 324 ++- .../src/models/parameters.ts | 14 +- .../src/operations/replicationFabrics.ts | 28 +- .../src/operations/replicationJobs.ts | 16 +- .../operations/replicationMigrationItems.ts | 306 ++- .../operations/replicationNetworkMappings.ts | 12 +- .../src/operations/replicationPolicies.ts | 12 +- .../operations/replicationProtectedItems.ts | 76 +- .../replicationProtectionContainerMappings.ts | 16 +- .../replicationProtectionContainers.ts | 16 +- .../operations/replicationRecoveryPlans.ts | 40 +- .../replicationRecoveryServicesProviders.ts | 16 +- ...eplicationStorageClassificationMappings.ts | 8 +- .../src/operations/replicationVaultHealth.ts | 4 +- .../src/operations/replicationVaultSetting.ts | 4 +- .../src/operations/replicationvCenters.ts | 12 +- .../replicationMigrationItems.ts | 76 + .../src/siteRecoveryManagementClient.ts | 65 +- .../test/sampleTest.ts | 39 +- .../tsconfig.json | 16 +- sdk/recoveryservicessiterecovery/ci.mgmt.yml | 7 +- 31 files changed, 3328 insertions(+), 1814 deletions(-) create mode 100644 sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/sample.env diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index b745c70f36bc..b37bc989edc0 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -3971,7 +3971,7 @@ packages: dependencies: semver: 7.3.7 shelljs: 0.8.5 - typescript: 4.8.0-dev.20220804 + typescript: 4.8.0-dev.20220805 dev: false /downlevel-dts/0.4.0: @@ -8860,8 +8860,8 @@ packages: hasBin: true dev: false - /typescript/4.8.0-dev.20220804: - resolution: {integrity: sha512-N5tKzl5WE31E6YHL3nlYls2zCxkCfax3gb3zKKcrRJXEzfPRFodE0xzkIgGJIshTLQnF/uwiN2Nc8TG50aE9Hg==} + /typescript/4.8.0-dev.20220805: + resolution: {integrity: sha512-br4hTSU5UU+VnCdEDXgv4jeQduwNxNiYv30KW4cXU7W3fCxB8/UDd2OCqciN8H5pF//Lzo0clJBFHXbhrLx3eA==} engines: {node: '>=4.2.0'} hasBin: true dev: false @@ -13620,7 +13620,7 @@ packages: dev: false file:projects/arm-recoveryservices-siterecovery.tgz: - resolution: {integrity: sha512-LT0awpC3WGb/VIxik67iD4xCFtB2kW9mWWuf5jo4MSxx8YwPpBvULd5zy9gFkEspxtyxSAlVoPaModQ6ru3VSA==, tarball: file:projects/arm-recoveryservices-siterecovery.tgz} + resolution: {integrity: sha512-+dPYAAlUpwZqekA9IwFo2ZvXulkvpJ34LKUv/mYP59CK4ApwUVEK01+wkp2uoTBPtaCGw7xdVyBa+TN0aGWNdQ==, tarball: file:projects/arm-recoveryservices-siterecovery.tgz} name: '@rush-temp/arm-recoveryservices-siterecovery' version: 0.0.0 dependencies: @@ -13628,21 +13628,23 @@ packages: '@azure/core-lro': 2.2.4 '@azure/identity': 2.1.0 '@microsoft/api-extractor': 7.18.11 - '@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 + '@rollup/plugin-commonjs': 21.1.0_rollup@2.77.0 + '@rollup/plugin-json': 4.1.0_rollup@2.77.0 + '@rollup/plugin-multi-entry': 4.1.0_rollup@2.77.0 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.77.0 + '@types/chai': 4.3.1 + chai: 4.3.6 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 + rollup: 2.77.0 + rollup-plugin-sourcemaps: 0.6.3_rollup@2.77.0 tslib: 2.4.0 typescript: 4.2.4 uglify-js: 3.16.3 transitivePeerDependencies: - - encoding + - '@types/node' - supports-color dev: false diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md index 26d2af4b7cc0..bccba5cd59b4 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/CHANGELOG.md @@ -1,5 +1,237 @@ # Release History +## 4.1.0 (2022-08-05) + +**Features** + + - Added operation ReplicationMigrationItems.beginPauseReplication + - Added operation ReplicationMigrationItems.beginPauseReplicationAndWait + - Added operation ReplicationMigrationItems.beginResumeReplication + - Added operation ReplicationMigrationItems.beginResumeReplicationAndWait + - Added Interface A2AAddDisksInput + - Added Interface A2AApplyRecoveryPointInput + - Added Interface A2AContainerCreationInput + - Added Interface A2AContainerMappingInput + - Added Interface A2ACreateProtectionIntentInput + - Added Interface A2ACrossClusterMigrationApplyRecoveryPointInput + - Added Interface A2ACrossClusterMigrationContainerCreationInput + - Added Interface A2ACrossClusterMigrationEnableProtectionInput + - Added Interface A2ACrossClusterMigrationPolicyCreationInput + - Added Interface A2ACrossClusterMigrationReplicationDetails + - Added Interface A2AEnableProtectionInput + - Added Interface A2AEventDetails + - Added Interface A2APolicyCreationInput + - Added Interface A2APolicyDetails + - Added Interface A2AProtectionContainerMappingDetails + - Added Interface A2ARecoveryPointDetails + - Added Interface A2ARemoveDisksInput + - Added Interface A2AReplicationDetails + - Added Interface A2AReplicationIntentDetails + - Added Interface A2AReprotectInput + - Added Interface A2ASwitchProtectionInput + - Added Interface A2ATestFailoverInput + - Added Interface A2AUnplannedFailoverInput + - Added Interface A2AUpdateContainerMappingInput + - Added Interface A2AUpdateReplicationProtectedItemInput + - Added Interface Alert + - Added Interface AsrJobDetails + - Added Interface AutomationRunbookTaskDetails + - Added Interface AzureFabricCreationInput + - Added Interface AzureFabricSpecificDetails + - Added Interface AzureToAzureCreateNetworkMappingInput + - Added Interface AzureToAzureNetworkMappingSettings + - Added Interface AzureToAzureUpdateNetworkMappingInput + - Added Interface ConsistencyCheckTaskDetails + - Added Interface CriticalJobHistoryDetails + - Added Interface Event_2 + - Added Interface ExistingProtectionProfile + - Added Interface ExistingRecoveryAvailabilitySet + - Added Interface ExistingRecoveryProximityPlacementGroup + - Added Interface ExistingRecoveryResourceGroup + - Added Interface ExistingRecoveryVirtualNetwork + - Added Interface ExistingStorageAccount + - Added Interface ExportJobDetails + - Added Interface Fabric + - Added Interface FabricReplicationGroupTaskDetails + - Added Interface FailoverJobDetails + - Added Interface HyperVReplica2012EventDetails + - Added Interface HyperVReplica2012R2EventDetails + - Added Interface HyperVReplicaAzureApplyRecoveryPointInput + - Added Interface HyperVReplicaAzureEnableProtectionInput + - Added Interface HyperVReplicaAzureEventDetails + - Added Interface HyperVReplicaAzureFailbackProviderInput + - Added Interface HyperVReplicaAzurePlannedFailoverProviderInput + - Added Interface HyperVReplicaAzurePolicyDetails + - Added Interface HyperVReplicaAzurePolicyInput + - Added Interface HyperVReplicaAzureReplicationDetails + - Added Interface HyperVReplicaAzureReprotectInput + - Added Interface HyperVReplicaAzureTestFailoverInput + - Added Interface HyperVReplicaAzureUnplannedFailoverInput + - Added Interface HyperVReplicaAzureUpdateReplicationProtectedItemInput + - Added Interface HyperVReplicaBaseEventDetails + - Added Interface HyperVReplicaBasePolicyDetails + - Added Interface HyperVReplicaBaseReplicationDetails + - Added Interface HyperVReplicaBluePolicyDetails + - Added Interface HyperVReplicaBluePolicyInput + - Added Interface HyperVReplicaBlueReplicationDetails + - Added Interface HyperVReplicaPolicyDetails + - Added Interface HyperVReplicaPolicyInput + - Added Interface HyperVReplicaReplicationDetails + - Added Interface HyperVSiteDetails + - Added Interface HyperVVirtualMachineDetails + - Added Interface InlineWorkflowTaskDetails + - Added Interface InMageAzureV2ApplyRecoveryPointInput + - Added Interface InMageAzureV2EnableProtectionInput + - Added Interface InMageAzureV2EventDetails + - Added Interface InMageAzureV2PolicyDetails + - Added Interface InMageAzureV2PolicyInput + - Added Interface InMageAzureV2RecoveryPointDetails + - Added Interface InMageAzureV2ReplicationDetails + - Added Interface InMageAzureV2ReprotectInput + - Added Interface InMageAzureV2SwitchProviderInput + - Added Interface InMageAzureV2TestFailoverInput + - Added Interface InMageAzureV2UnplannedFailoverInput + - Added Interface InMageAzureV2UpdateReplicationProtectedItemInput + - Added Interface InMageBasePolicyDetails + - Added Interface InMageDisableProtectionProviderSpecificInput + - Added Interface InMageEnableProtectionInput + - Added Interface InMagePolicyDetails + - Added Interface InMagePolicyInput + - Added Interface InMageRcmApplianceSpecificDetails + - Added Interface InMageRcmApplyRecoveryPointInput + - Added Interface InMageRcmEnableProtectionInput + - Added Interface InMageRcmEventDetails + - Added Interface InMageRcmFabricCreationInput + - Added Interface InMageRcmFabricSpecificDetails + - Added Interface InMageRcmFailbackEventDetails + - Added Interface InMageRcmFailbackPlannedFailoverProviderInput + - Added Interface InMageRcmFailbackPolicyCreationInput + - Added Interface InMageRcmFailbackPolicyDetails + - Added Interface InMageRcmFailbackReplicationDetails + - Added Interface InMageRcmFailbackReprotectInput + - Added Interface InMageRcmPolicyCreationInput + - Added Interface InMageRcmPolicyDetails + - Added Interface InMageRcmProtectionContainerMappingDetails + - Added Interface InMageRcmRecoveryPointDetails + - Added Interface InMageRcmReplicationDetails + - Added Interface InMageRcmReprotectInput + - Added Interface InMageRcmTestFailoverInput + - Added Interface InMageRcmUnplannedFailoverInput + - Added Interface InMageRcmUpdateApplianceForReplicationProtectedItemInput + - Added Interface InMageRcmUpdateContainerMappingInput + - Added Interface InMageRcmUpdateReplicationProtectedItemInput + - Added Interface InMageReplicationDetails + - Added Interface InMageReprotectInput + - Added Interface InMageTestFailoverInput + - Added Interface InMageUnplannedFailoverInput + - Added Interface Job + - Added Interface JobStatusEventDetails + - Added Interface JobTaskDetails + - Added Interface LogicalNetwork + - Added Interface ManualActionTaskDetails + - Added Interface MigrationItem + - Added Interface MigrationRecoveryPoint + - Added Interface Network + - Added Interface NetworkMapping + - Added Interface NewProtectionProfile + - Added Interface NewRecoveryVirtualNetwork + - Added Interface PauseReplicationInput + - Added Interface PauseReplicationInputProperties + - Added Interface Policy + - Added Interface ProtectableItem + - Added Interface ProtectionContainer + - Added Interface ProtectionContainerMapping + - Added Interface RecoveryPlan + - Added Interface RecoveryPlanA2ADetails + - Added Interface RecoveryPlanA2AFailoverInput + - Added Interface RecoveryPlanA2AInput + - Added Interface RecoveryPlanAutomationRunbookActionDetails + - Added Interface RecoveryPlanGroupTaskDetails + - Added Interface RecoveryPlanHyperVReplicaAzureFailbackInput + - Added Interface RecoveryPlanHyperVReplicaAzureFailoverInput + - Added Interface RecoveryPlanInMageAzureV2FailoverInput + - Added Interface RecoveryPlanInMageFailoverInput + - Added Interface RecoveryPlanInMageRcmFailbackFailoverInput + - Added Interface RecoveryPlanInMageRcmFailoverInput + - Added Interface RecoveryPlanManualActionDetails + - Added Interface RecoveryPlanScriptActionDetails + - Added Interface RecoveryPlanShutdownGroupTaskDetails + - Added Interface RecoveryPoint + - Added Interface RecoveryServicesProvider + - Added Interface ReplicationGroupDetails + - Added Interface ReplicationMigrationItemsPauseReplicationOptionalParams + - Added Interface ReplicationMigrationItemsResumeReplicationOptionalParams + - Added Interface ReplicationProtectedItem + - Added Interface ReplicationProtectionIntent + - Added Interface ResumeReplicationInput + - Added Interface ResumeReplicationInputProperties + - Added Interface ResumeReplicationProviderSpecificInput + - Added Interface ScriptActionTaskDetails + - Added Interface StorageClassification + - Added Interface StorageClassificationMapping + - Added Interface SupportedOperatingSystems + - Added Interface SwitchProtectionJobDetails + - Added Interface TestFailoverJobDetails + - Added Interface VaultHealthDetails + - Added Interface VaultSetting + - Added Interface VCenter + - Added Interface VirtualMachineTaskDetails + - Added Interface VmmDetails + - Added Interface VmmToAzureCreateNetworkMappingInput + - Added Interface VmmToAzureNetworkMappingSettings + - Added Interface VmmToAzureUpdateNetworkMappingInput + - Added Interface VmmToVmmCreateNetworkMappingInput + - Added Interface VmmToVmmNetworkMappingSettings + - Added Interface VmmToVmmUpdateNetworkMappingInput + - Added Interface VmmVirtualMachineDetails + - Added Interface VmNicUpdatesTaskDetails + - Added Interface VMwareCbtContainerCreationInput + - Added Interface VMwareCbtContainerMappingInput + - Added Interface VMwareCbtEnableMigrationInput + - Added Interface VMwareCbtEventDetails + - Added Interface VMwareCbtMigrateInput + - Added Interface VMwareCbtMigrationDetails + - Added Interface VMwareCbtPolicyCreationInput + - Added Interface VmwareCbtPolicyDetails + - Added Interface VMwareCbtProtectionContainerMappingDetails + - Added Interface VMwareCbtResumeReplicationInput + - Added Interface VMwareCbtResyncInput + - Added Interface VMwareCbtTestMigrateInput + - Added Interface VMwareCbtUpdateMigrationItemInput + - Added Interface VMwareDetails + - Added Interface VMwareV2FabricCreationInput + - Added Interface VMwareV2FabricSpecificDetails + - Added Interface VMwareVirtualMachineDetails + - Added Type Alias ReplicationMigrationItemsPauseReplicationResponse + - Added Type Alias ReplicationMigrationItemsResumeReplicationResponse + - Added Type Alias ResumeReplicationProviderSpecificInputUnion + - Interface InMageRcmProtectedDiskDetails has a new optional parameter seedBlobUri + - Interface MigrationItemProperties has a new optional parameter criticalJobHistory + - Interface MigrationItemProperties has a new optional parameter lastMigrationStatus + - Interface MigrationItemProperties has a new optional parameter lastMigrationTime + - Interface MigrationItemProperties has a new optional parameter recoveryServicesProviderId + - Interface MigrationItemProperties has a new optional parameter replicationStatus + - Interface VMwareCbtNicDetails has a new optional parameter testIPAddress + - Interface VMwareCbtNicDetails has a new optional parameter testIPAddressType + - Interface VMwareCbtNicDetails has a new optional parameter testNetworkId + - Interface VMwareCbtNicDetails has a new optional parameter testSubnetName + - Interface VMwareCbtNicInput has a new optional parameter testStaticIPAddress + - Interface VMwareCbtNicInput has a new optional parameter testSubnetName + - Interface VMwareCbtProtectedDiskDetails has a new optional parameter seedBlobUri + - Interface VMwareCbtProtectedDiskDetails has a new optional parameter targetBlobUri + - Interface VMwareCbtUpdateDiskInput has a new optional parameter isOSDisk + - Enum KnownMigrationItemOperation has a new value PauseReplication + - Enum KnownMigrationItemOperation has a new value ResumeReplication + - Enum KnownMigrationState has a new value MigrationCompletedWithInformation + - Enum KnownMigrationState has a new value MigrationPartiallySucceeded + - Enum KnownMigrationState has a new value ProtectionSuspended + - Enum KnownMigrationState has a new value ResumeInitiated + - Enum KnownMigrationState has a new value ResumeInProgress + - Enum KnownMigrationState has a new value SuspendingProtection + - Enum KnownTestMigrationState has a new value TestMigrationCompletedWithInformation + - Enum KnownTestMigrationState has a new value TestMigrationPartiallySucceeded + + ## 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. diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md index a4f4cd0427c7..f455755d0110 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/README.md @@ -16,6 +16,8 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) f - [LTS versions of Node.js](https://nodejs.org/about/releases/) - Latest versions of Safari, Chrome, Edge and Firefox. +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. + ### Prerequisites - An [Azure subscription][azure_sub]. @@ -49,8 +51,17 @@ For more information about how to create an Azure AD Application check out [this ```javascript const { SiteRecoveryManagementClient } = require("@azure/arm-recoveryservices-siterecovery"); const { DefaultAzureCredential } = require("@azure/identity"); +// For client-side applications running in the browser, use InteractiveBrowserCredential instead of DefaultAzureCredential. See https://aka.ms/azsdk/js/identity/examples for more details. + const subscriptionId = "00000000-0000-0000-0000-000000000000"; const client = new SiteRecoveryManagementClient(new DefaultAzureCredential(), subscriptionId); + +// For client-side applications running in the browser, use this code instead: +// const credential = new InteractiveBrowserCredential({ +// tenantId: "", +// clientId: "" +// }); +// const client = new SiteRecoveryManagementClient(credential, subscriptionId); ``` diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json index ca0400ff9859..8d13f97bae56 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/_meta.json @@ -1,7 +1,8 @@ { - "commit": "f9a6cb686bcc0f1b23761db19f2491c5c4df95cb", + "commit": "8f97ded3562d55b165f96f8a5d5a614a49f9ef44", "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=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/recoveryservicessiterecovery/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220114.1", + "autorest_command": "", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "use": "@autorest/typescript@6.0.0-alpha.16.20220114.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.1", + "use": "@autorest/typescript@6.0.0-rc.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 index e50d71af3ac4..ec30fed98c5d 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/api-extractor.json +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/api-extractor.json @@ -1,18 +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" }, + "docModel": { + "enabled": true + }, + "apiReport": { + "enabled": true, + "reportFolder": "./review" + }, "dtsRollup": { "enabled": true, "untrimmedFilePath": "", "publicTrimmedFilePath": "./types/arm-recoveryservices-siterecovery.d.ts" }, "messages": { - "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + } + }, "extractorMessageReporting": { - "ae-missing-release-tag": { "logLevel": "none" }, - "ae-unresolved-link": { "logLevel": "none" } + "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 ddb9d7fbcf99..643e1497a12a 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/package.json +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for SiteRecoveryManagementClient.", - "version": "4.0.0", + "version": "4.1.0", "engines": { "node": ">=12.0.0" }, @@ -11,9 +11,9 @@ "@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-client": "^1.5.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-rest-pipeline": "^1.8.0", "tslib": "^2.2.0" }, "keywords": [ @@ -29,20 +29,24 @@ "types": "./types/arm-recoveryservices-siterecovery.d.ts", "devDependencies": { "@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", + "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-multi-entry": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", "mkdirp": "^1.0.4", - "rollup": "^1.16.3", - "rollup-plugin-sourcemaps": "^0.4.2", + "rollup": "^2.66.1", + "rollup-plugin-sourcemaps": "^0.6.3", "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", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery", "repository": { @@ -93,18 +97,17 @@ "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" + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, "//metadata": { "constantPaths": [ { - "path": "src/SiteRecoveryManagementClient.ts", + "path": "src/siteRecoveryManagementClient.ts", "prefix": "packageDetails" } ] }, "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 index 8a8d70b21d85..5e355d085fa0 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/review/arm-recoveryservices-siterecovery.api.md +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/review/arm-recoveryservices-siterecovery.api.md @@ -11,142 +11,142 @@ import { PollerLike } from '@azure/core-lro'; import { PollOperationState } from '@azure/core-lro'; // @public -export type A2AAddDisksInput = AddDisksProviderSpecificInput & { +export interface A2AAddDisksInput extends AddDisksProviderSpecificInput { instanceType: "A2A"; vmDisks?: A2AVmDiskInputDetails[]; vmManagedDisks?: A2AVmManagedDiskInputDetails[]; -}; +} // @public -export type A2AApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface A2AApplyRecoveryPointInput extends ApplyRecoveryPointProviderSpecificInput { instanceType: "A2A"; -}; +} // @public -export type A2AContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & { +export interface A2AContainerCreationInput extends ReplicationProviderSpecificContainerCreationInput { instanceType: "A2A"; -}; +} // @public -export type A2AContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & { - instanceType: "A2A"; +export interface A2AContainerMappingInput extends ReplicationProviderSpecificContainerMappingInput { agentAutoUpdateStatus?: AgentAutoUpdateStatus; automationAccountArmId?: string; automationAccountAuthenticationType?: AutomationAccountAuthenticationType; -}; + instanceType: "A2A"; +} // @public -export type A2ACreateProtectionIntentInput = CreateProtectionIntentProviderSpecificDetails & { - instanceType: "A2A"; +export interface A2ACreateProtectionIntentInput extends CreateProtectionIntentProviderSpecificDetails { + agentAutoUpdateStatus?: AgentAutoUpdateStatus; + automationAccountArmId?: string; + automationAccountAuthenticationType?: AutomationAccountAuthenticationType; + autoProtectionOfDataDisk?: AutoProtectionOfDataDisk; + diskEncryptionInfo?: DiskEncryptionInfo; fabricObjectId: string; + instanceType: "A2A"; + multiVmGroupId?: string; + multiVmGroupName?: string; primaryLocation: string; - recoveryLocation: string; - recoverySubscriptionId: string; - recoveryAvailabilityType: A2ARecoveryAvailabilityType; - protectionProfileCustomInput?: ProtectionProfileCustomDetailsUnion; - recoveryResourceGroupId: string; primaryStagingStorageAccountCustomInput?: StorageAccountCustomDetailsUnion; + protectionProfileCustomInput?: ProtectionProfileCustomDetailsUnion; recoveryAvailabilitySetCustomInput?: RecoveryAvailabilitySetCustomDetailsUnion; - recoveryVirtualNetworkCustomInput?: RecoveryVirtualNetworkCustomDetailsUnion; + recoveryAvailabilityType: A2ARecoveryAvailabilityType; + recoveryAvailabilityZone?: string; + recoveryBootDiagStorageAccount?: StorageAccountCustomDetailsUnion; + recoveryLocation: string; recoveryProximityPlacementGroupCustomInput?: RecoveryProximityPlacementGroupCustomDetailsUnion; - autoProtectionOfDataDisk?: AutoProtectionOfDataDisk; + recoveryResourceGroupId: string; + recoverySubscriptionId: string; + recoveryVirtualNetworkCustomInput?: RecoveryVirtualNetworkCustomDetailsUnion; 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 & { +export interface A2ACrossClusterMigrationApplyRecoveryPointInput extends ApplyRecoveryPointProviderSpecificInput { instanceType: "A2ACrossClusterMigration"; -}; +} // @public -export type A2ACrossClusterMigrationContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & { +export interface A2ACrossClusterMigrationContainerCreationInput extends ReplicationProviderSpecificContainerCreationInput { instanceType: "A2ACrossClusterMigration"; -}; +} // @public -export type A2ACrossClusterMigrationEnableProtectionInput = EnableProtectionProviderSpecificInput & { - instanceType: "A2ACrossClusterMigration"; +export interface A2ACrossClusterMigrationEnableProtectionInput extends EnableProtectionProviderSpecificInput { fabricObjectId?: string; + instanceType: "A2ACrossClusterMigration"; recoveryContainerId?: string; -}; +} // @public -export type A2ACrossClusterMigrationPolicyCreationInput = PolicyProviderSpecificInput & { +export interface A2ACrossClusterMigrationPolicyCreationInput extends PolicyProviderSpecificInput { instanceType: "A2ACrossClusterMigration"; -}; +} // @public -export type A2ACrossClusterMigrationReplicationDetails = ReplicationProviderSpecificSettings & { - instanceType: "A2ACrossClusterMigration"; +export interface A2ACrossClusterMigrationReplicationDetails extends ReplicationProviderSpecificSettings { fabricObjectId?: string; - primaryFabricLocation?: string; + instanceType: "A2ACrossClusterMigration"; + lifecycleId?: string; osType?: string; + primaryFabricLocation?: string; vmProtectionState?: string; vmProtectionStateDescription?: string; - lifecycleId?: string; -}; +} // @public -export type A2AEnableProtectionInput = EnableProtectionProviderSpecificInput & { - instanceType: "A2A"; +export interface A2AEnableProtectionInput extends EnableProtectionProviderSpecificInput { + diskEncryptionInfo?: DiskEncryptionInfo; fabricObjectId: string; - recoveryContainerId?: string; - recoveryResourceGroupId?: string; - recoveryCloudServiceId?: string; - recoveryAvailabilitySetId?: string; - recoveryProximityPlacementGroupId?: string; - vmDisks?: A2AVmDiskInputDetails[]; - vmManagedDisks?: A2AVmManagedDiskInputDetails[]; - multiVmGroupName?: string; + instanceType: "A2A"; multiVmGroupId?: string; - recoveryBootDiagStorageAccountId?: string; - diskEncryptionInfo?: DiskEncryptionInfo; + multiVmGroupName?: string; + recoveryAvailabilitySetId?: string; recoveryAvailabilityZone?: string; - recoveryExtendedLocation?: ExtendedLocation; recoveryAzureNetworkId?: string; + recoveryBootDiagStorageAccountId?: string; + recoveryCapacityReservationGroupId?: string; + recoveryCloudServiceId?: string; + recoveryContainerId?: string; + recoveryExtendedLocation?: ExtendedLocation; + recoveryProximityPlacementGroupId?: string; + recoveryResourceGroupId?: string; recoverySubnetName?: string; recoveryVirtualMachineScaleSetId?: string; - recoveryCapacityReservationGroupId?: string; -}; + vmDisks?: A2AVmDiskInputDetails[]; + vmManagedDisks?: A2AVmManagedDiskInputDetails[]; +} // @public -export type A2AEventDetails = EventProviderSpecificDetails & { +export interface A2AEventDetails extends EventProviderSpecificDetails { + fabricLocation?: string; + fabricName?: string; + fabricObjectId?: string; instanceType: "A2A"; protectedItemName?: string; - fabricObjectId?: string; - fabricName?: string; - fabricLocation?: string; - remoteFabricName?: string; remoteFabricLocation?: string; -}; + remoteFabricName?: string; +} // @public -export type A2APolicyCreationInput = PolicyProviderSpecificInput & { - instanceType: "A2A"; - recoveryPointHistory?: number; - crashConsistentFrequencyInMinutes?: number; +export interface A2APolicyCreationInput extends PolicyProviderSpecificInput { appConsistentFrequencyInMinutes?: number; + crashConsistentFrequencyInMinutes?: number; + instanceType: "A2A"; multiVmSyncStatus: SetMultiVmSyncStatus; -}; + recoveryPointHistory?: number; +} // @public -export type A2APolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "A2A"; - recoveryPointThresholdInMinutes?: number; - recoveryPointHistory?: number; +export interface A2APolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; - multiVmSyncStatus?: string; crashConsistentFrequencyInMinutes?: number; -}; + instanceType: "A2A"; + multiVmSyncStatus?: string; + recoveryPointHistory?: number; + recoveryPointThresholdInMinutes?: number; +} // @public export interface A2AProtectedDiskDetails { @@ -208,14 +208,14 @@ export interface A2AProtectedManagedDiskDetails { } // @public -export type A2AProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & { - instanceType: "A2A"; +export interface A2AProtectionContainerMappingDetails extends ProtectionContainerMappingProviderSpecificDetails { agentAutoUpdateStatus?: AgentAutoUpdateStatus; automationAccountArmId?: string; automationAccountAuthenticationType?: AutomationAccountAuthenticationType; - scheduleName?: string; + instanceType: "A2A"; jobScheduleName?: string; -}; + scheduleName?: string; +} // @public export interface A2AProtectionIntentDiskInputDetails { @@ -239,149 +239,149 @@ export interface A2AProtectionIntentManagedDiskInputDetails { export type A2ARecoveryAvailabilityType = string; // @public -export type A2ARecoveryPointDetails = ProviderSpecificRecoveryPointDetails & { +export interface A2ARecoveryPointDetails extends ProviderSpecificRecoveryPointDetails { + disks?: string[]; instanceType: "A2A"; recoveryPointSyncType?: RecoveryPointSyncType; - disks?: string[]; -}; +} // @public -export type A2ARemoveDisksInput = RemoveDisksProviderSpecificInput & { +export interface A2ARemoveDisksInput extends RemoveDisksProviderSpecificInput { instanceType: "A2A"; vmDisksUris?: string[]; vmManagedDisksIds?: string[]; -}; +} // @public -export type A2AReplicationDetails = ReplicationProviderSpecificSettings & { - instanceType: "A2A"; +export interface A2AReplicationDetails extends ReplicationProviderSpecificSettings { + readonly agentCertificateExpiryDate?: Date; + agentExpiryDate?: Date; + agentVersion?: string; + autoProtectionOfDataDisk?: AutoProtectionOfDataDisk; fabricObjectId?: string; - readonly initialPrimaryZone?: string; - readonly initialPrimaryFabricLocation?: string; - readonly initialRecoveryZone?: string; initialPrimaryExtendedLocation?: ExtendedLocation; + readonly initialPrimaryFabricLocation?: string; + readonly initialPrimaryZone?: string; initialRecoveryExtendedLocation?: ExtendedLocation; readonly initialRecoveryFabricLocation?: string; + readonly initialRecoveryZone?: string; + instanceType: "A2A"; + isReplicationAgentCertificateUpdateRequired?: boolean; + isReplicationAgentUpdateRequired?: boolean; + lastHeartbeat?: Date; + lastRpoCalculatedTime?: Date; + lifecycleId?: string; + managementId?: string; + monitoringJobType?: string; + monitoringPercentageCompletion?: number; + multiVmGroupCreateOption?: MultiVmGroupCreateOption; multiVmGroupId?: string; multiVmGroupName?: string; - multiVmGroupCreateOption?: MultiVmGroupCreateOption; - managementId?: string; + osType?: string; + primaryAvailabilityZone?: string; + primaryExtendedLocation?: ExtendedLocation; + primaryFabricLocation?: string; protectedDisks?: A2AProtectedDiskDetails[]; - unprotectedDisks?: A2AUnprotectedDiskDetails[]; protectedManagedDisks?: A2AProtectedManagedDiskDetails[]; - recoveryBootDiagStorageAccountId?: string; - primaryFabricLocation?: string; - recoveryFabricLocation?: string; - osType?: string; - recoveryAzureVMSize?: string; - recoveryAzureVMName?: string; + recoveryAvailabilitySet?: string; + recoveryAvailabilityZone?: string; + readonly recoveryAzureGeneration?: string; recoveryAzureResourceGroupId?: string; + recoveryAzureVMName?: string; + recoveryAzureVMSize?: string; + recoveryBootDiagStorageAccountId?: string; + recoveryCapacityReservationGroupId?: string; recoveryCloudService?: string; - recoveryAvailabilitySet?: string; + recoveryExtendedLocation?: ExtendedLocation; + recoveryFabricLocation?: string; + recoveryFabricObjectId?: string; + recoveryProximityPlacementGroupId?: string; + recoveryVirtualMachineScaleSetId?: string; + rpoInSeconds?: number; selectedRecoveryAzureNetworkId?: string; selectedTfoAzureNetworkId?: string; + testFailoverRecoveryFabricObjectId?: string; + tfoAzureVMName?: string; + unprotectedDisks?: A2AUnprotectedDiskDetails[]; + readonly vmEncryptionType?: VmEncryptionType; 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; -}; + vmSyncedConfigDetails?: AzureToAzureVmSyncedConfigDetails; +} // @public -export type A2AReplicationIntentDetails = ReplicationProtectionIntentProviderSpecificSettings & { - instanceType: "A2A"; +export interface A2AReplicationIntentDetails extends ReplicationProtectionIntentProviderSpecificSettings { + agentAutoUpdateStatus?: AgentAutoUpdateStatus; + automationAccountArmId?: string; + automationAccountAuthenticationType?: AutomationAccountAuthenticationType; + autoProtectionOfDataDisk?: AutoProtectionOfDataDisk; + diskEncryptionInfo?: DiskEncryptionInfo; fabricObjectId?: string; + instanceType: "A2A"; + multiVmGroupId?: string; + multiVmGroupName?: string; primaryLocation?: string; + primaryStagingStorageAccount?: StorageAccountCustomDetailsUnion; + protectionProfile?: ProtectionProfileCustomDetailsUnion; + recoveryAvailabilitySet?: RecoveryAvailabilitySetCustomDetailsUnion; + recoveryAvailabilityType: string; + recoveryAvailabilityZone?: string; + recoveryBootDiagStorageAccount?: StorageAccountCustomDetailsUnion; recoveryLocation?: string; + recoveryProximityPlacementGroup?: RecoveryProximityPlacementGroupCustomDetailsUnion; + recoveryResourceGroupId?: string; recoverySubscriptionId?: string; + recoveryVirtualNetwork?: RecoveryVirtualNetworkCustomDetailsUnion; 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 & { +export interface A2AReprotectInput extends ReverseReplicationProviderSpecificInput { instanceType: "A2A"; + policyId?: string; + recoveryAvailabilitySetId?: string; + recoveryCloudServiceId?: string; recoveryContainerId?: string; - vmDisks?: A2AVmDiskInputDetails[]; recoveryResourceGroupId?: string; - recoveryCloudServiceId?: string; - recoveryAvailabilitySetId?: string; - policyId?: string; -}; + vmDisks?: A2AVmDiskInputDetails[]; +} // @public export type A2ARpRecoveryPointType = string; // @public -export type A2ASwitchProtectionInput = SwitchProtectionProviderSpecificInput & { +export interface A2ASwitchProtectionInput extends SwitchProtectionProviderSpecificInput { + diskEncryptionInfo?: DiskEncryptionInfo; instanceType: "A2A"; - recoveryContainerId?: string; - vmDisks?: A2AVmDiskInputDetails[]; - vmManagedDisks?: A2AVmManagedDiskInputDetails[]; - recoveryResourceGroupId?: string; - recoveryCloudServiceId?: string; - recoveryAvailabilitySetId?: string; policyId?: string; - recoveryBootDiagStorageAccountId?: string; + recoveryAvailabilitySetId?: string; recoveryAvailabilityZone?: string; + recoveryBootDiagStorageAccountId?: string; + recoveryCapacityReservationGroupId?: string; + recoveryCloudServiceId?: string; + recoveryContainerId?: string; recoveryProximityPlacementGroupId?: string; + recoveryResourceGroupId?: string; recoveryVirtualMachineScaleSetId?: string; - recoveryCapacityReservationGroupId?: string; - diskEncryptionInfo?: DiskEncryptionInfo; -}; + vmDisks?: A2AVmDiskInputDetails[]; + vmManagedDisks?: A2AVmManagedDiskInputDetails[]; +} // @public -export type A2ATestFailoverInput = TestFailoverProviderSpecificInput & { +export interface A2ATestFailoverInput extends TestFailoverProviderSpecificInput { + cloudServiceCreationOption?: string; instanceType: "A2A"; recoveryPointId?: string; - cloudServiceCreationOption?: string; -}; +} // @public -export type A2AUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & { +export interface A2AUnplannedFailoverInput extends UnplannedFailoverProviderSpecificInput { + cloudServiceCreationOption?: string; instanceType: "A2A"; recoveryPointId?: string; - cloudServiceCreationOption?: string; -}; +} // @public export interface A2AUnprotectedDiskDetails { @@ -390,26 +390,26 @@ export interface A2AUnprotectedDiskDetails { } // @public -export type A2AUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & { - instanceType: "A2A"; +export interface A2AUpdateContainerMappingInput extends ReplicationProviderSpecificUpdateContainerMappingInput { agentAutoUpdateStatus?: AgentAutoUpdateStatus; automationAccountArmId?: string; automationAccountAuthenticationType?: AutomationAccountAuthenticationType; -}; + instanceType: "A2A"; +} // @public -export type A2AUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface A2AUpdateReplicationProtectedItemInput extends UpdateReplicationProtectedItemProviderInput { + diskEncryptionInfo?: DiskEncryptionInfo; instanceType: "A2A"; - recoveryCloudServiceId?: string; - recoveryResourceGroupId?: string; managedDiskUpdateDetails?: A2AVmManagedDiskUpdateDetails[]; recoveryBootDiagStorageAccountId?: string; - diskEncryptionInfo?: DiskEncryptionInfo; - tfoAzureVMName?: string; + recoveryCapacityReservationGroupId?: string; + recoveryCloudServiceId?: string; recoveryProximityPlacementGroupId?: string; + recoveryResourceGroupId?: string; recoveryVirtualMachineScaleSetId?: string; - recoveryCapacityReservationGroupId?: string; -}; + tfoAzureVMName?: string; +} // @public export interface A2AVmDiskInputDetails { @@ -520,9 +520,9 @@ export type AgentUpgradeBlockedReason = string; export type AgentVersionStatus = string; // @public -export type Alert = Resource & { +export interface Alert extends Resource { properties?: AlertProperties; -}; +} // @public export interface AlertCollection { @@ -579,9 +579,9 @@ export interface ApplyRecoveryPointProviderSpecificInput { export type ApplyRecoveryPointProviderSpecificInputUnion = ApplyRecoveryPointProviderSpecificInput | A2AApplyRecoveryPointInput | A2ACrossClusterMigrationApplyRecoveryPointInput | HyperVReplicaAzureApplyRecoveryPointInput | InMageAzureV2ApplyRecoveryPointInput | InMageRcmApplyRecoveryPointInput; // @public -export type AsrJobDetails = JobDetails & { +export interface AsrJobDetails extends JobDetails { instanceType: "AsrJobDetails"; -}; +} // @public export interface ASRTask { @@ -603,54 +603,54 @@ export interface ASRTask { export type AutomationAccountAuthenticationType = string; // @public -export type AutomationRunbookTaskDetails = TaskTypeDetails & { +export interface AutomationRunbookTaskDetails extends TaskTypeDetails { + accountName?: string; + cloudServiceName?: string; instanceType: "AutomationRunbookTaskDetails"; + isPrimarySideScript?: boolean; + jobId?: string; + jobOutput?: string; name?: string; - cloudServiceName?: string; - subscriptionId?: string; - accountName?: string; runbookId?: string; runbookName?: string; - jobId?: string; - jobOutput?: string; - isPrimarySideScript?: boolean; -}; + subscriptionId?: string; +} // @public export type AutoProtectionOfDataDisk = string; // @public -export type AzureFabricCreationInput = FabricSpecificCreationInput & { +export interface AzureFabricCreationInput extends FabricSpecificCreationInput { instanceType: "Azure"; location?: string; -}; +} // @public -export type AzureFabricSpecificDetails = FabricSpecificDetails & { +export interface AzureFabricSpecificDetails extends FabricSpecificDetails { + containerIds?: string[]; instanceType: "Azure"; location?: string; - containerIds?: string[]; zones?: A2AZoneDetails[]; -}; +} // @public -export type AzureToAzureCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & { +export interface AzureToAzureCreateNetworkMappingInput extends FabricSpecificCreateNetworkMappingInput { instanceType: "AzureToAzure"; primaryNetworkId: string; -}; +} // @public -export type AzureToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & { +export interface AzureToAzureNetworkMappingSettings extends NetworkMappingFabricSpecificSettings { instanceType: "AzureToAzure"; primaryFabricLocation?: string; recoveryFabricLocation?: string; -}; +} // @public -export type AzureToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & { +export interface AzureToAzureUpdateNetworkMappingInput extends FabricSpecificUpdateNetworkMappingInput { instanceType: "AzureToAzure"; primaryNetworkId?: string; -}; +} // @public export interface AzureToAzureVmSyncedConfigDetails { @@ -701,10 +701,10 @@ export interface ConfigureAlertRequestProperties { } // @public -export type ConsistencyCheckTaskDetails = TaskTypeDetails & { +export interface ConsistencyCheckTaskDetails extends TaskTypeDetails { instanceType: "ConsistencyCheckTaskDetails"; vmDetails?: InconsistentVmDetails[]; -}; +} // @public export interface CreateNetworkMappingInput { @@ -782,6 +782,14 @@ export interface CreateRecoveryPlanInputProperties { recoveryFabricId: string; } +// @public +export interface CriticalJobHistoryDetails { + readonly jobId?: string; + readonly jobName?: string; + readonly jobStatus?: string; + readonly startTime?: Date; +} + // @public export interface CurrentJobDetails { readonly jobId?: string; @@ -945,9 +953,9 @@ export interface EncryptionDetails { export type EthernetAddressType = string; // @public -type Event_2 = Resource & { +interface Event_2 extends Resource { properties?: EventProperties; -}; +} export { Event_2 as Event } // @public @@ -1000,48 +1008,48 @@ export interface EventSpecificDetails { export type EventSpecificDetailsUnion = EventSpecificDetails | JobStatusEventDetails; // @public -export type ExistingProtectionProfile = ProtectionProfileCustomDetails & { - resourceType: "Existing"; +export interface ExistingProtectionProfile extends ProtectionProfileCustomDetails { protectionProfileId: string; -}; + resourceType: "Existing"; +} // @public -export type ExistingRecoveryAvailabilitySet = RecoveryAvailabilitySetCustomDetails & { - resourceType: "Existing"; +export interface ExistingRecoveryAvailabilitySet extends RecoveryAvailabilitySetCustomDetails { recoveryAvailabilitySetId?: string; -}; + resourceType: "Existing"; +} // @public -export type ExistingRecoveryProximityPlacementGroup = RecoveryProximityPlacementGroupCustomDetails & { - resourceType: "Existing"; +export interface ExistingRecoveryProximityPlacementGroup extends RecoveryProximityPlacementGroupCustomDetails { recoveryProximityPlacementGroupId?: string; -}; + resourceType: "Existing"; +} // @public -export type ExistingRecoveryResourceGroup = RecoveryResourceGroupCustomDetails & { - resourceType: "Existing"; +export interface ExistingRecoveryResourceGroup extends RecoveryResourceGroupCustomDetails { recoveryResourceGroupId?: string; -}; + resourceType: "Existing"; +} // @public -export type ExistingRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & { - resourceType: "Existing"; - recoveryVirtualNetworkId: string; +export interface ExistingRecoveryVirtualNetwork extends RecoveryVirtualNetworkCustomDetails { recoverySubnetName?: string; -}; + recoveryVirtualNetworkId: string; + resourceType: "Existing"; +} // @public -export type ExistingStorageAccount = StorageAccountCustomDetails & { - resourceType: "Existing"; +export interface ExistingStorageAccount extends StorageAccountCustomDetails { azureStorageAccountId: string; -}; + resourceType: "Existing"; +} // @public -export type ExportJobDetails = JobDetails & { - instanceType: "ExportJobDetails"; +export interface ExportJobDetails extends JobDetails { blobUri?: string; + instanceType: "ExportJobDetails"; sasToken?: string; -}; +} // @public export type ExportJobOutputSerializationType = string; @@ -1056,9 +1064,9 @@ export interface ExtendedLocation { export type ExtendedLocationType = string; // @public -export type Fabric = Resource & { +export interface Fabric extends Resource { properties?: FabricProperties; -}; +} // @public export interface FabricCollection { @@ -1099,11 +1107,11 @@ export interface FabricQueryParameter { } // @public -export type FabricReplicationGroupTaskDetails = JobTaskDetails & { +export interface FabricReplicationGroupTaskDetails extends JobTaskDetails { instanceType: "FabricReplicationGroupTaskDetails"; skippedReason?: string; skippedReasonString?: string; -}; +} // @public export interface FabricSpecificCreateNetworkMappingInput { @@ -1141,10 +1149,10 @@ export type FabricSpecificUpdateNetworkMappingInputUnion = FabricSpecificUpdateN export type FailoverDeploymentModel = string; // @public -export type FailoverJobDetails = JobDetails & { +export interface FailoverJobDetails extends JobDetails { instanceType: "FailoverJobDetails"; protectedItemDetails?: FailoverReplicationProtectedItemDetails[]; -}; +} // @public export interface FailoverProcessServerRequest { @@ -1226,29 +1234,29 @@ export interface HyperVHostDetails { } // @public -export type HyperVReplica2012EventDetails = EventProviderSpecificDetails & { - instanceType: "HyperVReplica2012"; +export interface HyperVReplica2012EventDetails extends EventProviderSpecificDetails { containerName?: string; fabricName?: string; + instanceType: "HyperVReplica2012"; remoteContainerName?: string; remoteFabricName?: string; -}; +} // @public -export type HyperVReplica2012R2EventDetails = EventProviderSpecificDetails & { - instanceType: "HyperVReplica2012R2"; +export interface HyperVReplica2012R2EventDetails extends EventProviderSpecificDetails { containerName?: string; fabricName?: string; + instanceType: "HyperVReplica2012R2"; remoteContainerName?: string; remoteFabricName?: string; -}; +} // @public -export type HyperVReplicaAzureApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface HyperVReplicaAzureApplyRecoveryPointInput extends ApplyRecoveryPointProviderSpecificInput { instanceType: "HyperVReplicaAzure"; primaryKekCertificatePfx?: string; secondaryKekCertificatePfx?: string; -}; +} // @public export interface HyperVReplicaAzureDiskInputDetails { @@ -1259,61 +1267,61 @@ export interface HyperVReplicaAzureDiskInputDetails { } // @public -export type HyperVReplicaAzureEnableProtectionInput = EnableProtectionProviderSpecificInput & { - instanceType: "HyperVReplicaAzure"; +export interface HyperVReplicaAzureEnableProtectionInput extends EnableProtectionProviderSpecificInput { + diskEncryptionSetId?: string; + disksToInclude?: string[]; + disksToIncludeForManagedDisks?: HyperVReplicaAzureDiskInputDetails[]; + diskType?: DiskAccountType; + enableRdpOnTargetOption?: string; hvHostVmId?: string; - vmName?: string; + instanceType: "HyperVReplicaAzure"; + licenseType?: LicenseType; + logStorageAccountId?: string; osType?: string; - vhdId?: string; - targetStorageAccountId?: string; + seedManagedDiskTags?: { + [propertyName: string]: string; + }; + sqlServerLicenseType?: SqlServerLicenseType; + targetAvailabilitySetId?: string; + targetAvailabilityZone?: 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; - }; + targetAzureVmName?: string; targetManagedDiskTags?: { [propertyName: string]: string; }; targetNicTags?: { [propertyName: string]: string; }; -}; + targetProximityPlacementGroupId?: string; + targetStorageAccountId?: string; + targetVmSize?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + useManagedDisks?: string; + useManagedDisksForReplication?: string; + vhdId?: string; + vmName?: string; +} // @public -export type HyperVReplicaAzureEventDetails = EventProviderSpecificDetails & { - instanceType: "HyperVReplicaAzure"; +export interface HyperVReplicaAzureEventDetails extends EventProviderSpecificDetails { containerName?: string; fabricName?: string; + instanceType: "HyperVReplicaAzure"; remoteContainerName?: string; -}; +} // @public -export type HyperVReplicaAzureFailbackProviderInput = PlannedFailoverProviderSpecificFailoverInput & { - instanceType: "HyperVReplicaAzureFailback"; +export interface HyperVReplicaAzureFailbackProviderInput extends PlannedFailoverProviderSpecificFailoverInput { dataSyncOption?: string; - recoveryVmCreationOption?: string; + instanceType: "HyperVReplicaAzureFailback"; providerIdForAlternateRecovery?: string; -}; + recoveryVmCreationOption?: string; +} // @public export interface HyperVReplicaAzureManagedDiskDetails { @@ -1324,267 +1332,267 @@ export interface HyperVReplicaAzureManagedDiskDetails { } // @public -export type HyperVReplicaAzurePlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & { +export interface HyperVReplicaAzurePlannedFailoverProviderInput extends PlannedFailoverProviderSpecificFailoverInput { instanceType: "HyperVReplicaAzure"; primaryKekCertificatePfx?: string; - secondaryKekCertificatePfx?: string; recoveryPointId?: string; -}; + secondaryKekCertificatePfx?: string; +} // @public -export type HyperVReplicaAzurePolicyDetails = PolicyProviderSpecificDetails & { +export interface HyperVReplicaAzurePolicyDetails extends PolicyProviderSpecificDetails { + activeStorageAccountId?: string; + applicationConsistentSnapshotFrequencyInHours?: number; + encryption?: string; instanceType: "HyperVReplicaAzure"; + onlineReplicationStartTime?: string; recoveryPointHistoryDurationInHours?: number; - applicationConsistentSnapshotFrequencyInHours?: number; replicationInterval?: number; - onlineReplicationStartTime?: string; - encryption?: string; - activeStorageAccountId?: string; -}; +} // @public -export type HyperVReplicaAzurePolicyInput = PolicyProviderSpecificInput & { +export interface HyperVReplicaAzurePolicyInput extends PolicyProviderSpecificInput { + applicationConsistentSnapshotFrequencyInHours?: number; instanceType: "HyperVReplicaAzure"; + onlineReplicationStartTime?: string; recoveryPointHistoryDuration?: number; - applicationConsistentSnapshotFrequencyInHours?: number; replicationInterval?: number; - onlineReplicationStartTime?: string; storageAccounts?: string[]; -}; +} // @public -export type HyperVReplicaAzureReplicationDetails = ReplicationProviderSpecificSettings & { - instanceType: "HyperVReplicaAzure"; +export interface HyperVReplicaAzureReplicationDetails extends ReplicationProviderSpecificSettings { azureVmDiskDetails?: AzureVmDiskDetails[]; - recoveryAzureVmName?: string; - recoveryAzureVMSize?: string; - recoveryAzureStorageAccount?: string; - recoveryAzureLogStorageAccountId?: string; + enableRdpOnTargetOption?: string; + encryption?: string; + initialReplicationDetails?: InitialReplicationDetails; + instanceType: "HyperVReplicaAzure"; + readonly lastRecoveryPointReceived?: Date; lastReplicatedTime?: Date; - rpoInSeconds?: number; lastRpoCalculatedTime?: Date; - vmId?: string; - vmProtectionState?: string; - vmProtectionStateDescription?: string; - initialReplicationDetails?: InitialReplicationDetails; - vmNics?: VMNicDetails[]; - selectedRecoveryAzureNetworkId?: string; - selectedSourceNicId?: string; - encryption?: string; + licenseType?: string; oSDetails?: OSDetails; - sourceVmRamSizeInMB?: number; - sourceVmCpuCount?: number; - enableRdpOnTargetOption?: string; - recoveryAzureResourceGroupId?: string; + protectedManagedDisks?: HyperVReplicaAzureManagedDiskDetails[]; recoveryAvailabilitySetId?: string; - targetAvailabilityZone?: string; - targetProximityPlacementGroupId?: string; - useManagedDisks?: string; - licenseType?: string; - sqlServerLicenseType?: string; - readonly lastRecoveryPointReceived?: Date; - targetVmTags?: { - [propertyName: string]: string; - }; + recoveryAzureLogStorageAccountId?: string; + recoveryAzureResourceGroupId?: string; + recoveryAzureStorageAccount?: string; + recoveryAzureVmName?: string; + recoveryAzureVMSize?: string; + rpoInSeconds?: number; seedManagedDiskTags?: { [propertyName: string]: string; }; + selectedRecoveryAzureNetworkId?: string; + selectedSourceNicId?: string; + sourceVmCpuCount?: number; + sourceVmRamSizeInMB?: number; + sqlServerLicenseType?: string; + targetAvailabilityZone?: string; targetManagedDiskTags?: { [propertyName: string]: string; }; targetNicTags?: { [propertyName: string]: string; }; - protectedManagedDisks?: HyperVReplicaAzureManagedDiskDetails[]; -}; + targetProximityPlacementGroupId?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + useManagedDisks?: string; + vmId?: string; + vmNics?: VMNicDetails[]; + vmProtectionState?: string; + vmProtectionStateDescription?: string; +} // @public -export type HyperVReplicaAzureReprotectInput = ReverseReplicationProviderSpecificInput & { - instanceType: "HyperVReplicaAzure"; +export interface HyperVReplicaAzureReprotectInput extends ReverseReplicationProviderSpecificInput { hvHostVmId?: string; - vmName?: string; + instanceType: "HyperVReplicaAzure"; + logStorageAccountId?: string; osType?: string; - vHDId?: string; storageAccountId?: string; - logStorageAccountId?: string; -}; + vHDId?: string; + vmName?: string; +} // @public export type HyperVReplicaAzureRpRecoveryPointType = string; // @public -export type HyperVReplicaAzureTestFailoverInput = TestFailoverProviderSpecificInput & { +export interface HyperVReplicaAzureTestFailoverInput extends TestFailoverProviderSpecificInput { instanceType: "HyperVReplicaAzure"; primaryKekCertificatePfx?: string; - secondaryKekCertificatePfx?: string; recoveryPointId?: string; -}; + secondaryKekCertificatePfx?: string; +} // @public -export type HyperVReplicaAzureUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & { +export interface HyperVReplicaAzureUnplannedFailoverInput extends UnplannedFailoverProviderSpecificInput { instanceType: "HyperVReplicaAzure"; primaryKekCertificatePfx?: string; - secondaryKekCertificatePfx?: string; recoveryPointId?: string; -}; + secondaryKekCertificatePfx?: string; +} // @public -export type HyperVReplicaAzureUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { - instanceType: "HyperVReplicaAzure"; - recoveryAzureV1ResourceGroupId?: string; - recoveryAzureV2ResourceGroupId?: string; - useManagedDisks?: string; +export interface HyperVReplicaAzureUpdateReplicationProtectedItemInput extends UpdateReplicationProtectedItemProviderInput { diskIdToDiskEncryptionMap?: { [propertyName: string]: string; }; - targetProximityPlacementGroupId?: string; + instanceType: "HyperVReplicaAzure"; + recoveryAzureV1ResourceGroupId?: string; + recoveryAzureV2ResourceGroupId?: string; + sqlServerLicenseType?: SqlServerLicenseType; targetAvailabilityZone?: string; - targetVmTags?: { - [propertyName: string]: string; - }; targetManagedDiskTags?: { [propertyName: string]: string; }; targetNicTags?: { [propertyName: string]: string; }; - sqlServerLicenseType?: SqlServerLicenseType; + targetProximityPlacementGroupId?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + useManagedDisks?: string; vmDisks?: UpdateDiskInput[]; -}; +} // @public -export type HyperVReplicaBaseEventDetails = EventProviderSpecificDetails & { - instanceType: "HyperVReplicaBaseEventDetails"; +export interface HyperVReplicaBaseEventDetails extends EventProviderSpecificDetails { containerName?: string; fabricName?: string; + instanceType: "HyperVReplicaBaseEventDetails"; remoteContainerName?: string; remoteFabricName?: string; -}; +} // @public -export type HyperVReplicaBasePolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "HyperVReplicaBasePolicyDetails"; - recoveryPoints?: number; +export interface HyperVReplicaBasePolicyDetails extends PolicyProviderSpecificDetails { + allowedAuthenticationType?: number; applicationConsistentSnapshotFrequencyInHours?: number; compression?: string; initialReplicationMethod?: string; - onlineReplicationStartTime?: string; - offlineReplicationImportPath?: string; + instanceType: "HyperVReplicaBasePolicyDetails"; offlineReplicationExportPath?: string; - replicationPort?: number; - allowedAuthenticationType?: number; + offlineReplicationImportPath?: string; + onlineReplicationStartTime?: string; + recoveryPoints?: number; replicaDeletionOption?: string; -}; + replicationPort?: number; +} // @public -export type HyperVReplicaBaseReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaBaseReplicationDetails extends ReplicationProviderSpecificSettings { + initialReplicationDetails?: InitialReplicationDetails; instanceType: "HyperVReplicaBaseReplicationDetails"; lastReplicatedTime?: Date; - vmNics?: VMNicDetails[]; + vMDiskDetails?: DiskDetails[]; vmId?: string; + vmNics?: VMNicDetails[]; vmProtectionState?: string; vmProtectionStateDescription?: string; - initialReplicationDetails?: InitialReplicationDetails; - vMDiskDetails?: DiskDetails[]; -}; +} // @public -export type HyperVReplicaBluePolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "HyperVReplica2012R2"; - replicationFrequencyInSeconds?: number; - recoveryPoints?: number; +export interface HyperVReplicaBluePolicyDetails extends PolicyProviderSpecificDetails { + allowedAuthenticationType?: number; applicationConsistentSnapshotFrequencyInHours?: number; compression?: string; initialReplicationMethod?: string; - onlineReplicationStartTime?: string; - offlineReplicationImportPath?: string; + instanceType: "HyperVReplica2012R2"; offlineReplicationExportPath?: string; - replicationPort?: number; - allowedAuthenticationType?: number; + offlineReplicationImportPath?: string; + onlineReplicationStartTime?: string; + recoveryPoints?: number; replicaDeletionOption?: string; -}; + replicationFrequencyInSeconds?: number; + replicationPort?: number; +} // @public -export type HyperVReplicaBluePolicyInput = HyperVReplicaPolicyInput & { +export interface HyperVReplicaBluePolicyInput extends HyperVReplicaPolicyInput { instanceType: "HyperVReplica2012R2"; replicationFrequencyInSeconds?: number; -}; +} // @public -export type HyperVReplicaBlueReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaBlueReplicationDetails extends ReplicationProviderSpecificSettings { + initialReplicationDetails?: InitialReplicationDetails; instanceType: "HyperVReplica2012R2"; lastReplicatedTime?: Date; - vmNics?: VMNicDetails[]; + vMDiskDetails?: DiskDetails[]; vmId?: string; + vmNics?: VMNicDetails[]; vmProtectionState?: string; vmProtectionStateDescription?: string; - initialReplicationDetails?: InitialReplicationDetails; - vMDiskDetails?: DiskDetails[]; -}; +} // @public -export type HyperVReplicaPolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "HyperVReplica2012"; - recoveryPoints?: number; +export interface HyperVReplicaPolicyDetails extends PolicyProviderSpecificDetails { + allowedAuthenticationType?: number; applicationConsistentSnapshotFrequencyInHours?: number; compression?: string; initialReplicationMethod?: string; - onlineReplicationStartTime?: string; - offlineReplicationImportPath?: string; + instanceType: "HyperVReplica2012"; offlineReplicationExportPath?: string; - replicationPort?: number; - allowedAuthenticationType?: number; + offlineReplicationImportPath?: string; + onlineReplicationStartTime?: string; + recoveryPoints?: number; replicaDeletionOption?: string; -}; + replicationPort?: number; +} // @public -export type HyperVReplicaPolicyInput = PolicyProviderSpecificInput & { - instanceType: "HyperVReplica2012" | "HyperVReplica2012R2"; - recoveryPoints?: number; +export interface HyperVReplicaPolicyInput extends PolicyProviderSpecificInput { + allowedAuthenticationType?: number; applicationConsistentSnapshotFrequencyInHours?: number; compression?: string; initialReplicationMethod?: string; - onlineReplicationStartTime?: string; - offlineReplicationImportPath?: string; + instanceType: "HyperVReplica2012" | "HyperVReplica2012R2"; offlineReplicationExportPath?: string; - replicationPort?: number; - allowedAuthenticationType?: number; + offlineReplicationImportPath?: string; + onlineReplicationStartTime?: string; + recoveryPoints?: number; replicaDeletion?: string; -}; + replicationPort?: number; +} // @public (undocumented) export type HyperVReplicaPolicyInputUnion = HyperVReplicaPolicyInput | HyperVReplicaBluePolicyInput; // @public -export type HyperVReplicaReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaReplicationDetails extends ReplicationProviderSpecificSettings { + initialReplicationDetails?: InitialReplicationDetails; instanceType: "HyperVReplica2012"; lastReplicatedTime?: Date; - vmNics?: VMNicDetails[]; + vMDiskDetails?: DiskDetails[]; vmId?: string; + vmNics?: VMNicDetails[]; vmProtectionState?: string; vmProtectionStateDescription?: string; - initialReplicationDetails?: InitialReplicationDetails; - vMDiskDetails?: DiskDetails[]; -}; +} // @public -export type HyperVSiteDetails = FabricSpecificDetails & { - instanceType: "HyperVSite"; +export interface HyperVSiteDetails extends FabricSpecificDetails { hyperVHosts?: HyperVHostDetails[]; -}; + instanceType: "HyperVSite"; +} // @public -export type HyperVVirtualMachineDetails = ConfigurationSettings & { - instanceType: "HyperVVirtualMachine" | "VmmVirtualMachine"; - sourceItemId?: string; - generation?: string; - osDetails?: OSDetails; +export interface HyperVVirtualMachineDetails extends ConfigurationSettings { diskDetails?: DiskDetails[]; - hasPhysicalDisk?: PresenceStatus; + generation?: string; hasFibreChannelAdapter?: PresenceStatus; + hasPhysicalDisk?: PresenceStatus; hasSharedVhd?: PresenceStatus; hyperVHostId?: string; -}; + instanceType: "HyperVVirtualMachine" | "VmmVirtualMachine"; + osDetails?: OSDetails; + sourceItemId?: string; +} // @public (undocumented) export type HyperVVirtualMachineDetailsUnion = HyperVVirtualMachineDetails | VmmVirtualMachineDetails; @@ -1622,10 +1630,10 @@ export interface InitialReplicationDetails { } // @public -export type InlineWorkflowTaskDetails = GroupTaskDetails & { +export interface InlineWorkflowTaskDetails extends GroupTaskDetails { instanceType: "InlineWorkflowTaskDetails"; workflowIds?: string[]; -}; +} // @public export interface InMageAgentDetails { @@ -1636,9 +1644,9 @@ export interface InMageAgentDetails { } // @public -export type InMageAzureV2ApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface InMageAzureV2ApplyRecoveryPointInput extends ApplyRecoveryPointProviderSpecificInput { instanceType: "InMageAzureV2"; -}; +} // @public export interface InMageAzureV2DiskInputDetails { @@ -1649,55 +1657,55 @@ export interface InMageAzureV2DiskInputDetails { } // @public -export type InMageAzureV2EnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface InMageAzureV2EnableProtectionInput extends EnableProtectionProviderSpecificInput { + diskEncryptionSetId?: string; + disksToInclude?: InMageAzureV2DiskInputDetails[]; + diskType?: DiskAccountType; + enableRdpOnTargetOption?: string; instanceType: "InMageAzureV2"; + licenseType?: LicenseType; + logStorageAccountId?: string; masterTargetId?: string; - processServerId?: string; - storageAccountId?: string; - runAsAccountId?: string; multiVmGroupId?: string; multiVmGroupName?: string; - disksToInclude?: InMageAzureV2DiskInputDetails[]; + processServerId?: string; + runAsAccountId?: string; + seedManagedDiskTags?: { + [propertyName: string]: string; + }; + sqlServerLicenseType?: SqlServerLicenseType; + storageAccountId?: string; + targetAvailabilitySetId?: string; + targetAvailabilityZone?: string; 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; - }; + targetAzureVmName?: string; targetManagedDiskTags?: { [propertyName: string]: string; }; targetNicTags?: { [propertyName: string]: string; }; -}; + targetProximityPlacementGroupId?: string; + targetVmSize?: string; + targetVmTags?: { + [propertyName: string]: string; + }; +} // @public -export type InMageAzureV2EventDetails = EventProviderSpecificDetails & { - instanceType: "InMageAzureV2"; - eventType?: string; +export interface InMageAzureV2EventDetails extends EventProviderSpecificDetails { category?: string; component?: string; correctiveAction?: string; details?: string; - summary?: string; + eventType?: string; + instanceType: "InMageAzureV2"; siteName?: string; -}; + summary?: string; +} // @public export interface InMageAzureV2ManagedDiskDetails { @@ -1709,24 +1717,24 @@ export interface InMageAzureV2ManagedDiskDetails { } // @public -export type InMageAzureV2PolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "InMageAzureV2"; - crashConsistentFrequencyInMinutes?: number; - recoveryPointThresholdInMinutes?: number; - recoveryPointHistory?: number; +export interface InMageAzureV2PolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; + crashConsistentFrequencyInMinutes?: number; + instanceType: "InMageAzureV2"; multiVmSyncStatus?: string; -}; + recoveryPointHistory?: number; + recoveryPointThresholdInMinutes?: number; +} // @public -export type InMageAzureV2PolicyInput = PolicyProviderSpecificInput & { - instanceType: "InMageAzureV2"; - recoveryPointThresholdInMinutes?: number; - recoveryPointHistory?: number; - crashConsistentFrequencyInMinutes?: number; +export interface InMageAzureV2PolicyInput extends PolicyProviderSpecificInput { appConsistentFrequencyInMinutes?: number; + crashConsistentFrequencyInMinutes?: number; + instanceType: "InMageAzureV2"; multiVmSyncStatus: SetMultiVmSyncStatus; -}; + recoveryPointHistory?: number; + recoveryPointThresholdInMinutes?: number; +} // @public export interface InMageAzureV2ProtectedDiskDetails { @@ -1756,102 +1764,102 @@ export interface InMageAzureV2ProtectedDiskDetails { } // @public -export type InMageAzureV2RecoveryPointDetails = ProviderSpecificRecoveryPointDetails & { +export interface InMageAzureV2RecoveryPointDetails extends 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[]; +export interface InMageAzureV2ReplicationDetails extends ReplicationProviderSpecificSettings { + agentExpiryDate?: Date; + agentVersion?: string; + azureVMDiskDetails?: AzureVmDiskDetails[]; + azureVmGeneration?: string; + compressedDataRateInMB?: number; + datastores?: string[]; + discoveryType?: string; + diskResized?: string; + enableRdpOnTargetOption?: string; + firmwareType?: string; + infrastructureVmId?: string; + instanceType: "InMageAzureV2"; + ipAddress?: string; + isAdditionalStatsAvailable?: boolean; + isAgentUpdateRequired?: string; + isRebootAfterUpdateRequired?: string; + lastHeartbeat?: Date; + readonly lastRecoveryPointReceived?: Date; lastRpoCalculatedTime?: Date; lastUpdateReceivedTime?: Date; - replicaId?: string; + licenseType?: string; + masterTargetId?: string; + multiVmGroupId?: string; + multiVmGroupName?: string; + multiVmSyncStatus?: string; + osDiskId?: string; + osType?: string; osVersion?: string; + processServerId?: string; + processServerName?: string; + protectedDisks?: InMageAzureV2ProtectedDiskDetails[]; protectedManagedDisks?: InMageAzureV2ManagedDiskDetails[]; - readonly lastRecoveryPointReceived?: Date; - firmwareType?: string; - azureVmGeneration?: string; - isAdditionalStatsAvailable?: boolean; - totalDataTransferred?: number; - totalProgressHealth?: string; - targetVmTags?: { - [propertyName: string]: string; - }; + protectionStage?: string; + recoveryAvailabilitySetId?: string; + recoveryAzureLogStorageAccountId?: string; + recoveryAzureResourceGroupId?: string; + recoveryAzureStorageAccount?: string; + recoveryAzureVMName?: string; + recoveryAzureVMSize?: string; + replicaId?: string; + resyncProgressPercentage?: number; + rpoInSeconds?: number; seedManagedDiskTags?: { [propertyName: string]: string; }; + selectedRecoveryAzureNetworkId?: string; + selectedSourceNicId?: string; + selectedTfoAzureNetworkId?: string; + sourceVmCpuCount?: number; + sourceVmRamSizeInMB?: number; + sqlServerLicenseType?: string; + switchProviderBlockingErrorDetails?: InMageAzureV2SwitchProviderBlockingErrorDetails[]; + switchProviderDetails?: InMageAzureV2SwitchProviderDetails; + targetAvailabilityZone?: string; targetManagedDiskTags?: { [propertyName: string]: string; }; targetNicTags?: { [propertyName: string]: string; }; - switchProviderBlockingErrorDetails?: InMageAzureV2SwitchProviderBlockingErrorDetails[]; - switchProviderDetails?: InMageAzureV2SwitchProviderDetails; -}; + targetProximityPlacementGroupId?: string; + targetVmId?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + totalDataTransferred?: number; + totalProgressHealth?: string; + uncompressedDataRateInMB?: number; + useManagedDisks?: string; + validationErrors?: HealthError[]; + vCenterInfrastructureId?: string; + vhdName?: string; + vmId?: string; + vmNics?: VMNicDetails[]; + vmProtectionState?: string; + vmProtectionStateDescription?: string; +} // @public -export type InMageAzureV2ReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageAzureV2ReprotectInput extends ReverseReplicationProviderSpecificInput { + disksToInclude?: string[]; instanceType: "InMageAzureV2"; + logStorageAccountId?: string; masterTargetId?: string; + policyId?: string; processServerId?: string; - storageAccountId?: string; runAsAccountId?: string; - policyId?: string; - logStorageAccountId?: string; - disksToInclude?: string[]; -}; + storageAccountId?: string; +} // @public export interface InMageAzureV2SwitchProviderBlockingErrorDetails { @@ -1876,60 +1884,60 @@ export interface InMageAzureV2SwitchProviderDetails { } // @public -export type InMageAzureV2SwitchProviderInput = SwitchProviderSpecificInput & { +export interface InMageAzureV2SwitchProviderInput extends SwitchProviderSpecificInput { instanceType: "InMageAzureV2"; - targetVaultID: string; - targetFabricID: string; targetApplianceID: string; -}; + targetFabricID: string; + targetVaultID: string; +} // @public -export type InMageAzureV2TestFailoverInput = TestFailoverProviderSpecificInput & { +export interface InMageAzureV2TestFailoverInput extends TestFailoverProviderSpecificInput { instanceType: "InMageAzureV2"; recoveryPointId?: string; -}; +} // @public -export type InMageAzureV2UnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & { +export interface InMageAzureV2UnplannedFailoverInput extends UnplannedFailoverProviderSpecificInput { instanceType: "InMageAzureV2"; recoveryPointId?: string; -}; +} // @public -export type InMageAzureV2UpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface InMageAzureV2UpdateReplicationProtectedItemInput extends UpdateReplicationProtectedItemProviderInput { instanceType: "InMageAzureV2"; recoveryAzureV1ResourceGroupId?: string; recoveryAzureV2ResourceGroupId?: string; - useManagedDisks?: string; - targetProximityPlacementGroupId?: string; + sqlServerLicenseType?: SqlServerLicenseType; targetAvailabilityZone?: string; - targetVmTags?: { - [propertyName: string]: string; - }; targetManagedDiskTags?: { [propertyName: string]: string; }; targetNicTags?: { [propertyName: string]: string; }; - sqlServerLicenseType?: SqlServerLicenseType; + targetProximityPlacementGroupId?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + useManagedDisks?: string; vmDisks?: UpdateDiskInput[]; -}; +} // @public -export type InMageBasePolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "InMageBasePolicyDetails"; - recoveryPointThresholdInMinutes?: number; - recoveryPointHistory?: number; +export interface InMageBasePolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; + instanceType: "InMageBasePolicyDetails"; multiVmSyncStatus?: string; -}; + recoveryPointHistory?: number; + recoveryPointThresholdInMinutes?: number; +} // @public -export type InMageDisableProtectionProviderSpecificInput = DisableProtectionProviderSpecificInput & { +export interface InMageDisableProtectionProviderSpecificInput extends DisableProtectionProviderSpecificInput { instanceType: "InMage"; replicaVmDeletionStatus?: string; -}; +} // @public export interface InMageDiskDetails { @@ -1953,19 +1961,19 @@ export interface InMageDiskSignatureExclusionOptions { } // @public -export type InMageEnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface InMageEnableProtectionInput extends EnableProtectionProviderSpecificInput { + datastoreName?: string; + diskExclusionInput?: InMageDiskExclusionInput; + disksToInclude?: string[]; instanceType: "InMage"; - vmFriendlyName?: string; masterTargetId: string; + multiVmGroupId: string; + multiVmGroupName: string; processServerId: string; retentionDrive: string; runAsAccountId?: string; - multiVmGroupId: string; - multiVmGroupName: string; - datastoreName?: string; - diskExclusionInput?: InMageDiskExclusionInput; - disksToInclude?: string[]; -}; + vmFriendlyName?: string; +} // @public export interface InMageFabricSwitchProviderBlockingErrorDetails { @@ -1982,22 +1990,22 @@ export interface InMageFabricSwitchProviderBlockingErrorDetails { } // @public -export type InMagePolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "InMage"; - recoveryPointThresholdInMinutes?: number; - recoveryPointHistory?: number; +export interface InMagePolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; + instanceType: "InMage"; multiVmSyncStatus?: string; -}; + recoveryPointHistory?: number; + recoveryPointThresholdInMinutes?: number; +} // @public -export type InMagePolicyInput = PolicyProviderSpecificInput & { - instanceType: "InMage"; - recoveryPointThresholdInMinutes?: number; - recoveryPointHistory?: number; +export interface InMagePolicyInput extends PolicyProviderSpecificInput { appConsistentFrequencyInMinutes?: number; + instanceType: "InMage"; multiVmSyncStatus: SetMultiVmSyncStatus; -}; + recoveryPointHistory?: number; + recoveryPointThresholdInMinutes?: number; +} // @public export interface InMageProtectedDiskDetails { @@ -2055,16 +2063,16 @@ export interface InMageRcmApplianceDetails { } // @public -export type InMageRcmApplianceSpecificDetails = ApplianceSpecificDetails & { - instanceType: "InMageRcm"; +export interface InMageRcmApplianceSpecificDetails extends ApplianceSpecificDetails { readonly appliances?: InMageRcmApplianceDetails[]; -}; + instanceType: "InMageRcm"; +} // @public -export type InMageRcmApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface InMageRcmApplyRecoveryPointInput extends ApplyRecoveryPointProviderSpecificInput { instanceType: "InMageRcm"; recoveryPointId: string; -}; +} // @public export interface InMageRcmDiscoveredProtectedVmDetails { @@ -2098,69 +2106,69 @@ export interface InMageRcmDisksDefaultInput { } // @public -export type InMageRcmEnableProtectionInput = EnableProtectionProviderSpecificInput & { - instanceType: "InMageRcm"; - fabricDiscoveryMachineId: string; - disksToInclude?: InMageRcmDiskInput[]; +export interface InMageRcmEnableProtectionInput extends EnableProtectionProviderSpecificInput { disksDefault?: InMageRcmDisksDefaultInput; - targetResourceGroupId: string; - targetNetworkId?: string; - testNetworkId?: string; - targetSubnetName?: string; - testSubnetName?: string; - targetVmName?: string; - targetVmSize?: string; + disksToInclude?: InMageRcmDiskInput[]; + fabricDiscoveryMachineId: string; + instanceType: "InMageRcm"; licenseType?: LicenseType; + multiVmGroupName?: string; + processServerId: string; + runAsAccountId?: string; targetAvailabilitySetId?: string; targetAvailabilityZone?: string; - targetProximityPlacementGroupId?: string; targetBootDiagnosticsStorageAccountId?: string; - runAsAccountId?: string; - processServerId: string; - multiVmGroupName?: string; -}; + targetNetworkId?: string; + targetProximityPlacementGroupId?: string; + targetResourceGroupId: string; + targetSubnetName?: string; + targetVmName?: string; + targetVmSize?: string; + testNetworkId?: string; + testSubnetName?: string; +} // @public -export type InMageRcmEventDetails = EventProviderSpecificDetails & { +export interface InMageRcmEventDetails extends EventProviderSpecificDetails { + readonly applianceName?: string; + readonly componentDisplayName?: string; + readonly fabricName?: string; instanceType: "InMageRcm"; - readonly protectedItemName?: string; - readonly vmName?: string; - readonly latestAgentVersion?: string; readonly jobId?: string; - readonly fabricName?: string; - readonly applianceName?: string; + readonly latestAgentVersion?: string; + readonly protectedItemName?: string; readonly serverType?: string; - readonly componentDisplayName?: string; -}; + readonly vmName?: string; +} // @public -export type InMageRcmFabricCreationInput = FabricSpecificCreationInput & { +export interface InMageRcmFabricCreationInput extends FabricSpecificCreationInput { instanceType: "InMageRcm"; - vmwareSiteId: string; physicalSiteId: string; sourceAgentIdentity: IdentityProviderInput; -}; + vmwareSiteId: string; +} // @public -export type InMageRcmFabricSpecificDetails = FabricSpecificDetails & { +export interface InMageRcmFabricSpecificDetails extends FabricSpecificDetails { + readonly agentDetails?: AgentDetails[]; + readonly controlPlaneUri?: string; + readonly dataPlaneUri?: string; + readonly dras?: DraDetails[]; instanceType: "InMageRcm"; - readonly vmwareSiteId?: string; + readonly marsAgents?: MarsAgentDetails[]; 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 rcmProxies?: RcmProxyDetails[]; readonly replicationAgents?: ReplicationAgentDetails[]; readonly reprotectAgents?: ReprotectAgentDetails[]; - readonly marsAgents?: MarsAgentDetails[]; - readonly dras?: DraDetails[]; - readonly agentDetails?: AgentDetails[]; -}; + readonly serviceContainerId?: string; + readonly serviceEndpoint?: string; + readonly serviceResourceId?: string; + sourceAgentIdentityDetails?: IdentityProviderDetails; + readonly vmwareSiteId?: string; +} // @public export interface InMageRcmFabricSwitchProviderBlockingErrorDetails { @@ -2193,14 +2201,14 @@ export interface InMageRcmFailbackDiscoveredProtectedVmDetails { } // @public -export type InMageRcmFailbackEventDetails = EventProviderSpecificDetails & { +export interface InMageRcmFailbackEventDetails extends EventProviderSpecificDetails { + readonly applianceName?: string; + readonly componentDisplayName?: string; instanceType: "InMageRcmFailback"; readonly protectedItemName?: string; - readonly vmName?: string; - readonly applianceName?: string; readonly serverType?: string; - readonly componentDisplayName?: string; -}; + readonly vmName?: string; +} // @public export interface InMageRcmFailbackMobilityAgentDetails { @@ -2224,24 +2232,24 @@ export interface InMageRcmFailbackNicDetails { } // @public -export type InMageRcmFailbackPlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & { +export interface InMageRcmFailbackPlannedFailoverProviderInput extends PlannedFailoverProviderSpecificFailoverInput { instanceType: "InMageRcmFailback"; recoveryPointType: InMageRcmFailbackRecoveryPointType; -}; +} // @public -export type InMageRcmFailbackPolicyCreationInput = PolicyProviderSpecificInput & { - instanceType: "InMageRcmFailback"; - crashConsistentFrequencyInMinutes?: number; +export interface InMageRcmFailbackPolicyCreationInput extends PolicyProviderSpecificInput { appConsistentFrequencyInMinutes?: number; -}; + crashConsistentFrequencyInMinutes?: number; + instanceType: "InMageRcmFailback"; +} // @public -export type InMageRcmFailbackPolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "InMageRcmFailback"; +export interface InMageRcmFailbackPolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; crashConsistentFrequencyInMinutes?: number; -}; + instanceType: "InMageRcmFailback"; +} // @public export interface InMageRcmFailbackProtectedDiskDetails { @@ -2262,46 +2270,46 @@ export interface InMageRcmFailbackProtectedDiskDetails { export type InMageRcmFailbackRecoveryPointType = string; // @public -export type InMageRcmFailbackReplicationDetails = ReplicationProviderSpecificSettings & { +export interface InMageRcmFailbackReplicationDetails extends ReplicationProviderSpecificSettings { + readonly azureVirtualMachineId?: string; + discoveredVmDetails?: InMageRcmFailbackDiscoveredProtectedVmDetails; + readonly initialReplicationProcessedBytes?: number; + readonly initialReplicationProgressHealth?: VmReplicationProgressHealth; + readonly initialReplicationProgressPercentage?: number; + readonly initialReplicationTransferredBytes?: number; instanceType: "InMageRcmFailback"; readonly internalIdentifier?: string; - readonly azureVirtualMachineId?: string; + readonly isAgentRegistrationSuccessfulAfterFailover?: boolean; + readonly lastPlannedFailoverStartTime?: Date; + readonly lastPlannedFailoverStatus?: PlannedFailoverStatus; + readonly lastUsedPolicyFriendlyName?: string; + readonly lastUsedPolicyId?: string; + readonly logStorageAccountId?: string; + mobilityAgentDetails?: InMageRcmFailbackMobilityAgentDetails; readonly multiVmGroupName?: string; + readonly osType?: string; + protectedDisks?: InMageRcmFailbackProtectedDiskDetails[]; 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 resyncProgressPercentage?: number; readonly resyncRequired?: string; readonly resyncState?: ResyncState; - protectedDisks?: InMageRcmFailbackProtectedDiskDetails[]; - mobilityAgentDetails?: InMageRcmFailbackMobilityAgentDetails; + readonly resyncTransferredBytes?: number; + readonly targetDataStoreName?: string; + readonly targetvCenterId?: string; + readonly targetVmName?: string; vmNics?: InMageRcmFailbackNicDetails[]; - readonly lastPlannedFailoverStartTime?: Date; - readonly lastPlannedFailoverStatus?: PlannedFailoverStatus; - discoveredVmDetails?: InMageRcmFailbackDiscoveredProtectedVmDetails; - readonly lastUsedPolicyId?: string; - readonly lastUsedPolicyFriendlyName?: string; - readonly isAgentRegistrationSuccessfulAfterFailover?: boolean; -}; +} // @public -export type InMageRcmFailbackReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageRcmFailbackReprotectInput extends ReverseReplicationProviderSpecificInput { instanceType: "InMageRcmFailback"; + policyId: string; processServerId: string; runAsAccountId?: string; - policyId: string; -}; +} // @public export interface InMageRcmFailbackSyncDetails { @@ -2372,22 +2380,22 @@ export interface InMageRcmNicInput { } // @public -export type InMageRcmPolicyCreationInput = PolicyProviderSpecificInput & { - instanceType: "InMageRcm"; - recoveryPointHistoryInMinutes?: number; - crashConsistentFrequencyInMinutes?: number; +export interface InMageRcmPolicyCreationInput extends PolicyProviderSpecificInput { appConsistentFrequencyInMinutes?: number; + crashConsistentFrequencyInMinutes?: number; enableMultiVmSync?: string; -}; - -// @public -export type InMageRcmPolicyDetails = PolicyProviderSpecificDetails & { instanceType: "InMageRcm"; recoveryPointHistoryInMinutes?: number; +} + +// @public +export interface InMageRcmPolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; crashConsistentFrequencyInMinutes?: number; enableMultiVmSync?: string; -}; + instanceType: "InMageRcm"; + recoveryPointHistoryInMinutes?: number; +} // @public export interface InMageRcmProtectedDiskDetails { @@ -2403,86 +2411,88 @@ export interface InMageRcmProtectedDiskDetails { readonly isOSDisk?: string; readonly logStorageAccountId?: string; resyncDetails?: InMageRcmSyncDetails; + readonly seedBlobUri?: string; readonly seedManagedDiskId?: string; readonly targetManagedDiskId?: string; } // @public -export type InMageRcmProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & { - instanceType: "InMageRcm"; +export interface InMageRcmProtectionContainerMappingDetails extends ProtectionContainerMappingProviderSpecificDetails { readonly enableAgentAutoUpgrade?: string; -}; + instanceType: "InMageRcm"; +} // @public -export type InMageRcmRecoveryPointDetails = ProviderSpecificRecoveryPointDetails & { +export interface InMageRcmRecoveryPointDetails extends ProviderSpecificRecoveryPointDetails { instanceType: "InMageRcm"; readonly isMultiVmSyncPoint?: string; -}; +} // @public -export type InMageRcmReplicationDetails = ReplicationProviderSpecificSettings & { +export interface InMageRcmReplicationDetails extends ReplicationProviderSpecificSettings { + readonly agentUpgradeAttemptToVersion?: string; + agentUpgradeBlockingErrorDetails?: InMageRcmAgentUpgradeBlockingErrorDetails[]; + readonly agentUpgradeJobId?: string; + readonly agentUpgradeState?: MobilityAgentUpgradeState; + readonly allocatedMemoryInMB?: number; + discoveredVmDetails?: InMageRcmDiscoveredProtectedVmDetails; + readonly discoveryType?: string; + readonly fabricDiscoveryMachineId?: string; + readonly failoverRecoveryPointId?: string; + readonly firmwareType?: string; + readonly initialReplicationProcessedBytes?: number; + readonly initialReplicationProgressHealth?: VmReplicationProgressHealth; + readonly initialReplicationProgressPercentage?: number; + readonly initialReplicationTransferredBytes?: number; instanceType: "InMageRcm"; readonly internalIdentifier?: string; - readonly fabricDiscoveryMachineId?: string; + readonly isAgentRegistrationSuccessfulAfterFailover?: boolean; + readonly isLastUpgradeSuccessful?: string; + lastAgentUpgradeErrorDetails?: InMageRcmLastAgentUpgradeErrorDetails[]; + readonly lastAgentUpgradeType?: string; + readonly lastRecoveryPointId?: string; + readonly lastRecoveryPointReceived?: Date; + readonly lastRpoCalculatedTime?: Date; + readonly lastRpoInSeconds?: number; + licenseType?: string; + mobilityAgentDetails?: InMageRcmMobilityAgentDetails; readonly multiVmGroupName?: string; - readonly discoveryType?: string; - readonly processServerId?: string; + readonly osType?: string; + readonly primaryNicIpAddress?: string; readonly processorCoreCount?: number; - readonly allocatedMemoryInMB?: number; + readonly processServerId?: string; readonly processServerName?: string; + protectedDisks?: InMageRcmProtectedDiskDetails[]; + readonly resyncProcessedBytes?: number; + readonly resyncProgressHealth?: VmReplicationProgressHealth; + readonly resyncProgressPercentage?: number; + readonly resyncRequired?: string; + readonly resyncState?: ResyncState; + readonly resyncTransferredBytes?: number; 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; + readonly storageAccountId?: string; targetAvailabilitySetId?: string; targetAvailabilityZone?: string; - targetProximityPlacementGroupId?: string; targetBootDiagnosticsStorageAccountId?: string; + readonly targetGeneration?: string; + targetLocation?: string; targetNetworkId?: string; + targetProximityPlacementGroupId?: string; + targetResourceGroupId?: string; + targetVmName?: string; + targetVmSize?: 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; +export interface InMageRcmReprotectInput extends ReverseReplicationProviderSpecificInput { datastoreName: string; + instanceType: "InMageRcm"; logStorageAccountId: string; policyId?: string; -}; + reprotectAgentId: string; +} // @public export interface InMageRcmSyncDetails { @@ -2497,120 +2507,120 @@ export interface InMageRcmSyncDetails { } // @public -export type InMageRcmTestFailoverInput = TestFailoverProviderSpecificInput & { +export interface InMageRcmTestFailoverInput extends TestFailoverProviderSpecificInput { instanceType: "InMageRcm"; networkId?: string; recoveryPointId?: string; -}; +} // @public -export type InMageRcmUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & { +export interface InMageRcmUnplannedFailoverInput extends UnplannedFailoverProviderSpecificInput { instanceType: "InMageRcm"; performShutdown: string; recoveryPointId?: string; -}; +} // @public -export type InMageRcmUpdateApplianceForReplicationProtectedItemInput = UpdateApplianceForReplicationProtectedItemProviderSpecificInput & { +export interface InMageRcmUpdateApplianceForReplicationProtectedItemInput extends UpdateApplianceForReplicationProtectedItemProviderSpecificInput { instanceType: "InMageRcm"; runAsAccountId?: string; -}; +} // @public -export type InMageRcmUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & { - instanceType: "InMageRcm"; +export interface InMageRcmUpdateContainerMappingInput extends ReplicationProviderSpecificUpdateContainerMappingInput { enableAgentAutoUpgrade: string; -}; + instanceType: "InMageRcm"; +} // @public -export type InMageRcmUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface InMageRcmUpdateReplicationProtectedItemInput extends UpdateReplicationProtectedItemProviderInput { instanceType: "InMageRcm"; - targetVmName?: string; - targetVmSize?: string; - targetResourceGroupId?: string; + licenseType?: LicenseType; targetAvailabilitySetId?: string; targetAvailabilityZone?: string; - targetProximityPlacementGroupId?: string; targetBootDiagnosticsStorageAccountId?: string; targetNetworkId?: string; + targetProximityPlacementGroupId?: string; + targetResourceGroupId?: string; + targetVmName?: string; + targetVmSize?: string; testNetworkId?: string; vmNics?: InMageRcmNicInput[]; - licenseType?: LicenseType; -}; +} // @public -export type InMageReplicationDetails = ReplicationProviderSpecificSettings & { - instanceType: "InMage"; +export interface InMageReplicationDetails extends ReplicationProviderSpecificSettings { activeSiteType?: string; - sourceVmCpuCount?: number; - sourceVmRamSizeInMB?: number; - osDetails?: OSDiskDetails; - protectionStage?: string; - vmId?: string; - vmProtectionState?: string; - vmProtectionStateDescription?: string; - resyncDetails?: InitialReplicationDetails; - retentionWindowStart?: Date; - retentionWindowEnd?: Date; + agentDetails?: InMageAgentDetails; + azureStorageAccountId?: string; compressedDataRateInMB?: number; - uncompressedDataRateInMB?: number; - rpoInSeconds?: number; - protectedDisks?: InMageProtectedDiskDetails[]; - ipAddress?: string; - lastHeartbeat?: Date; - processServerId?: string; - masterTargetId?: string; consistencyPoints?: { [propertyName: string]: Date; }; + datastores?: string[]; + discoveryType?: string; 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[]; + instanceType: "InMage"; + ipAddress?: string; + isAdditionalStatsAvailable?: boolean; + lastHeartbeat?: Date; lastRpoCalculatedTime?: Date; lastUpdateReceivedTime?: Date; - replicaId?: string; + masterTargetId?: string; + multiVmGroupId?: string; + multiVmGroupName?: string; + multiVmSyncStatus?: string; + osDetails?: OSDiskDetails; osVersion?: string; - isAdditionalStatsAvailable?: boolean; + processServerId?: string; + protectedDisks?: InMageProtectedDiskDetails[]; + protectionStage?: string; + rebootAfterUpdateStatus?: string; + replicaId?: string; + resyncDetails?: InitialReplicationDetails; + retentionWindowEnd?: Date; + retentionWindowStart?: Date; + rpoInSeconds?: number; + sourceVmCpuCount?: number; + sourceVmRamSizeInMB?: number; totalDataTransferred?: number; totalProgressHealth?: string; -}; + uncompressedDataRateInMB?: number; + validationErrors?: HealthError[]; + vCenterInfrastructureId?: string; + vmId?: string; + vmNics?: VMNicDetails[]; + vmProtectionState?: string; + vmProtectionStateDescription?: string; +} // @public -export type InMageReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageReprotectInput extends ReverseReplicationProviderSpecificInput { + datastoreName?: string; + diskExclusionInput?: InMageDiskExclusionInput; + disksToInclude?: string[]; instanceType: "InMage"; masterTargetId: string; processServerId: string; + profileId: string; retentionDrive: string; runAsAccountId?: string; - datastoreName?: string; - diskExclusionInput?: InMageDiskExclusionInput; - profileId: string; - disksToInclude?: string[]; -}; +} // @public -export type InMageTestFailoverInput = TestFailoverProviderSpecificInput & { +export interface InMageTestFailoverInput extends TestFailoverProviderSpecificInput { instanceType: "InMage"; - recoveryPointType?: RecoveryPointType; recoveryPointId?: string; -}; + recoveryPointType?: RecoveryPointType; +} // @public -export type InMageUnplannedFailoverInput = UnplannedFailoverProviderSpecificInput & { +export interface InMageUnplannedFailoverInput extends UnplannedFailoverProviderSpecificInput { instanceType: "InMage"; - recoveryPointType?: RecoveryPointType; recoveryPointId?: string; -}; + recoveryPointType?: RecoveryPointType; +} // @public export type InMageV2RpRecoveryPointType = string; @@ -2712,9 +2722,9 @@ export interface IPConfigInputDetails { } // @public -export type Job = Resource & { +export interface Job extends Resource { properties?: JobProperties; -}; +} // @public export interface JobCollection { @@ -2783,19 +2793,19 @@ export interface JobQueryParameter { } // @public -export type JobStatusEventDetails = EventSpecificDetails & { +export interface JobStatusEventDetails extends EventSpecificDetails { + affectedObjectType?: string; instanceType: "JobStatus"; - jobId?: string; jobFriendlyName?: string; + jobId?: string; jobStatus?: string; - affectedObjectType?: string; -}; +} // @public -export type JobTaskDetails = TaskTypeDetails & { +export interface JobTaskDetails extends TaskTypeDetails { instanceType: "JobTaskDetails" | "FabricReplicationGroupTaskDetails" | "VirtualMachineTaskDetails"; jobTask?: JobEntity; -}; +} // @public (undocumented) export type JobTaskDetailsUnion = JobTaskDetails | FabricReplicationGroupTaskDetails | VirtualMachineTaskDetails; @@ -2808,557 +2818,385 @@ export interface KeyEncryptionKeyInfo { // @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) + PauseReplication = "PauseReplication", + ResumeReplication = "ResumeReplication", 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) + MigrationCompletedWithInformation = "MigrationCompletedWithInformation", MigrationFailed = "MigrationFailed", - // (undocumented) MigrationInProgress = "MigrationInProgress", - // (undocumented) + MigrationPartiallySucceeded = "MigrationPartiallySucceeded", MigrationSucceeded = "MigrationSucceeded", - // (undocumented) None = "None", - // (undocumented) - Replicating = "Replicating" + ProtectionSuspended = "ProtectionSuspended", + Replicating = "Replicating", + ResumeInitiated = "ResumeInitiated", + ResumeInProgress = "ResumeInProgress", + SuspendingProtection = "SuspendingProtection" } // @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) + TestMigrationCompletedWithInformation = "TestMigrationCompletedWithInformation", TestMigrationFailed = "TestMigrationFailed", - // (undocumented) TestMigrationInProgress = "TestMigrationInProgress", - // (undocumented) + TestMigrationPartiallySucceeded = "TestMigrationPartiallySucceeded", 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" } @@ -3366,9 +3204,9 @@ export enum KnownVmReplicationProgressHealth { export type LicenseType = string; // @public -export type LogicalNetwork = Resource & { +export interface LogicalNetwork extends Resource { properties?: LogicalNetworkProperties; -}; +} // @public export interface LogicalNetworkCollection { @@ -3385,12 +3223,12 @@ export interface LogicalNetworkProperties { } // @public -export type ManualActionTaskDetails = TaskTypeDetails & { +export interface ManualActionTaskDetails extends TaskTypeDetails { instanceType: "ManualActionTaskDetails"; - name?: string; instructions?: string; + name?: string; observation?: string; -}; +} // @public export interface MarsAgentDetails { @@ -3446,9 +3284,9 @@ export interface MigrateProviderSpecificInput { export type MigrateProviderSpecificInputUnion = MigrateProviderSpecificInput | VMwareCbtMigrateInput; // @public -export type MigrationItem = Resource & { +export interface MigrationItem extends Resource { properties?: MigrationItemProperties; -}; +} // @public export interface MigrationItemCollection { @@ -3462,10 +3300,13 @@ export type MigrationItemOperation = string; // @public export interface MigrationItemProperties { readonly allowedOperations?: MigrationItemOperation[]; + readonly criticalJobHistory?: CriticalJobHistoryDetails[]; readonly currentJob?: CurrentJobDetails; readonly eventCorrelationId?: string; readonly health?: ProtectionHealth; readonly healthErrors?: HealthError[]; + readonly lastMigrationStatus?: string; + readonly lastMigrationTime?: Date; readonly lastTestMigrationStatus?: string; readonly lastTestMigrationTime?: Date; readonly machineName?: string; @@ -3474,6 +3315,8 @@ export interface MigrationItemProperties { readonly policyFriendlyName?: string; readonly policyId?: string; providerSpecificDetails?: MigrationProviderSpecificSettingsUnion; + readonly recoveryServicesProviderId?: string; + readonly replicationStatus?: string; readonly testMigrateState?: TestMigrationState; readonly testMigrateStateDescription?: string; } @@ -3494,9 +3337,9 @@ export interface MigrationProviderSpecificSettings { export type MigrationProviderSpecificSettingsUnion = MigrationProviderSpecificSettings | VMwareCbtMigrationDetails; // @public -export type MigrationRecoveryPoint = Resource & { +export interface MigrationRecoveryPoint extends Resource { properties?: MigrationRecoveryPointProperties; -}; +} // @public export interface MigrationRecoveryPointCollection { @@ -3560,9 +3403,9 @@ export type MultiVmGroupCreateOption = string; export type MultiVmSyncPointOption = string; // @public -export type Network = Resource & { +export interface Network extends Resource { properties?: NetworkProperties; -}; +} // @public export interface NetworkCollection { @@ -3571,9 +3414,9 @@ export interface NetworkCollection { } // @public -export type NetworkMapping = Resource & { +export interface NetworkMapping extends Resource { properties?: NetworkMappingProperties; -}; +} // @public export interface NetworkMappingCollection { @@ -3611,21 +3454,21 @@ export interface NetworkProperties { } // @public -export type NewProtectionProfile = ProtectionProfileCustomDetails & { - resourceType: "New"; - policyName: string; - recoveryPointHistory?: number; - crashConsistentFrequencyInMinutes?: number; +export interface NewProtectionProfile extends ProtectionProfileCustomDetails { appConsistentFrequencyInMinutes?: number; + crashConsistentFrequencyInMinutes?: number; multiVmSyncStatus: SetMultiVmSyncStatus; -}; + policyName: string; + recoveryPointHistory?: number; + resourceType: "New"; +} // @public -export type NewRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & { - resourceType: "New"; - recoveryVirtualNetworkResourceGroupName?: string; +export interface NewRecoveryVirtualNetwork extends RecoveryVirtualNetworkCustomDetails { recoveryVirtualNetworkName?: string; -}; + recoveryVirtualNetworkResourceGroupName?: string; + resourceType: "New"; +} // @public export interface Operations { @@ -3683,6 +3526,16 @@ export interface OSVersionWrapper { version?: string; } +// @public +export interface PauseReplicationInput { + properties: PauseReplicationInputProperties; +} + +// @public +export interface PauseReplicationInputProperties { + instanceType: string; +} + // @public export interface PlannedFailoverInput { properties?: PlannedFailoverInputProperties; @@ -3706,9 +3559,9 @@ export type PlannedFailoverProviderSpecificFailoverInputUnion = PlannedFailoverP export type PlannedFailoverStatus = string; // @public -export type Policy = Resource & { +export interface Policy extends Resource { properties?: PolicyProperties; -}; +} // @public export interface PolicyCollection { @@ -3818,9 +3671,9 @@ export interface ProcessServerDetails { } // @public -export type ProtectableItem = Resource & { +export interface ProtectableItem extends Resource { properties?: ProtectableItemProperties; -}; +} // @public export interface ProtectableItemCollection { @@ -3857,9 +3710,9 @@ export interface ProtectedItemsQueryParameter { } // @public -export type ProtectionContainer = Resource & { +export interface ProtectionContainer extends Resource { properties?: ProtectionContainerProperties; -}; +} // @public export interface ProtectionContainerCollection { @@ -3873,9 +3726,9 @@ export interface ProtectionContainerFabricSpecificDetails { } // @public -export type ProtectionContainerMapping = Resource & { +export interface ProtectionContainerMapping extends Resource { properties?: ProtectionContainerMappingProperties; -}; +} // @public export interface ProtectionContainerMappingCollection { @@ -3984,33 +3837,33 @@ export interface RecoveryAvailabilitySetCustomDetails { export type RecoveryAvailabilitySetCustomDetailsUnion = RecoveryAvailabilitySetCustomDetails | ExistingRecoveryAvailabilitySet; // @public -export type RecoveryPlan = Resource & { +export interface RecoveryPlan extends Resource { properties?: RecoveryPlanProperties; -}; +} // @public -export type RecoveryPlanA2ADetails = RecoveryPlanProviderSpecificDetails & { +export interface RecoveryPlanA2ADetails extends RecoveryPlanProviderSpecificDetails { instanceType: "A2A"; primaryZone?: string; recoveryZone?: string; -}; +} // @public -export type RecoveryPlanA2AFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { - instanceType: "A2A"; - recoveryPointType: A2ARpRecoveryPointType; +export interface RecoveryPlanA2AFailoverInput extends RecoveryPlanProviderSpecificFailoverInput { cloudServiceCreationOption?: string; + instanceType: "A2A"; multiVmSyncPointOption?: MultiVmSyncPointOption; -}; + recoveryPointType: A2ARpRecoveryPointType; +} // @public -export type RecoveryPlanA2AInput = RecoveryPlanProviderSpecificInput & { +export interface RecoveryPlanA2AInput extends RecoveryPlanProviderSpecificInput { instanceType: "A2A"; - primaryZone?: string; - recoveryZone?: string; primaryExtendedLocation?: ExtendedLocation; + primaryZone?: string; recoveryExtendedLocation?: ExtendedLocation; -}; + recoveryZone?: string; +} // @public export interface RecoveryPlanAction { @@ -4032,12 +3885,12 @@ export type RecoveryPlanActionDetailsUnion = RecoveryPlanActionDetails | Recover export type RecoveryPlanActionLocation = string; // @public -export type RecoveryPlanAutomationRunbookActionDetails = RecoveryPlanActionDetails & { +export interface RecoveryPlanAutomationRunbookActionDetails extends RecoveryPlanActionDetails { + fabricLocation: RecoveryPlanActionLocation; instanceType: "AutomationRunbookActionDetails"; runbookId?: string; timeout?: string; - fabricLocation: RecoveryPlanActionLocation; -}; +} // @public export interface RecoveryPlanCollection { @@ -4054,12 +3907,12 @@ export interface RecoveryPlanGroup { } // @public -export type RecoveryPlanGroupTaskDetails = GroupTaskDetails & { +export interface RecoveryPlanGroupTaskDetails extends GroupTaskDetails { + groupId?: string; instanceType: "RecoveryPlanGroupTaskDetails" | "RecoveryPlanShutdownGroupTaskDetails"; name?: string; - groupId?: string; rpGroupType?: string; -}; +} // @public (undocumented) export type RecoveryPlanGroupTaskDetailsUnion = RecoveryPlanGroupTaskDetails | RecoveryPlanShutdownGroupTaskDetails; @@ -4068,52 +3921,52 @@ export type RecoveryPlanGroupTaskDetailsUnion = RecoveryPlanGroupTaskDetails | R export type RecoveryPlanGroupType = string; // @public -export type RecoveryPlanHyperVReplicaAzureFailbackInput = RecoveryPlanProviderSpecificFailoverInput & { - instanceType: "HyperVReplicaAzureFailback"; +export interface RecoveryPlanHyperVReplicaAzureFailbackInput extends RecoveryPlanProviderSpecificFailoverInput { dataSyncOption: DataSyncStatus; + instanceType: "HyperVReplicaAzureFailback"; recoveryVmCreationOption: AlternateLocationRecoveryOption; -}; +} // @public -export type RecoveryPlanHyperVReplicaAzureFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanHyperVReplicaAzureFailoverInput extends RecoveryPlanProviderSpecificFailoverInput { instanceType: "HyperVReplicaAzure"; primaryKekCertificatePfx?: string; - secondaryKekCertificatePfx?: string; recoveryPointType?: HyperVReplicaAzureRpRecoveryPointType; -}; + secondaryKekCertificatePfx?: string; +} // @public -export type RecoveryPlanInMageAzureV2FailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageAzureV2FailoverInput extends RecoveryPlanProviderSpecificFailoverInput { instanceType: "InMageAzureV2"; recoveryPointType: InMageV2RpRecoveryPointType; useMultiVmSyncPoint?: string; -}; +} // @public -export type RecoveryPlanInMageFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageFailoverInput extends RecoveryPlanProviderSpecificFailoverInput { instanceType: "InMage"; recoveryPointType: RpInMageRecoveryPointType; -}; +} // @public -export type RecoveryPlanInMageRcmFailbackFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageRcmFailbackFailoverInput extends RecoveryPlanProviderSpecificFailoverInput { instanceType: "InMageRcmFailback"; recoveryPointType: InMageRcmFailbackRecoveryPointType; useMultiVmSyncPoint?: string; -}; +} // @public -export type RecoveryPlanInMageRcmFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageRcmFailoverInput extends RecoveryPlanProviderSpecificFailoverInput { instanceType: "InMageRcm"; recoveryPointType: RecoveryPlanPointType; useMultiVmSyncPoint?: string; -}; +} // @public -export type RecoveryPlanManualActionDetails = RecoveryPlanActionDetails & { - instanceType: "ManualActionDetails"; +export interface RecoveryPlanManualActionDetails extends RecoveryPlanActionDetails { description?: string; -}; + instanceType: "ManualActionDetails"; +} // @public export interface RecoveryPlanPlannedFailoverInput { @@ -4180,17 +4033,17 @@ export interface RecoveryPlanProviderSpecificInput { export type RecoveryPlanProviderSpecificInputUnion = RecoveryPlanProviderSpecificInput | RecoveryPlanA2AInput; // @public -export type RecoveryPlanScriptActionDetails = RecoveryPlanActionDetails & { +export interface RecoveryPlanScriptActionDetails extends RecoveryPlanActionDetails { + fabricLocation: RecoveryPlanActionLocation; instanceType: "ScriptActionDetails"; path: string; timeout?: string; - fabricLocation: RecoveryPlanActionLocation; -}; +} // @public -export type RecoveryPlanShutdownGroupTaskDetails = RecoveryPlanGroupTaskDetails & { +export interface RecoveryPlanShutdownGroupTaskDetails extends RecoveryPlanGroupTaskDetails { instanceType: "RecoveryPlanShutdownGroupTaskDetails"; -}; +} // @public export interface RecoveryPlanTestFailoverCleanupInput { @@ -4228,9 +4081,9 @@ export interface RecoveryPlanUnplannedFailoverInputProperties { } // @public -export type RecoveryPoint = Resource & { +export interface RecoveryPoint extends Resource { properties?: RecoveryPointProperties; -}; +} // @public export interface RecoveryPointCollection { @@ -4295,9 +4148,9 @@ export interface RecoveryResourceGroupCustomDetails { export type RecoveryResourceGroupCustomDetailsUnion = RecoveryResourceGroupCustomDetails | ExistingRecoveryResourceGroup; // @public -export type RecoveryServicesProvider = Resource & { +export interface RecoveryServicesProvider extends Resource { properties?: RecoveryServicesProviderProperties; -}; +} // @public export interface RecoveryServicesProviderCollection { @@ -4628,9 +4481,9 @@ export interface ReplicationFabricsRenewCertificateOptionalParams extends coreCl export type ReplicationFabricsRenewCertificateResponse = Fabric; // @public -export type ReplicationGroupDetails = ConfigurationSettings & { +export interface ReplicationGroupDetails extends ConfigurationSettings { instanceType: "ReplicationGroupDetails"; -}; +} // @public export interface ReplicationJobs { @@ -4740,6 +4593,10 @@ export interface ReplicationMigrationItems { 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; + beginPauseReplication(fabricName: string, protectionContainerName: string, migrationItemName: string, pauseReplicationInput: PauseReplicationInput, options?: ReplicationMigrationItemsPauseReplicationOptionalParams): Promise, ReplicationMigrationItemsPauseReplicationResponse>>; + beginPauseReplicationAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, pauseReplicationInput: PauseReplicationInput, options?: ReplicationMigrationItemsPauseReplicationOptionalParams): Promise; + beginResumeReplication(fabricName: string, protectionContainerName: string, migrationItemName: string, resumeReplicationInput: ResumeReplicationInput, options?: ReplicationMigrationItemsResumeReplicationOptionalParams): Promise, ReplicationMigrationItemsResumeReplicationResponse>>; + beginResumeReplicationAndWait(fabricName: string, protectionContainerName: string, migrationItemName: string, resumeReplicationInput: ResumeReplicationInput, options?: ReplicationMigrationItemsResumeReplicationOptionalParams): 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>>; @@ -4825,6 +4682,24 @@ export interface ReplicationMigrationItemsMigrateOptionalParams extends coreClie // @public export type ReplicationMigrationItemsMigrateResponse = MigrationItem; +// @public +export interface ReplicationMigrationItemsPauseReplicationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ReplicationMigrationItemsPauseReplicationResponse = MigrationItem; + +// @public +export interface ReplicationMigrationItemsResumeReplicationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ReplicationMigrationItemsResumeReplicationResponse = MigrationItem; + // @public export interface ReplicationMigrationItemsResyncOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -5066,9 +4941,9 @@ export interface ReplicationProtectableItemsListByReplicationProtectionContainer export type ReplicationProtectableItemsListByReplicationProtectionContainersResponse = ProtectableItemCollection; // @public -export type ReplicationProtectedItem = Resource & { +export interface ReplicationProtectedItem extends Resource { properties?: ReplicationProtectedItemProperties; -}; +} // @public export interface ReplicationProtectedItemCollection { @@ -5526,9 +5401,9 @@ export interface ReplicationProtectionContainersSwitchProtectionOptionalParams e export type ReplicationProtectionContainersSwitchProtectionResponse = ProtectionContainer; // @public -export type ReplicationProtectionIntent = Resource & { +export interface ReplicationProtectionIntent extends Resource { properties?: ReplicationProtectionIntentProperties; -}; +} // @public export interface ReplicationProtectionIntentCollection { @@ -6139,6 +6014,24 @@ export interface ResumeJobParamsProperties { comments?: string; } +// @public +export interface ResumeReplicationInput { + properties: ResumeReplicationInputProperties; +} + +// @public +export interface ResumeReplicationInputProperties { + providerSpecificDetails: ResumeReplicationProviderSpecificInputUnion; +} + +// @public +export interface ResumeReplicationProviderSpecificInput { + instanceType: "VMwareCbt"; +} + +// @public (undocumented) +export type ResumeReplicationProviderSpecificInputUnion = ResumeReplicationProviderSpecificInput | VMwareCbtResumeReplicationInput; + // @public export interface ResyncInput { properties: ResyncInputProperties; @@ -6206,13 +6099,13 @@ export interface RunAsAccount { } // @public -export type ScriptActionTaskDetails = TaskTypeDetails & { +export interface ScriptActionTaskDetails extends TaskTypeDetails { instanceType: "ScriptActionTaskDetails"; + isPrimarySideScript?: boolean; name?: string; - path?: string; output?: string; - isPrimarySideScript?: boolean; -}; + path?: string; +} // @public export interface ServiceError { @@ -6322,9 +6215,9 @@ export interface StorageAccountCustomDetails { export type StorageAccountCustomDetailsUnion = StorageAccountCustomDetails | ExistingStorageAccount; // @public -export type StorageClassification = Resource & { +export interface StorageClassification extends Resource { properties?: StorageClassificationProperties; -}; +} // @public export interface StorageClassificationCollection { @@ -6333,9 +6226,9 @@ export interface StorageClassificationCollection { } // @public -export type StorageClassificationMapping = Resource & { +export interface StorageClassificationMapping extends Resource { properties?: StorageClassificationMappingProperties; -}; +} // @public export interface StorageClassificationMappingCollection { @@ -6371,9 +6264,9 @@ export interface Subnet { } // @public -export type SupportedOperatingSystems = Resource & { +export interface SupportedOperatingSystems extends Resource { properties?: SupportedOSProperties; -}; +} // @public export interface SupportedOperatingSystemsGetOptionalParams extends coreClient.OperationOptions { @@ -6418,10 +6311,10 @@ export interface SwitchProtectionInputProperties { } // @public -export type SwitchProtectionJobDetails = JobDetails & { +export interface SwitchProtectionJobDetails extends JobDetails { instanceType: "SwitchProtectionJobDetails"; newReplicationProtectedItemId?: string; -}; +} // @public export interface SwitchProtectionProviderSpecificInput { @@ -6529,15 +6422,15 @@ export interface TestFailoverInputProperties { } // @public -export type TestFailoverJobDetails = JobDetails & { - instanceType: "TestFailoverJobDetails"; - testFailoverStatus?: string; +export interface TestFailoverJobDetails extends JobDetails { comments?: string; - networkName?: string; + instanceType: "TestFailoverJobDetails"; networkFriendlyName?: string; + networkName?: string; networkType?: string; protectedItemDetails?: FailoverReplicationProtectedItemDetails[]; -}; + testFailoverStatus?: string; +} // @public export interface TestFailoverProviderSpecificInput { @@ -6735,9 +6628,9 @@ export interface UpdateVCenterRequestProperties { } // @public -export type VaultHealthDetails = Resource & { +export interface VaultHealthDetails extends Resource { properties?: VaultHealthProperties; -}; +} // @public export interface VaultHealthProperties { @@ -6748,9 +6641,9 @@ export interface VaultHealthProperties { } // @public -export type VaultSetting = Resource & { +export interface VaultSetting extends Resource { properties?: VaultSettingProperties; -}; +} // @public export interface VaultSettingCollection { @@ -6776,9 +6669,9 @@ export interface VaultSettingProperties { } // @public -export type VCenter = Resource & { +export interface VCenter extends Resource { properties?: VCenterProperties; -}; +} // @public export interface VCenterCollection { @@ -6809,54 +6702,54 @@ export interface VersionDetails { } // @public -export type VirtualMachineTaskDetails = JobTaskDetails & { +export interface VirtualMachineTaskDetails extends JobTaskDetails { instanceType: "VirtualMachineTaskDetails"; skippedReason?: string; skippedReasonString?: string; -}; +} // @public export type VmEncryptionType = string; // @public -export type VmmDetails = FabricSpecificDetails & { +export interface VmmDetails extends FabricSpecificDetails { instanceType: "VMM"; -}; +} // @public -export type VmmToAzureCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & { +export interface VmmToAzureCreateNetworkMappingInput extends FabricSpecificCreateNetworkMappingInput { instanceType: "VmmToAzure"; -}; +} // @public -export type VmmToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & { +export interface VmmToAzureNetworkMappingSettings extends NetworkMappingFabricSpecificSettings { instanceType: "VmmToAzure"; -}; +} // @public -export type VmmToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & { +export interface VmmToAzureUpdateNetworkMappingInput extends FabricSpecificUpdateNetworkMappingInput { instanceType: "VmmToAzure"; -}; +} // @public -export type VmmToVmmCreateNetworkMappingInput = FabricSpecificCreateNetworkMappingInput & { +export interface VmmToVmmCreateNetworkMappingInput extends FabricSpecificCreateNetworkMappingInput { instanceType: "VmmToVmm"; -}; +} // @public -export type VmmToVmmNetworkMappingSettings = NetworkMappingFabricSpecificSettings & { +export interface VmmToVmmNetworkMappingSettings extends NetworkMappingFabricSpecificSettings { instanceType: "VmmToVmm"; -}; +} // @public -export type VmmToVmmUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & { +export interface VmmToVmmUpdateNetworkMappingInput extends FabricSpecificUpdateNetworkMappingInput { instanceType: "VmmToVmm"; -}; +} // @public -export type VmmVirtualMachineDetails = HyperVVirtualMachineDetails & { +export interface VmmVirtualMachineDetails extends HyperVVirtualMachineDetails { instanceType: "VmmVirtualMachine"; -}; +} // @public export interface VMNicDetails { @@ -6900,31 +6793,31 @@ export interface VMNicInputDetails { } // @public -export type VmNicUpdatesTaskDetails = TaskTypeDetails & { +export interface VmNicUpdatesTaskDetails extends TaskTypeDetails { instanceType: "VmNicUpdatesTaskDetails"; - vmId?: string; - nicId?: string; name?: string; -}; + nicId?: string; + vmId?: string; +} // @public export type VmReplicationProgressHealth = string; // @public -export type VMwareCbtContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & { +export interface VMwareCbtContainerCreationInput extends ReplicationProviderSpecificContainerCreationInput { instanceType: "VMwareCbt"; -}; +} // @public -export type VMwareCbtContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & { +export interface VMwareCbtContainerMappingInput extends ReplicationProviderSpecificContainerMappingInput { instanceType: "VMwareCbt"; - keyVaultId: string; - keyVaultUri: string; + keyVaultId?: string; + keyVaultUri?: string; + serviceBusConnectionStringSecretName?: string; storageAccountId: string; - storageAccountSasSecretName: string; - serviceBusConnectionStringSecretName: string; + storageAccountSasSecretName?: string; targetLocation: string; -}; +} // @public export interface VMwareCbtDiskInput { @@ -6937,96 +6830,102 @@ export interface VMwareCbtDiskInput { } // @public -export type VMwareCbtEnableMigrationInput = EnableMigrationProviderSpecificInput & { - instanceType: "VMwareCbt"; - vmwareMachineId: string; +export interface VMwareCbtEnableMigrationInput extends EnableMigrationProviderSpecificInput { + dataMoverRunAsAccountId: string; disksToInclude: VMwareCbtDiskInput[]; + instanceType: "VMwareCbt"; 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; }; + snapshotRunAsAccountId: string; + sqlServerLicenseType?: SqlServerLicenseType; + targetAvailabilitySetId?: string; + targetAvailabilityZone?: string; + targetBootDiagnosticsStorageAccountId?: string; targetDiskTags?: { [propertyName: string]: string; }; + targetNetworkId: string; targetNicTags?: { [propertyName: string]: string; }; -}; + targetProximityPlacementGroupId?: string; + targetResourceGroupId: string; + targetSubnetName?: string; + targetVmName?: string; + targetVmSize?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + testNetworkId?: string; + testSubnetName?: string; + vmwareMachineId: string; +} // @public -export type VMwareCbtEventDetails = EventProviderSpecificDetails & { +export interface VMwareCbtEventDetails extends EventProviderSpecificDetails { instanceType: "VMwareCbt"; readonly migrationItemName?: string; -}; +} // @public -export type VMwareCbtMigrateInput = MigrateProviderSpecificInput & { +export interface VMwareCbtMigrateInput extends MigrateProviderSpecificInput { instanceType: "VMwareCbt"; performShutdown: string; -}; +} // @public -export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { - instanceType: "VMwareCbt"; - readonly vmwareMachineId?: string; - readonly osType?: string; +export interface VMwareCbtMigrationDetails extends MigrationProviderSpecificSettings { + readonly dataMoverRunAsAccountId?: string; readonly firmwareType?: string; - readonly targetGeneration?: string; + readonly initialSeedingProgressPercentage?: number; + readonly initialSeedingRetryCount?: number; + instanceType: "VMwareCbt"; + readonly lastRecoveryPointId?: string; + readonly lastRecoveryPointReceived?: Date; licenseType?: string; - sqlServerLicenseType?: string; - readonly dataMoverRunAsAccountId?: string; + readonly migrationProgressPercentage?: number; + readonly migrationRecoveryPointId?: string; + readonly osType?: string; + performAutoResync?: string; + protectedDisks?: VMwareCbtProtectedDiskDetails[]; + readonly resumeProgressPercentage?: number; + readonly resumeRetryCount?: number; + readonly resyncProgressPercentage?: number; + readonly resyncRequired?: string; + readonly resyncRetryCount?: number; + readonly resyncState?: ResyncState; + seedDiskTags?: { + [propertyName: string]: string; + }; readonly snapshotRunAsAccountId?: string; - targetVmName?: string; - targetVmSize?: string; - readonly targetLocation?: string; - targetResourceGroupId?: string; + sqlServerLicenseType?: string; + readonly storageAccountId?: string; targetAvailabilitySetId?: string; targetAvailabilityZone?: string; - targetProximityPlacementGroupId?: string; targetBootDiagnosticsStorageAccountId?: string; - targetVmTags?: { + targetDiskTags?: { [propertyName: string]: string; }; - protectedDisks?: VMwareCbtProtectedDiskDetails[]; + readonly targetGeneration?: string; + readonly targetLocation?: string; 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?: { + targetProximityPlacementGroupId?: string; + targetResourceGroupId?: string; + targetVmName?: string; + targetVmSize?: string; + targetVmTags?: { [propertyName: string]: string; }; -}; + testNetworkId?: string; + vmNics?: VMwareCbtNicDetails[]; + readonly vmwareMachineId?: string; +} // @public export interface VMwareCbtNicDetails { @@ -7040,6 +6939,10 @@ export interface VMwareCbtNicDetails { targetIPAddressType?: EthernetAddressType; targetNicName?: string; targetSubnetName?: string; + testIPAddress?: string; + testIPAddressType?: EthernetAddressType; + testNetworkId?: string; + testSubnetName?: string; } // @public @@ -7050,23 +6953,25 @@ export interface VMwareCbtNicInput { targetNicName?: string; targetStaticIPAddress?: string; targetSubnetName?: string; + testStaticIPAddress?: string; + testSubnetName?: string; } // @public -export type VMwareCbtPolicyCreationInput = PolicyProviderSpecificInput & { +export interface VMwareCbtPolicyCreationInput extends PolicyProviderSpecificInput { + appConsistentFrequencyInMinutes?: number; + crashConsistentFrequencyInMinutes?: number; instanceType: "VMwareCbt"; recoveryPointHistoryInMinutes?: number; - crashConsistentFrequencyInMinutes?: number; - appConsistentFrequencyInMinutes?: number; -}; +} // @public -export type VmwareCbtPolicyDetails = PolicyProviderSpecificDetails & { - instanceType: "VMwareCbt"; - recoveryPointHistoryInMinutes?: number; +export interface VmwareCbtPolicyDetails extends PolicyProviderSpecificDetails { appConsistentFrequencyInMinutes?: number; crashConsistentFrequencyInMinutes?: number; -}; + instanceType: "VMwareCbt"; + recoveryPointHistoryInMinutes?: number; +} // @public export interface VMwareCbtProtectedDiskDetails { @@ -7079,140 +6984,154 @@ export interface VMwareCbtProtectedDiskDetails { readonly isOSDisk?: string; readonly logStorageAccountId?: string; readonly logStorageAccountSasSecretName?: string; + readonly seedBlobUri?: string; readonly seedManagedDiskId?: string; + readonly targetBlobUri?: string; targetDiskName?: string; readonly targetManagedDiskId?: string; } // @public -export type VMwareCbtProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & { +export interface VMwareCbtProtectionContainerMappingDetails extends ProtectionContainerMappingProviderSpecificDetails { instanceType: "VMwareCbt"; readonly keyVaultId?: string; readonly keyVaultUri?: string; + readonly roleSizeToNicCountMap?: { + [propertyName: string]: number; + }; + readonly serviceBusConnectionStringSecretName?: string; readonly storageAccountId?: string; readonly storageAccountSasSecretName?: string; - readonly serviceBusConnectionStringSecretName?: string; readonly targetLocation?: string; -}; +} + +// @public +export interface VMwareCbtResumeReplicationInput extends ResumeReplicationProviderSpecificInput { + deleteMigrationResources?: string; + instanceType: "VMwareCbt"; +} // @public -export type VMwareCbtResyncInput = ResyncProviderSpecificInput & { +export interface VMwareCbtResyncInput extends ResyncProviderSpecificInput { instanceType: "VMwareCbt"; skipCbtReset: string; -}; +} // @public -export type VMwareCbtTestMigrateInput = TestMigrateProviderSpecificInput & { +export interface VMwareCbtTestMigrateInput extends TestMigrateProviderSpecificInput { instanceType: "VMwareCbt"; - recoveryPointId: string; networkId: string; -}; + recoveryPointId: string; + vmNics?: VMwareCbtNicInput[]; +} // @public export interface VMwareCbtUpdateDiskInput { diskId: string; + isOSDisk?: string; targetDiskName?: string; } // @public -export type VMwareCbtUpdateMigrationItemInput = UpdateMigrationItemProviderSpecificInput & { +export interface VMwareCbtUpdateMigrationItemInput extends UpdateMigrationItemProviderSpecificInput { instanceType: "VMwareCbt"; - targetVmName?: string; - targetVmSize?: string; - targetResourceGroupId?: string; + licenseType?: LicenseType; + performAutoResync?: string; + sqlServerLicenseType?: SqlServerLicenseType; 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; }; + targetNetworkId?: string; targetNicTags?: { [propertyName: string]: string; }; -}; + targetProximityPlacementGroupId?: string; + targetResourceGroupId?: string; + targetVmName?: string; + targetVmSize?: string; + targetVmTags?: { + [propertyName: string]: string; + }; + testNetworkId?: string; + vmDisks?: VMwareCbtUpdateDiskInput[]; + vmNics?: VMwareCbtNicInput[]; +} // @public -export type VMwareDetails = FabricSpecificDetails & { - instanceType: "VMware"; - processServers?: ProcessServer[]; - masterTargetServers?: MasterTargetServer[]; - runAsAccounts?: RunAsAccount[]; - replicationPairCount?: string; - processServerCount?: string; +export interface VMwareDetails extends FabricSpecificDetails { agentCount?: string; - protectedServers?: string; - systemLoad?: string; - systemLoadStatus?: string; - cpuLoad?: string; - cpuLoadStatus?: string; - totalMemoryInBytes?: number; + agentExpiryDate?: Date; + agentVersion?: string; + agentVersionDetails?: VersionDetails; availableMemoryInBytes?: number; - memoryUsageStatus?: string; - totalSpaceInBytes?: number; availableSpaceInBytes?: number; - spaceUsageStatus?: string; - webLoad?: string; - webLoadStatus?: string; + cpuLoad?: string; + cpuLoadStatus?: string; + csServiceStatus?: string; databaseServerLoad?: string; databaseServerLoadStatus?: string; - csServiceStatus?: string; - ipAddress?: string; - agentVersion?: string; hostName?: string; + instanceType: "VMware"; + ipAddress?: string; lastHeartbeat?: Date; - versionStatus?: string; + masterTargetServers?: MasterTargetServer[]; + memoryUsageStatus?: string; + processServerCount?: string; + processServers?: ProcessServer[]; + protectedServers?: string; + psTemplateVersion?: string; + replicationPairCount?: string; + runAsAccounts?: RunAsAccount[]; + spaceUsageStatus?: string; sslCertExpiryDate?: Date; sslCertExpiryRemainingDays?: number; - psTemplateVersion?: string; - agentExpiryDate?: Date; - agentVersionDetails?: VersionDetails; switchProviderBlockingErrorDetails?: InMageFabricSwitchProviderBlockingErrorDetails[]; -}; + systemLoad?: string; + systemLoadStatus?: string; + totalMemoryInBytes?: number; + totalSpaceInBytes?: number; + versionStatus?: string; + webLoad?: string; + webLoadStatus?: string; +} // @public -export type VMwareV2FabricCreationInput = FabricSpecificCreationInput & { +export interface VMwareV2FabricCreationInput extends FabricSpecificCreationInput { instanceType: "VMwareV2"; - vmwareSiteId?: string; - physicalSiteId?: string; migrationSolutionId: string; -}; + physicalSiteId?: string; + vmwareSiteId?: string; +} // @public -export type VMwareV2FabricSpecificDetails = FabricSpecificDetails & { +export interface VMwareV2FabricSpecificDetails extends FabricSpecificDetails { instanceType: "VMwareV2"; - readonly vmwareSiteId?: string; - readonly physicalSiteId?: string; readonly migrationSolutionId?: string; + readonly physicalSiteId?: string; + readonly processServers?: ProcessServerDetails[]; + readonly serviceContainerId?: string; readonly serviceEndpoint?: string; readonly serviceResourceId?: string; - readonly serviceContainerId?: string; - readonly processServers?: ProcessServerDetails[]; -}; + readonly vmwareSiteId?: string; +} // @public -export type VMwareVirtualMachineDetails = ConfigurationSettings & { - instanceType: "VMwareVirtualMachine"; +export interface VMwareVirtualMachineDetails extends ConfigurationSettings { agentGeneratedId?: string; agentInstalled?: string; - osType?: string; agentVersion?: string; - ipAddress?: string; - poweredOn?: string; - vCenterInfrastructureId?: string; discoveryType?: string; diskDetails?: InMageDiskDetails[]; + instanceType: "VMwareVirtualMachine"; + ipAddress?: string; + osType?: string; + poweredOn?: string; validationErrors?: HealthError[]; -}; + vCenterInfrastructureId?: string; +} // (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 9be1955eb7f1..3f89d7309da5 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/rollup.config.js +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/rollup.config.js @@ -14,62 +14,14 @@ 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 + * A function that can determine whether a rollup warning should be ignored. If * the function returns `true`, then the warning will not be displayed. */ -function ignoreNiseSinonEvalWarnings(warning) { +function ignoreNiseSinonEval(warning) { return ( warning.code === "EVAL" && warning.id && @@ -78,17 +30,14 @@ function ignoreNiseSinonEvalWarnings(warning) { ); } -function ignoreChaiCircularDependencyWarnings(warning) { +function ignoreChaiCircularDependency(warning) { return ( warning.code === "CIRCULAR_DEPENDENCY" && warning.importer && warning.importer.includes("node_modules/chai") === true ); } -const warningInhibitors = [ - ignoreChaiCircularDependencyWarnings, - ignoreNiseSinonEvalWarnings -]; +const warningInhibitors = [ignoreChaiCircularDependency, ignoreNiseSinonEval]; /** * Construct a warning handler for the shared rollup configuration @@ -122,22 +71,7 @@ function makeBrowserTestConfig() { 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() - } - }), + cjs(), json(), sourcemaps() //viz({ filename: "dist-test/browser-stats.html", sourcemap: true }) @@ -173,7 +107,7 @@ export function makeConfig(pkg, options) { ], output: { file: "dist/index.js", format: "cjs", sourcemap: true }, preserveSymlinks: false, - plugins: [sourcemaps(), nodeResolve(), cjs()] + plugins: [sourcemaps(), nodeResolve()] }; const config = [baseConfig]; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/sample.env b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/sample.env new file mode 100644 index 000000000000..672847a3fea0 --- /dev/null +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/sample.env @@ -0,0 +1,4 @@ +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= \ No newline at end of file diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts index b6b5eda2337b..e9f7286829db 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/index.ts @@ -70,6 +70,9 @@ export type UpdateMigrationItemProviderSpecificInputUnion = export type MigrateProviderSpecificInputUnion = | MigrateProviderSpecificInput | VMwareCbtMigrateInput; +export type ResumeReplicationProviderSpecificInputUnion = + | ResumeReplicationProviderSpecificInput + | VMwareCbtResumeReplicationInput; export type ResyncProviderSpecificInputUnion = | ResyncProviderSpecificInput | VMwareCbtResyncInput; @@ -896,6 +899,16 @@ export interface MigrationItemProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly policyFriendlyName?: string; + /** + * The recovery services provider ARM Id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly recoveryServicesProviderId?: string; + /** + * The replication status. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly replicationStatus?: string; /** * The migration status. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -916,6 +929,16 @@ export interface MigrationItemProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly lastTestMigrationStatus?: string; + /** + * The last migration time. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastMigrationTime?: Date; + /** + * The status of the last migration. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastMigrationStatus?: string; /** * The test migrate state. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -946,6 +969,11 @@ export interface MigrationItemProperties { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly currentJob?: CurrentJobDetails; + /** + * The critical past job details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly criticalJobHistory?: CriticalJobHistoryDetails[]; /** * 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. @@ -974,6 +1002,30 @@ export interface CurrentJobDetails { readonly startTime?: Date; } +/** Critical past job details of the migration item. */ +export interface CriticalJobHistoryDetails { + /** + * The job name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly jobName?: string; + /** + * The ARM Id of the job being executed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly jobId?: string; + /** + * The start time of the job. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly startTime?: Date; + /** + * The job state. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly jobStatus?: string; +} + /** Migration provider specific settings. */ export interface MigrationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -1058,6 +1110,36 @@ export interface MigrationRecoveryPointProperties { readonly recoveryPointType?: MigrationRecoveryPointType; } +/** Pause replication input. */ +export interface PauseReplicationInput { + /** Pause replication input properties. */ + properties: PauseReplicationInputProperties; +} + +/** Pause replication input properties. */ +export interface PauseReplicationInputProperties { + /** The class type. */ + instanceType: string; +} + +/** Resume replication input. */ +export interface ResumeReplicationInput { + /** Resume replication input properties. */ + properties: ResumeReplicationInputProperties; +} + +/** Resume replication input properties. */ +export interface ResumeReplicationInputProperties { + /** The provider specific input for resume replication. */ + providerSpecificDetails: ResumeReplicationProviderSpecificInputUnion; +} + +/** Resume replication provider specific input. */ +export interface ResumeReplicationProviderSpecificInput { + /** Polymorphic discriminator, which specifies the different types this object can be */ + instanceType: "VMwareCbt"; +} + /** Resync input. */ export interface ResyncInput { /** Resync input properties. */ @@ -4651,6 +4733,11 @@ export interface InMageRcmProtectedDiskDetails { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly seedManagedDiskId?: string; + /** + * The uri of the seed blob. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly seedBlobUri?: string; /** * The ARM Id of the target managed disk. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -5018,11 +5105,21 @@ export interface VMwareCbtProtectedDiskDetails { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly seedManagedDiskId?: string; + /** + * The uri of the seed blob. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly seedBlobUri?: string; /** * The ARM Id of the target managed disk. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly targetManagedDiskId?: string; + /** + * The uri of the target blob. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly targetBlobUri?: string; /** The name for the target managed disk. */ targetDiskName?: string; } @@ -5057,6 +5154,14 @@ export interface VMwareCbtNicDetails { targetIPAddressType?: EthernetAddressType; /** Target subnet name. */ targetSubnetName?: string; + /** Source network Id. */ + testNetworkId?: string; + /** Test subnet name. */ + testSubnetName?: string; + /** The test IP address. */ + testIPAddress?: string; + /** The test IP address type. */ + testIPAddressType?: EthernetAddressType; /** Target NIC name. */ targetNicName?: string; /** A value indicating whether this NIC is selected for migration. */ @@ -5077,6 +5182,10 @@ export interface VMwareCbtNicInput { isSelectedForMigration?: string; /** Target NIC name. */ targetNicName?: string; + /** The test subnet name. */ + testSubnetName?: string; + /** The test static IP address. */ + testStaticIPAddress?: string; } /** VMwareCbt disk input for update. */ @@ -5085,154 +5194,157 @@ export interface VMwareCbtUpdateDiskInput { diskId: string; /** The target disk name. */ targetDiskName?: string; + /** A value indicating whether the disk is the OS disk. */ + isOSDisk?: string; } /** Implements the Alert class. */ -export type Alert = Resource & { +export interface Alert extends Resource { /** Alert related data. */ properties?: AlertProperties; -}; +} /** Implements the Event class. */ -export type Event = Resource & { +export interface Event extends Resource { /** Event related data. */ properties?: EventProperties; -}; +} /** Fabric definition. */ -export type Fabric = Resource & { +export interface Fabric extends Resource { /** Fabric related data. */ properties?: FabricProperties; -}; +} /** Logical network data model. */ -export type LogicalNetwork = Resource & { +export interface LogicalNetwork extends Resource { /** The Logical Network Properties. */ properties?: LogicalNetworkProperties; -}; +} /** Network model. */ -export type Network = Resource & { +export interface Network extends 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 & { +export interface NetworkMapping extends Resource { /** The Network Mapping Properties. */ properties?: NetworkMappingProperties; -}; +} /** Protection container details. */ -export type ProtectionContainer = Resource & { +export interface ProtectionContainer extends Resource { /** The custom data. */ properties?: ProtectionContainerProperties; -}; +} /** Migration item. */ -export type MigrationItem = Resource & { +export interface MigrationItem extends Resource { /** The migration item properties. */ properties?: MigrationItemProperties; -}; +} /** Recovery point for a migration item. */ -export type MigrationRecoveryPoint = Resource & { +export interface MigrationRecoveryPoint extends Resource { /** Recovery point properties. */ properties?: MigrationRecoveryPointProperties; -}; +} /** Replication protected item. */ -export type ProtectableItem = Resource & { +export interface ProtectableItem extends Resource { /** The custom data. */ properties?: ProtectableItemProperties; -}; +} /** Replication protected item. */ -export type ReplicationProtectedItem = Resource & { +export interface ReplicationProtectedItem extends Resource { /** The custom data. */ properties?: ReplicationProtectedItemProperties; -}; +} /** Recovery point. */ -export type RecoveryPoint = Resource & { +export interface RecoveryPoint extends Resource { /** The recovery point properties. */ properties?: RecoveryPointProperties; -}; +} /** Protection container mapping object. */ -export type ProtectionContainerMapping = Resource & { +export interface ProtectionContainerMapping extends Resource { /** The custom data. */ properties?: ProtectionContainerMappingProperties; -}; +} /** Provider details. */ -export type RecoveryServicesProvider = Resource & { +export interface RecoveryServicesProvider extends Resource { /** Provider properties. */ properties?: RecoveryServicesProviderProperties; -}; +} /** Storage object definition. */ -export type StorageClassification = Resource & { +export interface StorageClassification extends Resource { /** Properties of the storage object. */ properties?: StorageClassificationProperties; -}; +} /** Storage mapping object. */ -export type StorageClassificationMapping = Resource & { +export interface StorageClassificationMapping extends Resource { /** Properties of the storage mapping object. */ properties?: StorageClassificationMappingProperties; -}; +} /** vCenter definition. */ -export type VCenter = Resource & { +export interface VCenter extends Resource { /** VCenter related data. */ properties?: VCenterProperties; -}; +} /** Job details. */ -export type Job = Resource & { +export interface Job extends Resource { /** The custom data. */ properties?: JobProperties; -}; +} /** Protection profile details. */ -export type Policy = Resource & { +export interface Policy extends Resource { /** The custom data. */ properties?: PolicyProperties; -}; +} /** Replication protection intent. */ -export type ReplicationProtectionIntent = Resource & { +export interface ReplicationProtectionIntent extends Resource { /** The custom data. */ properties?: ReplicationProtectionIntentProperties; -}; +} /** Recovery plan details. */ -export type RecoveryPlan = Resource & { +export interface RecoveryPlan extends Resource { /** The custom details. */ properties?: RecoveryPlanProperties; -}; +} /** Supported operating systems. */ -export type SupportedOperatingSystems = Resource & { +export interface SupportedOperatingSystems extends Resource { /** The supported operating systems properties. */ properties?: SupportedOSProperties; -}; +} /** Vault health details definition. */ -export type VaultHealthDetails = Resource & { +export interface VaultHealthDetails extends Resource { /** The vault health related data. */ properties?: VaultHealthProperties; -}; +} /** Vault setting. */ -export type VaultSetting = Resource & { +export interface VaultSetting extends Resource { /** The vault setting properties. */ properties?: VaultSettingProperties; -}; +} /** InMageRcm appliance specific details. */ -export type InMageRcmApplianceSpecificDetails = ApplianceSpecificDetails & { +export interface InMageRcmApplianceSpecificDetails + extends ApplianceSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** @@ -5240,10 +5352,10 @@ export type InMageRcmApplianceSpecificDetails = ApplianceSpecificDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly appliances?: InMageRcmApplianceDetails[]; -}; +} /** Model class for event details of a A2A event. */ -export type A2AEventDetails = EventProviderSpecificDetails & { +export interface A2AEventDetails extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The protected item arm name. */ @@ -5258,10 +5370,11 @@ export type A2AEventDetails = EventProviderSpecificDetails & { remoteFabricName?: string; /** Remote fabric location. */ remoteFabricLocation?: string; -}; +} /** Model class for event details of a HyperVReplica E2E event. */ -export type HyperVReplica2012EventDetails = EventProviderSpecificDetails & { +export interface HyperVReplica2012EventDetails + extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012"; /** The container friendly name. */ @@ -5272,10 +5385,11 @@ export type HyperVReplica2012EventDetails = EventProviderSpecificDetails & { remoteContainerName?: string; /** The remote fabric name. */ remoteFabricName?: string; -}; +} /** Model class for event details of a HyperVReplica blue E2E event. */ -export type HyperVReplica2012R2EventDetails = EventProviderSpecificDetails & { +export interface HyperVReplica2012R2EventDetails + extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012R2"; /** The container friendly name. */ @@ -5286,10 +5400,11 @@ export type HyperVReplica2012R2EventDetails = EventProviderSpecificDetails & { remoteContainerName?: string; /** The remote fabric name. */ remoteFabricName?: string; -}; +} /** Model class for event details of a HyperVReplica E2A event. */ -export type HyperVReplicaAzureEventDetails = EventProviderSpecificDetails & { +export interface HyperVReplicaAzureEventDetails + extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** The container friendly name. */ @@ -5298,10 +5413,11 @@ export type HyperVReplicaAzureEventDetails = EventProviderSpecificDetails & { fabricName?: string; /** The remote container name. */ remoteContainerName?: string; -}; +} /** Abstract model class for event details of a HyperVReplica E2E event. */ -export type HyperVReplicaBaseEventDetails = EventProviderSpecificDetails & { +export interface HyperVReplicaBaseEventDetails + extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaBaseEventDetails"; /** The container friendly name. */ @@ -5312,10 +5428,11 @@ export type HyperVReplicaBaseEventDetails = EventProviderSpecificDetails & { remoteContainerName?: string; /** The remote fabric name. */ remoteFabricName?: string; -}; +} /** Model class for event details of a VMwareAzureV2 event. */ -export type InMageAzureV2EventDetails = EventProviderSpecificDetails & { +export interface InMageAzureV2EventDetails + extends 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. */ @@ -5332,10 +5449,10 @@ export type InMageAzureV2EventDetails = EventProviderSpecificDetails & { summary?: string; /** VMware Site name. */ siteName?: string; -}; +} /** Event details for InMageRcm provider. */ -export type InMageRcmEventDetails = EventProviderSpecificDetails & { +export interface InMageRcmEventDetails extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** @@ -5378,10 +5495,11 @@ export type InMageRcmEventDetails = EventProviderSpecificDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly componentDisplayName?: string; -}; +} /** Event details for InMageRcmFailback provider. */ -export type InMageRcmFailbackEventDetails = EventProviderSpecificDetails & { +export interface InMageRcmFailbackEventDetails + extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcmFailback"; /** @@ -5409,10 +5527,10 @@ export type InMageRcmFailbackEventDetails = EventProviderSpecificDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly componentDisplayName?: string; -}; +} /** Event details for VMwareCbt provider. */ -export type VMwareCbtEventDetails = EventProviderSpecificDetails & { +export interface VMwareCbtEventDetails extends EventProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; /** @@ -5420,10 +5538,10 @@ export type VMwareCbtEventDetails = EventProviderSpecificDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly migrationItemName?: string; -}; +} /** Model class for event details of a job status event. */ -export type JobStatusEventDetails = EventSpecificDetails & { +export interface JobStatusEventDetails extends EventSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "JobStatus"; /** Job arm id for the event. */ @@ -5434,10 +5552,10 @@ export type JobStatusEventDetails = EventSpecificDetails & { jobStatus?: string; /** AffectedObjectType for the event. */ affectedObjectType?: string; -}; +} /** Azure Fabric Specific Details. */ -export type AzureFabricSpecificDetails = FabricSpecificDetails & { +export interface AzureFabricSpecificDetails extends FabricSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "Azure"; /** The Location for the Azure fabric. */ @@ -5446,18 +5564,18 @@ export type AzureFabricSpecificDetails = FabricSpecificDetails & { containerIds?: string[]; /** The zones. */ zones?: A2AZoneDetails[]; -}; +} /** HyperVSite fabric specific details. */ -export type HyperVSiteDetails = FabricSpecificDetails & { +export interface HyperVSiteDetails extends 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 & { +export interface InMageRcmFabricSpecificDetails extends FabricSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** @@ -5537,16 +5655,16 @@ export type InMageRcmFabricSpecificDetails = FabricSpecificDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly agentDetails?: AgentDetails[]; -}; +} /** VMM fabric specific details. */ -export type VmmDetails = FabricSpecificDetails & { +export interface VmmDetails extends 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 & { +export interface VMwareDetails extends FabricSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMware"; /** The list of Process Servers associated with the fabric. */ @@ -5615,10 +5733,10 @@ export type VMwareDetails = FabricSpecificDetails & { agentVersionDetails?: VersionDetails; /** The switch provider blocking error information. */ switchProviderBlockingErrorDetails?: InMageFabricSwitchProviderBlockingErrorDetails[]; -}; +} /** VMwareV2 fabric specific details. */ -export type VMwareV2FabricSpecificDetails = FabricSpecificDetails & { +export interface VMwareV2FabricSpecificDetails extends FabricSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareV2"; /** @@ -5656,18 +5774,19 @@ export type VMwareV2FabricSpecificDetails = FabricSpecificDetails & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly processServers?: ProcessServerDetails[]; -}; +} /** Fabric provider specific settings. */ -export type AzureFabricCreationInput = FabricSpecificCreationInput & { +export interface AzureFabricCreationInput extends FabricSpecificCreationInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "Azure"; /** The Location. */ location?: string; -}; +} /** InMageRcm fabric provider specific settings. */ -export type InMageRcmFabricCreationInput = FabricSpecificCreationInput & { +export interface InMageRcmFabricCreationInput + extends FabricSpecificCreationInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** The ARM Id of the VMware site. */ @@ -5676,10 +5795,11 @@ export type InMageRcmFabricCreationInput = FabricSpecificCreationInput & { physicalSiteId: string; /** The identity provider input for source agent authentication. */ sourceAgentIdentity: IdentityProviderInput; -}; +} /** VMwareV2 fabric provider specific settings. */ -export type VMwareV2FabricCreationInput = FabricSpecificCreationInput & { +export interface VMwareV2FabricCreationInput + extends FabricSpecificCreationInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareV2"; /** The ARM Id of the VMware site. */ @@ -5688,90 +5808,103 @@ export type VMwareV2FabricCreationInput = FabricSpecificCreationInput & { physicalSiteId?: string; /** The ARM Id of the migration solution. */ migrationSolutionId: string; -}; +} /** A2A Network Mapping fabric specific settings. */ -export type AzureToAzureNetworkMappingSettings = NetworkMappingFabricSpecificSettings & { +export interface AzureToAzureNetworkMappingSettings + extends 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 & { +export interface VmmToAzureNetworkMappingSettings + extends NetworkMappingFabricSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VmmToAzure"; -}; +} /** E2E Network Mapping fabric specific settings. */ -export type VmmToVmmNetworkMappingSettings = NetworkMappingFabricSpecificSettings & { +export interface VmmToVmmNetworkMappingSettings + extends 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 & { +export interface AzureToAzureCreateNetworkMappingInput + extends 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 & { +export interface VmmToAzureCreateNetworkMappingInput + extends 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 & { +export interface VmmToVmmCreateNetworkMappingInput + extends FabricSpecificCreateNetworkMappingInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VmmToVmm"; -}; +} /** Updates network mappings input. */ -export type AzureToAzureUpdateNetworkMappingInput = FabricSpecificUpdateNetworkMappingInput & { +export interface AzureToAzureUpdateNetworkMappingInput + extends 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 & { +export interface VmmToAzureUpdateNetworkMappingInput + extends 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 & { +export interface VmmToVmmUpdateNetworkMappingInput + extends FabricSpecificUpdateNetworkMappingInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VmmToVmm"; -}; +} /** A2A cloud creation input. */ -export type A2AContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & { +export interface A2AContainerCreationInput + extends ReplicationProviderSpecificContainerCreationInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; -}; +} /** A2ACrossClusterMigration cloud creation input. */ -export type A2ACrossClusterMigrationContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & { +export interface A2ACrossClusterMigrationContainerCreationInput + extends ReplicationProviderSpecificContainerCreationInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2ACrossClusterMigration"; -}; +} /** VMwareCbt container creation input. */ -export type VMwareCbtContainerCreationInput = ReplicationProviderSpecificContainerCreationInput & { +export interface VMwareCbtContainerCreationInput + extends ReplicationProviderSpecificContainerCreationInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; -}; +} /** VMwareCbt provider specific settings. */ -export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { +export interface VMwareCbtMigrationDetails + extends MigrationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; /** @@ -5808,6 +5941,11 @@ export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly snapshotRunAsAccountId?: string; + /** + * The replication storage account ARM Id. This is applicable only for the blob based replication test hook. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly storageAccountId?: string; /** Target VM name. */ targetVmName?: string; /** The target VM size. */ @@ -5833,6 +5971,8 @@ export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { protectedDisks?: VMwareCbtProtectedDiskDetails[]; /** The target network Id. */ targetNetworkId?: string; + /** The test network Id. */ + testNetworkId?: string; /** The network details. */ vmNics?: VMwareCbtNicDetails[]; /** The tags for the target NICs. */ @@ -5867,6 +6007,11 @@ export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resyncProgressPercentage?: number; + /** + * The resume progress percentage. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resumeProgressPercentage?: number; /** * The initial seeding retry count. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -5877,6 +6022,11 @@ export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resyncRetryCount?: number; + /** + * The resume retry count. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resumeRetryCount?: number; /** * A value indicating whether resync is required. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -5893,10 +6043,11 @@ export type VMwareCbtMigrationDetails = MigrationProviderSpecificSettings & { seedDiskTags?: { [propertyName: string]: string }; /** The tags for the target disks. */ targetDiskTags?: { [propertyName: string]: string }; -}; +} /** VMwareCbt specific enable migration input. */ -export type VMwareCbtEnableMigrationInput = EnableMigrationProviderSpecificInput & { +export interface VMwareCbtEnableMigrationInput + extends EnableMigrationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; /** The ARM Id of the VM discovered in VMware. */ @@ -5919,8 +6070,12 @@ export type VMwareCbtEnableMigrationInput = EnableMigrationProviderSpecificInput targetResourceGroupId: string; /** The target network ARM Id. */ targetNetworkId: string; + /** The selected test network ARM Id. */ + testNetworkId?: string; /** The target subnet name. */ targetSubnetName?: string; + /** The selected test subnet name. */ + testSubnetName?: string; /** The target availability set ARM Id. */ targetAvailabilitySetId?: string; /** The target availability zone. */ @@ -5939,10 +6094,11 @@ export type VMwareCbtEnableMigrationInput = EnableMigrationProviderSpecificInput targetDiskTags?: { [propertyName: string]: string }; /** The tags for the target NICs. */ targetNicTags?: { [propertyName: string]: string }; -}; +} /** VMwareCbt specific update migration item input. */ -export type VMwareCbtUpdateMigrationItemInput = UpdateMigrationItemProviderSpecificInput & { +export interface VMwareCbtUpdateMigrationItemInput + extends UpdateMigrationItemProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; /** The target VM name. */ @@ -5961,6 +6117,8 @@ export type VMwareCbtUpdateMigrationItemInput = UpdateMigrationItemProviderSpeci targetBootDiagnosticsStorageAccountId?: string; /** The target network ARM Id. */ targetNetworkId?: string; + /** The test network ARM Id. */ + testNetworkId?: string; /** The list of NIC details. */ vmNics?: VMwareCbtNicInput[]; /** The list of disk update properties. */ @@ -5977,36 +6135,48 @@ export type VMwareCbtUpdateMigrationItemInput = UpdateMigrationItemProviderSpeci targetDiskTags?: { [propertyName: string]: string }; /** The tags for the target NICs. */ targetNicTags?: { [propertyName: string]: string }; -}; +} /** VMwareCbt specific migrate input. */ -export type VMwareCbtMigrateInput = MigrateProviderSpecificInput & { +export interface VMwareCbtMigrateInput extends 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 resume replication input. */ +export interface VMwareCbtResumeReplicationInput + extends ResumeReplicationProviderSpecificInput { + /** Polymorphic discriminator, which specifies the different types this object can be */ + instanceType: "VMwareCbt"; + /** A value indicating whether Migration resources to be deleted. */ + deleteMigrationResources?: string; +} /** VMwareCbt specific resync input. */ -export type VMwareCbtResyncInput = ResyncProviderSpecificInput & { +export interface VMwareCbtResyncInput extends 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 & { +export interface VMwareCbtTestMigrateInput + extends 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; -}; + /** The list of NIC details. */ + vmNics?: VMwareCbtNicInput[]; +} /** Single Host fabric provider specific VM settings. */ -export type HyperVVirtualMachineDetails = ConfigurationSettings & { +export interface HyperVVirtualMachineDetails extends ConfigurationSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVVirtualMachine" | "VmmVirtualMachine"; /** The source id of the object. */ @@ -6025,16 +6195,16 @@ export type HyperVVirtualMachineDetails = ConfigurationSettings & { 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 & { +export interface ReplicationGroupDetails extends ConfigurationSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "ReplicationGroupDetails"; -}; +} /** VMware provider specific settings. */ -export type VMwareVirtualMachineDetails = ConfigurationSettings & { +export interface VMwareVirtualMachineDetails extends 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. */ @@ -6057,10 +6227,11 @@ export type VMwareVirtualMachineDetails = ConfigurationSettings & { diskDetails?: InMageDiskDetails[]; /** The validation errors. */ validationErrors?: HealthError[]; -}; +} /** A2A provider specific settings. */ -export type A2ACrossClusterMigrationReplicationDetails = ReplicationProviderSpecificSettings & { +export interface A2ACrossClusterMigrationReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2ACrossClusterMigration"; /** The fabric specific object Id of the virtual machine. */ @@ -6075,10 +6246,11 @@ export type A2ACrossClusterMigrationReplicationDetails = ReplicationProviderSpec 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 & { +export interface A2AReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The fabric specific object Id of the virtual machine. */ @@ -6208,10 +6380,11 @@ export type A2AReplicationDetails = ReplicationProviderSpecificSettings & { recoveryVirtualMachineScaleSetId?: string; /** The recovery capacity reservation group Id. */ recoveryCapacityReservationGroupId?: string; -}; +} /** Hyper V Replica Azure provider specific settings. */ -export type HyperVReplicaAzureReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaAzureReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** Azure VM Disk details. */ @@ -6283,10 +6456,11 @@ export type HyperVReplicaAzureReplicationDetails = ReplicationProviderSpecificSe targetNicTags?: { [propertyName: string]: string }; /** The list of protected managed disks. */ protectedManagedDisks?: HyperVReplicaAzureManagedDiskDetails[]; -}; +} /** Hyper V replica provider specific settings base class. */ -export type HyperVReplicaBaseReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaBaseReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaBaseReplicationDetails"; /** The Last replication time. */ @@ -6303,10 +6477,11 @@ export type HyperVReplicaBaseReplicationDetails = ReplicationProviderSpecificSet initialReplicationDetails?: InitialReplicationDetails; /** VM disk details. */ vMDiskDetails?: DiskDetails[]; -}; +} /** HyperV replica 2012 R2 (Blue) replication details. */ -export type HyperVReplicaBlueReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaBlueReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012R2"; /** The Last replication time. */ @@ -6323,10 +6498,11 @@ export type HyperVReplicaBlueReplicationDetails = ReplicationProviderSpecificSet initialReplicationDetails?: InitialReplicationDetails; /** VM disk details. */ vMDiskDetails?: DiskDetails[]; -}; +} /** HyperV replica 2012 replication details. */ -export type HyperVReplicaReplicationDetails = ReplicationProviderSpecificSettings & { +export interface HyperVReplicaReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012"; /** The Last replication time. */ @@ -6343,10 +6519,11 @@ export type HyperVReplicaReplicationDetails = ReplicationProviderSpecificSetting initialReplicationDetails?: InitialReplicationDetails; /** VM disk details. */ vMDiskDetails?: DiskDetails[]; -}; +} /** InMageAzureV2 provider specific settings. */ -export type InMageAzureV2ReplicationDetails = ReplicationProviderSpecificSettings & { +export interface InMageAzureV2ReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The infrastructure VM Id. */ @@ -6486,10 +6663,11 @@ export type InMageAzureV2ReplicationDetails = ReplicationProviderSpecificSetting switchProviderBlockingErrorDetails?: InMageAzureV2SwitchProviderBlockingErrorDetails[]; /** The switch provider blocking error information. */ switchProviderDetails?: InMageAzureV2SwitchProviderDetails; -}; +} /** InMageRcmFailback provider specific details. */ -export type InMageRcmFailbackReplicationDetails = ReplicationProviderSpecificSettings & { +export interface InMageRcmFailbackReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcmFailback"; /** @@ -6625,10 +6803,11 @@ export type InMageRcmFailbackReplicationDetails = ReplicationProviderSpecificSet * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly isAgentRegistrationSuccessfulAfterFailover?: boolean; -}; +} /** InMageRcm provider specific details. */ -export type InMageRcmReplicationDetails = ReplicationProviderSpecificSettings & { +export interface InMageRcmReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** @@ -6698,6 +6877,11 @@ export type InMageRcmReplicationDetails = ReplicationProviderSpecificSettings & readonly targetGeneration?: string; /** License Type of the VM to be used. */ licenseType?: string; + /** + * The replication storage account ARM Id. This is applicable only for the blob based replication test hook. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly storageAccountId?: string; /** Target VM name. */ targetVmName?: string; /** The target VM size. */ @@ -6835,10 +7019,11 @@ export type InMageRcmReplicationDetails = ReplicationProviderSpecificSettings & vmNics?: InMageRcmNicDetails[]; /** The discovered VM details. */ discoveredVmDetails?: InMageRcmDiscoveredProtectedVmDetails; -}; +} /** InMage provider specific settings. */ -export type InMageReplicationDetails = ReplicationProviderSpecificSettings & { +export interface InMageReplicationDetails + extends ReplicationProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMage"; /** 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. */ @@ -6921,20 +7106,22 @@ export type InMageReplicationDetails = ReplicationProviderSpecificSettings & { totalDataTransferred?: number; /** The progress health. */ totalProgressHealth?: string; -}; +} /** A2A Cross-Cluster Migration enable protection input. */ -export type A2ACrossClusterMigrationEnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface A2ACrossClusterMigrationEnableProtectionInput + extends 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; -}; +} /** A2A enable protection input. */ -export type A2AEnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface A2AEnableProtectionInput + extends EnableProtectionProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The fabric specific object Id of the virtual machine. */ @@ -6973,10 +7160,11 @@ export type A2AEnableProtectionInput = EnableProtectionProviderSpecificInput & { recoveryVirtualMachineScaleSetId?: string; /** The recovery capacity reservation group Id. */ recoveryCapacityReservationGroupId?: string; -}; +} /** HyperVReplicaAzure specific enable protection input. */ -export type HyperVReplicaAzureEnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface HyperVReplicaAzureEnableProtectionInput + extends EnableProtectionProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** The Hyper-V host VM Id. */ @@ -7035,10 +7223,11 @@ export type HyperVReplicaAzureEnableProtectionInput = EnableProtectionProviderSp targetManagedDiskTags?: { [propertyName: string]: string }; /** The tags for the target NICs. */ targetNicTags?: { [propertyName: string]: string }; -}; +} /** VMware Azure specific enable protection input. */ -export type InMageAzureV2EnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface InMageAzureV2EnableProtectionInput + extends EnableProtectionProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The Master target Id. */ @@ -7093,10 +7282,11 @@ export type InMageAzureV2EnableProtectionInput = EnableProtectionProviderSpecifi targetManagedDiskTags?: { [propertyName: string]: string }; /** The tags for the target NICs. */ targetNicTags?: { [propertyName: string]: string }; -}; +} /** VMware Azure specific enable protection input. */ -export type InMageEnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface InMageEnableProtectionInput + extends EnableProtectionProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMage"; /** The VM Name. */ @@ -7119,10 +7309,11 @@ export type InMageEnableProtectionInput = EnableProtectionProviderSpecificInput diskExclusionInput?: InMageDiskExclusionInput; /** The disks to include list. */ disksToInclude?: string[]; -}; +} /** InMageRcm specific enable protection input. */ -export type InMageRcmEnableProtectionInput = EnableProtectionProviderSpecificInput & { +export interface InMageRcmEnableProtectionInput + extends EnableProtectionProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** The ARM Id of discovered machine. */ @@ -7161,10 +7352,11 @@ export type InMageRcmEnableProtectionInput = EnableProtectionProviderSpecificInp processServerId: string; /** The multi VM group name. */ multiVmGroupName?: string; -}; +} /** InMage Azure V2 input to update replication protected item. */ -export type A2AUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface A2AUpdateReplicationProtectedItemInput + extends UpdateReplicationProtectedItemProviderInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The target cloud service ARM Id (for V1). */ @@ -7185,10 +7377,11 @@ export type A2AUpdateReplicationProtectedItemInput = UpdateReplicationProtectedI recoveryVirtualMachineScaleSetId?: string; /** The recovery capacity reservation group Id. */ recoveryCapacityReservationGroupId?: string; -}; +} /** HyperV replica Azure input to update replication protected item. */ -export type HyperVReplicaAzureUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface HyperVReplicaAzureUpdateReplicationProtectedItemInput + extends UpdateReplicationProtectedItemProviderInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** The recovery Azure resource group Id for classic deployment. */ @@ -7213,10 +7406,11 @@ export type HyperVReplicaAzureUpdateReplicationProtectedItemInput = UpdateReplic sqlServerLicenseType?: SqlServerLicenseType; /** The list of disk update properties. */ vmDisks?: UpdateDiskInput[]; -}; +} /** InMage Azure V2 input to update replication protected item. */ -export type InMageAzureV2UpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface InMageAzureV2UpdateReplicationProtectedItemInput + extends UpdateReplicationProtectedItemProviderInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The recovery Azure resource group Id for classic deployment. */ @@ -7239,10 +7433,11 @@ export type InMageAzureV2UpdateReplicationProtectedItemInput = UpdateReplication sqlServerLicenseType?: SqlServerLicenseType; /** The list of disk update properties. */ vmDisks?: UpdateDiskInput[]; -}; +} /** InMageRcm provider specific input to update replication protected item. */ -export type InMageRcmUpdateReplicationProtectedItemInput = UpdateReplicationProtectedItemProviderInput & { +export interface InMageRcmUpdateReplicationProtectedItemInput + extends UpdateReplicationProtectedItemProviderInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** The target VM name. */ @@ -7267,56 +7462,62 @@ export type InMageRcmUpdateReplicationProtectedItemInput = UpdateReplicationProt vmNics?: InMageRcmNicInput[]; /** The license type. */ licenseType?: LicenseType; -}; +} /** A2A add disk(s) input. */ -export type A2AAddDisksInput = AddDisksProviderSpecificInput & { +export interface A2AAddDisksInput extends 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[]; -}; +} /** ApplyRecoveryPoint input specific to A2A provider. */ -export type A2AApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface A2AApplyRecoveryPointInput + extends ApplyRecoveryPointProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; -}; +} /** ApplyRecoveryPoint input specific to A2ACrossClusterMigration provider. */ -export type A2ACrossClusterMigrationApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface A2ACrossClusterMigrationApplyRecoveryPointInput + extends ApplyRecoveryPointProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2ACrossClusterMigration"; -}; +} /** ApplyRecoveryPoint input specific to HyperVReplicaAzure provider. */ -export type HyperVReplicaAzureApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface HyperVReplicaAzureApplyRecoveryPointInput + extends 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; -}; +} /** ApplyRecoveryPoint input specific to InMageAzureV2 provider. */ -export type InMageAzureV2ApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface InMageAzureV2ApplyRecoveryPointInput + extends ApplyRecoveryPointProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; -}; +} /** ApplyRecoveryPoint input specific to InMageRcm provider. */ -export type InMageRcmApplyRecoveryPointInput = ApplyRecoveryPointProviderSpecificInput & { +export interface InMageRcmApplyRecoveryPointInput + extends ApplyRecoveryPointProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** The recovery point Id. */ recoveryPointId: string; -}; +} /** HyperVReplicaAzureFailback specific planned failover input. */ -export type HyperVReplicaAzureFailbackProviderInput = PlannedFailoverProviderSpecificFailoverInput & { +export interface HyperVReplicaAzureFailbackProviderInput + extends PlannedFailoverProviderSpecificFailoverInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzureFailback"; /** Data sync option. */ @@ -7325,10 +7526,11 @@ export type HyperVReplicaAzureFailbackProviderInput = PlannedFailoverProviderSpe recoveryVmCreationOption?: string; /** Provider Id for alternate location. */ providerIdForAlternateRecovery?: string; -}; +} /** HyperVReplicaAzure specific planned failover input. */ -export type HyperVReplicaAzurePlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & { +export interface HyperVReplicaAzurePlannedFailoverProviderInput + extends PlannedFailoverProviderSpecificFailoverInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** Primary kek certificate pfx. */ @@ -7337,36 +7539,40 @@ export type HyperVReplicaAzurePlannedFailoverProviderInput = PlannedFailoverProv 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; -}; +} /** Provider specific input for InMageRcmFailback failover. */ -export type InMageRcmFailbackPlannedFailoverProviderInput = PlannedFailoverProviderSpecificFailoverInput & { +export interface InMageRcmFailbackPlannedFailoverProviderInput + extends PlannedFailoverProviderSpecificFailoverInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcmFailback"; /** The recovery point type. */ recoveryPointType: InMageRcmFailbackRecoveryPointType; -}; +} /** A2A provider specific recovery point details. */ -export type A2ARecoveryPointDetails = ProviderSpecificRecoveryPointDetails & { +export interface A2ARecoveryPointDetails + extends 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[]; -}; +} /** InMage Azure V2 provider specific recovery point details. */ -export type InMageAzureV2RecoveryPointDetails = ProviderSpecificRecoveryPointDetails & { +export interface InMageAzureV2RecoveryPointDetails + extends 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; -}; +} /** InMageRcm provider specific recovery point details. */ -export type InMageRcmRecoveryPointDetails = ProviderSpecificRecoveryPointDetails & { +export interface InMageRcmRecoveryPointDetails + extends ProviderSpecificRecoveryPointDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** @@ -7374,28 +7580,30 @@ export type InMageRcmRecoveryPointDetails = ProviderSpecificRecoveryPointDetails * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly isMultiVmSyncPoint?: string; -}; +} /** InMage disable protection provider specific input. */ -export type InMageDisableProtectionProviderSpecificInput = DisableProtectionProviderSpecificInput & { +export interface InMageDisableProtectionProviderSpecificInput + extends 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; -}; +} /** A2A remove disk(s) input. */ -export type A2ARemoveDisksInput = RemoveDisksProviderSpecificInput & { +export interface A2ARemoveDisksInput extends 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[]; -}; +} /** Azure specific reprotect input. */ -export type A2AReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface A2AReprotectInput + extends ReverseReplicationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The recovery container Id. */ @@ -7410,10 +7618,11 @@ export type A2AReprotectInput = ReverseReplicationProviderSpecificInput & { recoveryAvailabilitySetId?: string; /** The Policy Id. */ policyId?: string; -}; +} /** Azure specific reprotect input. */ -export type HyperVReplicaAzureReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface HyperVReplicaAzureReprotectInput + extends ReverseReplicationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** The Hyper-V host Vm Id. */ @@ -7428,10 +7637,11 @@ export type HyperVReplicaAzureReprotectInput = ReverseReplicationProviderSpecifi storageAccountId?: string; /** The storage account to be used for logging during replication. */ logStorageAccountId?: string; -}; +} /** InMageAzureV2 specific provider input. */ -export type InMageAzureV2ReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageAzureV2ReprotectInput + extends ReverseReplicationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The Master target Id. */ @@ -7448,10 +7658,11 @@ export type InMageAzureV2ReprotectInput = ReverseReplicationProviderSpecificInpu logStorageAccountId?: string; /** The disks to include list. */ disksToInclude?: string[]; -}; +} /** InMageRcmFailback specific provider input. */ -export type InMageRcmFailbackReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageRcmFailbackReprotectInput + extends ReverseReplicationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcmFailback"; /** The process server Id. */ @@ -7460,10 +7671,11 @@ export type InMageRcmFailbackReprotectInput = ReverseReplicationProviderSpecific runAsAccountId?: string; /** The Policy Id. */ policyId: string; -}; +} /** InMageRcm specific provider input. */ -export type InMageRcmReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageRcmReprotectInput + extends ReverseReplicationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** The reprotect agent Id. */ @@ -7474,10 +7686,11 @@ export type InMageRcmReprotectInput = ReverseReplicationProviderSpecificInput & logStorageAccountId: string; /** The Policy Id. */ policyId?: string; -}; +} /** InMageAzureV2 specific provider input. */ -export type InMageReprotectInput = ReverseReplicationProviderSpecificInput & { +export interface InMageReprotectInput + extends ReverseReplicationProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMage"; /** The Master Target Id. */ @@ -7496,10 +7709,11 @@ export type InMageReprotectInput = ReverseReplicationProviderSpecificInput & { profileId: string; /** The disks to include list. */ disksToInclude?: string[]; -}; +} /** Provider specific input for InMageAzureV2 switch provider. */ -export type InMageAzureV2SwitchProviderInput = SwitchProviderSpecificInput & { +export interface InMageAzureV2SwitchProviderInput + extends SwitchProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The target vault Id. */ @@ -7508,20 +7722,22 @@ export type InMageAzureV2SwitchProviderInput = SwitchProviderSpecificInput & { targetFabricID: string; /** The target appliance Id. */ targetApplianceID: string; -}; +} /** A2A provider specific input for test failover. */ -export type A2ATestFailoverInput = TestFailoverProviderSpecificInput & { +export interface A2ATestFailoverInput + extends 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 & { +export interface HyperVReplicaAzureTestFailoverInput + extends TestFailoverProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** Primary kek certificate pfx. */ @@ -7530,48 +7746,53 @@ export type HyperVReplicaAzureTestFailoverInput = TestFailoverProviderSpecificIn 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 & { +export interface InMageAzureV2TestFailoverInput + extends 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 & { +export interface InMageRcmTestFailoverInput + extends 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 & { +export interface InMageTestFailoverInput + extends 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 & { +export interface A2AUnplannedFailoverInput + extends 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 & { +export interface HyperVReplicaAzureUnplannedFailoverInput + extends UnplannedFailoverProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** Primary kek certificate pfx. */ @@ -7580,46 +7801,51 @@ export type HyperVReplicaAzureUnplannedFailoverInput = UnplannedFailoverProvider 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 & { +export interface InMageAzureV2UnplannedFailoverInput + extends 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 & { +export interface InMageRcmUnplannedFailoverInput + extends 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 & { +export interface InMageUnplannedFailoverInput + extends 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; -}; +} /** InMageRcm provider specific input to update appliance for replication protected item. */ -export type InMageRcmUpdateApplianceForReplicationProtectedItemInput = UpdateApplianceForReplicationProtectedItemProviderSpecificInput & { +export interface InMageRcmUpdateApplianceForReplicationProtectedItemInput + extends UpdateApplianceForReplicationProtectedItemProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** The run as account Id. */ runAsAccountId?: string; -}; +} /** A2A provider specific settings. */ -export type A2AProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & { +export interface A2AProtectionContainerMappingDetails + extends ProtectionContainerMappingProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** A value indicating whether the auto update is enabled. */ @@ -7632,10 +7858,11 @@ export type A2AProtectionContainerMappingDetails = ProtectionContainerMappingPro scheduleName?: string; /** The job schedule arm name. */ jobScheduleName?: string; -}; +} /** InMageRcm provider specific container mapping details. */ -export type InMageRcmProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & { +export interface InMageRcmProtectionContainerMappingDetails + extends ProtectionContainerMappingProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageRcm"; /** @@ -7643,10 +7870,11 @@ export type InMageRcmProtectionContainerMappingDetails = ProtectionContainerMapp * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly enableAgentAutoUpgrade?: string; -}; +} /** VMwareCbt provider specific container mapping details. */ -export type VMwareCbtProtectionContainerMappingDetails = ProtectionContainerMappingProviderSpecificDetails & { +export interface VMwareCbtProtectionContainerMappingDetails + extends ProtectionContainerMappingProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; /** @@ -7679,10 +7907,16 @@ export type VMwareCbtProtectionContainerMappingDetails = ProtectionContainerMapp * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly targetLocation?: string; -}; + /** + * The role size to NIC count map. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleSizeToNicCountMap?: { [propertyName: string]: number }; +} /** A2A container mapping input. */ -export type A2AContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & { +export interface A2AContainerMappingInput + extends ReplicationProviderSpecificContainerMappingInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** A value indicating whether the auto update is enabled. */ @@ -7691,28 +7925,30 @@ export type A2AContainerMappingInput = ReplicationProviderSpecificContainerMappi automationAccountArmId?: string; /** A value indicating the type authentication to use for automation Account. */ automationAccountAuthenticationType?: AutomationAccountAuthenticationType; -}; +} /** VMwareCbt container mapping input. */ -export type VMwareCbtContainerMappingInput = ReplicationProviderSpecificContainerMappingInput & { +export interface VMwareCbtContainerMappingInput + extends ReplicationProviderSpecificContainerMappingInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VMwareCbt"; /** The target key vault ARM Id. */ - keyVaultId: string; + keyVaultId?: string; /** The target key vault URL. */ - keyVaultUri: string; + keyVaultUri?: string; /** The storage account ARM Id. */ storageAccountId: string; /** The secret name of the storage account. */ - storageAccountSasSecretName: string; + storageAccountSasSecretName?: string; /** The secret name of the service bus connection string. */ - serviceBusConnectionStringSecretName: string; + serviceBusConnectionStringSecretName?: string; /** The target location. */ targetLocation: string; -}; +} /** A2A update protection container mapping. */ -export type A2AUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & { +export interface A2AUpdateContainerMappingInput + extends ReplicationProviderSpecificUpdateContainerMappingInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** A value indicating whether the auto update is enabled. */ @@ -7721,18 +7957,20 @@ export type A2AUpdateContainerMappingInput = ReplicationProviderSpecificUpdateCo automationAccountArmId?: string; /** A value indicating the type authentication to use for automation Account. */ automationAccountAuthenticationType?: AutomationAccountAuthenticationType; -}; +} /** InMageRcm update protection container mapping. */ -export type InMageRcmUpdateContainerMappingInput = ReplicationProviderSpecificUpdateContainerMappingInput & { +export interface InMageRcmUpdateContainerMappingInput + extends 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; -}; +} /** A2A specific switch protection input. */ -export type A2ASwitchProtectionInput = SwitchProtectionProviderSpecificInput & { +export interface A2ASwitchProtectionInput + extends SwitchProtectionProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The recovery container Id. */ @@ -7761,10 +7999,10 @@ export type A2ASwitchProtectionInput = SwitchProtectionProviderSpecificInput & { recoveryCapacityReservationGroupId?: string; /** The recovery disk encryption information. */ diskEncryptionInfo?: DiskEncryptionInfo; -}; +} /** This class represents the task details for an automation runbook. */ -export type AutomationRunbookTaskDetails = TaskTypeDetails & { +export interface AutomationRunbookTaskDetails extends TaskTypeDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "AutomationRunbookTaskDetails"; /** The recovery plan task name. */ @@ -7785,18 +8023,18 @@ export type AutomationRunbookTaskDetails = TaskTypeDetails & { jobOutput?: string; /** A value indicating whether it is a primary side script or not. */ isPrimarySideScript?: boolean; -}; +} /** This class contains monitoring details of all the inconsistent Protected Entities in Vmm. */ -export type ConsistencyCheckTaskDetails = TaskTypeDetails & { +export interface ConsistencyCheckTaskDetails extends TaskTypeDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "ConsistencyCheckTaskDetails"; /** The list of inconsistent Vm details. */ vmDetails?: InconsistentVmDetails[]; -}; +} /** This class represents a task which is actually a workflow so that one can navigate to its individual drill down. */ -export type JobTaskDetails = TaskTypeDetails & { +export interface JobTaskDetails extends TaskTypeDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: | "JobTaskDetails" @@ -7804,10 +8042,10 @@ export type JobTaskDetails = TaskTypeDetails & { | "VirtualMachineTaskDetails"; /** The job entity. */ jobTask?: JobEntity; -}; +} /** This class represents the manual action task details. */ -export type ManualActionTaskDetails = TaskTypeDetails & { +export interface ManualActionTaskDetails extends TaskTypeDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "ManualActionTaskDetails"; /** The name. */ @@ -7816,10 +8054,10 @@ export type ManualActionTaskDetails = TaskTypeDetails & { instructions?: string; /** The observation. */ observation?: string; -}; +} /** This class represents the script action task details. */ -export type ScriptActionTaskDetails = TaskTypeDetails & { +export interface ScriptActionTaskDetails extends TaskTypeDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "ScriptActionTaskDetails"; /** The name. */ @@ -7830,10 +8068,10 @@ export type ScriptActionTaskDetails = TaskTypeDetails & { output?: string; /** A value indicating whether it is a primary side script or not. */ isPrimarySideScript?: boolean; -}; +} /** This class represents the vm NicUpdates task details. */ -export type VmNicUpdatesTaskDetails = TaskTypeDetails & { +export interface VmNicUpdatesTaskDetails extends TaskTypeDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VmNicUpdatesTaskDetails"; /** Virtual machine Id. */ @@ -7842,18 +8080,18 @@ export type VmNicUpdatesTaskDetails = TaskTypeDetails & { nicId?: string; /** Name of the Nic. */ name?: string; -}; +} /** This class represents the inline workflow task details. */ -export type InlineWorkflowTaskDetails = GroupTaskDetails & { +export interface InlineWorkflowTaskDetails extends GroupTaskDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InlineWorkflowTaskDetails"; /** The list of child workflow ids. */ workflowIds?: string[]; -}; +} /** This class represents the recovery plan group task. */ -export type RecoveryPlanGroupTaskDetails = GroupTaskDetails & { +export interface RecoveryPlanGroupTaskDetails extends GroupTaskDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: | "RecoveryPlanGroupTaskDetails" @@ -7864,42 +8102,42 @@ export type RecoveryPlanGroupTaskDetails = GroupTaskDetails & { groupId?: string; /** The group type. */ rpGroupType?: string; -}; +} /** This class represents job details based on specific job type. */ -export type AsrJobDetails = JobDetails & { +export interface AsrJobDetails extends JobDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "AsrJobDetails"; -}; +} /** This class represents details for export jobs workflow. */ -export type ExportJobDetails = JobDetails & { +export interface ExportJobDetails extends 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 & { +export interface FailoverJobDetails extends 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 & { +export interface SwitchProtectionJobDetails extends 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 & { +export interface TestFailoverJobDetails extends JobDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "TestFailoverJobDetails"; /** The test failover status. */ @@ -7914,10 +8152,10 @@ export type TestFailoverJobDetails = JobDetails & { networkType?: string; /** The test VM details. */ protectedItemDetails?: FailoverReplicationProtectedItemDetails[]; -}; +} /** A2A specific policy details. */ -export type A2APolicyDetails = PolicyProviderSpecificDetails & { +export interface A2APolicyDetails extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The recovery point threshold in minutes. */ @@ -7930,10 +8168,11 @@ export type A2APolicyDetails = PolicyProviderSpecificDetails & { multiVmSyncStatus?: string; /** The crash consistent snapshot frequency in minutes. */ crashConsistentFrequencyInMinutes?: number; -}; +} /** Hyper-V Replica Azure specific protection profile details. */ -export type HyperVReplicaAzurePolicyDetails = PolicyProviderSpecificDetails & { +export interface HyperVReplicaAzurePolicyDetails + extends 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. */ @@ -7948,10 +8187,11 @@ export type HyperVReplicaAzurePolicyDetails = PolicyProviderSpecificDetails & { encryption?: string; /** The active storage account Id. */ activeStorageAccountId?: string; -}; +} /** Base class for HyperVReplica policy details. */ -export type HyperVReplicaBasePolicyDetails = PolicyProviderSpecificDetails & { +export interface HyperVReplicaBasePolicyDetails + extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaBasePolicyDetails"; /** A value indicating the number of recovery points. */ @@ -7974,10 +8214,11 @@ export type HyperVReplicaBasePolicyDetails = PolicyProviderSpecificDetails & { allowedAuthenticationType?: number; /** A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud. */ replicaDeletionOption?: string; -}; +} /** Hyper-V Replica Blue specific protection profile details. */ -export type HyperVReplicaBluePolicyDetails = PolicyProviderSpecificDetails & { +export interface HyperVReplicaBluePolicyDetails + extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012R2"; /** A value indicating the replication interval. */ @@ -8002,10 +8243,11 @@ export type HyperVReplicaBluePolicyDetails = PolicyProviderSpecificDetails & { allowedAuthenticationType?: number; /** A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud */ replicaDeletionOption?: string; -}; +} /** Hyper-V Replica Blue specific protection profile details. */ -export type HyperVReplicaPolicyDetails = PolicyProviderSpecificDetails & { +export interface HyperVReplicaPolicyDetails + extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012"; /** A value indicating the number of recovery points. */ @@ -8028,10 +8270,11 @@ export type HyperVReplicaPolicyDetails = PolicyProviderSpecificDetails & { 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 & { +export interface InMageAzureV2PolicyDetails + extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The crash consistent snapshot frequency in minutes. */ @@ -8044,10 +8287,10 @@ export type InMageAzureV2PolicyDetails = PolicyProviderSpecificDetails & { 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 & { +export interface InMageBasePolicyDetails extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageBasePolicyDetails"; /** The recovery point threshold in minutes. */ @@ -8058,10 +8301,10 @@ export type InMageBasePolicyDetails = PolicyProviderSpecificDetails & { appConsistentFrequencyInMinutes?: number; /** A value indicating whether multi-VM sync has to be enabled. */ multiVmSyncStatus?: string; -}; +} /** InMage specific protection profile details. */ -export type InMagePolicyDetails = PolicyProviderSpecificDetails & { +export interface InMagePolicyDetails extends PolicyProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMage"; /** The recovery point threshold in minutes. */ @@ -8072,20 +8315,21 @@ export type InMagePolicyDetails = PolicyProviderSpecificDetails & { appConsistentFrequencyInMinutes?: number; /** A value indicating whether multi-VM sync has to be enabled. */ multiVmSyncStatus?: string; -}; +} /** InMageRcm failback specific policy details. */ -export type InMageRcmFailbackPolicyDetails = PolicyProviderSpecificDetails & { +export interface InMageRcmFailbackPolicyDetails + extends 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 & { +export interface InMageRcmPolicyDetails extends 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. */ @@ -8096,10 +8340,10 @@ export type InMageRcmPolicyDetails = PolicyProviderSpecificDetails & { crashConsistentFrequencyInMinutes?: number; /** A value indicating whether multi-VM sync has to be enabled. */ enableMultiVmSync?: string; -}; +} /** VMware Cbt specific policy details. */ -export type VmwareCbtPolicyDetails = PolicyProviderSpecificDetails & { +export interface VmwareCbtPolicyDetails extends 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. */ @@ -8108,16 +8352,17 @@ export type VmwareCbtPolicyDetails = PolicyProviderSpecificDetails & { appConsistentFrequencyInMinutes?: number; /** The crash consistent snapshot frequency in minutes. */ crashConsistentFrequencyInMinutes?: number; -}; +} /** A2A Cross-Cluster Migration Policy creation input. */ -export type A2ACrossClusterMigrationPolicyCreationInput = PolicyProviderSpecificInput & { +export interface A2ACrossClusterMigrationPolicyCreationInput + extends PolicyProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2ACrossClusterMigration"; -}; +} /** A2A Policy creation input. */ -export type A2APolicyCreationInput = PolicyProviderSpecificInput & { +export interface A2APolicyCreationInput extends 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. */ @@ -8128,10 +8373,11 @@ export type A2APolicyCreationInput = PolicyProviderSpecificInput & { 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 & { +export interface HyperVReplicaAzurePolicyInput + extends 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. */ @@ -8144,10 +8390,10 @@ export type HyperVReplicaAzurePolicyInput = PolicyProviderSpecificInput & { 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 & { +export interface HyperVReplicaPolicyInput extends PolicyProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplica2012" | "HyperVReplica2012R2"; /** A value indicating the number of recovery points. */ @@ -8170,10 +8416,10 @@ export type HyperVReplicaPolicyInput = PolicyProviderSpecificInput & { allowedAuthenticationType?: number; /** A value indicating whether the VM has to be auto deleted. */ replicaDeletion?: string; -}; +} /** VMWare Azure specific policy Input. */ -export type InMageAzureV2PolicyInput = PolicyProviderSpecificInput & { +export interface InMageAzureV2PolicyInput extends PolicyProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMageAzureV2"; /** The recovery point threshold in minutes. */ @@ -8186,10 +8432,10 @@ export type InMageAzureV2PolicyInput = PolicyProviderSpecificInput & { 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 & { +export interface InMagePolicyInput extends PolicyProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMage"; /** The recovery point threshold in minutes. */ @@ -8200,20 +8446,22 @@ export type InMagePolicyInput = PolicyProviderSpecificInput & { 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 & { +export interface InMageRcmFailbackPolicyCreationInput + extends 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 & { +export interface InMageRcmPolicyCreationInput + extends 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. */ @@ -8224,10 +8472,11 @@ export type InMageRcmPolicyCreationInput = PolicyProviderSpecificInput & { appConsistentFrequencyInMinutes?: number; /** A value indicating whether multi-VM sync has to be enabled. */ enableMultiVmSync?: string; -}; +} /** VMware Cbt policy creation input. */ -export type VMwareCbtPolicyCreationInput = PolicyProviderSpecificInput & { +export interface VMwareCbtPolicyCreationInput + extends 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. */ @@ -8236,10 +8485,11 @@ export type VMwareCbtPolicyCreationInput = PolicyProviderSpecificInput & { crashConsistentFrequencyInMinutes?: number; /** The app consistent snapshot frequency (in minutes). */ appConsistentFrequencyInMinutes?: number; -}; +} /** A2A provider specific settings. */ -export type A2AReplicationIntentDetails = ReplicationProtectionIntentProviderSpecificSettings & { +export interface A2AReplicationIntentDetails + extends ReplicationProtectionIntentProviderSpecificSettings { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The fabric specific object Id of the virtual machine. */ @@ -8286,10 +8536,11 @@ export type A2AReplicationIntentDetails = ReplicationProtectionIntentProviderSpe automationAccountArmId?: string; /** A value indicating the type authentication to use for automation Account. */ automationAccountAuthenticationType?: AutomationAccountAuthenticationType; -}; +} /** A2A create protection intent input. */ -export type A2ACreateProtectionIntentInput = CreateProtectionIntentProviderSpecificDetails & { +export interface A2ACreateProtectionIntentInput + extends CreateProtectionIntentProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The fabric specific object Id of the virtual machine. */ @@ -8336,10 +8587,11 @@ export type A2ACreateProtectionIntentInput = CreateProtectionIntentProviderSpeci automationAccountAuthenticationType?: AutomationAccountAuthenticationType; /** The automation account arm id. */ automationAccountArmId?: string; -}; +} /** Recovery plan Automation runbook action details. */ -export type RecoveryPlanAutomationRunbookActionDetails = RecoveryPlanActionDetails & { +export interface RecoveryPlanAutomationRunbookActionDetails + extends RecoveryPlanActionDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "AutomationRunbookActionDetails"; /** The runbook ARM Id. */ @@ -8348,18 +8600,20 @@ export type RecoveryPlanAutomationRunbookActionDetails = RecoveryPlanActionDetai timeout?: string; /** The fabric location. */ fabricLocation: RecoveryPlanActionLocation; -}; +} /** Recovery plan manual action details. */ -export type RecoveryPlanManualActionDetails = RecoveryPlanActionDetails & { +export interface RecoveryPlanManualActionDetails + extends RecoveryPlanActionDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "ManualActionDetails"; /** The manual action description. */ description?: string; -}; +} /** Recovery plan script action details. */ -export type RecoveryPlanScriptActionDetails = RecoveryPlanActionDetails & { +export interface RecoveryPlanScriptActionDetails + extends RecoveryPlanActionDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "ScriptActionDetails"; /** The script path. */ @@ -8368,20 +8622,22 @@ export type RecoveryPlanScriptActionDetails = RecoveryPlanActionDetails & { timeout?: string; /** The fabric location. */ fabricLocation: RecoveryPlanActionLocation; -}; +} /** Recovery plan A2A specific details. */ -export type RecoveryPlanA2ADetails = RecoveryPlanProviderSpecificDetails & { +export interface RecoveryPlanA2ADetails + extends RecoveryPlanProviderSpecificDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The primary zone. */ primaryZone?: string; /** The recovery zone. */ recoveryZone?: string; -}; +} /** Recovery plan A2A input. */ -export type RecoveryPlanA2AInput = RecoveryPlanProviderSpecificInput & { +export interface RecoveryPlanA2AInput + extends RecoveryPlanProviderSpecificInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The primary zone. */ @@ -8392,10 +8648,11 @@ export type RecoveryPlanA2AInput = RecoveryPlanProviderSpecificInput & { primaryExtendedLocation?: ExtendedLocation; /** The recovery extended location. */ recoveryExtendedLocation?: ExtendedLocation; -}; +} /** Recovery plan A2A failover input. */ -export type RecoveryPlanA2AFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanA2AFailoverInput + extends RecoveryPlanProviderSpecificFailoverInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "A2A"; /** The recovery point type. */ @@ -8404,20 +8661,22 @@ export type RecoveryPlanA2AFailoverInput = RecoveryPlanProviderSpecificFailoverI cloudServiceCreationOption?: string; /** A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover. */ multiVmSyncPointOption?: MultiVmSyncPointOption; -}; +} /** Recovery plan HVR Azure failback input. */ -export type RecoveryPlanHyperVReplicaAzureFailbackInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanHyperVReplicaAzureFailbackInput + extends 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; -}; +} /** Recovery plan HVR Azure failover input. */ -export type RecoveryPlanHyperVReplicaAzureFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanHyperVReplicaAzureFailoverInput + extends RecoveryPlanProviderSpecificFailoverInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "HyperVReplicaAzure"; /** The primary KEK certificate PFX. */ @@ -8426,56 +8685,61 @@ export type RecoveryPlanHyperVReplicaAzureFailoverInput = RecoveryPlanProviderSp secondaryKekCertificatePfx?: string; /** The recovery point type. */ recoveryPointType?: HyperVReplicaAzureRpRecoveryPointType; -}; +} /** Recovery plan InMageAzureV2 failover input. */ -export type RecoveryPlanInMageAzureV2FailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageAzureV2FailoverInput + extends 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; -}; +} /** Recovery plan InMage failover input. */ -export type RecoveryPlanInMageFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageFailoverInput + extends RecoveryPlanProviderSpecificFailoverInput { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "InMage"; /** The recovery point type. */ recoveryPointType: RpInMageRecoveryPointType; -}; +} /** Recovery plan InMageRcmFailback failover input. */ -export type RecoveryPlanInMageRcmFailbackFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageRcmFailbackFailoverInput + extends 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; -}; +} /** Recovery plan InMageRcm failover input. */ -export type RecoveryPlanInMageRcmFailoverInput = RecoveryPlanProviderSpecificFailoverInput & { +export interface RecoveryPlanInMageRcmFailoverInput + extends 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; -}; +} /** Existing storage account input. */ -export type ExistingProtectionProfile = ProtectionProfileCustomDetails & { +export interface ExistingProtectionProfile + extends 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; -}; +} /** New Protection profile input. */ -export type NewProtectionProfile = ProtectionProfileCustomDetails & { +export interface NewProtectionProfile extends ProtectionProfileCustomDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ resourceType: "New"; /** The protection profile input. */ @@ -8488,103 +8752,111 @@ export type NewProtectionProfile = ProtectionProfileCustomDetails & { appConsistentFrequencyInMinutes?: number; /** A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'. */ multiVmSyncStatus: SetMultiVmSyncStatus; -}; +} /** Existing storage account input. */ -export type ExistingStorageAccount = StorageAccountCustomDetails & { +export interface ExistingStorageAccount extends 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; -}; +} /** Existing recovery availability set input. */ -export type ExistingRecoveryAvailabilitySet = RecoveryAvailabilitySetCustomDetails & { +export interface ExistingRecoveryAvailabilitySet + extends 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; -}; +} /** Existing recovery virtual network input. */ -export type ExistingRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & { +export interface ExistingRecoveryVirtualNetwork + extends 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; -}; +} /** Recovery virtual network input to create new virtual network from given source network. */ -export type NewRecoveryVirtualNetwork = RecoveryVirtualNetworkCustomDetails & { +export interface NewRecoveryVirtualNetwork + extends 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 & { +export interface ExistingRecoveryProximityPlacementGroup + extends 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 & { +export interface ExistingRecoveryResourceGroup + extends 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 & { +export interface VmmVirtualMachineDetails extends 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 & { +export interface FabricReplicationGroupTaskDetails extends 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 & { +export interface VirtualMachineTaskDetails extends JobTaskDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "VirtualMachineTaskDetails"; /** The skipped reason. */ skippedReason?: string; /** The skipped reason string. */ skippedReasonString?: string; -}; +} /** This class represents the recovery plan shutdown group task details. */ -export type RecoveryPlanShutdownGroupTaskDetails = RecoveryPlanGroupTaskDetails & { +export interface RecoveryPlanShutdownGroupTaskDetails + extends RecoveryPlanGroupTaskDetails { /** Polymorphic discriminator, which specifies the different types this object can be */ instanceType: "RecoveryPlanShutdownGroupTaskDetails"; -}; +} /** HyperV Replica Blue policy input. */ -export type HyperVReplicaBluePolicyInput = HyperVReplicaPolicyInput & { +export interface HyperVReplicaBluePolicyInput extends 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 = "Allowed", + /** NotAllowed */ NotAllowed = "NotAllowed" } @@ -8600,17 +8872,40 @@ export type HealthErrorCustomerResolvability = string; /** Known values of {@link MigrationState} that the service accepts. */ export enum KnownMigrationState { + /** None */ None = "None", + /** EnableMigrationInProgress */ EnableMigrationInProgress = "EnableMigrationInProgress", + /** EnableMigrationFailed */ EnableMigrationFailed = "EnableMigrationFailed", + /** DisableMigrationInProgress */ DisableMigrationInProgress = "DisableMigrationInProgress", + /** DisableMigrationFailed */ DisableMigrationFailed = "DisableMigrationFailed", + /** InitialSeedingInProgress */ InitialSeedingInProgress = "InitialSeedingInProgress", + /** InitialSeedingFailed */ InitialSeedingFailed = "InitialSeedingFailed", + /** Replicating */ Replicating = "Replicating", + /** MigrationInProgress */ MigrationInProgress = "MigrationInProgress", + /** MigrationSucceeded */ MigrationSucceeded = "MigrationSucceeded", - MigrationFailed = "MigrationFailed" + /** MigrationFailed */ + MigrationFailed = "MigrationFailed", + /** ResumeInProgress */ + ResumeInProgress = "ResumeInProgress", + /** ResumeInitiated */ + ResumeInitiated = "ResumeInitiated", + /** SuspendingProtection */ + SuspendingProtection = "SuspendingProtection", + /** ProtectionSuspended */ + ProtectionSuspended = "ProtectionSuspended", + /** MigrationCompletedWithInformation */ + MigrationCompletedWithInformation = "MigrationCompletedWithInformation", + /** MigrationPartiallySucceeded */ + MigrationPartiallySucceeded = "MigrationPartiallySucceeded" } /** @@ -8628,17 +8923,32 @@ export enum KnownMigrationState { * **Replicating** \ * **MigrationInProgress** \ * **MigrationSucceeded** \ - * **MigrationFailed** + * **MigrationFailed** \ + * **ResumeInProgress** \ + * **ResumeInitiated** \ + * **SuspendingProtection** \ + * **ProtectionSuspended** \ + * **MigrationCompletedWithInformation** \ + * **MigrationPartiallySucceeded** */ export type MigrationState = string; /** Known values of {@link TestMigrationState} that the service accepts. */ export enum KnownTestMigrationState { + /** None */ None = "None", + /** TestMigrationInProgress */ TestMigrationInProgress = "TestMigrationInProgress", + /** TestMigrationSucceeded */ TestMigrationSucceeded = "TestMigrationSucceeded", + /** TestMigrationFailed */ TestMigrationFailed = "TestMigrationFailed", - TestMigrationCleanupInProgress = "TestMigrationCleanupInProgress" + /** TestMigrationCleanupInProgress */ + TestMigrationCleanupInProgress = "TestMigrationCleanupInProgress", + /** TestMigrationCompletedWithInformation */ + TestMigrationCompletedWithInformation = "TestMigrationCompletedWithInformation", + /** TestMigrationPartiallySucceeded */ + TestMigrationPartiallySucceeded = "TestMigrationPartiallySucceeded" } /** @@ -8650,15 +8960,21 @@ export enum KnownTestMigrationState { * **TestMigrationInProgress** \ * **TestMigrationSucceeded** \ * **TestMigrationFailed** \ - * **TestMigrationCleanupInProgress** + * **TestMigrationCleanupInProgress** \ + * **TestMigrationCompletedWithInformation** \ + * **TestMigrationPartiallySucceeded** */ export type TestMigrationState = string; /** Known values of {@link ProtectionHealth} that the service accepts. */ export enum KnownProtectionHealth { + /** None */ None = "None", + /** Normal */ Normal = "Normal", + /** Warning */ Warning = "Warning", + /** Critical */ Critical = "Critical" } @@ -8676,11 +8992,20 @@ export type ProtectionHealth = string; /** Known values of {@link MigrationItemOperation} that the service accepts. */ export enum KnownMigrationItemOperation { + /** DisableMigration */ DisableMigration = "DisableMigration", + /** TestMigrate */ TestMigrate = "TestMigrate", + /** TestMigrateCleanup */ TestMigrateCleanup = "TestMigrateCleanup", + /** Migrate */ Migrate = "Migrate", - StartResync = "StartResync" + /** StartResync */ + StartResync = "StartResync", + /** PauseReplication */ + PauseReplication = "PauseReplication", + /** ResumeReplication */ + ResumeReplication = "ResumeReplication" } /** @@ -8692,14 +9017,19 @@ export enum KnownMigrationItemOperation { * **TestMigrate** \ * **TestMigrateCleanup** \ * **Migrate** \ - * **StartResync** + * **StartResync** \ + * **PauseReplication** \ + * **ResumeReplication** */ export type MigrationItemOperation = string; /** Known values of {@link MigrationRecoveryPointType} that the service accepts. */ export enum KnownMigrationRecoveryPointType { + /** NotSpecified */ NotSpecified = "NotSpecified", + /** ApplicationConsistent */ ApplicationConsistent = "ApplicationConsistent", + /** CrashConsistent */ CrashConsistent = "CrashConsistent" } @@ -8716,8 +9046,11 @@ export type MigrationRecoveryPointType = string; /** Known values of {@link LicenseType} that the service accepts. */ export enum KnownLicenseType { + /** NotSpecified */ NotSpecified = "NotSpecified", + /** NoLicenseType */ NoLicenseType = "NoLicenseType", + /** WindowsServer */ WindowsServer = "WindowsServer" } @@ -8734,7 +9067,9 @@ export type LicenseType = string; /** Known values of {@link DisableProtectionReason} that the service accepts. */ export enum KnownDisableProtectionReason { + /** NotSpecified */ NotSpecified = "NotSpecified", + /** MigrationComplete */ MigrationComplete = "MigrationComplete" } @@ -8750,10 +9085,15 @@ export type DisableProtectionReason = string; /** Known values of {@link AgentVersionStatus} that the service accepts. */ export enum KnownAgentVersionStatus { + /** Supported */ Supported = "Supported", + /** NotSupported */ NotSupported = "NotSupported", + /** Deprecated */ Deprecated = "Deprecated", + /** UpdateRequired */ UpdateRequired = "UpdateRequired", + /** SecurityUpdateRequired */ SecurityUpdateRequired = "SecurityUpdateRequired" } @@ -8772,8 +9112,11 @@ export type AgentVersionStatus = string; /** Known values of {@link ExportJobOutputSerializationType} that the service accepts. */ export enum KnownExportJobOutputSerializationType { + /** Json */ Json = "Json", + /** Xml */ Xml = "Xml", + /** Excel */ Excel = "Excel" } @@ -8790,8 +9133,11 @@ export type ExportJobOutputSerializationType = string; /** Known values of {@link RecoveryPlanGroupType} that the service accepts. */ export enum KnownRecoveryPlanGroupType { + /** Shutdown */ Shutdown = "Shutdown", + /** Boot */ Boot = "Boot", + /** Failover */ Failover = "Failover" } @@ -8808,19 +9154,33 @@ export type RecoveryPlanGroupType = string; /** Known values of {@link ReplicationProtectedItemOperation} that the service accepts. */ export enum KnownReplicationProtectedItemOperation { + /** ReverseReplicate */ ReverseReplicate = "ReverseReplicate", + /** Commit */ Commit = "Commit", + /** PlannedFailover */ PlannedFailover = "PlannedFailover", + /** UnplannedFailover */ UnplannedFailover = "UnplannedFailover", + /** DisableProtection */ DisableProtection = "DisableProtection", + /** TestFailover */ TestFailover = "TestFailover", + /** TestFailoverCleanup */ TestFailoverCleanup = "TestFailoverCleanup", + /** Failback */ Failback = "Failback", + /** FinalizeFailback */ FinalizeFailback = "FinalizeFailback", + /** CancelFailover */ CancelFailover = "CancelFailover", + /** ChangePit */ ChangePit = "ChangePit", + /** RepairReplication */ RepairReplication = "RepairReplication", + /** SwitchProtection */ SwitchProtection = "SwitchProtection", + /** CompleteMigration */ CompleteMigration = "CompleteMigration" } @@ -8848,7 +9208,9 @@ export type ReplicationProtectedItemOperation = string; /** Known values of {@link PossibleOperationsDirections} that the service accepts. */ export enum KnownPossibleOperationsDirections { + /** PrimaryToRecovery */ PrimaryToRecovery = "PrimaryToRecovery", + /** RecoveryToPrimary */ RecoveryToPrimary = "RecoveryToPrimary" } @@ -8864,8 +9226,11 @@ export type PossibleOperationsDirections = string; /** Known values of {@link FailoverDeploymentModel} that the service accepts. */ export enum KnownFailoverDeploymentModel { + /** NotApplicable */ NotApplicable = "NotApplicable", + /** Classic */ Classic = "Classic", + /** ResourceManager */ ResourceManager = "ResourceManager" } @@ -8882,7 +9247,9 @@ export type FailoverDeploymentModel = string; /** Known values of {@link SourceSiteOperations} that the service accepts. */ export enum KnownSourceSiteOperations { + /** Required */ Required = "Required", + /** NotRequired */ NotRequired = "NotRequired" } @@ -8898,16 +9265,27 @@ export type SourceSiteOperations = string; /** Known values of {@link HealthErrorCategory} that the service accepts. */ export enum KnownHealthErrorCategory { + /** None */ None = "None", + /** Replication */ Replication = "Replication", + /** TestFailover */ TestFailover = "TestFailover", + /** Configuration */ Configuration = "Configuration", + /** FabricInfrastructure */ FabricInfrastructure = "FabricInfrastructure", + /** VersionExpiry */ VersionExpiry = "VersionExpiry", + /** AgentAutoUpdateInfra */ AgentAutoUpdateInfra = "AgentAutoUpdateInfra", + /** AgentAutoUpdateArtifactDeleted */ AgentAutoUpdateArtifactDeleted = "AgentAutoUpdateArtifactDeleted", + /** AgentAutoUpdateRunAsAccount */ AgentAutoUpdateRunAsAccount = "AgentAutoUpdateRunAsAccount", + /** AgentAutoUpdateRunAsAccountExpiry */ AgentAutoUpdateRunAsAccountExpiry = "AgentAutoUpdateRunAsAccountExpiry", + /** AgentAutoUpdateRunAsAccountExpired */ AgentAutoUpdateRunAsAccountExpired = "AgentAutoUpdateRunAsAccountExpired" } @@ -8932,9 +9310,13 @@ export type HealthErrorCategory = string; /** Known values of {@link Severity} that the service accepts. */ export enum KnownSeverity { + /** None */ None = "NONE", + /** Warning */ Warning = "Warning", + /** Error */ Error = "Error", + /** Info */ Info = "Info" } @@ -8952,7 +9334,9 @@ export type Severity = string; /** Known values of {@link AgentAutoUpdateStatus} that the service accepts. */ export enum KnownAgentAutoUpdateStatus { + /** Disabled */ Disabled = "Disabled", + /** Enabled */ Enabled = "Enabled" } @@ -8968,7 +9352,9 @@ export type AgentAutoUpdateStatus = string; /** Known values of {@link AutomationAccountAuthenticationType} that the service accepts. */ export enum KnownAutomationAccountAuthenticationType { + /** RunAsAccount */ RunAsAccount = "RunAsAccount", + /** SystemAssignedIdentity */ SystemAssignedIdentity = "SystemAssignedIdentity" } @@ -8984,8 +9370,11 @@ export type AutomationAccountAuthenticationType = string; /** Known values of {@link A2ARecoveryAvailabilityType} that the service accepts. */ export enum KnownA2ARecoveryAvailabilityType { + /** Single */ Single = "Single", + /** AvailabilitySet */ AvailabilitySet = "AvailabilitySet", + /** AvailabilityZone */ AvailabilityZone = "AvailabilityZone" } @@ -9002,7 +9391,9 @@ export type A2ARecoveryAvailabilityType = string; /** Known values of {@link AutoProtectionOfDataDisk} that the service accepts. */ export enum KnownAutoProtectionOfDataDisk { + /** Disabled */ Disabled = "Disabled", + /** Enabled */ Enabled = "Enabled" } @@ -9018,6 +9409,7 @@ export type AutoProtectionOfDataDisk = string; /** Known values of {@link ExtendedLocationType} that the service accepts. */ export enum KnownExtendedLocationType { + /** EdgeZone */ EdgeZone = "EdgeZone" } @@ -9032,7 +9424,9 @@ export type ExtendedLocationType = string; /** Known values of {@link SetMultiVmSyncStatus} that the service accepts. */ export enum KnownSetMultiVmSyncStatus { + /** Enable */ Enable = "Enable", + /** Disable */ Disable = "Disable" } @@ -9048,7 +9442,9 @@ export type SetMultiVmSyncStatus = string; /** Known values of {@link RecoveryPointSyncType} that the service accepts. */ export enum KnownRecoveryPointSyncType { + /** MultiVmSyncRecoveryPoint */ MultiVmSyncRecoveryPoint = "MultiVmSyncRecoveryPoint", + /** PerVmRecoveryPoint */ PerVmRecoveryPoint = "PerVmRecoveryPoint" } @@ -9064,7 +9460,9 @@ export type RecoveryPointSyncType = string; /** Known values of {@link MultiVmGroupCreateOption} that the service accepts. */ export enum KnownMultiVmGroupCreateOption { + /** AutoCreated */ AutoCreated = "AutoCreated", + /** UserSpecified */ UserSpecified = "UserSpecified" } @@ -9080,8 +9478,11 @@ export type MultiVmGroupCreateOption = string; /** Known values of {@link VmEncryptionType} that the service accepts. */ export enum KnownVmEncryptionType { + /** NotEncrypted */ NotEncrypted = "NotEncrypted", + /** OnePassEncrypted */ OnePassEncrypted = "OnePassEncrypted", + /** TwoPassEncrypted */ TwoPassEncrypted = "TwoPassEncrypted" } @@ -9098,8 +9499,11 @@ export type VmEncryptionType = string; /** Known values of {@link DiskAccountType} that the service accepts. */ export enum KnownDiskAccountType { + /** StandardLRS */ StandardLRS = "Standard_LRS", + /** PremiumLRS */ PremiumLRS = "Premium_LRS", + /** StandardSSDLRS */ StandardSSDLRS = "StandardSSD_LRS" } @@ -9116,9 +9520,13 @@ export type DiskAccountType = string; /** Known values of {@link SqlServerLicenseType} that the service accepts. */ export enum KnownSqlServerLicenseType { + /** NotSpecified */ NotSpecified = "NotSpecified", + /** NoLicenseType */ NoLicenseType = "NoLicenseType", + /** Payg */ Payg = "PAYG", + /** Ahub */ Ahub = "AHUB" } @@ -9136,8 +9544,11 @@ export type SqlServerLicenseType = string; /** Known values of {@link PresenceStatus} that the service accepts. */ export enum KnownPresenceStatus { + /** Unknown */ Unknown = "Unknown", + /** Present */ Present = "Present", + /** NotPresent */ NotPresent = "NotPresent" } @@ -9154,9 +9565,13 @@ export type PresenceStatus = string; /** Known values of {@link RcmComponentStatus} that the service accepts. */ export enum KnownRcmComponentStatus { + /** Healthy */ Healthy = "Healthy", + /** Warning */ Warning = "Warning", + /** Critical */ Critical = "Critical", + /** Unknown */ Unknown = "Unknown" } @@ -9174,19 +9589,33 @@ export type RcmComponentStatus = string; /** Known values of {@link AgentUpgradeBlockedReason} that the service accepts. */ export enum KnownAgentUpgradeBlockedReason { + /** AlreadyOnLatestVersion */ AlreadyOnLatestVersion = "AlreadyOnLatestVersion", + /** RebootRequired */ RebootRequired = "RebootRequired", + /** AgentNoHeartbeat */ AgentNoHeartbeat = "AgentNoHeartbeat", + /** RcmProxyNoHeartbeat */ RcmProxyNoHeartbeat = "RcmProxyNoHeartbeat", + /** ProcessServerNoHeartbeat */ ProcessServerNoHeartbeat = "ProcessServerNoHeartbeat", + /** IncompatibleApplianceVersion */ IncompatibleApplianceVersion = "IncompatibleApplianceVersion", + /** NotProtected */ NotProtected = "NotProtected", + /** UnsupportedProtectionScenario */ UnsupportedProtectionScenario = "UnsupportedProtectionScenario", + /** DistroIsNotReported */ DistroIsNotReported = "DistroIsNotReported", + /** DistroNotSupportedForUpgrade */ DistroNotSupportedForUpgrade = "DistroNotSupportedForUpgrade", + /** MissingUpgradePath */ MissingUpgradePath = "MissingUpgradePath", + /** InvalidAgentVersion */ InvalidAgentVersion = "InvalidAgentVersion", + /** InvalidDriverVersion */ InvalidDriverVersion = "InvalidDriverVersion", + /** Unknown */ Unknown = "Unknown" } @@ -9214,7 +9643,9 @@ export type AgentUpgradeBlockedReason = string; /** Known values of {@link InMageRcmFailbackRecoveryPointType} that the service accepts. */ export enum KnownInMageRcmFailbackRecoveryPointType { + /** ApplicationConsistent */ ApplicationConsistent = "ApplicationConsistent", + /** CrashConsistent */ CrashConsistent = "CrashConsistent" } @@ -9230,10 +9661,15 @@ export type InMageRcmFailbackRecoveryPointType = string; /** Known values of {@link DiskReplicationProgressHealth} that the service accepts. */ export enum KnownDiskReplicationProgressHealth { + /** None */ None = "None", + /** InProgress */ InProgress = "InProgress", + /** SlowProgress */ SlowProgress = "SlowProgress", + /** NoProgress */ NoProgress = "NoProgress", + /** Queued */ Queued = "Queued" } @@ -9252,9 +9688,13 @@ export type DiskReplicationProgressHealth = string; /** Known values of {@link VmReplicationProgressHealth} that the service accepts. */ export enum KnownVmReplicationProgressHealth { + /** None */ None = "None", + /** InProgress */ InProgress = "InProgress", + /** SlowProgress */ SlowProgress = "SlowProgress", + /** NoProgress */ NoProgress = "NoProgress" } @@ -9272,8 +9712,11 @@ export type VmReplicationProgressHealth = string; /** Known values of {@link ResyncState} that the service accepts. */ export enum KnownResyncState { + /** None */ None = "None", + /** PreparedForResynchronization */ PreparedForResynchronization = "PreparedForResynchronization", + /** StartedResynchronization */ StartedResynchronization = "StartedResynchronization" } @@ -9290,9 +9733,13 @@ export type ResyncState = string; /** Known values of {@link PlannedFailoverStatus} that the service accepts. */ export enum KnownPlannedFailoverStatus { + /** Succeeded */ Succeeded = "Succeeded", + /** Failed */ Failed = "Failed", + /** Cancelled */ Cancelled = "Cancelled", + /** Unknown */ Unknown = "Unknown" } @@ -9310,7 +9757,9 @@ export type PlannedFailoverStatus = string; /** Known values of {@link EthernetAddressType} that the service accepts. */ export enum KnownEthernetAddressType { + /** Dynamic */ Dynamic = "Dynamic", + /** Static */ Static = "Static" } @@ -9326,9 +9775,13 @@ export type EthernetAddressType = string; /** Known values of {@link MobilityAgentUpgradeState} that the service accepts. */ export enum KnownMobilityAgentUpgradeState { + /** None */ None = "None", + /** Started */ Started = "Started", + /** Completed */ Completed = "Completed", + /** Commit */ Commit = "Commit" } @@ -9346,8 +9799,11 @@ export type MobilityAgentUpgradeState = string; /** Known values of {@link RecoveryPointType} that the service accepts. */ export enum KnownRecoveryPointType { + /** LatestTime */ LatestTime = "LatestTime", + /** LatestTag */ LatestTag = "LatestTag", + /** Custom */ Custom = "Custom" } @@ -9364,9 +9820,13 @@ export type RecoveryPointType = string; /** Known values of {@link A2ARpRecoveryPointType} that the service accepts. */ export enum KnownA2ARpRecoveryPointType { + /** Latest */ Latest = "Latest", + /** LatestApplicationConsistent */ LatestApplicationConsistent = "LatestApplicationConsistent", + /** LatestCrashConsistent */ LatestCrashConsistent = "LatestCrashConsistent", + /** LatestProcessed */ LatestProcessed = "LatestProcessed" } @@ -9384,7 +9844,9 @@ export type A2ARpRecoveryPointType = string; /** Known values of {@link MultiVmSyncPointOption} that the service accepts. */ export enum KnownMultiVmSyncPointOption { + /** UseMultiVmSyncRecoveryPoint */ UseMultiVmSyncRecoveryPoint = "UseMultiVmSyncRecoveryPoint", + /** UsePerVmRecoveryPoint */ UsePerVmRecoveryPoint = "UsePerVmRecoveryPoint" } @@ -9400,7 +9862,9 @@ export type MultiVmSyncPointOption = string; /** Known values of {@link RecoveryPlanActionLocation} that the service accepts. */ export enum KnownRecoveryPlanActionLocation { + /** Primary */ Primary = "Primary", + /** Recovery */ Recovery = "Recovery" } @@ -9416,7 +9880,9 @@ export type RecoveryPlanActionLocation = string; /** Known values of {@link DataSyncStatus} that the service accepts. */ export enum KnownDataSyncStatus { + /** ForDownTime */ ForDownTime = "ForDownTime", + /** ForSynchronization */ ForSynchronization = "ForSynchronization" } @@ -9432,7 +9898,9 @@ export type DataSyncStatus = string; /** Known values of {@link AlternateLocationRecoveryOption} that the service accepts. */ export enum KnownAlternateLocationRecoveryOption { + /** CreateVmIfNotFound */ CreateVmIfNotFound = "CreateVmIfNotFound", + /** NoAction */ NoAction = "NoAction" } @@ -9448,8 +9916,11 @@ export type AlternateLocationRecoveryOption = string; /** Known values of {@link HyperVReplicaAzureRpRecoveryPointType} that the service accepts. */ export enum KnownHyperVReplicaAzureRpRecoveryPointType { + /** Latest */ Latest = "Latest", + /** LatestApplicationConsistent */ LatestApplicationConsistent = "LatestApplicationConsistent", + /** LatestProcessed */ LatestProcessed = "LatestProcessed" } @@ -9466,9 +9937,13 @@ export type HyperVReplicaAzureRpRecoveryPointType = string; /** Known values of {@link InMageV2RpRecoveryPointType} that the service accepts. */ export enum KnownInMageV2RpRecoveryPointType { + /** Latest */ Latest = "Latest", + /** LatestApplicationConsistent */ LatestApplicationConsistent = "LatestApplicationConsistent", + /** LatestCrashConsistent */ LatestCrashConsistent = "LatestCrashConsistent", + /** LatestProcessed */ LatestProcessed = "LatestProcessed" } @@ -9486,8 +9961,11 @@ export type InMageV2RpRecoveryPointType = string; /** Known values of {@link RpInMageRecoveryPointType} that the service accepts. */ export enum KnownRpInMageRecoveryPointType { + /** LatestTime */ LatestTime = "LatestTime", + /** LatestTag */ LatestTag = "LatestTag", + /** Custom */ Custom = "Custom" } @@ -9504,9 +9982,13 @@ export type RpInMageRecoveryPointType = string; /** Known values of {@link RecoveryPlanPointType} that the service accepts. */ export enum KnownRecoveryPlanPointType { + /** Latest */ Latest = "Latest", + /** LatestApplicationConsistent */ LatestApplicationConsistent = "LatestApplicationConsistent", + /** LatestCrashConsistent */ LatestCrashConsistent = "LatestCrashConsistent", + /** LatestProcessed */ LatestProcessed = "LatestProcessed" } @@ -9996,6 +10478,30 @@ export interface ReplicationMigrationItemsMigrateOptionalParams /** Contains response data for the migrate operation. */ export type ReplicationMigrationItemsMigrateResponse = MigrationItem; +/** Optional parameters. */ +export interface ReplicationMigrationItemsPauseReplicationOptionalParams + 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 pauseReplication operation. */ +export type ReplicationMigrationItemsPauseReplicationResponse = MigrationItem; + +/** Optional parameters. */ +export interface ReplicationMigrationItemsResumeReplicationOptionalParams + 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 resumeReplication operation. */ +export type ReplicationMigrationItemsResumeReplicationResponse = MigrationItem; + /** Optional parameters. */ export interface ReplicationMigrationItemsResyncOptionalParams extends coreClient.OperationOptions { diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts index 56a122bc57ff..cadfa1d3c13f 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/mappers.ts @@ -1737,6 +1737,20 @@ export const MigrationItemProperties: coreClient.CompositeMapper = { name: "String" } }, + recoveryServicesProviderId: { + serializedName: "recoveryServicesProviderId", + readOnly: true, + type: { + name: "String" + } + }, + replicationStatus: { + serializedName: "replicationStatus", + readOnly: true, + type: { + name: "String" + } + }, migrationState: { serializedName: "migrationState", readOnly: true, @@ -1765,6 +1779,20 @@ export const MigrationItemProperties: coreClient.CompositeMapper = { name: "String" } }, + lastMigrationTime: { + serializedName: "lastMigrationTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastMigrationStatus: { + serializedName: "lastMigrationStatus", + readOnly: true, + type: { + name: "String" + } + }, testMigrateState: { serializedName: "testMigrateState", readOnly: true, @@ -1818,6 +1846,19 @@ export const MigrationItemProperties: coreClient.CompositeMapper = { className: "CurrentJobDetails" } }, + criticalJobHistory: { + serializedName: "criticalJobHistory", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CriticalJobHistoryDetails" + } + } + } + }, eventCorrelationId: { serializedName: "eventCorrelationId", readOnly: true, @@ -1866,6 +1907,43 @@ export const CurrentJobDetails: coreClient.CompositeMapper = { } }; +export const CriticalJobHistoryDetails: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CriticalJobHistoryDetails", + modelProperties: { + jobName: { + serializedName: "jobName", + readOnly: true, + type: { + name: "String" + } + }, + jobId: { + serializedName: "jobId", + readOnly: true, + type: { + name: "String" + } + }, + startTime: { + serializedName: "startTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + jobStatus: { + serializedName: "jobStatus", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const MigrationProviderSpecificSettings: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2103,6 +2181,91 @@ export const MigrationRecoveryPointProperties: coreClient.CompositeMapper = { } }; +export const PauseReplicationInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PauseReplicationInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "PauseReplicationInputProperties" + } + } + } + } +}; + +export const PauseReplicationInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PauseReplicationInputProperties", + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const ResumeReplicationInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResumeReplicationInput", + modelProperties: { + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ResumeReplicationInputProperties" + } + } + } + } +}; + +export const ResumeReplicationInputProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResumeReplicationInputProperties", + modelProperties: { + providerSpecificDetails: { + serializedName: "providerSpecificDetails", + type: { + name: "Composite", + className: "ResumeReplicationProviderSpecificInput" + } + } + } + } +}; + +export const ResumeReplicationProviderSpecificInput: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResumeReplicationProviderSpecificInput", + uberParent: "ResumeReplicationProviderSpecificInput", + polymorphicDiscriminator: { + serializedName: "instanceType", + clientName: "instanceType" + }, + modelProperties: { + instanceType: { + serializedName: "instanceType", + required: true, + type: { + name: "String" + } + } + } + } +}; + export const ResyncInput: coreClient.CompositeMapper = { type: { name: "Composite", @@ -11051,6 +11214,13 @@ export const InMageRcmProtectedDiskDetails: coreClient.CompositeMapper = { name: "String" } }, + seedBlobUri: { + serializedName: "seedBlobUri", + readOnly: true, + type: { + name: "String" + } + }, targetManagedDiskId: { serializedName: "targetManagedDiskId", readOnly: true, @@ -11926,6 +12096,13 @@ export const VMwareCbtProtectedDiskDetails: coreClient.CompositeMapper = { name: "String" } }, + seedBlobUri: { + serializedName: "seedBlobUri", + readOnly: true, + type: { + name: "String" + } + }, targetManagedDiskId: { serializedName: "targetManagedDiskId", readOnly: true, @@ -11933,6 +12110,13 @@ export const VMwareCbtProtectedDiskDetails: coreClient.CompositeMapper = { name: "String" } }, + targetBlobUri: { + serializedName: "targetBlobUri", + readOnly: true, + type: { + name: "String" + } + }, targetDiskName: { serializedName: "targetDiskName", type: { @@ -12000,6 +12184,30 @@ export const VMwareCbtNicDetails: coreClient.CompositeMapper = { name: "String" } }, + testNetworkId: { + serializedName: "testNetworkId", + type: { + name: "String" + } + }, + testSubnetName: { + serializedName: "testSubnetName", + type: { + name: "String" + } + }, + testIPAddress: { + serializedName: "testIPAddress", + type: { + name: "String" + } + }, + testIPAddressType: { + serializedName: "testIPAddressType", + type: { + name: "String" + } + }, targetNicName: { serializedName: "targetNicName", type: { @@ -12058,6 +12266,18 @@ export const VMwareCbtNicInput: coreClient.CompositeMapper = { type: { name: "String" } + }, + testSubnetName: { + serializedName: "testSubnetName", + type: { + name: "String" + } + }, + testStaticIPAddress: { + serializedName: "testStaticIPAddress", + type: { + name: "String" + } } } } @@ -12080,6 +12300,12 @@ export const VMwareCbtUpdateDiskInput: coreClient.CompositeMapper = { type: { name: "String" } + }, + isOSDisk: { + serializedName: "isOSDisk", + type: { + name: "String" + } } } } @@ -13861,6 +14087,13 @@ export const VMwareCbtMigrationDetails: coreClient.CompositeMapper = { name: "String" } }, + storageAccountId: { + serializedName: "storageAccountId", + readOnly: true, + type: { + name: "String" + } + }, targetVmName: { serializedName: "targetVmName", type: { @@ -13935,6 +14168,12 @@ export const VMwareCbtMigrationDetails: coreClient.CompositeMapper = { name: "String" } }, + testNetworkId: { + serializedName: "testNetworkId", + type: { + name: "String" + } + }, vmNics: { serializedName: "vmNics", type: { @@ -13996,6 +14235,13 @@ export const VMwareCbtMigrationDetails: coreClient.CompositeMapper = { name: "Number" } }, + resumeProgressPercentage: { + serializedName: "resumeProgressPercentage", + readOnly: true, + type: { + name: "Number" + } + }, initialSeedingRetryCount: { serializedName: "initialSeedingRetryCount", readOnly: true, @@ -14010,6 +14256,13 @@ export const VMwareCbtMigrationDetails: coreClient.CompositeMapper = { name: "Number" } }, + resumeRetryCount: { + serializedName: "resumeRetryCount", + readOnly: true, + type: { + name: "Number" + } + }, resyncRequired: { serializedName: "resyncRequired", readOnly: true, @@ -14130,12 +14383,24 @@ export const VMwareCbtEnableMigrationInput: coreClient.CompositeMapper = { name: "String" } }, + testNetworkId: { + serializedName: "testNetworkId", + type: { + name: "String" + } + }, targetSubnetName: { serializedName: "targetSubnetName", type: { name: "String" } }, + testSubnetName: { + serializedName: "testSubnetName", + type: { + name: "String" + } + }, targetAvailabilitySetId: { serializedName: "targetAvailabilitySetId", type: { @@ -14256,6 +14521,12 @@ export const VMwareCbtUpdateMigrationItemInput: coreClient.CompositeMapper = { name: "String" } }, + testNetworkId: { + serializedName: "testNetworkId", + type: { + name: "String" + } + }, vmNics: { serializedName: "vmNics", type: { @@ -14344,6 +14615,26 @@ export const VMwareCbtMigrateInput: coreClient.CompositeMapper = { } }; +export const VMwareCbtResumeReplicationInput: coreClient.CompositeMapper = { + serializedName: "VMwareCbt", + type: { + name: "Composite", + className: "VMwareCbtResumeReplicationInput", + uberParent: "ResumeReplicationProviderSpecificInput", + polymorphicDiscriminator: + ResumeReplicationProviderSpecificInput.type.polymorphicDiscriminator, + modelProperties: { + ...ResumeReplicationProviderSpecificInput.type.modelProperties, + deleteMigrationResources: { + serializedName: "deleteMigrationResources", + type: { + name: "String" + } + } + } + } +}; + export const VMwareCbtResyncInput: coreClient.CompositeMapper = { serializedName: "VMwareCbt", type: { @@ -14388,6 +14679,18 @@ export const VMwareCbtTestMigrateInput: coreClient.CompositeMapper = { type: { name: "String" } + }, + vmNics: { + serializedName: "vmNics", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "VMwareCbtNicInput" + } + } + } } } } @@ -16223,6 +16526,13 @@ export const InMageRcmReplicationDetails: coreClient.CompositeMapper = { name: "String" } }, + storageAccountId: { + serializedName: "storageAccountId", + readOnly: true, + type: { + name: "String" + } + }, targetVmName: { serializedName: "targetVmName", type: { @@ -18963,6 +19273,14 @@ export const VMwareCbtProtectionContainerMappingDetails: coreClient.CompositeMap type: { name: "String" } + }, + roleSizeToNicCountMap: { + serializedName: "roleSizeToNicCountMap", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "Number" } } + } } } } @@ -19014,14 +19332,12 @@ export const VMwareCbtContainerMappingInput: coreClient.CompositeMapper = { ...ReplicationProviderSpecificContainerMappingInput.type.modelProperties, keyVaultId: { serializedName: "keyVaultId", - required: true, type: { name: "String" } }, keyVaultUri: { serializedName: "keyVaultUri", - required: true, type: { name: "String" } @@ -19035,14 +19351,12 @@ export const VMwareCbtContainerMappingInput: coreClient.CompositeMapper = { }, storageAccountSasSecretName: { serializedName: "storageAccountSasSecretName", - required: true, type: { name: "String" } }, serviceBusConnectionStringSecretName: { serializedName: "serviceBusConnectionStringSecretName", - required: true, type: { name: "String" } @@ -21526,6 +21840,7 @@ export let discriminators = { EnableMigrationProviderSpecificInput: EnableMigrationProviderSpecificInput, UpdateMigrationItemProviderSpecificInput: UpdateMigrationItemProviderSpecificInput, MigrateProviderSpecificInput: MigrateProviderSpecificInput, + ResumeReplicationProviderSpecificInput: ResumeReplicationProviderSpecificInput, ResyncProviderSpecificInput: ResyncProviderSpecificInput, TestMigrateProviderSpecificInput: TestMigrateProviderSpecificInput, ConfigurationSettings: ConfigurationSettings, @@ -21600,6 +21915,7 @@ export let discriminators = { "EnableMigrationProviderSpecificInput.VMwareCbt": VMwareCbtEnableMigrationInput, "UpdateMigrationItemProviderSpecificInput.VMwareCbt": VMwareCbtUpdateMigrationItemInput, "MigrateProviderSpecificInput.VMwareCbt": VMwareCbtMigrateInput, + "ResumeReplicationProviderSpecificInput.VMwareCbt": VMwareCbtResumeReplicationInput, "ResyncProviderSpecificInput.VMwareCbt": VMwareCbtResyncInput, "TestMigrateProviderSpecificInput.VMwareCbt": VMwareCbtTestMigrateInput, "ConfigurationSettings.HyperVVirtualMachine": HyperVVirtualMachineDetails, diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts index 0ba73dafd91e..3a3d20a8266b 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/models/parameters.ts @@ -24,6 +24,8 @@ import { EnableMigrationInput as EnableMigrationInputMapper, UpdateMigrationItemInput as UpdateMigrationItemInputMapper, MigrateInput as MigrateInputMapper, + PauseReplicationInput as PauseReplicationInputMapper, + ResumeReplicationInput as ResumeReplicationInputMapper, ResyncInput as ResyncInputMapper, TestMigrateInput as TestMigrateInputMapper, TestMigrateCleanupInput as TestMigrateCleanupInputMapper, @@ -90,7 +92,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-11-01", + defaultValue: "2022-05-01", isConstant: true, serializedName: "api-version", type: { @@ -355,6 +357,16 @@ export const migrateInput: OperationParameter = { mapper: MigrateInputMapper }; +export const pauseReplicationInput: OperationParameter = { + parameterPath: "pauseReplicationInput", + mapper: PauseReplicationInputMapper +}; + +export const resumeReplicationInput: OperationParameter = { + parameterPath: "resumeReplicationInput", + mapper: ResumeReplicationInputMapper +}; + export const input5: OperationParameter = { parameterPath: "input", mapper: ResyncInputMapper diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts index 71fd3482115c..03523e90b0ca 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationFabrics.ts @@ -178,10 +178,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, input, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -252,10 +254,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, options }, purgeOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -329,10 +333,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, options }, checkConsistencyOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -401,10 +407,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, options }, migrateToAadOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -480,10 +488,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, failoverProcessServerRequest, options }, reassociateGatewayOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -558,10 +568,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -637,10 +649,12 @@ export class ReplicationFabricsImpl implements ReplicationFabrics { { fabricName, renewCertificate, options }, renewCertificateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts index 03dfd0576800..9637476553fe 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationJobs.ts @@ -172,10 +172,12 @@ export class ReplicationJobsImpl implements ReplicationJobs { { jobName, options }, cancelOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -249,10 +251,12 @@ export class ReplicationJobsImpl implements ReplicationJobs { { jobName, options }, restartOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -328,10 +332,12 @@ export class ReplicationJobsImpl implements ReplicationJobs { { jobName, resumeJobParams, options }, resumeOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -407,10 +413,12 @@ export class ReplicationJobsImpl implements ReplicationJobs { { jobQueryParameter, options }, exportOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts index a7da8dce794d..352677f10b60 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationMigrationItems.ts @@ -33,6 +33,12 @@ import { MigrateInput, ReplicationMigrationItemsMigrateOptionalParams, ReplicationMigrationItemsMigrateResponse, + PauseReplicationInput, + ReplicationMigrationItemsPauseReplicationOptionalParams, + ReplicationMigrationItemsPauseReplicationResponse, + ResumeReplicationInput, + ReplicationMigrationItemsResumeReplicationOptionalParams, + ReplicationMigrationItemsResumeReplicationResponse, ResyncInput, ReplicationMigrationItemsResyncOptionalParams, ReplicationMigrationItemsResyncResponse, @@ -282,10 +288,12 @@ export class ReplicationMigrationItemsImpl }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -370,10 +378,12 @@ export class ReplicationMigrationItemsImpl { fabricName, protectionContainerName, migrationItemName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -468,10 +478,12 @@ export class ReplicationMigrationItemsImpl }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -569,10 +581,12 @@ export class ReplicationMigrationItemsImpl }, migrateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -600,6 +614,212 @@ export class ReplicationMigrationItemsImpl return poller.pollUntilDone(); } + /** + * The operation to initiate pause replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param pauseReplicationInput Pause replication input. + * @param options The options parameters. + */ + async beginPauseReplication( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + pauseReplicationInput: PauseReplicationInput, + options?: ReplicationMigrationItemsPauseReplicationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsPauseReplicationResponse + > + > { + 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, + pauseReplicationInput, + options + }, + pauseReplicationOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * The operation to initiate pause replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param pauseReplicationInput Pause replication input. + * @param options The options parameters. + */ + async beginPauseReplicationAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + pauseReplicationInput: PauseReplicationInput, + options?: ReplicationMigrationItemsPauseReplicationOptionalParams + ): Promise { + const poller = await this.beginPauseReplication( + fabricName, + protectionContainerName, + migrationItemName, + pauseReplicationInput, + options + ); + return poller.pollUntilDone(); + } + + /** + * The operation to initiate resume replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param resumeReplicationInput Resume replication input. + * @param options The options parameters. + */ + async beginResumeReplication( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + resumeReplicationInput: ResumeReplicationInput, + options?: ReplicationMigrationItemsResumeReplicationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsResumeReplicationResponse + > + > { + 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, + resumeReplicationInput, + options + }, + resumeReplicationOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs + }); + await poller.poll(); + return poller; + } + + /** + * The operation to initiate resume replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param resumeReplicationInput Resume replication input. + * @param options The options parameters. + */ + async beginResumeReplicationAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + resumeReplicationInput: ResumeReplicationInput, + options?: ReplicationMigrationItemsResumeReplicationOptionalParams + ): Promise { + const poller = await this.beginResumeReplication( + fabricName, + protectionContainerName, + migrationItemName, + resumeReplicationInput, + options + ); + return poller.pollUntilDone(); + } + /** * The operation to resynchronize replication of an ASR migration item. * @param fabricName Fabric name. @@ -670,10 +890,12 @@ export class ReplicationMigrationItemsImpl }, resyncOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -771,10 +993,12 @@ export class ReplicationMigrationItemsImpl }, testMigrateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -872,10 +1096,12 @@ export class ReplicationMigrationItemsImpl }, testMigrateCleanupOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1117,6 +1343,72 @@ const migrateOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer }; +const pauseReplicationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/pauseReplication", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.pauseReplicationInput, + 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 resumeReplicationOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resumeReplication", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.MigrationItem + }, + 201: { + bodyMapper: Mappers.MigrationItem + }, + 202: { + bodyMapper: Mappers.MigrationItem + }, + 204: { + bodyMapper: Mappers.MigrationItem + } + }, + requestBody: Parameters.resumeReplicationInput, + 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", diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts index 284949057fe1..e45d1d397fcc 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationNetworkMappings.ts @@ -262,10 +262,12 @@ export class ReplicationNetworkMappingsImpl { fabricName, networkName, networkMappingName, input, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -350,10 +352,12 @@ export class ReplicationNetworkMappingsImpl { fabricName, networkName, networkMappingName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -442,10 +446,12 @@ export class ReplicationNetworkMappingsImpl { fabricName, networkName, networkMappingName, input, options }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts index 55f28417fcf8..61e6a14ff95d 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationPolicies.ts @@ -171,10 +171,12 @@ export class ReplicationPoliciesImpl implements ReplicationPolicies { { policyName, input, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -245,10 +247,12 @@ export class ReplicationPoliciesImpl implements ReplicationPolicies { { policyName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -324,10 +328,12 @@ export class ReplicationPoliciesImpl implements ReplicationPolicies { { policyName, input, options }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts index 69630843f861..6041dfaf468c 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectedItems.ts @@ -319,10 +319,12 @@ export class ReplicationProtectedItemsImpl }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -414,10 +416,12 @@ export class ReplicationProtectedItemsImpl }, purgeOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -514,10 +518,12 @@ export class ReplicationProtectedItemsImpl }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -615,10 +621,12 @@ export class ReplicationProtectedItemsImpl }, addDisksOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -716,10 +724,12 @@ export class ReplicationProtectedItemsImpl }, applyRecoveryPointOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -814,10 +824,12 @@ export class ReplicationProtectedItemsImpl }, failoverCancelOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -909,10 +921,12 @@ export class ReplicationProtectedItemsImpl }, failoverCommitOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1007,10 +1021,12 @@ export class ReplicationProtectedItemsImpl }, plannedFailoverOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1104,10 +1120,12 @@ export class ReplicationProtectedItemsImpl }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1206,10 +1224,12 @@ export class ReplicationProtectedItemsImpl }, removeDisksOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1305,10 +1325,12 @@ export class ReplicationProtectedItemsImpl }, repairReplicationOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1404,10 +1426,12 @@ export class ReplicationProtectedItemsImpl }, reprotectOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1505,10 +1529,12 @@ export class ReplicationProtectedItemsImpl }, resolveHealthErrorsOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1606,11 +1632,13 @@ export class ReplicationProtectedItemsImpl }, switchProviderOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, lroResourceLocationConfig: "azure-async-operation" }); + await poller.poll(); + return poller; } /** @@ -1708,10 +1736,12 @@ export class ReplicationProtectedItemsImpl }, testFailoverOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1809,10 +1839,12 @@ export class ReplicationProtectedItemsImpl }, testFailoverCleanupOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -1910,10 +1942,12 @@ export class ReplicationProtectedItemsImpl }, unplannedFailoverOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -2011,10 +2045,12 @@ export class ReplicationProtectedItemsImpl }, updateApplianceOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -2116,10 +2152,12 @@ export class ReplicationProtectedItemsImpl }, updateMobilityServiceOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts index 667dc832fc2e..ad581a5cf3cb 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainerMappings.ts @@ -272,10 +272,12 @@ export class ReplicationProtectionContainerMappingsImpl }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -360,10 +362,12 @@ export class ReplicationProtectionContainerMappingsImpl { fabricName, protectionContainerName, mappingName, options }, purgeOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -458,10 +462,12 @@ export class ReplicationProtectionContainerMappingsImpl }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -554,10 +560,12 @@ export class ReplicationProtectionContainerMappingsImpl }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts index f9681733f6db..9647498f6b22 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationProtectionContainers.ts @@ -241,10 +241,12 @@ export class ReplicationProtectionContainersImpl { fabricName, protectionContainerName, creationInput, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -338,10 +340,12 @@ export class ReplicationProtectionContainersImpl }, discoverProtectableItemOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -421,10 +425,12 @@ export class ReplicationProtectionContainersImpl { fabricName, protectionContainerName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -510,10 +516,12 @@ export class ReplicationProtectionContainersImpl { fabricName, protectionContainerName, switchInput, options }, switchProtectionOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts index 701bc8866a3b..527ceae5190e 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryPlans.ts @@ -189,10 +189,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, input, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -263,10 +265,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -342,10 +346,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, input, options }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -421,10 +427,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, options }, failoverCancelOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -498,10 +506,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, options }, failoverCommitOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -577,10 +587,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, input, options }, plannedFailoverOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -660,10 +672,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, options }, reprotectOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -739,10 +753,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, input, options }, testFailoverOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -824,10 +840,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, input, options }, testFailoverCleanupOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -909,10 +927,12 @@ export class ReplicationRecoveryPlansImpl implements ReplicationRecoveryPlans { { recoveryPlanName, input, options }, unplannedFailoverOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts index d0996c242520..7efded5f17dd 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationRecoveryServicesProviders.ts @@ -240,10 +240,12 @@ export class ReplicationRecoveryServicesProvidersImpl { fabricName, providerName, addProviderInput, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -323,10 +325,12 @@ export class ReplicationRecoveryServicesProvidersImpl { fabricName, providerName, options }, purgeOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -406,10 +410,12 @@ export class ReplicationRecoveryServicesProvidersImpl { fabricName, providerName, options }, refreshProviderOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -486,10 +492,12 @@ export class ReplicationRecoveryServicesProvidersImpl { fabricName, providerName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts index 2091faebcd8a..c18fc025caca 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationStorageClassificationMappings.ts @@ -274,10 +274,12 @@ export class ReplicationStorageClassificationMappingsImpl }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -367,10 +369,12 @@ export class ReplicationStorageClassificationMappingsImpl }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts index d760dcf6c23c..06b1c0695579 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultHealth.ts @@ -94,10 +94,12 @@ export class ReplicationVaultHealthImpl implements ReplicationVaultHealth { }; const lro = new LroImpl(sendOperation, { options }, refreshOperationSpec); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts index d11b81225584..03ed1b0c8076 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationVaultSetting.ts @@ -167,10 +167,12 @@ export class ReplicationVaultSettingImpl implements ReplicationVaultSetting { { vaultSettingName, input, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts index a541ea6d1778..e633be46999a 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operations/replicationvCenters.ts @@ -237,10 +237,12 @@ export class ReplicationvCentersImpl implements ReplicationvCenters { { fabricName, vcenterName, addVCenterRequest, options }, createOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -320,10 +322,12 @@ export class ReplicationvCentersImpl implements ReplicationvCenters { { fabricName, vcenterName, options }, deleteOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** @@ -403,10 +407,12 @@ export class ReplicationvCentersImpl implements ReplicationvCenters { { fabricName, vcenterName, updateVCenterRequest, options }, updateOperationSpec ); - return new LroEngine(lro, { + const poller = new LroEngine(lro, { resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs }); + await poller.poll(); + return poller; } /** diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts index 1cadf130d44e..421ac9c17080 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/operationsInterfaces/replicationMigrationItems.ts @@ -24,6 +24,12 @@ import { MigrateInput, ReplicationMigrationItemsMigrateOptionalParams, ReplicationMigrationItemsMigrateResponse, + PauseReplicationInput, + ReplicationMigrationItemsPauseReplicationOptionalParams, + ReplicationMigrationItemsPauseReplicationResponse, + ResumeReplicationInput, + ReplicationMigrationItemsResumeReplicationOptionalParams, + ReplicationMigrationItemsResumeReplicationResponse, ResyncInput, ReplicationMigrationItemsResyncOptionalParams, ReplicationMigrationItemsResyncResponse, @@ -200,6 +206,76 @@ export interface ReplicationMigrationItems { migrateInput: MigrateInput, options?: ReplicationMigrationItemsMigrateOptionalParams ): Promise; + /** + * The operation to initiate pause replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param pauseReplicationInput Pause replication input. + * @param options The options parameters. + */ + beginPauseReplication( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + pauseReplicationInput: PauseReplicationInput, + options?: ReplicationMigrationItemsPauseReplicationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsPauseReplicationResponse + > + >; + /** + * The operation to initiate pause replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param pauseReplicationInput Pause replication input. + * @param options The options parameters. + */ + beginPauseReplicationAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + pauseReplicationInput: PauseReplicationInput, + options?: ReplicationMigrationItemsPauseReplicationOptionalParams + ): Promise; + /** + * The operation to initiate resume replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param resumeReplicationInput Resume replication input. + * @param options The options parameters. + */ + beginResumeReplication( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + resumeReplicationInput: ResumeReplicationInput, + options?: ReplicationMigrationItemsResumeReplicationOptionalParams + ): Promise< + PollerLike< + PollOperationState, + ReplicationMigrationItemsResumeReplicationResponse + > + >; + /** + * The operation to initiate resume replication of the item. + * @param fabricName Fabric name. + * @param protectionContainerName Protection container name. + * @param migrationItemName Migration item name. + * @param resumeReplicationInput Resume replication input. + * @param options The options parameters. + */ + beginResumeReplicationAndWait( + fabricName: string, + protectionContainerName: string, + migrationItemName: string, + resumeReplicationInput: ResumeReplicationInput, + options?: ReplicationMigrationItemsResumeReplicationOptionalParams + ): Promise; /** * The operation to resynchronize replication of an ASR migration item. * @param fabricName Fabric name. diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts index 162b19bfcad3..127691e5ea3d 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/src/siteRecoveryManagementClient.ts @@ -7,6 +7,12 @@ */ import * as coreClient from "@azure/core-client"; +import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import { + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { OperationsImpl, @@ -115,7 +121,7 @@ export class SiteRecoveryManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-recoveryservices-siterecovery/4.0.0`; + const packageDetails = `azsdk-js-arm-recoveryservices-siterecovery/4.1.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -130,9 +136,33 @@ export class SiteRecoveryManagementClient extends coreClient.ServiceClient { userAgentOptions: { userAgentPrefix }, - baseUri: options.endpoint || "https://management.azure.com" + baseUri: + options.endpoint ?? options.baseUri ?? "https://management.azure.com" }; super(optionsWithDefaults); + + if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { + const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); + const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + (pipelinePolicy) => + pipelinePolicy.name === + coreRestPipeline.bearerTokenAuthenticationPolicyName + ); + if (!bearerTokenAuthenticationPolicyFound) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + scopes: `${optionsWithDefaults.baseUri}/.default`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); + } + } // Parameter assignments this.resourceGroupName = resourceGroupName; this.subscriptionId = subscriptionId; @@ -140,7 +170,7 @@ export class SiteRecoveryManagementClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2021-11-01"; + this.apiVersion = options.apiVersion || "2022-05-01"; this.operations = new OperationsImpl(this); this.replicationAlertSettings = new ReplicationAlertSettingsImpl(this); this.replicationAppliances = new ReplicationAppliancesImpl(this); @@ -187,6 +217,35 @@ export class SiteRecoveryManagementClient extends coreClient.ServiceClient { ); this.replicationVaultHealth = new ReplicationVaultHealthImpl(this); this.replicationVaultSetting = new ReplicationVaultSettingImpl(this); + this.addCustomApiVersionPolicy(options.apiVersion); + } + + /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ + private addCustomApiVersionPolicy(apiVersion?: string) { + if (!apiVersion) { + return; + } + const apiVersionPolicy = { + name: "CustomApiVersionPolicy", + async sendRequest( + request: PipelineRequest, + next: SendRequest + ): Promise { + const param = request.url.split("?"); + if (param.length > 1) { + const newParams = param[1].split("&").map((item) => { + if (item.indexOf("api-version") > -1) { + return "api-version=" + apiVersion; + } else { + return item; + } + }); + request.url = param[0] + "?" + newParams.join("&"); + } + return next(request); + } + }; + this.pipeline.addPolicy(apiVersionPolicy); } operations: Operations; diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts index 7ed89b043e1b..25aeb3ebcc36 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/test/sampleTest.ts @@ -7,35 +7,30 @@ */ import { - env, - record, - RecorderEnvironmentSetup, - Recorder + Recorder, + RecorderStartOptions, + env } from "@azure-tools/test-recorder"; -import * as assert from "assert"; +import { assert } from "chai"; +import { Context } from "mocha"; -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: [] +const replaceableVariables: Record = { + 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" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables }; describe("My test", () => { let recorder: Recorder; - beforeEach(async function() { - recorder = record(this, recorderEnvSetup); + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); }); afterEach(async function() { diff --git a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json index 6e3251194117..3e6ae96443f3 100644 --- a/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json +++ b/sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery/tsconfig.json @@ -9,11 +9,19 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6", "dom"], + "lib": [ + "es6", + "dom" + ], "declaration": true, "outDir": "./dist-esm", "importHelpers": true }, - "include": ["./src/**/*.ts", "./test/**/*.ts"], - "exclude": ["node_modules"] -} + "include": [ + "./src/**/*.ts", + "./test/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/sdk/recoveryservicessiterecovery/ci.mgmt.yml b/sdk/recoveryservicessiterecovery/ci.mgmt.yml index 164470c8c336..2911b9599d87 100644 --- a/sdk/recoveryservicessiterecovery/ci.mgmt.yml +++ b/sdk/recoveryservicessiterecovery/ci.mgmt.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -10,6 +10,7 @@ trigger: include: - sdk/recoveryservicessiterecovery/ci.mgmt.yml - sdk/recoveryservicessiterecovery/arm-recoveryservicessiterecovery/ + - sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery pr: branches: include: @@ -23,11 +24,11 @@ pr: include: - sdk/recoveryservicessiterecovery/ci.mgmt.yml - sdk/recoveryservicessiterecovery/arm-recoveryservicessiterecovery/ - + - sdk/recoveryservicessiterecovery/arm-recoveryservices-siterecovery 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 + safeName: azurearmrecoveryservicessiterecovery