diff --git a/profiles/latest/recoveryservices/mgmt/siterecovery/models.go b/profiles/latest/recoveryservices/mgmt/siterecovery/models.go index 86d404120363..f4e143f48a3f 100644 --- a/profiles/latest/recoveryservices/mgmt/siterecovery/models.go +++ b/profiles/latest/recoveryservices/mgmt/siterecovery/models.go @@ -30,6 +30,7 @@ const ( ) type BaseClient = original.BaseClient +type MigrationRecoveryPointsClient = original.MigrationRecoveryPointsClient type A2ARpRecoveryPointType = original.A2ARpRecoveryPointType const ( @@ -77,6 +78,29 @@ const ( NotSpecified DisableProtectionReason = original.NotSpecified ) +type DiskAccountType = original.DiskAccountType + +const ( + PremiumLRS DiskAccountType = original.PremiumLRS + StandardLRS DiskAccountType = original.StandardLRS + StandardSSDLRS DiskAccountType = original.StandardSSDLRS +) + +type DiskType = original.DiskType + +const ( + DiskTypePremiumLRS DiskType = original.DiskTypePremiumLRS + DiskTypeStandardLRS DiskType = original.DiskTypeStandardLRS + DiskTypeStandardSSDLRS DiskType = original.DiskTypeStandardSSDLRS +) + +type EthernetAddressType = original.EthernetAddressType + +const ( + Dynamic EthernetAddressType = original.Dynamic + Static EthernetAddressType = original.Static +) + type FailoverDeploymentModel = original.FailoverDeploymentModel const ( @@ -105,12 +129,6 @@ const ( HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed HyperVReplicaAzureRpRecoveryPointType = original.HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed ) -type IdentityProviderType = original.IdentityProviderType - -const ( - RecoveryServicesActiveDirectory IdentityProviderType = original.RecoveryServicesActiveDirectory -) - type InMageV2RpRecoveryPointType = original.InMageV2RpRecoveryPointType const ( @@ -146,6 +164,13 @@ const ( InstanceTypeInMage InstanceTypeBasicDisableProtectionProviderSpecificInput = original.InstanceTypeInMage ) +type InstanceTypeBasicEnableMigrationProviderSpecificInput = original.InstanceTypeBasicEnableMigrationProviderSpecificInput + +const ( + InstanceTypeEnableMigrationProviderSpecificInput InstanceTypeBasicEnableMigrationProviderSpecificInput = original.InstanceTypeEnableMigrationProviderSpecificInput + InstanceTypeVMwareCbt InstanceTypeBasicEnableMigrationProviderSpecificInput = original.InstanceTypeVMwareCbt +) + type InstanceTypeBasicEnableProtectionProviderSpecificInput = original.InstanceTypeBasicEnableProtectionProviderSpecificInput const ( @@ -233,6 +258,20 @@ const ( InstanceTypeTestFailoverJobDetails InstanceTypeBasicJobDetails = original.InstanceTypeTestFailoverJobDetails ) +type InstanceTypeBasicMigrateProviderSpecificInput = original.InstanceTypeBasicMigrateProviderSpecificInput + +const ( + InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput InstanceTypeBasicMigrateProviderSpecificInput = original.InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput + InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicMigrateProviderSpecificInput = original.InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt +) + +type InstanceTypeBasicMigrationProviderSpecificSettings = original.InstanceTypeBasicMigrationProviderSpecificSettings + +const ( + InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings InstanceTypeBasicMigrationProviderSpecificSettings = original.InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings + InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt InstanceTypeBasicMigrationProviderSpecificSettings = original.InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt +) + type InstanceTypeBasicNetworkMappingFabricSpecificSettings = original.InstanceTypeBasicNetworkMappingFabricSpecificSettings const ( @@ -276,6 +315,7 @@ type InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = origin const ( InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = original.InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = original.InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails + InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = original.InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt ) type InstanceTypeBasicProviderSpecificFailoverInput = original.InstanceTypeBasicProviderSpecificFailoverInput @@ -320,8 +360,9 @@ const ( type InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInput const ( - InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A - InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero ) type InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInput @@ -329,6 +370,7 @@ type InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = origina const ( InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput + InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt ) type InstanceTypeBasicReplicationProviderSpecificSettings = original.InstanceTypeBasicReplicationProviderSpecificSettings @@ -382,6 +424,20 @@ const ( InstanceTypeVMNicUpdatesTaskDetails InstanceTypeBasicTaskTypeDetails = original.InstanceTypeVMNicUpdatesTaskDetails ) +type InstanceTypeBasicTestMigrateProviderSpecificInput = original.InstanceTypeBasicTestMigrateProviderSpecificInput + +const ( + InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput InstanceTypeBasicTestMigrateProviderSpecificInput = original.InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput + InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicTestMigrateProviderSpecificInput = original.InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt +) + +type InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = original.InstanceTypeBasicUpdateMigrationItemProviderSpecificInput + +const ( + InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = original.InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput + InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = original.InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt +) + type InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = original.InstanceTypeBasicUpdateReplicationProtectedItemProviderInput const ( @@ -399,6 +455,39 @@ const ( LicenseTypeWindowsServer LicenseType = original.LicenseTypeWindowsServer ) +type MigrationItemOperation = original.MigrationItemOperation + +const ( + DisableMigration MigrationItemOperation = original.DisableMigration + Migrate MigrationItemOperation = original.Migrate + TestMigrate MigrationItemOperation = original.TestMigrate + TestMigrateCleanup MigrationItemOperation = original.TestMigrateCleanup +) + +type MigrationRecoveryPointType = original.MigrationRecoveryPointType + +const ( + MigrationRecoveryPointTypeApplicationConsistent MigrationRecoveryPointType = original.MigrationRecoveryPointTypeApplicationConsistent + MigrationRecoveryPointTypeCrashConsistent MigrationRecoveryPointType = original.MigrationRecoveryPointTypeCrashConsistent + MigrationRecoveryPointTypeNotSpecified MigrationRecoveryPointType = original.MigrationRecoveryPointTypeNotSpecified +) + +type MigrationState = original.MigrationState + +const ( + MigrationStateDisableMigrationFailed MigrationState = original.MigrationStateDisableMigrationFailed + MigrationStateDisableMigrationInProgress MigrationState = original.MigrationStateDisableMigrationInProgress + MigrationStateEnableMigrationFailed MigrationState = original.MigrationStateEnableMigrationFailed + MigrationStateEnableMigrationInProgress MigrationState = original.MigrationStateEnableMigrationInProgress + MigrationStateInitialSeedingFailed MigrationState = original.MigrationStateInitialSeedingFailed + MigrationStateInitialSeedingInProgress MigrationState = original.MigrationStateInitialSeedingInProgress + MigrationStateMigrationFailed MigrationState = original.MigrationStateMigrationFailed + MigrationStateMigrationInProgress MigrationState = original.MigrationStateMigrationInProgress + MigrationStateMigrationSucceeded MigrationState = original.MigrationStateMigrationSucceeded + MigrationStateNone MigrationState = original.MigrationStateNone + MigrationStateReplicating MigrationState = original.MigrationStateReplicating +) + type MultiVMGroupCreateOption = original.MultiVMGroupCreateOption const ( @@ -514,6 +603,16 @@ const ( Required SourceSiteOperations = original.Required ) +type TestMigrationState = original.TestMigrationState + +const ( + TestMigrationStateNone TestMigrationState = original.TestMigrationStateNone + TestMigrationStateTestMigrationCleanupInProgress TestMigrationState = original.TestMigrationStateTestMigrationCleanupInProgress + TestMigrationStateTestMigrationFailed TestMigrationState = original.TestMigrationStateTestMigrationFailed + TestMigrationStateTestMigrationInProgress TestMigrationState = original.TestMigrationStateTestMigrationInProgress + TestMigrationStateTestMigrationSucceeded TestMigrationState = original.TestMigrationStateTestMigrationSucceeded +) + type A2AApplyRecoveryPointInput = original.A2AApplyRecoveryPointInput type A2AContainerCreationInput = original.A2AContainerCreationInput type A2AContainerMappingInput = original.A2AContainerMappingInput @@ -534,6 +633,8 @@ type A2AUpdateReplicationProtectedItemInput = original.A2AUpdateReplicationProte type A2AVMDiskInputDetails = original.A2AVMDiskInputDetails type A2AVMManagedDiskInputDetails = original.A2AVMManagedDiskInputDetails type A2AVMManagedDiskUpdateDetails = original.A2AVMManagedDiskUpdateDetails +type AddRecoveryServicesProviderInput = original.AddRecoveryServicesProviderInput +type AddRecoveryServicesProviderInputProperties = original.AddRecoveryServicesProviderInputProperties type AddVCenterRequest = original.AddVCenterRequest type AddVCenterRequestProperties = original.AddVCenterRequestProperties type Alert = original.Alert @@ -571,6 +672,7 @@ type CreateProtectionContainerMappingInput = original.CreateProtectionContainerM type CreateProtectionContainerMappingInputProperties = original.CreateProtectionContainerMappingInputProperties type CreateRecoveryPlanInput = original.CreateRecoveryPlanInput type CreateRecoveryPlanInputProperties = original.CreateRecoveryPlanInputProperties +type CurrentJobDetails = original.CurrentJobDetails type CurrentScenarioDetails = original.CurrentScenarioDetails type DataStore = original.DataStore type DisableProtectionInput = original.DisableProtectionInput @@ -584,6 +686,10 @@ type DiskEncryptionInfo = original.DiskEncryptionInfo type DiskEncryptionKeyInfo = original.DiskEncryptionKeyInfo type DiskVolumeDetails = original.DiskVolumeDetails type Display = original.Display +type EnableMigrationInput = original.EnableMigrationInput +type EnableMigrationInputProperties = original.EnableMigrationInputProperties +type BasicEnableMigrationProviderSpecificInput = original.BasicEnableMigrationProviderSpecificInput +type EnableMigrationProviderSpecificInput = original.EnableMigrationProviderSpecificInput type EnableProtectionInput = original.EnableProtectionInput type EnableProtectionInputProperties = original.EnableProtectionInputProperties type BasicEnableProtectionProviderSpecificInput = original.BasicEnableProtectionProviderSpecificInput @@ -647,7 +753,8 @@ type HyperVReplicaPolicyInput = original.HyperVReplicaPolicyInput type HyperVReplicaReplicationDetails = original.HyperVReplicaReplicationDetails type HyperVSiteDetails = original.HyperVSiteDetails type HyperVVirtualMachineDetails = original.HyperVVirtualMachineDetails -type IdentityInformation = original.IdentityInformation +type IdentityProviderDetails = original.IdentityProviderDetails +type IdentityProviderInput = original.IdentityProviderInput type InconsistentVMDetails = original.InconsistentVMDetails type InitialReplicationDetails = original.InitialReplicationDetails type InlineWorkflowTaskDetails = original.InlineWorkflowTaskDetails @@ -699,6 +806,23 @@ type LogicalNetworkCollectionPage = original.LogicalNetworkCollectionPage type LogicalNetworkProperties = original.LogicalNetworkProperties type ManualActionTaskDetails = original.ManualActionTaskDetails type MasterTargetServer = original.MasterTargetServer +type MigrateInput = original.MigrateInput +type MigrateInputProperties = original.MigrateInputProperties +type BasicMigrateProviderSpecificInput = original.BasicMigrateProviderSpecificInput +type MigrateProviderSpecificInput = original.MigrateProviderSpecificInput +type MigrationItem = original.MigrationItem +type MigrationItemCollection = original.MigrationItemCollection +type MigrationItemCollectionIterator = original.MigrationItemCollectionIterator +type MigrationItemCollectionPage = original.MigrationItemCollectionPage +type MigrationItemProperties = original.MigrationItemProperties +type MigrationItemsQueryParameter = original.MigrationItemsQueryParameter +type BasicMigrationProviderSpecificSettings = original.BasicMigrationProviderSpecificSettings +type MigrationProviderSpecificSettings = original.MigrationProviderSpecificSettings +type MigrationRecoveryPoint = original.MigrationRecoveryPoint +type MigrationRecoveryPointCollection = original.MigrationRecoveryPointCollection +type MigrationRecoveryPointCollectionIterator = original.MigrationRecoveryPointCollectionIterator +type MigrationRecoveryPointCollectionPage = original.MigrationRecoveryPointCollectionPage +type MigrationRecoveryPointProperties = original.MigrationRecoveryPointProperties type MobilityServiceUpdate = original.MobilityServiceUpdate type Network = original.Network type NetworkCollection = original.NetworkCollection @@ -812,6 +936,12 @@ type ReplicationJobsCancelFuture = original.ReplicationJobsCancelFuture type ReplicationJobsExportFuture = original.ReplicationJobsExportFuture type ReplicationJobsRestartFuture = original.ReplicationJobsRestartFuture type ReplicationJobsResumeFuture = original.ReplicationJobsResumeFuture +type ReplicationMigrationItemsCreateFuture = original.ReplicationMigrationItemsCreateFuture +type ReplicationMigrationItemsDeleteFuture = original.ReplicationMigrationItemsDeleteFuture +type ReplicationMigrationItemsMigrateFuture = original.ReplicationMigrationItemsMigrateFuture +type ReplicationMigrationItemsTestMigrateCleanupFuture = original.ReplicationMigrationItemsTestMigrateCleanupFuture +type ReplicationMigrationItemsTestMigrateFuture = original.ReplicationMigrationItemsTestMigrateFuture +type ReplicationMigrationItemsUpdateFuture = original.ReplicationMigrationItemsUpdateFuture type ReplicationNetworkMappingsCreateFuture = original.ReplicationNetworkMappingsCreateFuture type ReplicationNetworkMappingsDeleteFuture = original.ReplicationNetworkMappingsDeleteFuture type ReplicationNetworkMappingsUpdateFuture = original.ReplicationNetworkMappingsUpdateFuture @@ -862,6 +992,7 @@ type ReplicationRecoveryPlansTestFailoverCleanupFuture = original.ReplicationRec type ReplicationRecoveryPlansTestFailoverFuture = original.ReplicationRecoveryPlansTestFailoverFuture type ReplicationRecoveryPlansUnplannedFailoverFuture = original.ReplicationRecoveryPlansUnplannedFailoverFuture type ReplicationRecoveryPlansUpdateFuture = original.ReplicationRecoveryPlansUpdateFuture +type ReplicationRecoveryServicesProvidersCreateFuture = original.ReplicationRecoveryServicesProvidersCreateFuture type ReplicationRecoveryServicesProvidersDeleteFuture = original.ReplicationRecoveryServicesProvidersDeleteFuture type ReplicationRecoveryServicesProvidersPurgeFuture = original.ReplicationRecoveryServicesProvidersPurgeFuture type ReplicationRecoveryServicesProvidersRefreshProviderFuture = original.ReplicationRecoveryServicesProvidersRefreshProviderFuture @@ -915,8 +1046,18 @@ type TestFailoverCleanupInputProperties = original.TestFailoverCleanupInputPrope type TestFailoverInput = original.TestFailoverInput type TestFailoverInputProperties = original.TestFailoverInputProperties type TestFailoverJobDetails = original.TestFailoverJobDetails +type TestMigrateCleanupInput = original.TestMigrateCleanupInput +type TestMigrateCleanupInputProperties = original.TestMigrateCleanupInputProperties +type TestMigrateInput = original.TestMigrateInput +type TestMigrateInputProperties = original.TestMigrateInputProperties +type BasicTestMigrateProviderSpecificInput = original.BasicTestMigrateProviderSpecificInput +type TestMigrateProviderSpecificInput = original.TestMigrateProviderSpecificInput type UnplannedFailoverInput = original.UnplannedFailoverInput type UnplannedFailoverInputProperties = original.UnplannedFailoverInputProperties +type UpdateMigrationItemInput = original.UpdateMigrationItemInput +type UpdateMigrationItemInputProperties = original.UpdateMigrationItemInputProperties +type BasicUpdateMigrationItemProviderSpecificInput = original.BasicUpdateMigrationItemProviderSpecificInput +type UpdateMigrationItemProviderSpecificInput = original.UpdateMigrationItemProviderSpecificInput type UpdateMobilityServiceRequest = original.UpdateMobilityServiceRequest type UpdateMobilityServiceRequestProperties = original.UpdateMobilityServiceRequestProperties type UpdateNetworkMappingInput = original.UpdateNetworkMappingInput @@ -953,8 +1094,20 @@ type VmmVirtualMachineDetails = original.VmmVirtualMachineDetails type VMNicDetails = original.VMNicDetails type VMNicInputDetails = original.VMNicInputDetails type VMNicUpdatesTaskDetails = original.VMNicUpdatesTaskDetails +type VMwareCbtContainerCreationInput = original.VMwareCbtContainerCreationInput +type VMwareCbtContainerMappingInput = original.VMwareCbtContainerMappingInput +type VMwareCbtDiskInput = original.VMwareCbtDiskInput +type VMwareCbtEnableMigrationInput = original.VMwareCbtEnableMigrationInput +type VMwareCbtMigrateInput = original.VMwareCbtMigrateInput +type VMwareCbtMigrationDetails = original.VMwareCbtMigrationDetails +type VMwareCbtNicDetails = original.VMwareCbtNicDetails +type VMwareCbtNicInput = original.VMwareCbtNicInput type VMwareCbtPolicyCreationInput = original.VMwareCbtPolicyCreationInput type VmwareCbtPolicyDetails = original.VmwareCbtPolicyDetails +type VMwareCbtProtectedDiskDetails = original.VMwareCbtProtectedDiskDetails +type VMwareCbtProtectionContainerMappingDetails = original.VMwareCbtProtectionContainerMappingDetails +type VMwareCbtTestMigrateInput = original.VMwareCbtTestMigrateInput +type VMwareCbtUpdateMigrationItemInput = original.VMwareCbtUpdateMigrationItemInput type VMwareDetails = original.VMwareDetails type VMwareV2FabricCreationInput = original.VMwareV2FabricCreationInput type VMwareV2FabricSpecificDetails = original.VMwareV2FabricSpecificDetails @@ -966,6 +1119,7 @@ type ReplicationEventsClient = original.ReplicationEventsClient type ReplicationFabricsClient = original.ReplicationFabricsClient type ReplicationJobsClient = original.ReplicationJobsClient type ReplicationLogicalNetworksClient = original.ReplicationLogicalNetworksClient +type ReplicationMigrationItemsClient = original.ReplicationMigrationItemsClient type ReplicationNetworkMappingsClient = original.ReplicationNetworkMappingsClient type ReplicationNetworksClient = original.ReplicationNetworksClient type ReplicationPoliciesClient = original.ReplicationPoliciesClient @@ -987,6 +1141,12 @@ func New(subscriptionID string, resourceGroupName string, resourceName string) B func NewWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) } +func NewMigrationRecoveryPointsClient(subscriptionID string, resourceGroupName string, resourceName string) MigrationRecoveryPointsClient { + return original.NewMigrationRecoveryPointsClient(subscriptionID, resourceGroupName, resourceName) +} +func NewMigrationRecoveryPointsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) MigrationRecoveryPointsClient { + return original.NewMigrationRecoveryPointsClientWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) +} func PossibleA2ARpRecoveryPointTypeValues() []A2ARpRecoveryPointType { return original.PossibleA2ARpRecoveryPointTypeValues() } @@ -1005,6 +1165,15 @@ func PossibleDataSyncStatusValues() []DataSyncStatus { func PossibleDisableProtectionReasonValues() []DisableProtectionReason { return original.PossibleDisableProtectionReasonValues() } +func PossibleDiskAccountTypeValues() []DiskAccountType { + return original.PossibleDiskAccountTypeValues() +} +func PossibleDiskTypeValues() []DiskType { + return original.PossibleDiskTypeValues() +} +func PossibleEthernetAddressTypeValues() []EthernetAddressType { + return original.PossibleEthernetAddressTypeValues() +} func PossibleFailoverDeploymentModelValues() []FailoverDeploymentModel { return original.PossibleFailoverDeploymentModelValues() } @@ -1014,9 +1183,6 @@ func PossibleHealthErrorCategoryValues() []HealthErrorCategory { func PossibleHyperVReplicaAzureRpRecoveryPointTypeValues() []HyperVReplicaAzureRpRecoveryPointType { return original.PossibleHyperVReplicaAzureRpRecoveryPointTypeValues() } -func PossibleIdentityProviderTypeValues() []IdentityProviderType { - return original.PossibleIdentityProviderTypeValues() -} func PossibleInMageV2RpRecoveryPointTypeValues() []InMageV2RpRecoveryPointType { return original.PossibleInMageV2RpRecoveryPointTypeValues() } @@ -1029,6 +1195,9 @@ func PossibleInstanceTypeBasicConfigurationSettingsValues() []InstanceTypeBasicC func PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues() []InstanceTypeBasicDisableProtectionProviderSpecificInput { return original.PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues() } +func PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues() []InstanceTypeBasicEnableMigrationProviderSpecificInput { + return original.PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues() +} func PossibleInstanceTypeBasicEnableProtectionProviderSpecificInputValues() []InstanceTypeBasicEnableProtectionProviderSpecificInput { return original.PossibleInstanceTypeBasicEnableProtectionProviderSpecificInputValues() } @@ -1056,6 +1225,12 @@ func PossibleInstanceTypeBasicGroupTaskDetailsValues() []InstanceTypeBasicGroupT func PossibleInstanceTypeBasicJobDetailsValues() []InstanceTypeBasicJobDetails { return original.PossibleInstanceTypeBasicJobDetailsValues() } +func PossibleInstanceTypeBasicMigrateProviderSpecificInputValues() []InstanceTypeBasicMigrateProviderSpecificInput { + return original.PossibleInstanceTypeBasicMigrateProviderSpecificInputValues() +} +func PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues() []InstanceTypeBasicMigrationProviderSpecificSettings { + return original.PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues() +} func PossibleInstanceTypeBasicNetworkMappingFabricSpecificSettingsValues() []InstanceTypeBasicNetworkMappingFabricSpecificSettings { return original.PossibleInstanceTypeBasicNetworkMappingFabricSpecificSettingsValues() } @@ -1101,12 +1276,27 @@ func PossibleInstanceTypeBasicSwitchProtectionProviderSpecificInputValues() []In func PossibleInstanceTypeBasicTaskTypeDetailsValues() []InstanceTypeBasicTaskTypeDetails { return original.PossibleInstanceTypeBasicTaskTypeDetailsValues() } +func PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues() []InstanceTypeBasicTestMigrateProviderSpecificInput { + return original.PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues() +} +func PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues() []InstanceTypeBasicUpdateMigrationItemProviderSpecificInput { + return original.PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues() +} func PossibleInstanceTypeBasicUpdateReplicationProtectedItemProviderInputValues() []InstanceTypeBasicUpdateReplicationProtectedItemProviderInput { return original.PossibleInstanceTypeBasicUpdateReplicationProtectedItemProviderInputValues() } func PossibleLicenseTypeValues() []LicenseType { return original.PossibleLicenseTypeValues() } +func PossibleMigrationItemOperationValues() []MigrationItemOperation { + return original.PossibleMigrationItemOperationValues() +} +func PossibleMigrationRecoveryPointTypeValues() []MigrationRecoveryPointType { + return original.PossibleMigrationRecoveryPointTypeValues() +} +func PossibleMigrationStateValues() []MigrationState { + return original.PossibleMigrationStateValues() +} func PossibleMultiVMGroupCreateOptionValues() []MultiVMGroupCreateOption { return original.PossibleMultiVMGroupCreateOptionValues() } @@ -1149,6 +1339,9 @@ func PossibleSeverityValues() []Severity { func PossibleSourceSiteOperationsValues() []SourceSiteOperations { return original.PossibleSourceSiteOperationsValues() } +func PossibleTestMigrationStateValues() []TestMigrationState { + return original.PossibleTestMigrationStateValues() +} func NewAlertCollectionIterator(page AlertCollectionPage) AlertCollectionIterator { return original.NewAlertCollectionIterator(page) } @@ -1179,6 +1372,18 @@ func NewLogicalNetworkCollectionIterator(page LogicalNetworkCollectionPage) Logi func NewLogicalNetworkCollectionPage(getNextPage func(context.Context, LogicalNetworkCollection) (LogicalNetworkCollection, error)) LogicalNetworkCollectionPage { return original.NewLogicalNetworkCollectionPage(getNextPage) } +func NewMigrationItemCollectionIterator(page MigrationItemCollectionPage) MigrationItemCollectionIterator { + return original.NewMigrationItemCollectionIterator(page) +} +func NewMigrationItemCollectionPage(getNextPage func(context.Context, MigrationItemCollection) (MigrationItemCollection, error)) MigrationItemCollectionPage { + return original.NewMigrationItemCollectionPage(getNextPage) +} +func NewMigrationRecoveryPointCollectionIterator(page MigrationRecoveryPointCollectionPage) MigrationRecoveryPointCollectionIterator { + return original.NewMigrationRecoveryPointCollectionIterator(page) +} +func NewMigrationRecoveryPointCollectionPage(getNextPage func(context.Context, MigrationRecoveryPointCollection) (MigrationRecoveryPointCollection, error)) MigrationRecoveryPointCollectionPage { + return original.NewMigrationRecoveryPointCollectionPage(getNextPage) +} func NewNetworkCollectionIterator(page NetworkCollectionPage) NetworkCollectionIterator { return original.NewNetworkCollectionIterator(page) } @@ -1311,6 +1516,12 @@ func NewReplicationLogicalNetworksClient(subscriptionID string, resourceGroupNam func NewReplicationLogicalNetworksClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationLogicalNetworksClient { return original.NewReplicationLogicalNetworksClientWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) } +func NewReplicationMigrationItemsClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationMigrationItemsClient { + return original.NewReplicationMigrationItemsClient(subscriptionID, resourceGroupName, resourceName) +} +func NewReplicationMigrationItemsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationMigrationItemsClient { + return original.NewReplicationMigrationItemsClientWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) +} func NewReplicationNetworkMappingsClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationNetworkMappingsClient { return original.NewReplicationNetworkMappingsClient(subscriptionID, resourceGroupName, resourceName) } diff --git a/profiles/preview/recoveryservices/mgmt/siterecovery/models.go b/profiles/preview/recoveryservices/mgmt/siterecovery/models.go index 7c7fc572a9e9..32666a4d6ed9 100644 --- a/profiles/preview/recoveryservices/mgmt/siterecovery/models.go +++ b/profiles/preview/recoveryservices/mgmt/siterecovery/models.go @@ -30,6 +30,7 @@ const ( ) type BaseClient = original.BaseClient +type MigrationRecoveryPointsClient = original.MigrationRecoveryPointsClient type A2ARpRecoveryPointType = original.A2ARpRecoveryPointType const ( @@ -77,6 +78,29 @@ const ( NotSpecified DisableProtectionReason = original.NotSpecified ) +type DiskAccountType = original.DiskAccountType + +const ( + PremiumLRS DiskAccountType = original.PremiumLRS + StandardLRS DiskAccountType = original.StandardLRS + StandardSSDLRS DiskAccountType = original.StandardSSDLRS +) + +type DiskType = original.DiskType + +const ( + DiskTypePremiumLRS DiskType = original.DiskTypePremiumLRS + DiskTypeStandardLRS DiskType = original.DiskTypeStandardLRS + DiskTypeStandardSSDLRS DiskType = original.DiskTypeStandardSSDLRS +) + +type EthernetAddressType = original.EthernetAddressType + +const ( + Dynamic EthernetAddressType = original.Dynamic + Static EthernetAddressType = original.Static +) + type FailoverDeploymentModel = original.FailoverDeploymentModel const ( @@ -105,12 +129,6 @@ const ( HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed HyperVReplicaAzureRpRecoveryPointType = original.HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed ) -type IdentityProviderType = original.IdentityProviderType - -const ( - RecoveryServicesActiveDirectory IdentityProviderType = original.RecoveryServicesActiveDirectory -) - type InMageV2RpRecoveryPointType = original.InMageV2RpRecoveryPointType const ( @@ -146,6 +164,13 @@ const ( InstanceTypeInMage InstanceTypeBasicDisableProtectionProviderSpecificInput = original.InstanceTypeInMage ) +type InstanceTypeBasicEnableMigrationProviderSpecificInput = original.InstanceTypeBasicEnableMigrationProviderSpecificInput + +const ( + InstanceTypeEnableMigrationProviderSpecificInput InstanceTypeBasicEnableMigrationProviderSpecificInput = original.InstanceTypeEnableMigrationProviderSpecificInput + InstanceTypeVMwareCbt InstanceTypeBasicEnableMigrationProviderSpecificInput = original.InstanceTypeVMwareCbt +) + type InstanceTypeBasicEnableProtectionProviderSpecificInput = original.InstanceTypeBasicEnableProtectionProviderSpecificInput const ( @@ -233,6 +258,20 @@ const ( InstanceTypeTestFailoverJobDetails InstanceTypeBasicJobDetails = original.InstanceTypeTestFailoverJobDetails ) +type InstanceTypeBasicMigrateProviderSpecificInput = original.InstanceTypeBasicMigrateProviderSpecificInput + +const ( + InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput InstanceTypeBasicMigrateProviderSpecificInput = original.InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput + InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicMigrateProviderSpecificInput = original.InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt +) + +type InstanceTypeBasicMigrationProviderSpecificSettings = original.InstanceTypeBasicMigrationProviderSpecificSettings + +const ( + InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings InstanceTypeBasicMigrationProviderSpecificSettings = original.InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings + InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt InstanceTypeBasicMigrationProviderSpecificSettings = original.InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt +) + type InstanceTypeBasicNetworkMappingFabricSpecificSettings = original.InstanceTypeBasicNetworkMappingFabricSpecificSettings const ( @@ -276,6 +315,7 @@ type InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = origin const ( InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = original.InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = original.InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails + InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = original.InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt ) type InstanceTypeBasicProviderSpecificFailoverInput = original.InstanceTypeBasicProviderSpecificFailoverInput @@ -320,8 +360,9 @@ const ( type InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInput const ( - InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A - InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = original.InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero ) type InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInput @@ -329,6 +370,7 @@ type InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = origina const ( InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput + InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = original.InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt ) type InstanceTypeBasicReplicationProviderSpecificSettings = original.InstanceTypeBasicReplicationProviderSpecificSettings @@ -382,6 +424,20 @@ const ( InstanceTypeVMNicUpdatesTaskDetails InstanceTypeBasicTaskTypeDetails = original.InstanceTypeVMNicUpdatesTaskDetails ) +type InstanceTypeBasicTestMigrateProviderSpecificInput = original.InstanceTypeBasicTestMigrateProviderSpecificInput + +const ( + InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput InstanceTypeBasicTestMigrateProviderSpecificInput = original.InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput + InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicTestMigrateProviderSpecificInput = original.InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt +) + +type InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = original.InstanceTypeBasicUpdateMigrationItemProviderSpecificInput + +const ( + InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = original.InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput + InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = original.InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt +) + type InstanceTypeBasicUpdateReplicationProtectedItemProviderInput = original.InstanceTypeBasicUpdateReplicationProtectedItemProviderInput const ( @@ -399,6 +455,39 @@ const ( LicenseTypeWindowsServer LicenseType = original.LicenseTypeWindowsServer ) +type MigrationItemOperation = original.MigrationItemOperation + +const ( + DisableMigration MigrationItemOperation = original.DisableMigration + Migrate MigrationItemOperation = original.Migrate + TestMigrate MigrationItemOperation = original.TestMigrate + TestMigrateCleanup MigrationItemOperation = original.TestMigrateCleanup +) + +type MigrationRecoveryPointType = original.MigrationRecoveryPointType + +const ( + MigrationRecoveryPointTypeApplicationConsistent MigrationRecoveryPointType = original.MigrationRecoveryPointTypeApplicationConsistent + MigrationRecoveryPointTypeCrashConsistent MigrationRecoveryPointType = original.MigrationRecoveryPointTypeCrashConsistent + MigrationRecoveryPointTypeNotSpecified MigrationRecoveryPointType = original.MigrationRecoveryPointTypeNotSpecified +) + +type MigrationState = original.MigrationState + +const ( + MigrationStateDisableMigrationFailed MigrationState = original.MigrationStateDisableMigrationFailed + MigrationStateDisableMigrationInProgress MigrationState = original.MigrationStateDisableMigrationInProgress + MigrationStateEnableMigrationFailed MigrationState = original.MigrationStateEnableMigrationFailed + MigrationStateEnableMigrationInProgress MigrationState = original.MigrationStateEnableMigrationInProgress + MigrationStateInitialSeedingFailed MigrationState = original.MigrationStateInitialSeedingFailed + MigrationStateInitialSeedingInProgress MigrationState = original.MigrationStateInitialSeedingInProgress + MigrationStateMigrationFailed MigrationState = original.MigrationStateMigrationFailed + MigrationStateMigrationInProgress MigrationState = original.MigrationStateMigrationInProgress + MigrationStateMigrationSucceeded MigrationState = original.MigrationStateMigrationSucceeded + MigrationStateNone MigrationState = original.MigrationStateNone + MigrationStateReplicating MigrationState = original.MigrationStateReplicating +) + type MultiVMGroupCreateOption = original.MultiVMGroupCreateOption const ( @@ -514,6 +603,16 @@ const ( Required SourceSiteOperations = original.Required ) +type TestMigrationState = original.TestMigrationState + +const ( + TestMigrationStateNone TestMigrationState = original.TestMigrationStateNone + TestMigrationStateTestMigrationCleanupInProgress TestMigrationState = original.TestMigrationStateTestMigrationCleanupInProgress + TestMigrationStateTestMigrationFailed TestMigrationState = original.TestMigrationStateTestMigrationFailed + TestMigrationStateTestMigrationInProgress TestMigrationState = original.TestMigrationStateTestMigrationInProgress + TestMigrationStateTestMigrationSucceeded TestMigrationState = original.TestMigrationStateTestMigrationSucceeded +) + type A2AApplyRecoveryPointInput = original.A2AApplyRecoveryPointInput type A2AContainerCreationInput = original.A2AContainerCreationInput type A2AContainerMappingInput = original.A2AContainerMappingInput @@ -534,6 +633,8 @@ type A2AUpdateReplicationProtectedItemInput = original.A2AUpdateReplicationProte type A2AVMDiskInputDetails = original.A2AVMDiskInputDetails type A2AVMManagedDiskInputDetails = original.A2AVMManagedDiskInputDetails type A2AVMManagedDiskUpdateDetails = original.A2AVMManagedDiskUpdateDetails +type AddRecoveryServicesProviderInput = original.AddRecoveryServicesProviderInput +type AddRecoveryServicesProviderInputProperties = original.AddRecoveryServicesProviderInputProperties type AddVCenterRequest = original.AddVCenterRequest type AddVCenterRequestProperties = original.AddVCenterRequestProperties type Alert = original.Alert @@ -571,6 +672,7 @@ type CreateProtectionContainerMappingInput = original.CreateProtectionContainerM type CreateProtectionContainerMappingInputProperties = original.CreateProtectionContainerMappingInputProperties type CreateRecoveryPlanInput = original.CreateRecoveryPlanInput type CreateRecoveryPlanInputProperties = original.CreateRecoveryPlanInputProperties +type CurrentJobDetails = original.CurrentJobDetails type CurrentScenarioDetails = original.CurrentScenarioDetails type DataStore = original.DataStore type DisableProtectionInput = original.DisableProtectionInput @@ -584,6 +686,10 @@ type DiskEncryptionInfo = original.DiskEncryptionInfo type DiskEncryptionKeyInfo = original.DiskEncryptionKeyInfo type DiskVolumeDetails = original.DiskVolumeDetails type Display = original.Display +type EnableMigrationInput = original.EnableMigrationInput +type EnableMigrationInputProperties = original.EnableMigrationInputProperties +type BasicEnableMigrationProviderSpecificInput = original.BasicEnableMigrationProviderSpecificInput +type EnableMigrationProviderSpecificInput = original.EnableMigrationProviderSpecificInput type EnableProtectionInput = original.EnableProtectionInput type EnableProtectionInputProperties = original.EnableProtectionInputProperties type BasicEnableProtectionProviderSpecificInput = original.BasicEnableProtectionProviderSpecificInput @@ -647,7 +753,8 @@ type HyperVReplicaPolicyInput = original.HyperVReplicaPolicyInput type HyperVReplicaReplicationDetails = original.HyperVReplicaReplicationDetails type HyperVSiteDetails = original.HyperVSiteDetails type HyperVVirtualMachineDetails = original.HyperVVirtualMachineDetails -type IdentityInformation = original.IdentityInformation +type IdentityProviderDetails = original.IdentityProviderDetails +type IdentityProviderInput = original.IdentityProviderInput type InconsistentVMDetails = original.InconsistentVMDetails type InitialReplicationDetails = original.InitialReplicationDetails type InlineWorkflowTaskDetails = original.InlineWorkflowTaskDetails @@ -699,6 +806,23 @@ type LogicalNetworkCollectionPage = original.LogicalNetworkCollectionPage type LogicalNetworkProperties = original.LogicalNetworkProperties type ManualActionTaskDetails = original.ManualActionTaskDetails type MasterTargetServer = original.MasterTargetServer +type MigrateInput = original.MigrateInput +type MigrateInputProperties = original.MigrateInputProperties +type BasicMigrateProviderSpecificInput = original.BasicMigrateProviderSpecificInput +type MigrateProviderSpecificInput = original.MigrateProviderSpecificInput +type MigrationItem = original.MigrationItem +type MigrationItemCollection = original.MigrationItemCollection +type MigrationItemCollectionIterator = original.MigrationItemCollectionIterator +type MigrationItemCollectionPage = original.MigrationItemCollectionPage +type MigrationItemProperties = original.MigrationItemProperties +type MigrationItemsQueryParameter = original.MigrationItemsQueryParameter +type BasicMigrationProviderSpecificSettings = original.BasicMigrationProviderSpecificSettings +type MigrationProviderSpecificSettings = original.MigrationProviderSpecificSettings +type MigrationRecoveryPoint = original.MigrationRecoveryPoint +type MigrationRecoveryPointCollection = original.MigrationRecoveryPointCollection +type MigrationRecoveryPointCollectionIterator = original.MigrationRecoveryPointCollectionIterator +type MigrationRecoveryPointCollectionPage = original.MigrationRecoveryPointCollectionPage +type MigrationRecoveryPointProperties = original.MigrationRecoveryPointProperties type MobilityServiceUpdate = original.MobilityServiceUpdate type Network = original.Network type NetworkCollection = original.NetworkCollection @@ -812,6 +936,12 @@ type ReplicationJobsCancelFuture = original.ReplicationJobsCancelFuture type ReplicationJobsExportFuture = original.ReplicationJobsExportFuture type ReplicationJobsRestartFuture = original.ReplicationJobsRestartFuture type ReplicationJobsResumeFuture = original.ReplicationJobsResumeFuture +type ReplicationMigrationItemsCreateFuture = original.ReplicationMigrationItemsCreateFuture +type ReplicationMigrationItemsDeleteFuture = original.ReplicationMigrationItemsDeleteFuture +type ReplicationMigrationItemsMigrateFuture = original.ReplicationMigrationItemsMigrateFuture +type ReplicationMigrationItemsTestMigrateCleanupFuture = original.ReplicationMigrationItemsTestMigrateCleanupFuture +type ReplicationMigrationItemsTestMigrateFuture = original.ReplicationMigrationItemsTestMigrateFuture +type ReplicationMigrationItemsUpdateFuture = original.ReplicationMigrationItemsUpdateFuture type ReplicationNetworkMappingsCreateFuture = original.ReplicationNetworkMappingsCreateFuture type ReplicationNetworkMappingsDeleteFuture = original.ReplicationNetworkMappingsDeleteFuture type ReplicationNetworkMappingsUpdateFuture = original.ReplicationNetworkMappingsUpdateFuture @@ -862,6 +992,7 @@ type ReplicationRecoveryPlansTestFailoverCleanupFuture = original.ReplicationRec type ReplicationRecoveryPlansTestFailoverFuture = original.ReplicationRecoveryPlansTestFailoverFuture type ReplicationRecoveryPlansUnplannedFailoverFuture = original.ReplicationRecoveryPlansUnplannedFailoverFuture type ReplicationRecoveryPlansUpdateFuture = original.ReplicationRecoveryPlansUpdateFuture +type ReplicationRecoveryServicesProvidersCreateFuture = original.ReplicationRecoveryServicesProvidersCreateFuture type ReplicationRecoveryServicesProvidersDeleteFuture = original.ReplicationRecoveryServicesProvidersDeleteFuture type ReplicationRecoveryServicesProvidersPurgeFuture = original.ReplicationRecoveryServicesProvidersPurgeFuture type ReplicationRecoveryServicesProvidersRefreshProviderFuture = original.ReplicationRecoveryServicesProvidersRefreshProviderFuture @@ -915,8 +1046,18 @@ type TestFailoverCleanupInputProperties = original.TestFailoverCleanupInputPrope type TestFailoverInput = original.TestFailoverInput type TestFailoverInputProperties = original.TestFailoverInputProperties type TestFailoverJobDetails = original.TestFailoverJobDetails +type TestMigrateCleanupInput = original.TestMigrateCleanupInput +type TestMigrateCleanupInputProperties = original.TestMigrateCleanupInputProperties +type TestMigrateInput = original.TestMigrateInput +type TestMigrateInputProperties = original.TestMigrateInputProperties +type BasicTestMigrateProviderSpecificInput = original.BasicTestMigrateProviderSpecificInput +type TestMigrateProviderSpecificInput = original.TestMigrateProviderSpecificInput type UnplannedFailoverInput = original.UnplannedFailoverInput type UnplannedFailoverInputProperties = original.UnplannedFailoverInputProperties +type UpdateMigrationItemInput = original.UpdateMigrationItemInput +type UpdateMigrationItemInputProperties = original.UpdateMigrationItemInputProperties +type BasicUpdateMigrationItemProviderSpecificInput = original.BasicUpdateMigrationItemProviderSpecificInput +type UpdateMigrationItemProviderSpecificInput = original.UpdateMigrationItemProviderSpecificInput type UpdateMobilityServiceRequest = original.UpdateMobilityServiceRequest type UpdateMobilityServiceRequestProperties = original.UpdateMobilityServiceRequestProperties type UpdateNetworkMappingInput = original.UpdateNetworkMappingInput @@ -953,8 +1094,20 @@ type VmmVirtualMachineDetails = original.VmmVirtualMachineDetails type VMNicDetails = original.VMNicDetails type VMNicInputDetails = original.VMNicInputDetails type VMNicUpdatesTaskDetails = original.VMNicUpdatesTaskDetails +type VMwareCbtContainerCreationInput = original.VMwareCbtContainerCreationInput +type VMwareCbtContainerMappingInput = original.VMwareCbtContainerMappingInput +type VMwareCbtDiskInput = original.VMwareCbtDiskInput +type VMwareCbtEnableMigrationInput = original.VMwareCbtEnableMigrationInput +type VMwareCbtMigrateInput = original.VMwareCbtMigrateInput +type VMwareCbtMigrationDetails = original.VMwareCbtMigrationDetails +type VMwareCbtNicDetails = original.VMwareCbtNicDetails +type VMwareCbtNicInput = original.VMwareCbtNicInput type VMwareCbtPolicyCreationInput = original.VMwareCbtPolicyCreationInput type VmwareCbtPolicyDetails = original.VmwareCbtPolicyDetails +type VMwareCbtProtectedDiskDetails = original.VMwareCbtProtectedDiskDetails +type VMwareCbtProtectionContainerMappingDetails = original.VMwareCbtProtectionContainerMappingDetails +type VMwareCbtTestMigrateInput = original.VMwareCbtTestMigrateInput +type VMwareCbtUpdateMigrationItemInput = original.VMwareCbtUpdateMigrationItemInput type VMwareDetails = original.VMwareDetails type VMwareV2FabricCreationInput = original.VMwareV2FabricCreationInput type VMwareV2FabricSpecificDetails = original.VMwareV2FabricSpecificDetails @@ -966,6 +1119,7 @@ type ReplicationEventsClient = original.ReplicationEventsClient type ReplicationFabricsClient = original.ReplicationFabricsClient type ReplicationJobsClient = original.ReplicationJobsClient type ReplicationLogicalNetworksClient = original.ReplicationLogicalNetworksClient +type ReplicationMigrationItemsClient = original.ReplicationMigrationItemsClient type ReplicationNetworkMappingsClient = original.ReplicationNetworkMappingsClient type ReplicationNetworksClient = original.ReplicationNetworksClient type ReplicationPoliciesClient = original.ReplicationPoliciesClient @@ -987,6 +1141,12 @@ func New(subscriptionID string, resourceGroupName string, resourceName string) B func NewWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) } +func NewMigrationRecoveryPointsClient(subscriptionID string, resourceGroupName string, resourceName string) MigrationRecoveryPointsClient { + return original.NewMigrationRecoveryPointsClient(subscriptionID, resourceGroupName, resourceName) +} +func NewMigrationRecoveryPointsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) MigrationRecoveryPointsClient { + return original.NewMigrationRecoveryPointsClientWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) +} func PossibleA2ARpRecoveryPointTypeValues() []A2ARpRecoveryPointType { return original.PossibleA2ARpRecoveryPointTypeValues() } @@ -1005,6 +1165,15 @@ func PossibleDataSyncStatusValues() []DataSyncStatus { func PossibleDisableProtectionReasonValues() []DisableProtectionReason { return original.PossibleDisableProtectionReasonValues() } +func PossibleDiskAccountTypeValues() []DiskAccountType { + return original.PossibleDiskAccountTypeValues() +} +func PossibleDiskTypeValues() []DiskType { + return original.PossibleDiskTypeValues() +} +func PossibleEthernetAddressTypeValues() []EthernetAddressType { + return original.PossibleEthernetAddressTypeValues() +} func PossibleFailoverDeploymentModelValues() []FailoverDeploymentModel { return original.PossibleFailoverDeploymentModelValues() } @@ -1014,9 +1183,6 @@ func PossibleHealthErrorCategoryValues() []HealthErrorCategory { func PossibleHyperVReplicaAzureRpRecoveryPointTypeValues() []HyperVReplicaAzureRpRecoveryPointType { return original.PossibleHyperVReplicaAzureRpRecoveryPointTypeValues() } -func PossibleIdentityProviderTypeValues() []IdentityProviderType { - return original.PossibleIdentityProviderTypeValues() -} func PossibleInMageV2RpRecoveryPointTypeValues() []InMageV2RpRecoveryPointType { return original.PossibleInMageV2RpRecoveryPointTypeValues() } @@ -1029,6 +1195,9 @@ func PossibleInstanceTypeBasicConfigurationSettingsValues() []InstanceTypeBasicC func PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues() []InstanceTypeBasicDisableProtectionProviderSpecificInput { return original.PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues() } +func PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues() []InstanceTypeBasicEnableMigrationProviderSpecificInput { + return original.PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues() +} func PossibleInstanceTypeBasicEnableProtectionProviderSpecificInputValues() []InstanceTypeBasicEnableProtectionProviderSpecificInput { return original.PossibleInstanceTypeBasicEnableProtectionProviderSpecificInputValues() } @@ -1056,6 +1225,12 @@ func PossibleInstanceTypeBasicGroupTaskDetailsValues() []InstanceTypeBasicGroupT func PossibleInstanceTypeBasicJobDetailsValues() []InstanceTypeBasicJobDetails { return original.PossibleInstanceTypeBasicJobDetailsValues() } +func PossibleInstanceTypeBasicMigrateProviderSpecificInputValues() []InstanceTypeBasicMigrateProviderSpecificInput { + return original.PossibleInstanceTypeBasicMigrateProviderSpecificInputValues() +} +func PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues() []InstanceTypeBasicMigrationProviderSpecificSettings { + return original.PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues() +} func PossibleInstanceTypeBasicNetworkMappingFabricSpecificSettingsValues() []InstanceTypeBasicNetworkMappingFabricSpecificSettings { return original.PossibleInstanceTypeBasicNetworkMappingFabricSpecificSettingsValues() } @@ -1101,12 +1276,27 @@ func PossibleInstanceTypeBasicSwitchProtectionProviderSpecificInputValues() []In func PossibleInstanceTypeBasicTaskTypeDetailsValues() []InstanceTypeBasicTaskTypeDetails { return original.PossibleInstanceTypeBasicTaskTypeDetailsValues() } +func PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues() []InstanceTypeBasicTestMigrateProviderSpecificInput { + return original.PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues() +} +func PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues() []InstanceTypeBasicUpdateMigrationItemProviderSpecificInput { + return original.PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues() +} func PossibleInstanceTypeBasicUpdateReplicationProtectedItemProviderInputValues() []InstanceTypeBasicUpdateReplicationProtectedItemProviderInput { return original.PossibleInstanceTypeBasicUpdateReplicationProtectedItemProviderInputValues() } func PossibleLicenseTypeValues() []LicenseType { return original.PossibleLicenseTypeValues() } +func PossibleMigrationItemOperationValues() []MigrationItemOperation { + return original.PossibleMigrationItemOperationValues() +} +func PossibleMigrationRecoveryPointTypeValues() []MigrationRecoveryPointType { + return original.PossibleMigrationRecoveryPointTypeValues() +} +func PossibleMigrationStateValues() []MigrationState { + return original.PossibleMigrationStateValues() +} func PossibleMultiVMGroupCreateOptionValues() []MultiVMGroupCreateOption { return original.PossibleMultiVMGroupCreateOptionValues() } @@ -1149,6 +1339,9 @@ func PossibleSeverityValues() []Severity { func PossibleSourceSiteOperationsValues() []SourceSiteOperations { return original.PossibleSourceSiteOperationsValues() } +func PossibleTestMigrationStateValues() []TestMigrationState { + return original.PossibleTestMigrationStateValues() +} func NewAlertCollectionIterator(page AlertCollectionPage) AlertCollectionIterator { return original.NewAlertCollectionIterator(page) } @@ -1179,6 +1372,18 @@ func NewLogicalNetworkCollectionIterator(page LogicalNetworkCollectionPage) Logi func NewLogicalNetworkCollectionPage(getNextPage func(context.Context, LogicalNetworkCollection) (LogicalNetworkCollection, error)) LogicalNetworkCollectionPage { return original.NewLogicalNetworkCollectionPage(getNextPage) } +func NewMigrationItemCollectionIterator(page MigrationItemCollectionPage) MigrationItemCollectionIterator { + return original.NewMigrationItemCollectionIterator(page) +} +func NewMigrationItemCollectionPage(getNextPage func(context.Context, MigrationItemCollection) (MigrationItemCollection, error)) MigrationItemCollectionPage { + return original.NewMigrationItemCollectionPage(getNextPage) +} +func NewMigrationRecoveryPointCollectionIterator(page MigrationRecoveryPointCollectionPage) MigrationRecoveryPointCollectionIterator { + return original.NewMigrationRecoveryPointCollectionIterator(page) +} +func NewMigrationRecoveryPointCollectionPage(getNextPage func(context.Context, MigrationRecoveryPointCollection) (MigrationRecoveryPointCollection, error)) MigrationRecoveryPointCollectionPage { + return original.NewMigrationRecoveryPointCollectionPage(getNextPage) +} func NewNetworkCollectionIterator(page NetworkCollectionPage) NetworkCollectionIterator { return original.NewNetworkCollectionIterator(page) } @@ -1311,6 +1516,12 @@ func NewReplicationLogicalNetworksClient(subscriptionID string, resourceGroupNam func NewReplicationLogicalNetworksClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationLogicalNetworksClient { return original.NewReplicationLogicalNetworksClientWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) } +func NewReplicationMigrationItemsClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationMigrationItemsClient { + return original.NewReplicationMigrationItemsClient(subscriptionID, resourceGroupName, resourceName) +} +func NewReplicationMigrationItemsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationMigrationItemsClient { + return original.NewReplicationMigrationItemsClientWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName) +} func NewReplicationNetworkMappingsClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationNetworkMappingsClient { return original.NewReplicationNetworkMappingsClient(subscriptionID, resourceGroupName, resourceName) } diff --git a/profiles/preview/recoveryservices/mgmt/siterecovery/siterecoveryapi/models.go b/profiles/preview/recoveryservices/mgmt/siterecovery/siterecoveryapi/models.go index 9c89f5a207bd..e418bff3a91e 100644 --- a/profiles/preview/recoveryservices/mgmt/siterecovery/siterecoveryapi/models.go +++ b/profiles/preview/recoveryservices/mgmt/siterecovery/siterecoveryapi/models.go @@ -29,6 +29,8 @@ type ReplicationLogicalNetworksClientAPI = original.ReplicationLogicalNetworksCl type ReplicationNetworksClientAPI = original.ReplicationNetworksClientAPI type ReplicationNetworkMappingsClientAPI = original.ReplicationNetworkMappingsClientAPI type ReplicationProtectionContainersClientAPI = original.ReplicationProtectionContainersClientAPI +type ReplicationMigrationItemsClientAPI = original.ReplicationMigrationItemsClientAPI +type MigrationRecoveryPointsClientAPI = original.MigrationRecoveryPointsClientAPI type ReplicationProtectableItemsClientAPI = original.ReplicationProtectableItemsClientAPI type ReplicationProtectedItemsClientAPI = original.ReplicationProtectedItemsClientAPI type RecoveryPointsClientAPI = original.RecoveryPointsClientAPI diff --git a/services/recoveryservices/mgmt/2018-01-10/siterecovery/migrationrecoverypoints.go b/services/recoveryservices/mgmt/2018-01-10/siterecovery/migrationrecoverypoints.go new file mode 100644 index 000000000000..a7b255930987 --- /dev/null +++ b/services/recoveryservices/mgmt/2018-01-10/siterecovery/migrationrecoverypoints.go @@ -0,0 +1,243 @@ +package siterecovery + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// MigrationRecoveryPointsClient is the client for the MigrationRecoveryPoints methods of the Siterecovery service. +type MigrationRecoveryPointsClient struct { + BaseClient +} + +// NewMigrationRecoveryPointsClient creates an instance of the MigrationRecoveryPointsClient client. +func NewMigrationRecoveryPointsClient(subscriptionID string, resourceGroupName string, resourceName string) MigrationRecoveryPointsClient { + return NewMigrationRecoveryPointsClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceGroupName, resourceName) +} + +// NewMigrationRecoveryPointsClientWithBaseURI creates an instance of the MigrationRecoveryPointsClient client. +func NewMigrationRecoveryPointsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) MigrationRecoveryPointsClient { + return MigrationRecoveryPointsClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)} +} + +// Get sends the get request. +// Parameters: +// fabricName - fabric unique name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// migrationRecoveryPointName - the migration recovery point name. +func (client MigrationRecoveryPointsClient) Get(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, migrationRecoveryPointName string) (result MigrationRecoveryPoint, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationRecoveryPointsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, fabricName, protectionContainerName, migrationItemName, migrationRecoveryPointName) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client MigrationRecoveryPointsClient) GetPreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, migrationRecoveryPointName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "migrationRecoveryPointName": autorest.Encode("path", migrationRecoveryPointName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client MigrationRecoveryPointsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client MigrationRecoveryPointsClient) GetResponder(resp *http.Response) (result MigrationRecoveryPoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByReplicationMigrationItems sends the list by replication migration items request. +// Parameters: +// fabricName - fabric unique name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +func (client MigrationRecoveryPointsClient) ListByReplicationMigrationItems(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (result MigrationRecoveryPointCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationRecoveryPointsClient.ListByReplicationMigrationItems") + defer func() { + sc := -1 + if result.mrpc.Response.Response != nil { + sc = result.mrpc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByReplicationMigrationItemsNextResults + req, err := client.ListByReplicationMigrationItemsPreparer(ctx, fabricName, protectionContainerName, migrationItemName) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "ListByReplicationMigrationItems", nil, "Failure preparing request") + return + } + + resp, err := client.ListByReplicationMigrationItemsSender(req) + if err != nil { + result.mrpc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "ListByReplicationMigrationItems", resp, "Failure sending request") + return + } + + result.mrpc, err = client.ListByReplicationMigrationItemsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "ListByReplicationMigrationItems", resp, "Failure responding to request") + } + + return +} + +// ListByReplicationMigrationItemsPreparer prepares the ListByReplicationMigrationItems request. +func (client MigrationRecoveryPointsClient) ListByReplicationMigrationItemsPreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByReplicationMigrationItemsSender sends the ListByReplicationMigrationItems request. The method will close the +// http.Response Body if it receives an error. +func (client MigrationRecoveryPointsClient) ListByReplicationMigrationItemsSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// ListByReplicationMigrationItemsResponder handles the response to the ListByReplicationMigrationItems request. The method always +// closes the http.Response Body. +func (client MigrationRecoveryPointsClient) ListByReplicationMigrationItemsResponder(resp *http.Response) (result MigrationRecoveryPointCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByReplicationMigrationItemsNextResults retrieves the next set of results, if any. +func (client MigrationRecoveryPointsClient) listByReplicationMigrationItemsNextResults(ctx context.Context, lastResults MigrationRecoveryPointCollection) (result MigrationRecoveryPointCollection, err error) { + req, err := lastResults.migrationRecoveryPointCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "listByReplicationMigrationItemsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByReplicationMigrationItemsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "listByReplicationMigrationItemsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByReplicationMigrationItemsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.MigrationRecoveryPointsClient", "listByReplicationMigrationItemsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByReplicationMigrationItemsComplete enumerates all values, automatically crossing page boundaries as required. +func (client MigrationRecoveryPointsClient) ListByReplicationMigrationItemsComplete(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (result MigrationRecoveryPointCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationRecoveryPointsClient.ListByReplicationMigrationItems") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByReplicationMigrationItems(ctx, fabricName, protectionContainerName, migrationItemName) + return +} diff --git a/services/recoveryservices/mgmt/2018-01-10/siterecovery/models.go b/services/recoveryservices/mgmt/2018-01-10/siterecovery/models.go index afd47fe27cf9..27be0b184e3b 100644 --- a/services/recoveryservices/mgmt/2018-01-10/siterecovery/models.go +++ b/services/recoveryservices/mgmt/2018-01-10/siterecovery/models.go @@ -131,6 +131,55 @@ func PossibleDisableProtectionReasonValues() []DisableProtectionReason { return []DisableProtectionReason{MigrationComplete, NotSpecified} } +// DiskAccountType enumerates the values for disk account type. +type DiskAccountType string + +const ( + // PremiumLRS ... + PremiumLRS DiskAccountType = "Premium_LRS" + // StandardLRS ... + StandardLRS DiskAccountType = "Standard_LRS" + // StandardSSDLRS ... + StandardSSDLRS DiskAccountType = "StandardSSD_LRS" +) + +// PossibleDiskAccountTypeValues returns an array of possible values for the DiskAccountType const type. +func PossibleDiskAccountTypeValues() []DiskAccountType { + return []DiskAccountType{PremiumLRS, StandardLRS, StandardSSDLRS} +} + +// DiskType enumerates the values for disk type. +type DiskType string + +const ( + // DiskTypePremiumLRS ... + DiskTypePremiumLRS DiskType = "Premium_LRS" + // DiskTypeStandardLRS ... + DiskTypeStandardLRS DiskType = "Standard_LRS" + // DiskTypeStandardSSDLRS ... + DiskTypeStandardSSDLRS DiskType = "StandardSSD_LRS" +) + +// PossibleDiskTypeValues returns an array of possible values for the DiskType const type. +func PossibleDiskTypeValues() []DiskType { + return []DiskType{DiskTypePremiumLRS, DiskTypeStandardLRS, DiskTypeStandardSSDLRS} +} + +// EthernetAddressType enumerates the values for ethernet address type. +type EthernetAddressType string + +const ( + // Dynamic ... + Dynamic EthernetAddressType = "Dynamic" + // Static ... + Static EthernetAddressType = "Static" +) + +// PossibleEthernetAddressTypeValues returns an array of possible values for the EthernetAddressType const type. +func PossibleEthernetAddressTypeValues() []EthernetAddressType { + return []EthernetAddressType{Dynamic, Static} +} + // FailoverDeploymentModel enumerates the values for failover deployment model. type FailoverDeploymentModel string @@ -191,19 +240,6 @@ func PossibleHyperVReplicaAzureRpRecoveryPointTypeValues() []HyperVReplicaAzureR return []HyperVReplicaAzureRpRecoveryPointType{HyperVReplicaAzureRpRecoveryPointTypeLatest, HyperVReplicaAzureRpRecoveryPointTypeLatestApplicationConsistent, HyperVReplicaAzureRpRecoveryPointTypeLatestProcessed} } -// IdentityProviderType enumerates the values for identity provider type. -type IdentityProviderType string - -const ( - // RecoveryServicesActiveDirectory ... - RecoveryServicesActiveDirectory IdentityProviderType = "RecoveryServicesActiveDirectory" -) - -// PossibleIdentityProviderTypeValues returns an array of possible values for the IdentityProviderType const type. -func PossibleIdentityProviderTypeValues() []IdentityProviderType { - return []IdentityProviderType{RecoveryServicesActiveDirectory} -} - // InMageV2RpRecoveryPointType enumerates the values for in mage v2 rp recovery point type. type InMageV2RpRecoveryPointType string @@ -279,6 +315,22 @@ func PossibleInstanceTypeBasicDisableProtectionProviderSpecificInputValues() []I return []InstanceTypeBasicDisableProtectionProviderSpecificInput{InstanceTypeDisableProtectionProviderSpecificInput, InstanceTypeInMage} } +// InstanceTypeBasicEnableMigrationProviderSpecificInput enumerates the values for instance type basic enable +// migration provider specific input. +type InstanceTypeBasicEnableMigrationProviderSpecificInput string + +const ( + // InstanceTypeEnableMigrationProviderSpecificInput ... + InstanceTypeEnableMigrationProviderSpecificInput InstanceTypeBasicEnableMigrationProviderSpecificInput = "EnableMigrationProviderSpecificInput" + // InstanceTypeVMwareCbt ... + InstanceTypeVMwareCbt InstanceTypeBasicEnableMigrationProviderSpecificInput = "VMwareCbt" +) + +// PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicEnableMigrationProviderSpecificInput const type. +func PossibleInstanceTypeBasicEnableMigrationProviderSpecificInputValues() []InstanceTypeBasicEnableMigrationProviderSpecificInput { + return []InstanceTypeBasicEnableMigrationProviderSpecificInput{InstanceTypeEnableMigrationProviderSpecificInput, InstanceTypeVMwareCbt} +} + // InstanceTypeBasicEnableProtectionProviderSpecificInput enumerates the values for instance type basic enable // protection provider specific input. type InstanceTypeBasicEnableProtectionProviderSpecificInput string @@ -468,6 +520,38 @@ func PossibleInstanceTypeBasicJobDetailsValues() []InstanceTypeBasicJobDetails { return []InstanceTypeBasicJobDetails{InstanceTypeAsrJobDetails, InstanceTypeExportJobDetails, InstanceTypeFailoverJobDetails, InstanceTypeJobDetails, InstanceTypeSwitchProtectionJobDetails, InstanceTypeTestFailoverJobDetails} } +// InstanceTypeBasicMigrateProviderSpecificInput enumerates the values for instance type basic migrate provider +// specific input. +type InstanceTypeBasicMigrateProviderSpecificInput string + +const ( + // InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput ... + InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput InstanceTypeBasicMigrateProviderSpecificInput = "MigrateProviderSpecificInput" + // InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt ... + InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicMigrateProviderSpecificInput = "VMwareCbt" +) + +// PossibleInstanceTypeBasicMigrateProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicMigrateProviderSpecificInput const type. +func PossibleInstanceTypeBasicMigrateProviderSpecificInputValues() []InstanceTypeBasicMigrateProviderSpecificInput { + return []InstanceTypeBasicMigrateProviderSpecificInput{InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput, InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt} +} + +// InstanceTypeBasicMigrationProviderSpecificSettings enumerates the values for instance type basic migration +// provider specific settings. +type InstanceTypeBasicMigrationProviderSpecificSettings string + +const ( + // InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings ... + InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings InstanceTypeBasicMigrationProviderSpecificSettings = "MigrationProviderSpecificSettings" + // InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt ... + InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt InstanceTypeBasicMigrationProviderSpecificSettings = "VMwareCbt" +) + +// PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues returns an array of possible values for the InstanceTypeBasicMigrationProviderSpecificSettings const type. +func PossibleInstanceTypeBasicMigrationProviderSpecificSettingsValues() []InstanceTypeBasicMigrationProviderSpecificSettings { + return []InstanceTypeBasicMigrationProviderSpecificSettings{InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings, InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt} +} + // InstanceTypeBasicNetworkMappingFabricSpecificSettings enumerates the values for instance type basic network // mapping fabric specific settings. type InstanceTypeBasicNetworkMappingFabricSpecificSettings string @@ -559,11 +643,13 @@ const ( InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = "A2A" // InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails ... InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = "ProtectionContainerMappingProviderSpecificDetails" + // InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt ... + InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails = "VMwareCbt" ) // PossibleInstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsValues returns an array of possible values for the InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails const type. func PossibleInstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsValues() []InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails { - return []InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails{InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails} + return []InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails{InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A, InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails, InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt} } // InstanceTypeBasicProviderSpecificFailoverInput enumerates the values for instance type basic provider @@ -661,11 +747,13 @@ const ( InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = "A2A" // InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput ... InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = "ReplicationProviderSpecificContainerCreationInput" + // InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero ... + InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero InstanceTypeBasicReplicationProviderSpecificContainerCreationInput = "6c7da455-506f-43ff-a16a-8eb101aebb70" ) // PossibleInstanceTypeBasicReplicationProviderSpecificContainerCreationInputValues returns an array of possible values for the InstanceTypeBasicReplicationProviderSpecificContainerCreationInput const type. func PossibleInstanceTypeBasicReplicationProviderSpecificContainerCreationInputValues() []InstanceTypeBasicReplicationProviderSpecificContainerCreationInput { - return []InstanceTypeBasicReplicationProviderSpecificContainerCreationInput{InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput} + return []InstanceTypeBasicReplicationProviderSpecificContainerCreationInput{InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput, InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero} } // InstanceTypeBasicReplicationProviderSpecificContainerMappingInput enumerates the values for instance type @@ -677,11 +765,13 @@ const ( InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = "A2A" // InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput ... InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = "ReplicationProviderSpecificContainerMappingInput" + // InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt ... + InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt InstanceTypeBasicReplicationProviderSpecificContainerMappingInput = "VMwareCbt" ) // PossibleInstanceTypeBasicReplicationProviderSpecificContainerMappingInputValues returns an array of possible values for the InstanceTypeBasicReplicationProviderSpecificContainerMappingInput const type. func PossibleInstanceTypeBasicReplicationProviderSpecificContainerMappingInputValues() []InstanceTypeBasicReplicationProviderSpecificContainerMappingInput { - return []InstanceTypeBasicReplicationProviderSpecificContainerMappingInput{InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput} + return []InstanceTypeBasicReplicationProviderSpecificContainerMappingInput{InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A, InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput, InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt} } // InstanceTypeBasicReplicationProviderSpecificSettings enumerates the values for instance type basic @@ -795,6 +885,38 @@ func PossibleInstanceTypeBasicTaskTypeDetailsValues() []InstanceTypeBasicTaskTyp return []InstanceTypeBasicTaskTypeDetails{InstanceTypeAutomationRunbookTaskDetails, InstanceTypeConsistencyCheckTaskDetails, InstanceTypeFabricReplicationGroupTaskDetails, InstanceTypeJobTaskDetails, InstanceTypeManualActionTaskDetails, InstanceTypeScriptActionTaskDetails, InstanceTypeTaskTypeDetails, InstanceTypeVirtualMachineTaskDetails, InstanceTypeVMNicUpdatesTaskDetails} } +// InstanceTypeBasicTestMigrateProviderSpecificInput enumerates the values for instance type basic test migrate +// provider specific input. +type InstanceTypeBasicTestMigrateProviderSpecificInput string + +const ( + // InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput ... + InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput InstanceTypeBasicTestMigrateProviderSpecificInput = "TestMigrateProviderSpecificInput" + // InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt ... + InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicTestMigrateProviderSpecificInput = "VMwareCbt" +) + +// PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicTestMigrateProviderSpecificInput const type. +func PossibleInstanceTypeBasicTestMigrateProviderSpecificInputValues() []InstanceTypeBasicTestMigrateProviderSpecificInput { + return []InstanceTypeBasicTestMigrateProviderSpecificInput{InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput, InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt} +} + +// InstanceTypeBasicUpdateMigrationItemProviderSpecificInput enumerates the values for instance type basic +// update migration item provider specific input. +type InstanceTypeBasicUpdateMigrationItemProviderSpecificInput string + +const ( + // InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput ... + InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = "UpdateMigrationItemProviderSpecificInput" + // InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt ... + InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt InstanceTypeBasicUpdateMigrationItemProviderSpecificInput = "VMwareCbt" +) + +// PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues returns an array of possible values for the InstanceTypeBasicUpdateMigrationItemProviderSpecificInput const type. +func PossibleInstanceTypeBasicUpdateMigrationItemProviderSpecificInputValues() []InstanceTypeBasicUpdateMigrationItemProviderSpecificInput { + return []InstanceTypeBasicUpdateMigrationItemProviderSpecificInput{InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput, InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt} +} + // InstanceTypeBasicUpdateReplicationProtectedItemProviderInput enumerates the values for instance type basic // update replication protected item provider input. type InstanceTypeBasicUpdateReplicationProtectedItemProviderInput string @@ -832,6 +954,75 @@ func PossibleLicenseTypeValues() []LicenseType { return []LicenseType{LicenseTypeNoLicenseType, LicenseTypeNotSpecified, LicenseTypeWindowsServer} } +// MigrationItemOperation enumerates the values for migration item operation. +type MigrationItemOperation string + +const ( + // DisableMigration ... + DisableMigration MigrationItemOperation = "DisableMigration" + // Migrate ... + Migrate MigrationItemOperation = "Migrate" + // TestMigrate ... + TestMigrate MigrationItemOperation = "TestMigrate" + // TestMigrateCleanup ... + TestMigrateCleanup MigrationItemOperation = "TestMigrateCleanup" +) + +// PossibleMigrationItemOperationValues returns an array of possible values for the MigrationItemOperation const type. +func PossibleMigrationItemOperationValues() []MigrationItemOperation { + return []MigrationItemOperation{DisableMigration, Migrate, TestMigrate, TestMigrateCleanup} +} + +// MigrationRecoveryPointType enumerates the values for migration recovery point type. +type MigrationRecoveryPointType string + +const ( + // MigrationRecoveryPointTypeApplicationConsistent ... + MigrationRecoveryPointTypeApplicationConsistent MigrationRecoveryPointType = "ApplicationConsistent" + // MigrationRecoveryPointTypeCrashConsistent ... + MigrationRecoveryPointTypeCrashConsistent MigrationRecoveryPointType = "CrashConsistent" + // MigrationRecoveryPointTypeNotSpecified ... + MigrationRecoveryPointTypeNotSpecified MigrationRecoveryPointType = "NotSpecified" +) + +// PossibleMigrationRecoveryPointTypeValues returns an array of possible values for the MigrationRecoveryPointType const type. +func PossibleMigrationRecoveryPointTypeValues() []MigrationRecoveryPointType { + return []MigrationRecoveryPointType{MigrationRecoveryPointTypeApplicationConsistent, MigrationRecoveryPointTypeCrashConsistent, MigrationRecoveryPointTypeNotSpecified} +} + +// MigrationState enumerates the values for migration state. +type MigrationState string + +const ( + // MigrationStateDisableMigrationFailed ... + MigrationStateDisableMigrationFailed MigrationState = "DisableMigrationFailed" + // MigrationStateDisableMigrationInProgress ... + MigrationStateDisableMigrationInProgress MigrationState = "DisableMigrationInProgress" + // MigrationStateEnableMigrationFailed ... + MigrationStateEnableMigrationFailed MigrationState = "EnableMigrationFailed" + // MigrationStateEnableMigrationInProgress ... + MigrationStateEnableMigrationInProgress MigrationState = "EnableMigrationInProgress" + // MigrationStateInitialSeedingFailed ... + MigrationStateInitialSeedingFailed MigrationState = "InitialSeedingFailed" + // MigrationStateInitialSeedingInProgress ... + MigrationStateInitialSeedingInProgress MigrationState = "InitialSeedingInProgress" + // MigrationStateMigrationFailed ... + MigrationStateMigrationFailed MigrationState = "MigrationFailed" + // MigrationStateMigrationInProgress ... + MigrationStateMigrationInProgress MigrationState = "MigrationInProgress" + // MigrationStateMigrationSucceeded ... + MigrationStateMigrationSucceeded MigrationState = "MigrationSucceeded" + // MigrationStateNone ... + MigrationStateNone MigrationState = "None" + // MigrationStateReplicating ... + MigrationStateReplicating MigrationState = "Replicating" +) + +// PossibleMigrationStateValues returns an array of possible values for the MigrationState const type. +func PossibleMigrationStateValues() []MigrationState { + return []MigrationState{MigrationStateDisableMigrationFailed, MigrationStateDisableMigrationInProgress, MigrationStateEnableMigrationFailed, MigrationStateEnableMigrationInProgress, MigrationStateInitialSeedingFailed, MigrationStateInitialSeedingInProgress, MigrationStateMigrationFailed, MigrationStateMigrationInProgress, MigrationStateMigrationSucceeded, MigrationStateNone, MigrationStateReplicating} +} + // MultiVMGroupCreateOption enumerates the values for multi vm group create option. type MultiVMGroupCreateOption string @@ -1076,6 +1267,27 @@ func PossibleSourceSiteOperationsValues() []SourceSiteOperations { return []SourceSiteOperations{NotRequired, Required} } +// TestMigrationState enumerates the values for test migration state. +type TestMigrationState string + +const ( + // TestMigrationStateNone ... + TestMigrationStateNone TestMigrationState = "None" + // TestMigrationStateTestMigrationCleanupInProgress ... + TestMigrationStateTestMigrationCleanupInProgress TestMigrationState = "TestMigrationCleanupInProgress" + // TestMigrationStateTestMigrationFailed ... + TestMigrationStateTestMigrationFailed TestMigrationState = "TestMigrationFailed" + // TestMigrationStateTestMigrationInProgress ... + TestMigrationStateTestMigrationInProgress TestMigrationState = "TestMigrationInProgress" + // TestMigrationStateTestMigrationSucceeded ... + TestMigrationStateTestMigrationSucceeded TestMigrationState = "TestMigrationSucceeded" +) + +// PossibleTestMigrationStateValues returns an array of possible values for the TestMigrationState const type. +func PossibleTestMigrationStateValues() []TestMigrationState { + return []TestMigrationState{TestMigrationStateNone, TestMigrationStateTestMigrationCleanupInProgress, TestMigrationStateTestMigrationFailed, TestMigrationStateTestMigrationInProgress, TestMigrationStateTestMigrationSucceeded} +} + // A2AApplyRecoveryPointInput applyRecoveryPoint input specific to A2A provider. type A2AApplyRecoveryPointInput struct { // InstanceType - Possible values include: 'InstanceTypeApplyRecoveryPointProviderSpecificInput', 'InstanceTypeA2A', 'InstanceTypeHyperVReplicaAzure', 'InstanceTypeInMageAzureV2' @@ -1119,7 +1331,7 @@ func (aarpi A2AApplyRecoveryPointInput) AsBasicApplyRecoveryPointProviderSpecifi // A2AContainerCreationInput a2A cloud creation input. type A2AContainerCreationInput struct { - // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A' + // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero' InstanceType InstanceTypeBasicReplicationProviderSpecificContainerCreationInput `json:"instanceType,omitempty"` } @@ -1138,6 +1350,11 @@ func (acci A2AContainerCreationInput) AsA2AContainerCreationInput() (*A2AContain return &acci, true } +// AsVMwareCbtContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for A2AContainerCreationInput. +func (acci A2AContainerCreationInput) AsVMwareCbtContainerCreationInput() (*VMwareCbtContainerCreationInput, bool) { + return nil, false +} + // AsReplicationProviderSpecificContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for A2AContainerCreationInput. func (acci A2AContainerCreationInput) AsReplicationProviderSpecificContainerCreationInput() (*ReplicationProviderSpecificContainerCreationInput, bool) { return nil, false @@ -1154,7 +1371,7 @@ type A2AContainerMappingInput struct { AgentAutoUpdateStatus AgentAutoUpdateStatus `json:"agentAutoUpdateStatus,omitempty"` // AutomationAccountArmID - The automation account arm id. AutomationAccountArmID *string `json:"automationAccountArmId,omitempty"` - // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A' + // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt' InstanceType InstanceTypeBasicReplicationProviderSpecificContainerMappingInput `json:"instanceType,omitempty"` } @@ -1179,6 +1396,11 @@ func (acmi A2AContainerMappingInput) AsA2AContainerMappingInput() (*A2AContainer return &acmi, true } +// AsVMwareCbtContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for A2AContainerMappingInput. +func (acmi A2AContainerMappingInput) AsVMwareCbtContainerMappingInput() (*VMwareCbtContainerMappingInput, bool) { + return nil, false +} + // AsReplicationProviderSpecificContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for A2AContainerMappingInput. func (acmi A2AContainerMappingInput) AsReplicationProviderSpecificContainerMappingInput() (*ReplicationProviderSpecificContainerMappingInput, bool) { return nil, false @@ -1717,7 +1939,7 @@ type A2AProtectionContainerMappingDetails struct { ScheduleName *string `json:"scheduleName,omitempty"` // JobScheduleName - The job schedule arm name. JobScheduleName *string `json:"jobScheduleName,omitempty"` - // InstanceType - Possible values include: 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A' + // InstanceType - Possible values include: 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt' InstanceType InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails `json:"instanceType,omitempty"` } @@ -1748,6 +1970,11 @@ func (apcmd A2AProtectionContainerMappingDetails) AsA2AProtectionContainerMappin return &apcmd, true } +// AsVMwareCbtProtectionContainerMappingDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for A2AProtectionContainerMappingDetails. +func (apcmd A2AProtectionContainerMappingDetails) AsVMwareCbtProtectionContainerMappingDetails() (*VMwareCbtProtectionContainerMappingDetails, bool) { + return nil, false +} + // AsProtectionContainerMappingProviderSpecificDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for A2AProtectionContainerMappingDetails. func (apcmd A2AProtectionContainerMappingDetails) AsProtectionContainerMappingProviderSpecificDetails() (*ProtectionContainerMappingProviderSpecificDetails, bool) { return nil, false @@ -2308,6 +2535,22 @@ type A2AVMManagedDiskUpdateDetails struct { RecoveryReplicaDiskAccountType *string `json:"recoveryReplicaDiskAccountType,omitempty"` } +// AddRecoveryServicesProviderInput input required to add a provider. +type AddRecoveryServicesProviderInput struct { + // Properties - The properties of an add provider request. + Properties *AddRecoveryServicesProviderInputProperties `json:"properties,omitempty"` +} + +// AddRecoveryServicesProviderInputProperties the properties of an add provider request. +type AddRecoveryServicesProviderInputProperties struct { + // MachineName - The name of the machine where the provider is getting added. + MachineName *string `json:"machineName,omitempty"` + // AuthenticationIdentityInput - The identity provider input for DRA authentication. + AuthenticationIdentityInput *IdentityProviderInput `json:"authenticationIdentityInput,omitempty"` + // ResourceAccessIdentityInput - The identity provider input for resource access. + ResourceAccessIdentityInput *IdentityProviderInput `json:"resourceAccessIdentityInput,omitempty"` +} + // AddVCenterRequest input required to add vCenter. type AddVCenterRequest struct { // Properties - The properties of an add vCenter request. @@ -3647,6 +3890,16 @@ type CreateRecoveryPlanInputProperties struct { Groups *[]RecoveryPlanGroup `json:"groups,omitempty"` } +// CurrentJobDetails current job details of the migraton item. +type CurrentJobDetails struct { + // JobName - The job name. + JobName *string `json:"jobName,omitempty"` + // JobID - The ARM Id of the job being executed. + JobID *string `json:"jobId,omitempty"` + // StartTime - The start time of the job. + StartTime *date.Time `json:"startTime,omitempty"` +} + // CurrentScenarioDetails current scenario details of the protected entity. type CurrentScenarioDetails struct { // ScenarioName - Scenario name. @@ -3829,9 +4082,9 @@ type DiskEncryptionInfo struct { // DiskEncryptionKeyInfo disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows). type DiskEncryptionKeyInfo struct { - // SecretIdentifier - The secret url / identifier. + // SecretIdentifier - The secret url / identifier. SecretIdentifier *string `json:"secretIdentifier,omitempty"` - // KeyVaultResourceArmID - The KeyVault resource ARM id for secret. + // KeyVaultResourceArmID - The KeyVault resource ARM id for secret. KeyVaultResourceArmID *string `json:"keyVaultResourceArmId,omitempty"` } @@ -3857,6 +4110,126 @@ type Display struct { Description *string `json:"description,omitempty"` } +// EnableMigrationInput enable migration input. +type EnableMigrationInput struct { + // Properties - Enable migration input properties. + Properties *EnableMigrationInputProperties `json:"properties,omitempty"` +} + +// EnableMigrationInputProperties enable migration input properties. +type EnableMigrationInputProperties struct { + // PolicyID - The policy Id. + PolicyID *string `json:"policyId,omitempty"` + // ProviderSpecificDetails - The provider specific details. + ProviderSpecificDetails BasicEnableMigrationProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EnableMigrationInputProperties struct. +func (emip *EnableMigrationInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "policyId": + if v != nil { + var policyID string + err = json.Unmarshal(*v, &policyID) + if err != nil { + return err + } + emip.PolicyID = &policyID + } + case "providerSpecificDetails": + if v != nil { + providerSpecificDetails, err := unmarshalBasicEnableMigrationProviderSpecificInput(*v) + if err != nil { + return err + } + emip.ProviderSpecificDetails = providerSpecificDetails + } + } + } + + return nil +} + +// BasicEnableMigrationProviderSpecificInput enable migration provider specific input. +type BasicEnableMigrationProviderSpecificInput interface { + AsVMwareCbtEnableMigrationInput() (*VMwareCbtEnableMigrationInput, bool) + AsEnableMigrationProviderSpecificInput() (*EnableMigrationProviderSpecificInput, bool) +} + +// EnableMigrationProviderSpecificInput enable migration provider specific input. +type EnableMigrationProviderSpecificInput struct { + // InstanceType - Possible values include: 'InstanceTypeEnableMigrationProviderSpecificInput', 'InstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicEnableMigrationProviderSpecificInput `json:"instanceType,omitempty"` +} + +func unmarshalBasicEnableMigrationProviderSpecificInput(body []byte) (BasicEnableMigrationProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeVMwareCbt): + var vmcemi VMwareCbtEnableMigrationInput + err := json.Unmarshal(body, &vmcemi) + return vmcemi, err + default: + var empsi EnableMigrationProviderSpecificInput + err := json.Unmarshal(body, &empsi) + return empsi, err + } +} +func unmarshalBasicEnableMigrationProviderSpecificInputArray(body []byte) ([]BasicEnableMigrationProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + empsiArray := make([]BasicEnableMigrationProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + empsi, err := unmarshalBasicEnableMigrationProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + empsiArray[index] = empsi + } + return empsiArray, nil +} + +// MarshalJSON is the custom marshaler for EnableMigrationProviderSpecificInput. +func (empsi EnableMigrationProviderSpecificInput) MarshalJSON() ([]byte, error) { + empsi.InstanceType = InstanceTypeEnableMigrationProviderSpecificInput + objectMap := make(map[string]interface{}) + if empsi.InstanceType != "" { + objectMap["instanceType"] = empsi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtEnableMigrationInput is the BasicEnableMigrationProviderSpecificInput implementation for EnableMigrationProviderSpecificInput. +func (empsi EnableMigrationProviderSpecificInput) AsVMwareCbtEnableMigrationInput() (*VMwareCbtEnableMigrationInput, bool) { + return nil, false +} + +// AsEnableMigrationProviderSpecificInput is the BasicEnableMigrationProviderSpecificInput implementation for EnableMigrationProviderSpecificInput. +func (empsi EnableMigrationProviderSpecificInput) AsEnableMigrationProviderSpecificInput() (*EnableMigrationProviderSpecificInput, bool) { + return &empsi, true +} + +// AsBasicEnableMigrationProviderSpecificInput is the BasicEnableMigrationProviderSpecificInput implementation for EnableMigrationProviderSpecificInput. +func (empsi EnableMigrationProviderSpecificInput) AsBasicEnableMigrationProviderSpecificInput() (BasicEnableMigrationProviderSpecificInput, bool) { + return &empsi, true +} + // EnableProtectionInput enable protection input. type EnableProtectionInput struct { // Properties - Enable protection input properties. @@ -7779,10 +8152,22 @@ func (hvvmd HyperVVirtualMachineDetails) AsBasicConfigurationSettings() (BasicCo return &hvvmd, true } -// IdentityInformation identity details. -type IdentityInformation struct { - // IdentityProviderType - The identity provider type. Value is the ToString() of a IdentityProviderType value. Possible values include: 'RecoveryServicesActiveDirectory' - IdentityProviderType IdentityProviderType `json:"identityProviderType,omitempty"` +// IdentityProviderDetails identity provider details. +type IdentityProviderDetails struct { + // TenantID - The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. + TenantID *string `json:"tenantId,omitempty"` + // ApplicationID - The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. + ApplicationID *string `json:"applicationId,omitempty"` + // ObjectID - The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services. + ObjectID *string `json:"objectId,omitempty"` + // Audience - The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services. + Audience *string `json:"audience,omitempty"` + // AadAuthority - The base authority for Azure Active Directory authentication. + AadAuthority *string `json:"aadAuthority,omitempty"` +} + +// IdentityProviderInput identity provider input. +type IdentityProviderInput struct { // TenantID - The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. TenantID *string `json:"tenantId,omitempty"` // ApplicationID - The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services. @@ -7793,8 +8178,6 @@ type IdentityInformation struct { Audience *string `json:"audience,omitempty"` // AadAuthority - The base authority for Azure Active Directory authentication. AadAuthority *string `json:"aadAuthority,omitempty"` - // CertificateThumbprint - The certificate thumbprint. Applicable only if IdentityProviderType is RecoveryServicesActiveDirectory. - CertificateThumbprint *string `json:"certificateThumbprint,omitempty"` } // InconsistentVMDetails this class stores the monitoring details for consistency check of inconsistent @@ -10465,9 +10848,9 @@ func (jtd JobTaskDetails) AsBasicTaskTypeDetails() (BasicTaskTypeDetails, bool) // KeyEncryptionKeyInfo key Encryption Key (KEK) information. type KeyEncryptionKeyInfo struct { - // KeyIdentifier - The key url / identifier. + // KeyIdentifier - The key url / identifier. KeyIdentifier *string `json:"keyIdentifier,omitempty"` - // KeyVaultResourceArmID - The KeyVault resource ARM id for key. + // KeyVaultResourceArmID - The KeyVault resource ARM id for key. KeyVaultResourceArmID *string `json:"keyVaultResourceArmId,omitempty"` } @@ -10765,21 +11148,120 @@ type MasterTargetServer struct { MarsAgentVersionDetails *VersionDetails `json:"marsAgentVersionDetails,omitempty"` } -// MobilityServiceUpdate the Mobility Service update details. -type MobilityServiceUpdate struct { - // Version - The version of the latest update. - Version *string `json:"version,omitempty"` - // RebootStatus - The reboot status of the update - whether it is required or not. - RebootStatus *string `json:"rebootStatus,omitempty"` - // OsType - The OS type. - OsType *string `json:"osType,omitempty"` +// MigrateInput input for migrate. +type MigrateInput struct { + // Properties - Migrate input properties. + Properties *MigrateInputProperties `json:"properties,omitempty"` } -// Network network model. -type Network struct { +// MigrateInputProperties migrate input properties. +type MigrateInputProperties struct { + // ProviderSpecificDetails - The provider specific details. + ProviderSpecificDetails BasicMigrateProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MigrateInputProperties struct. +func (mip *MigrateInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "providerSpecificDetails": + if v != nil { + providerSpecificDetails, err := unmarshalBasicMigrateProviderSpecificInput(*v) + if err != nil { + return err + } + mip.ProviderSpecificDetails = providerSpecificDetails + } + } + } + + return nil +} + +// BasicMigrateProviderSpecificInput migrate provider specific input. +type BasicMigrateProviderSpecificInput interface { + AsVMwareCbtMigrateInput() (*VMwareCbtMigrateInput, bool) + AsMigrateProviderSpecificInput() (*MigrateProviderSpecificInput, bool) +} + +// MigrateProviderSpecificInput migrate provider specific input. +type MigrateProviderSpecificInput struct { + // InstanceType - Possible values include: 'InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput', 'InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicMigrateProviderSpecificInput `json:"instanceType,omitempty"` +} + +func unmarshalBasicMigrateProviderSpecificInput(body []byte) (BasicMigrateProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt): + var vmcmi VMwareCbtMigrateInput + err := json.Unmarshal(body, &vmcmi) + return vmcmi, err + default: + var mpsi MigrateProviderSpecificInput + err := json.Unmarshal(body, &mpsi) + return mpsi, err + } +} +func unmarshalBasicMigrateProviderSpecificInputArray(body []byte) ([]BasicMigrateProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + mpsiArray := make([]BasicMigrateProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + mpsi, err := unmarshalBasicMigrateProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + mpsiArray[index] = mpsi + } + return mpsiArray, nil +} + +// MarshalJSON is the custom marshaler for MigrateProviderSpecificInput. +func (mpsi MigrateProviderSpecificInput) MarshalJSON() ([]byte, error) { + mpsi.InstanceType = InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput + objectMap := make(map[string]interface{}) + if mpsi.InstanceType != "" { + objectMap["instanceType"] = mpsi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtMigrateInput is the BasicMigrateProviderSpecificInput implementation for MigrateProviderSpecificInput. +func (mpsi MigrateProviderSpecificInput) AsVMwareCbtMigrateInput() (*VMwareCbtMigrateInput, bool) { + return nil, false +} + +// AsMigrateProviderSpecificInput is the BasicMigrateProviderSpecificInput implementation for MigrateProviderSpecificInput. +func (mpsi MigrateProviderSpecificInput) AsMigrateProviderSpecificInput() (*MigrateProviderSpecificInput, bool) { + return &mpsi, true +} + +// AsBasicMigrateProviderSpecificInput is the BasicMigrateProviderSpecificInput implementation for MigrateProviderSpecificInput. +func (mpsi MigrateProviderSpecificInput) AsBasicMigrateProviderSpecificInput() (BasicMigrateProviderSpecificInput, bool) { + return &mpsi, true +} + +// MigrationItem migration item. +type MigrationItem struct { autorest.Response `json:"-"` - // Properties - The Network Properties. - Properties *NetworkProperties `json:"properties,omitempty"` + // Properties - The migration item properties. + Properties *MigrationItemProperties `json:"properties,omitempty"` // ID - Resource Id ID *string `json:"id,omitempty"` // Name - Resource Name @@ -10790,10 +11272,594 @@ type Network struct { Location *string `json:"location,omitempty"` } -// NetworkCollection list of networks. -type NetworkCollection struct { +// MigrationItemCollection migration item collection. +type MigrationItemCollection struct { autorest.Response `json:"-"` - // Value - The Networks list details. + // Value - The list of migration items. + Value *[]MigrationItem `json:"value,omitempty"` + // NextLink - The value of next link. + NextLink *string `json:"nextLink,omitempty"` +} + +// MigrationItemCollectionIterator provides access to a complete listing of MigrationItem values. +type MigrationItemCollectionIterator struct { + i int + page MigrationItemCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *MigrationItemCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationItemCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *MigrationItemCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter MigrationItemCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter MigrationItemCollectionIterator) Response() MigrationItemCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter MigrationItemCollectionIterator) Value() MigrationItem { + if !iter.page.NotDone() { + return MigrationItem{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the MigrationItemCollectionIterator type. +func NewMigrationItemCollectionIterator(page MigrationItemCollectionPage) MigrationItemCollectionIterator { + return MigrationItemCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (mic MigrationItemCollection) IsEmpty() bool { + return mic.Value == nil || len(*mic.Value) == 0 +} + +// migrationItemCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (mic MigrationItemCollection) migrationItemCollectionPreparer(ctx context.Context) (*http.Request, error) { + if mic.NextLink == nil || len(to.String(mic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(mic.NextLink))) +} + +// MigrationItemCollectionPage contains a page of MigrationItem values. +type MigrationItemCollectionPage struct { + fn func(context.Context, MigrationItemCollection) (MigrationItemCollection, error) + mic MigrationItemCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *MigrationItemCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationItemCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.mic) + if err != nil { + return err + } + page.mic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *MigrationItemCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page MigrationItemCollectionPage) NotDone() bool { + return !page.mic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page MigrationItemCollectionPage) Response() MigrationItemCollection { + return page.mic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page MigrationItemCollectionPage) Values() []MigrationItem { + if page.mic.IsEmpty() { + return nil + } + return *page.mic.Value +} + +// Creates a new instance of the MigrationItemCollectionPage type. +func NewMigrationItemCollectionPage(getNextPage func(context.Context, MigrationItemCollection) (MigrationItemCollection, error)) MigrationItemCollectionPage { + return MigrationItemCollectionPage{fn: getNextPage} +} + +// MigrationItemProperties migration item properties. +type MigrationItemProperties struct { + // MachineName - The on-premise virtual machine name. + MachineName *string `json:"machineName,omitempty"` + // PolicyID - The ARM Id of policy governing this item. + PolicyID *string `json:"policyId,omitempty"` + // PolicyFriendlyName - The name of policy governing this item. + PolicyFriendlyName *string `json:"policyFriendlyName,omitempty"` + // RecoveryServicesProviderID - The recovery services provider ARM Id. + RecoveryServicesProviderID *string `json:"recoveryServicesProviderId,omitempty"` + // MigrationState - The migration status. Possible values include: 'MigrationStateNone', 'MigrationStateEnableMigrationInProgress', 'MigrationStateEnableMigrationFailed', 'MigrationStateDisableMigrationInProgress', 'MigrationStateDisableMigrationFailed', 'MigrationStateInitialSeedingInProgress', 'MigrationStateInitialSeedingFailed', 'MigrationStateReplicating', 'MigrationStateMigrationInProgress', 'MigrationStateMigrationSucceeded', 'MigrationStateMigrationFailed' + MigrationState MigrationState `json:"migrationState,omitempty"` + // MigrationStateDescription - The migration state description. + MigrationStateDescription *string `json:"migrationStateDescription,omitempty"` + // TestMigrateState - The test migrate state. Possible values include: 'TestMigrationStateNone', 'TestMigrationStateTestMigrationInProgress', 'TestMigrationStateTestMigrationSucceeded', 'TestMigrationStateTestMigrationFailed', 'TestMigrationStateTestMigrationCleanupInProgress' + TestMigrateState TestMigrationState `json:"testMigrateState,omitempty"` + // TestMigrateStateDescription - The test migrate state description. + TestMigrateStateDescription *string `json:"testMigrateStateDescription,omitempty"` + // Health - The consolidated health. + Health *string `json:"health,omitempty"` + // HealthErrors - The list of health errors. + HealthErrors *[]HealthError `json:"healthErrors,omitempty"` + // AllowedOperations - The allowed operations on the migration item, based on the current migration state of the item. + AllowedOperations *[]MigrationItemOperation `json:"allowedOperations,omitempty"` + // CurrentJob - The current job details. + CurrentJob *CurrentJobDetails `json:"currentJob,omitempty"` + // ProviderSpecificDetails - The migration provider custom settings. + ProviderSpecificDetails BasicMigrationProviderSpecificSettings `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MigrationItemProperties struct. +func (mip *MigrationItemProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "machineName": + if v != nil { + var machineName string + err = json.Unmarshal(*v, &machineName) + if err != nil { + return err + } + mip.MachineName = &machineName + } + case "policyId": + if v != nil { + var policyID string + err = json.Unmarshal(*v, &policyID) + if err != nil { + return err + } + mip.PolicyID = &policyID + } + case "policyFriendlyName": + if v != nil { + var policyFriendlyName string + err = json.Unmarshal(*v, &policyFriendlyName) + if err != nil { + return err + } + mip.PolicyFriendlyName = &policyFriendlyName + } + case "recoveryServicesProviderId": + if v != nil { + var recoveryServicesProviderID string + err = json.Unmarshal(*v, &recoveryServicesProviderID) + if err != nil { + return err + } + mip.RecoveryServicesProviderID = &recoveryServicesProviderID + } + case "migrationState": + if v != nil { + var migrationState MigrationState + err = json.Unmarshal(*v, &migrationState) + if err != nil { + return err + } + mip.MigrationState = migrationState + } + case "migrationStateDescription": + if v != nil { + var migrationStateDescription string + err = json.Unmarshal(*v, &migrationStateDescription) + if err != nil { + return err + } + mip.MigrationStateDescription = &migrationStateDescription + } + case "testMigrateState": + if v != nil { + var testMigrateState TestMigrationState + err = json.Unmarshal(*v, &testMigrateState) + if err != nil { + return err + } + mip.TestMigrateState = testMigrateState + } + case "testMigrateStateDescription": + if v != nil { + var testMigrateStateDescription string + err = json.Unmarshal(*v, &testMigrateStateDescription) + if err != nil { + return err + } + mip.TestMigrateStateDescription = &testMigrateStateDescription + } + case "health": + if v != nil { + var health string + err = json.Unmarshal(*v, &health) + if err != nil { + return err + } + mip.Health = &health + } + case "healthErrors": + if v != nil { + var healthErrors []HealthError + err = json.Unmarshal(*v, &healthErrors) + if err != nil { + return err + } + mip.HealthErrors = &healthErrors + } + case "allowedOperations": + if v != nil { + var allowedOperations []MigrationItemOperation + err = json.Unmarshal(*v, &allowedOperations) + if err != nil { + return err + } + mip.AllowedOperations = &allowedOperations + } + case "currentJob": + if v != nil { + var currentJob CurrentJobDetails + err = json.Unmarshal(*v, ¤tJob) + if err != nil { + return err + } + mip.CurrentJob = ¤tJob + } + case "providerSpecificDetails": + if v != nil { + providerSpecificDetails, err := unmarshalBasicMigrationProviderSpecificSettings(*v) + if err != nil { + return err + } + mip.ProviderSpecificDetails = providerSpecificDetails + } + } + } + + return nil +} + +// MigrationItemsQueryParameter query parameter to enumerate migration items. +type MigrationItemsQueryParameter struct { + // SourceFabricName - The source fabric name filter. + SourceFabricName *string `json:"sourceFabricName,omitempty"` + // InstanceType - The replication provider type. + InstanceType *string `json:"instanceType,omitempty"` +} + +// BasicMigrationProviderSpecificSettings migration provider specific settings. +type BasicMigrationProviderSpecificSettings interface { + AsVMwareCbtMigrationDetails() (*VMwareCbtMigrationDetails, bool) + AsMigrationProviderSpecificSettings() (*MigrationProviderSpecificSettings, bool) +} + +// MigrationProviderSpecificSettings migration provider specific settings. +type MigrationProviderSpecificSettings struct { + // InstanceType - Possible values include: 'InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings', 'InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicMigrationProviderSpecificSettings `json:"instanceType,omitempty"` +} + +func unmarshalBasicMigrationProviderSpecificSettings(body []byte) (BasicMigrationProviderSpecificSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt): + var vmcmd VMwareCbtMigrationDetails + err := json.Unmarshal(body, &vmcmd) + return vmcmd, err + default: + var mpss MigrationProviderSpecificSettings + err := json.Unmarshal(body, &mpss) + return mpss, err + } +} +func unmarshalBasicMigrationProviderSpecificSettingsArray(body []byte) ([]BasicMigrationProviderSpecificSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + mpssArray := make([]BasicMigrationProviderSpecificSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + mpss, err := unmarshalBasicMigrationProviderSpecificSettings(*rawMessage) + if err != nil { + return nil, err + } + mpssArray[index] = mpss + } + return mpssArray, nil +} + +// MarshalJSON is the custom marshaler for MigrationProviderSpecificSettings. +func (mpss MigrationProviderSpecificSettings) MarshalJSON() ([]byte, error) { + mpss.InstanceType = InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings + objectMap := make(map[string]interface{}) + if mpss.InstanceType != "" { + objectMap["instanceType"] = mpss.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtMigrationDetails is the BasicMigrationProviderSpecificSettings implementation for MigrationProviderSpecificSettings. +func (mpss MigrationProviderSpecificSettings) AsVMwareCbtMigrationDetails() (*VMwareCbtMigrationDetails, bool) { + return nil, false +} + +// AsMigrationProviderSpecificSettings is the BasicMigrationProviderSpecificSettings implementation for MigrationProviderSpecificSettings. +func (mpss MigrationProviderSpecificSettings) AsMigrationProviderSpecificSettings() (*MigrationProviderSpecificSettings, bool) { + return &mpss, true +} + +// AsBasicMigrationProviderSpecificSettings is the BasicMigrationProviderSpecificSettings implementation for MigrationProviderSpecificSettings. +func (mpss MigrationProviderSpecificSettings) AsBasicMigrationProviderSpecificSettings() (BasicMigrationProviderSpecificSettings, bool) { + return &mpss, true +} + +// MigrationRecoveryPoint recovery point for a migration item. +type MigrationRecoveryPoint struct { + autorest.Response `json:"-"` + // Properties - Recovery point properties. + Properties *MigrationRecoveryPointProperties `json:"properties,omitempty"` + // ID - Resource Id + ID *string `json:"id,omitempty"` + // Name - Resource Name + Name *string `json:"name,omitempty"` + // Type - Resource Type + Type *string `json:"type,omitempty"` + // Location - Resource Location + Location *string `json:"location,omitempty"` +} + +// MigrationRecoveryPointCollection collection of migration recovery points. +type MigrationRecoveryPointCollection struct { + autorest.Response `json:"-"` + // Value - The migration recovery point details. + Value *[]MigrationRecoveryPoint `json:"value,omitempty"` + // NextLink - The value of next link. + NextLink *string `json:"nextLink,omitempty"` +} + +// MigrationRecoveryPointCollectionIterator provides access to a complete listing of MigrationRecoveryPoint +// values. +type MigrationRecoveryPointCollectionIterator struct { + i int + page MigrationRecoveryPointCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *MigrationRecoveryPointCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationRecoveryPointCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *MigrationRecoveryPointCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter MigrationRecoveryPointCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter MigrationRecoveryPointCollectionIterator) Response() MigrationRecoveryPointCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter MigrationRecoveryPointCollectionIterator) Value() MigrationRecoveryPoint { + if !iter.page.NotDone() { + return MigrationRecoveryPoint{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the MigrationRecoveryPointCollectionIterator type. +func NewMigrationRecoveryPointCollectionIterator(page MigrationRecoveryPointCollectionPage) MigrationRecoveryPointCollectionIterator { + return MigrationRecoveryPointCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (mrpc MigrationRecoveryPointCollection) IsEmpty() bool { + return mrpc.Value == nil || len(*mrpc.Value) == 0 +} + +// migrationRecoveryPointCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (mrpc MigrationRecoveryPointCollection) migrationRecoveryPointCollectionPreparer(ctx context.Context) (*http.Request, error) { + if mrpc.NextLink == nil || len(to.String(mrpc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(mrpc.NextLink))) +} + +// MigrationRecoveryPointCollectionPage contains a page of MigrationRecoveryPoint values. +type MigrationRecoveryPointCollectionPage struct { + fn func(context.Context, MigrationRecoveryPointCollection) (MigrationRecoveryPointCollection, error) + mrpc MigrationRecoveryPointCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *MigrationRecoveryPointCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MigrationRecoveryPointCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.mrpc) + if err != nil { + return err + } + page.mrpc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *MigrationRecoveryPointCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page MigrationRecoveryPointCollectionPage) NotDone() bool { + return !page.mrpc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page MigrationRecoveryPointCollectionPage) Response() MigrationRecoveryPointCollection { + return page.mrpc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page MigrationRecoveryPointCollectionPage) Values() []MigrationRecoveryPoint { + if page.mrpc.IsEmpty() { + return nil + } + return *page.mrpc.Value +} + +// Creates a new instance of the MigrationRecoveryPointCollectionPage type. +func NewMigrationRecoveryPointCollectionPage(getNextPage func(context.Context, MigrationRecoveryPointCollection) (MigrationRecoveryPointCollection, error)) MigrationRecoveryPointCollectionPage { + return MigrationRecoveryPointCollectionPage{fn: getNextPage} +} + +// MigrationRecoveryPointProperties migration item recovery point properties. +type MigrationRecoveryPointProperties struct { + // RecoveryPointTime - The recovery point time. + RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` + // RecoveryPointType - The recovery point type. Possible values include: 'MigrationRecoveryPointTypeNotSpecified', 'MigrationRecoveryPointTypeApplicationConsistent', 'MigrationRecoveryPointTypeCrashConsistent' + RecoveryPointType MigrationRecoveryPointType `json:"recoveryPointType,omitempty"` +} + +// MobilityServiceUpdate the Mobility Service update details. +type MobilityServiceUpdate struct { + // Version - The version of the latest update. + Version *string `json:"version,omitempty"` + // RebootStatus - The reboot status of the update - whether it is required or not. + RebootStatus *string `json:"rebootStatus,omitempty"` + // OsType - The OS type. + OsType *string `json:"osType,omitempty"` +} + +// Network network model. +type Network struct { + autorest.Response `json:"-"` + // Properties - The Network Properties. + Properties *NetworkProperties `json:"properties,omitempty"` + // ID - Resource Id + ID *string `json:"id,omitempty"` + // Name - Resource Name + Name *string `json:"name,omitempty"` + // Type - Resource Type + Type *string `json:"type,omitempty"` + // Location - Resource Location + Location *string `json:"location,omitempty"` +} + +// NetworkCollection list of networks. +type NetworkCollection struct { + autorest.Response `json:"-"` + // Value - The Networks list details. Value *[]Network `json:"value,omitempty"` // NextLink - The value of next link. NextLink *string `json:"nextLink,omitempty"` @@ -12865,12 +13931,13 @@ func (pcmp *ProtectionContainerMappingProperties) UnmarshalJSON(body []byte) err // BasicProtectionContainerMappingProviderSpecificDetails container mapping provider specific details. type BasicProtectionContainerMappingProviderSpecificDetails interface { AsA2AProtectionContainerMappingDetails() (*A2AProtectionContainerMappingDetails, bool) + AsVMwareCbtProtectionContainerMappingDetails() (*VMwareCbtProtectionContainerMappingDetails, bool) AsProtectionContainerMappingProviderSpecificDetails() (*ProtectionContainerMappingProviderSpecificDetails, bool) } // ProtectionContainerMappingProviderSpecificDetails container mapping provider specific details. type ProtectionContainerMappingProviderSpecificDetails struct { - // InstanceType - Possible values include: 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A' + // InstanceType - Possible values include: 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt' InstanceType InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails `json:"instanceType,omitempty"` } @@ -12886,6 +13953,10 @@ func unmarshalBasicProtectionContainerMappingProviderSpecificDetails(body []byte var apcmd A2AProtectionContainerMappingDetails err := json.Unmarshal(body, &apcmd) return apcmd, err + case string(InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt): + var vmcpcmd VMwareCbtProtectionContainerMappingDetails + err := json.Unmarshal(body, &vmcpcmd) + return vmcpcmd, err default: var pcmpsd ProtectionContainerMappingProviderSpecificDetails err := json.Unmarshal(body, &pcmpsd) @@ -12926,6 +13997,11 @@ func (pcmpsd ProtectionContainerMappingProviderSpecificDetails) AsA2AProtectionC return nil, false } +// AsVMwareCbtProtectionContainerMappingDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for ProtectionContainerMappingProviderSpecificDetails. +func (pcmpsd ProtectionContainerMappingProviderSpecificDetails) AsVMwareCbtProtectionContainerMappingDetails() (*VMwareCbtProtectionContainerMappingDetails, bool) { + return nil, false +} + // AsProtectionContainerMappingProviderSpecificDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for ProtectionContainerMappingProviderSpecificDetails. func (pcmpsd ProtectionContainerMappingProviderSpecificDetails) AsProtectionContainerMappingProviderSpecificDetails() (*ProtectionContainerMappingProviderSpecificDetails, bool) { return &pcmpsd, true @@ -14949,8 +16025,10 @@ type RecoveryServicesProviderProperties struct { HealthErrorDetails *[]HealthError `json:"healthErrorDetails,omitempty"` // DraIdentifier - The DRA Id. DraIdentifier *string `json:"draIdentifier,omitempty"` - // IdentityDetails - The identity details. - IdentityDetails *IdentityInformation `json:"identityDetails,omitempty"` + // AuthenticationIdentityDetails - The authentication identity details. + AuthenticationIdentityDetails *IdentityProviderDetails `json:"authenticationIdentityDetails,omitempty"` + // ResourceAccessIdentityDetails - The resource access identity details. + ResourceAccessIdentityDetails *IdentityProviderDetails `json:"resourceAccessIdentityDetails,omitempty"` // ProviderVersionDetails - The provider version details. ProviderVersionDetails *VersionDetails `json:"providerVersionDetails,omitempty"` } @@ -15326,6 +16404,174 @@ func (future *ReplicationJobsResumeFuture) Result(client ReplicationJobsClient) return } +// ReplicationMigrationItemsCreateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ReplicationMigrationItemsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationMigrationItemsCreateFuture) Result(client ReplicationMigrationItemsClient) (mi MigrationItem, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationMigrationItemsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.CreateResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsCreateFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + +// ReplicationMigrationItemsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ReplicationMigrationItemsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationMigrationItemsDeleteFuture) Result(client ReplicationMigrationItemsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationMigrationItemsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ReplicationMigrationItemsMigrateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ReplicationMigrationItemsMigrateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationMigrationItemsMigrateFuture) Result(client ReplicationMigrationItemsClient) (mi MigrationItem, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsMigrateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationMigrationItemsMigrateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.MigrateResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsMigrateFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + +// ReplicationMigrationItemsTestMigrateCleanupFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ReplicationMigrationItemsTestMigrateCleanupFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationMigrationItemsTestMigrateCleanupFuture) Result(client ReplicationMigrationItemsClient) (mi MigrationItem, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsTestMigrateCleanupFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationMigrationItemsTestMigrateCleanupFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.TestMigrateCleanupResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsTestMigrateCleanupFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + +// ReplicationMigrationItemsTestMigrateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ReplicationMigrationItemsTestMigrateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationMigrationItemsTestMigrateFuture) Result(client ReplicationMigrationItemsClient) (mi MigrationItem, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsTestMigrateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationMigrationItemsTestMigrateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.TestMigrateResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsTestMigrateFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + +// ReplicationMigrationItemsUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ReplicationMigrationItemsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationMigrationItemsUpdateFuture) Result(client ReplicationMigrationItemsClient) (mi MigrationItem, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationMigrationItemsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.UpdateResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsUpdateFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + // ReplicationNetworkMappingsCreateFuture an abstraction for monitoring and retrieving the results of a // long-running operation. type ReplicationNetworkMappingsCreateFuture struct { @@ -16553,12 +17799,13 @@ type ReplicationProviderContainerUnmappingInput struct { // BasicReplicationProviderSpecificContainerCreationInput provider specific input for container creation operation. type BasicReplicationProviderSpecificContainerCreationInput interface { AsA2AContainerCreationInput() (*A2AContainerCreationInput, bool) + AsVMwareCbtContainerCreationInput() (*VMwareCbtContainerCreationInput, bool) AsReplicationProviderSpecificContainerCreationInput() (*ReplicationProviderSpecificContainerCreationInput, bool) } // ReplicationProviderSpecificContainerCreationInput provider specific input for container creation operation. type ReplicationProviderSpecificContainerCreationInput struct { - // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A' + // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero' InstanceType InstanceTypeBasicReplicationProviderSpecificContainerCreationInput `json:"instanceType,omitempty"` } @@ -16574,6 +17821,10 @@ func unmarshalBasicReplicationProviderSpecificContainerCreationInput(body []byte var acci A2AContainerCreationInput err := json.Unmarshal(body, &acci) return acci, err + case string(InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero): + var vmccci VMwareCbtContainerCreationInput + err := json.Unmarshal(body, &vmccci) + return vmccci, err default: var rpscci ReplicationProviderSpecificContainerCreationInput err := json.Unmarshal(body, &rpscci) @@ -16614,6 +17865,11 @@ func (rpscci ReplicationProviderSpecificContainerCreationInput) AsA2AContainerCr return nil, false } +// AsVMwareCbtContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for ReplicationProviderSpecificContainerCreationInput. +func (rpscci ReplicationProviderSpecificContainerCreationInput) AsVMwareCbtContainerCreationInput() (*VMwareCbtContainerCreationInput, bool) { + return nil, false +} + // AsReplicationProviderSpecificContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for ReplicationProviderSpecificContainerCreationInput. func (rpscci ReplicationProviderSpecificContainerCreationInput) AsReplicationProviderSpecificContainerCreationInput() (*ReplicationProviderSpecificContainerCreationInput, bool) { return &rpscci, true @@ -16627,12 +17883,13 @@ func (rpscci ReplicationProviderSpecificContainerCreationInput) AsBasicReplicati // BasicReplicationProviderSpecificContainerMappingInput provider specific input for pairing operations. type BasicReplicationProviderSpecificContainerMappingInput interface { AsA2AContainerMappingInput() (*A2AContainerMappingInput, bool) + AsVMwareCbtContainerMappingInput() (*VMwareCbtContainerMappingInput, bool) AsReplicationProviderSpecificContainerMappingInput() (*ReplicationProviderSpecificContainerMappingInput, bool) } // ReplicationProviderSpecificContainerMappingInput provider specific input for pairing operations. type ReplicationProviderSpecificContainerMappingInput struct { - // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A' + // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt' InstanceType InstanceTypeBasicReplicationProviderSpecificContainerMappingInput `json:"instanceType,omitempty"` } @@ -16648,6 +17905,10 @@ func unmarshalBasicReplicationProviderSpecificContainerMappingInput(body []byte) var acmi A2AContainerMappingInput err := json.Unmarshal(body, &acmi) return acmi, err + case string(InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt): + var vmccmi VMwareCbtContainerMappingInput + err := json.Unmarshal(body, &vmccmi) + return vmccmi, err default: var rpscmi ReplicationProviderSpecificContainerMappingInput err := json.Unmarshal(body, &rpscmi) @@ -16688,6 +17949,11 @@ func (rpscmi ReplicationProviderSpecificContainerMappingInput) AsA2AContainerMap return nil, false } +// AsVMwareCbtContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for ReplicationProviderSpecificContainerMappingInput. +func (rpscmi ReplicationProviderSpecificContainerMappingInput) AsVMwareCbtContainerMappingInput() (*VMwareCbtContainerMappingInput, bool) { + return nil, false +} + // AsReplicationProviderSpecificContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for ReplicationProviderSpecificContainerMappingInput. func (rpscmi ReplicationProviderSpecificContainerMappingInput) AsReplicationProviderSpecificContainerMappingInput() (*ReplicationProviderSpecificContainerMappingInput, bool) { return &rpscmi, true @@ -17162,6 +18428,35 @@ func (future *ReplicationRecoveryPlansUpdateFuture) Result(client ReplicationRec return } +// ReplicationRecoveryServicesProvidersCreateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ReplicationRecoveryServicesProvidersCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationRecoveryServicesProvidersCreateFuture) Result(client ReplicationRecoveryServicesProvidersClient) (rsp RecoveryServicesProvider, err error) { + var done bool + done, err = future.Done(client) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationRecoveryServicesProvidersCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("siterecovery.ReplicationRecoveryServicesProvidersCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rsp.Response.Response, err = future.GetResult(sender); err == nil && rsp.Response.Response.StatusCode != http.StatusNoContent { + rsp, err = client.CreateResponder(rsp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationRecoveryServicesProvidersCreateFuture", "Result", rsp.Response.Response, "Failure responding to request") + } + } + return +} + // ReplicationRecoveryServicesProvidersDeleteFuture an abstraction for monitoring and retrieving the // results of a long-running operation. type ReplicationRecoveryServicesProvidersDeleteFuture struct { @@ -18805,6 +20100,127 @@ func (tfjd TestFailoverJobDetails) AsBasicJobDetails() (BasicJobDetails, bool) { return &tfjd, true } +// TestMigrateCleanupInput input for test migrate cleanup. +type TestMigrateCleanupInput struct { + // Properties - Test migrate cleanup input properties. + Properties *TestMigrateCleanupInputProperties `json:"properties,omitempty"` +} + +// TestMigrateCleanupInputProperties test migrate cleanup input properties. +type TestMigrateCleanupInputProperties struct { + // Comments - Test migrate cleanup comments. + Comments *string `json:"comments,omitempty"` +} + +// TestMigrateInput input for test migrate. +type TestMigrateInput struct { + // Properties - Test migrate input properties. + Properties *TestMigrateInputProperties `json:"properties,omitempty"` +} + +// TestMigrateInputProperties test migrate input properties. +type TestMigrateInputProperties struct { + // ProviderSpecificDetails - The provider specific details. + ProviderSpecificDetails BasicTestMigrateProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TestMigrateInputProperties struct. +func (tmip *TestMigrateInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "providerSpecificDetails": + if v != nil { + providerSpecificDetails, err := unmarshalBasicTestMigrateProviderSpecificInput(*v) + if err != nil { + return err + } + tmip.ProviderSpecificDetails = providerSpecificDetails + } + } + } + + return nil +} + +// BasicTestMigrateProviderSpecificInput test migrate provider specific input. +type BasicTestMigrateProviderSpecificInput interface { + AsVMwareCbtTestMigrateInput() (*VMwareCbtTestMigrateInput, bool) + AsTestMigrateProviderSpecificInput() (*TestMigrateProviderSpecificInput, bool) +} + +// TestMigrateProviderSpecificInput test migrate provider specific input. +type TestMigrateProviderSpecificInput struct { + // InstanceType - Possible values include: 'InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput', 'InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicTestMigrateProviderSpecificInput `json:"instanceType,omitempty"` +} + +func unmarshalBasicTestMigrateProviderSpecificInput(body []byte) (BasicTestMigrateProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt): + var vmctmi VMwareCbtTestMigrateInput + err := json.Unmarshal(body, &vmctmi) + return vmctmi, err + default: + var tmpsi TestMigrateProviderSpecificInput + err := json.Unmarshal(body, &tmpsi) + return tmpsi, err + } +} +func unmarshalBasicTestMigrateProviderSpecificInputArray(body []byte) ([]BasicTestMigrateProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tmpsiArray := make([]BasicTestMigrateProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + tmpsi, err := unmarshalBasicTestMigrateProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + tmpsiArray[index] = tmpsi + } + return tmpsiArray, nil +} + +// MarshalJSON is the custom marshaler for TestMigrateProviderSpecificInput. +func (tmpsi TestMigrateProviderSpecificInput) MarshalJSON() ([]byte, error) { + tmpsi.InstanceType = InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput + objectMap := make(map[string]interface{}) + if tmpsi.InstanceType != "" { + objectMap["instanceType"] = tmpsi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtTestMigrateInput is the BasicTestMigrateProviderSpecificInput implementation for TestMigrateProviderSpecificInput. +func (tmpsi TestMigrateProviderSpecificInput) AsVMwareCbtTestMigrateInput() (*VMwareCbtTestMigrateInput, bool) { + return nil, false +} + +// AsTestMigrateProviderSpecificInput is the BasicTestMigrateProviderSpecificInput implementation for TestMigrateProviderSpecificInput. +func (tmpsi TestMigrateProviderSpecificInput) AsTestMigrateProviderSpecificInput() (*TestMigrateProviderSpecificInput, bool) { + return &tmpsi, true +} + +// AsBasicTestMigrateProviderSpecificInput is the BasicTestMigrateProviderSpecificInput implementation for TestMigrateProviderSpecificInput. +func (tmpsi TestMigrateProviderSpecificInput) AsBasicTestMigrateProviderSpecificInput() (BasicTestMigrateProviderSpecificInput, bool) { + return &tmpsi, true +} + // UnplannedFailoverInput input definition for planned failover. type UnplannedFailoverInput struct { // Properties - Planned failover input properties @@ -18850,11 +20266,46 @@ func (ufip *UnplannedFailoverInputProperties) UnmarshalJSON(body []byte) error { } case "providerSpecificDetails": if v != nil { - providerSpecificDetails, err := unmarshalBasicProviderSpecificFailoverInput(*v) + providerSpecificDetails, err := unmarshalBasicProviderSpecificFailoverInput(*v) + if err != nil { + return err + } + ufip.ProviderSpecificDetails = providerSpecificDetails + } + } + } + + return nil +} + +// UpdateMigrationItemInput update migration item input. +type UpdateMigrationItemInput struct { + // Properties - Update migration item input properties. + Properties *UpdateMigrationItemInputProperties `json:"properties,omitempty"` +} + +// UpdateMigrationItemInputProperties update migration item input properties. +type UpdateMigrationItemInputProperties struct { + // ProviderSpecificDetails - The provider specific input to update migration item. + ProviderSpecificDetails BasicUpdateMigrationItemProviderSpecificInput `json:"providerSpecificDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UpdateMigrationItemInputProperties struct. +func (umiip *UpdateMigrationItemInputProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "providerSpecificDetails": + if v != nil { + providerSpecificDetails, err := unmarshalBasicUpdateMigrationItemProviderSpecificInput(*v) if err != nil { return err } - ufip.ProviderSpecificDetails = providerSpecificDetails + umiip.ProviderSpecificDetails = providerSpecificDetails } } } @@ -18862,6 +20313,80 @@ func (ufip *UnplannedFailoverInputProperties) UnmarshalJSON(body []byte) error { return nil } +// BasicUpdateMigrationItemProviderSpecificInput update migration item provider specific input. +type BasicUpdateMigrationItemProviderSpecificInput interface { + AsVMwareCbtUpdateMigrationItemInput() (*VMwareCbtUpdateMigrationItemInput, bool) + AsUpdateMigrationItemProviderSpecificInput() (*UpdateMigrationItemProviderSpecificInput, bool) +} + +// UpdateMigrationItemProviderSpecificInput update migration item provider specific input. +type UpdateMigrationItemProviderSpecificInput struct { + // InstanceType - Possible values include: 'InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput', 'InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicUpdateMigrationItemProviderSpecificInput `json:"instanceType,omitempty"` +} + +func unmarshalBasicUpdateMigrationItemProviderSpecificInput(body []byte) (BasicUpdateMigrationItemProviderSpecificInput, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["instanceType"] { + case string(InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt): + var vmcumii VMwareCbtUpdateMigrationItemInput + err := json.Unmarshal(body, &vmcumii) + return vmcumii, err + default: + var umipsi UpdateMigrationItemProviderSpecificInput + err := json.Unmarshal(body, &umipsi) + return umipsi, err + } +} +func unmarshalBasicUpdateMigrationItemProviderSpecificInputArray(body []byte) ([]BasicUpdateMigrationItemProviderSpecificInput, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + umipsiArray := make([]BasicUpdateMigrationItemProviderSpecificInput, len(rawMessages)) + + for index, rawMessage := range rawMessages { + umipsi, err := unmarshalBasicUpdateMigrationItemProviderSpecificInput(*rawMessage) + if err != nil { + return nil, err + } + umipsiArray[index] = umipsi + } + return umipsiArray, nil +} + +// MarshalJSON is the custom marshaler for UpdateMigrationItemProviderSpecificInput. +func (umipsi UpdateMigrationItemProviderSpecificInput) MarshalJSON() ([]byte, error) { + umipsi.InstanceType = InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput + objectMap := make(map[string]interface{}) + if umipsi.InstanceType != "" { + objectMap["instanceType"] = umipsi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtUpdateMigrationItemInput is the BasicUpdateMigrationItemProviderSpecificInput implementation for UpdateMigrationItemProviderSpecificInput. +func (umipsi UpdateMigrationItemProviderSpecificInput) AsVMwareCbtUpdateMigrationItemInput() (*VMwareCbtUpdateMigrationItemInput, bool) { + return nil, false +} + +// AsUpdateMigrationItemProviderSpecificInput is the BasicUpdateMigrationItemProviderSpecificInput implementation for UpdateMigrationItemProviderSpecificInput. +func (umipsi UpdateMigrationItemProviderSpecificInput) AsUpdateMigrationItemProviderSpecificInput() (*UpdateMigrationItemProviderSpecificInput, bool) { + return &umipsi, true +} + +// AsBasicUpdateMigrationItemProviderSpecificInput is the BasicUpdateMigrationItemProviderSpecificInput implementation for UpdateMigrationItemProviderSpecificInput. +func (umipsi UpdateMigrationItemProviderSpecificInput) AsBasicUpdateMigrationItemProviderSpecificInput() (BasicUpdateMigrationItemProviderSpecificInput, bool) { + return &umipsi, true +} + // UpdateMobilityServiceRequest request to update the mobility service on a protected item. type UpdateMobilityServiceRequest struct { // Properties - The properties of the update mobility service request. @@ -20062,10 +21587,400 @@ func (vnutd VMNicUpdatesTaskDetails) AsBasicTaskTypeDetails() (BasicTaskTypeDeta return &vnutd, true } -// VMwareCbtPolicyCreationInput vMware Cbt Policy creation input. +// VMwareCbtContainerCreationInput vMwareCbt container creation input. +type VMwareCbtContainerCreationInput struct { + // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeReplicationProviderSpecificContainerCreationInput', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeA2A', 'InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero' + InstanceType InstanceTypeBasicReplicationProviderSpecificContainerCreationInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtContainerCreationInput. +func (vmccci VMwareCbtContainerCreationInput) MarshalJSON() ([]byte, error) { + vmccci.InstanceType = InstanceTypeBasicReplicationProviderSpecificContainerCreationInputInstanceTypeSixcSevendaFourFiveFiveFiveZeroSixfFourThreeffAOneSixaEightebOneZeroOneaebbSevenZero + objectMap := make(map[string]interface{}) + if vmccci.InstanceType != "" { + objectMap["instanceType"] = vmccci.InstanceType + } + return json.Marshal(objectMap) +} + +// AsA2AContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for VMwareCbtContainerCreationInput. +func (vmccci VMwareCbtContainerCreationInput) AsA2AContainerCreationInput() (*A2AContainerCreationInput, bool) { + return nil, false +} + +// AsVMwareCbtContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for VMwareCbtContainerCreationInput. +func (vmccci VMwareCbtContainerCreationInput) AsVMwareCbtContainerCreationInput() (*VMwareCbtContainerCreationInput, bool) { + return &vmccci, true +} + +// AsReplicationProviderSpecificContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for VMwareCbtContainerCreationInput. +func (vmccci VMwareCbtContainerCreationInput) AsReplicationProviderSpecificContainerCreationInput() (*ReplicationProviderSpecificContainerCreationInput, bool) { + return nil, false +} + +// AsBasicReplicationProviderSpecificContainerCreationInput is the BasicReplicationProviderSpecificContainerCreationInput implementation for VMwareCbtContainerCreationInput. +func (vmccci VMwareCbtContainerCreationInput) AsBasicReplicationProviderSpecificContainerCreationInput() (BasicReplicationProviderSpecificContainerCreationInput, bool) { + return &vmccci, true +} + +// VMwareCbtContainerMappingInput vMwareCbt container mapping input. +type VMwareCbtContainerMappingInput struct { + // KeyVaultID - The target key vault ARM Id. + KeyVaultID *string `json:"keyVaultId,omitempty"` + // KeyVaultURI - The target key vault URL. + KeyVaultURI *string `json:"keyVaultUri,omitempty"` + // StorageAccountID - The storage account ARM Id. + StorageAccountID *string `json:"storageAccountId,omitempty"` + // StorageAccountSasSecretName - The secret name of the storage account. + StorageAccountSasSecretName *string `json:"storageAccountSasSecretName,omitempty"` + // ServiceBusConnectionStringSecretName - The secret name of the service bus connection string. + ServiceBusConnectionStringSecretName *string `json:"serviceBusConnectionStringSecretName,omitempty"` + // TargetLocation - The target location. + TargetLocation *string `json:"targetLocation,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeReplicationProviderSpecificContainerMappingInput', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeA2A', 'InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicReplicationProviderSpecificContainerMappingInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtContainerMappingInput. +func (vmccmi VMwareCbtContainerMappingInput) MarshalJSON() ([]byte, error) { + vmccmi.InstanceType = InstanceTypeBasicReplicationProviderSpecificContainerMappingInputInstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmccmi.KeyVaultID != nil { + objectMap["keyVaultId"] = vmccmi.KeyVaultID + } + if vmccmi.KeyVaultURI != nil { + objectMap["keyVaultUri"] = vmccmi.KeyVaultURI + } + if vmccmi.StorageAccountID != nil { + objectMap["storageAccountId"] = vmccmi.StorageAccountID + } + if vmccmi.StorageAccountSasSecretName != nil { + objectMap["storageAccountSasSecretName"] = vmccmi.StorageAccountSasSecretName + } + if vmccmi.ServiceBusConnectionStringSecretName != nil { + objectMap["serviceBusConnectionStringSecretName"] = vmccmi.ServiceBusConnectionStringSecretName + } + if vmccmi.TargetLocation != nil { + objectMap["targetLocation"] = vmccmi.TargetLocation + } + if vmccmi.InstanceType != "" { + objectMap["instanceType"] = vmccmi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsA2AContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for VMwareCbtContainerMappingInput. +func (vmccmi VMwareCbtContainerMappingInput) AsA2AContainerMappingInput() (*A2AContainerMappingInput, bool) { + return nil, false +} + +// AsVMwareCbtContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for VMwareCbtContainerMappingInput. +func (vmccmi VMwareCbtContainerMappingInput) AsVMwareCbtContainerMappingInput() (*VMwareCbtContainerMappingInput, bool) { + return &vmccmi, true +} + +// AsReplicationProviderSpecificContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for VMwareCbtContainerMappingInput. +func (vmccmi VMwareCbtContainerMappingInput) AsReplicationProviderSpecificContainerMappingInput() (*ReplicationProviderSpecificContainerMappingInput, bool) { + return nil, false +} + +// AsBasicReplicationProviderSpecificContainerMappingInput is the BasicReplicationProviderSpecificContainerMappingInput implementation for VMwareCbtContainerMappingInput. +func (vmccmi VMwareCbtContainerMappingInput) AsBasicReplicationProviderSpecificContainerMappingInput() (BasicReplicationProviderSpecificContainerMappingInput, bool) { + return &vmccmi, true +} + +// VMwareCbtDiskInput vMwareCbt disk input. +type VMwareCbtDiskInput struct { + // DiskID - The disk Id. + DiskID *string `json:"diskId,omitempty"` + // IsOSDisk - A value indicating whether the disk is the OS disk. + IsOSDisk *string `json:"isOSDisk,omitempty"` + // LogStorageAccountID - The log storage account ARM Id. + LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` + // LogStorageAccountSasSecretName - The key vault secret name of the log storage account. + LogStorageAccountSasSecretName *string `json:"logStorageAccountSasSecretName,omitempty"` + // DiskType - The disk type. Possible values include: 'StandardLRS', 'PremiumLRS', 'StandardSSDLRS' + DiskType DiskAccountType `json:"diskType,omitempty"` +} + +// VMwareCbtEnableMigrationInput vMwareCbt specific enable migration input. +type VMwareCbtEnableMigrationInput struct { + // VmwareMachineID - The ARM Id of the VM discovered in VMware. + VmwareMachineID *string `json:"vmwareMachineId,omitempty"` + // DisksToInclude - The disks to include list. + DisksToInclude *[]VMwareCbtDiskInput `json:"disksToInclude,omitempty"` + // LicenseType - License type. Possible values include: 'LicenseTypeNotSpecified', 'LicenseTypeNoLicenseType', 'LicenseTypeWindowsServer' + LicenseType LicenseType `json:"licenseType,omitempty"` + // DataMoverRunAsAccountID - The data mover runas account Id. + DataMoverRunAsAccountID *string `json:"dataMoverRunAsAccountId,omitempty"` + // SnapshotRunAsAccountID - The snapshot runas account Id. + SnapshotRunAsAccountID *string `json:"snapshotRunAsAccountId,omitempty"` + // TargetVMName - The target VM name. + TargetVMName *string `json:"targetVmName,omitempty"` + // TargetVMSize - The target VM size. + TargetVMSize *string `json:"targetVmSize,omitempty"` + // TargetResourceGroupID - The target resource group ARM Id. + TargetResourceGroupID *string `json:"targetResourceGroupId,omitempty"` + // TargetNetworkID - The target network ARM Id. + TargetNetworkID *string `json:"targetNetworkId,omitempty"` + // TargetSubnetName - The target subnet name. + TargetSubnetName *string `json:"targetSubnetName,omitempty"` + // TargetAvailabilitySetID - The target availability set ARM Id. + TargetAvailabilitySetID *string `json:"targetAvailabilitySetId,omitempty"` + // TargetBootDiagnosticsStorageAccountID - The target boot diagnostics storage account ARM Id. + TargetBootDiagnosticsStorageAccountID *string `json:"targetBootDiagnosticsStorageAccountId,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeEnableMigrationProviderSpecificInput', 'InstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicEnableMigrationProviderSpecificInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtEnableMigrationInput. +func (vmcemi VMwareCbtEnableMigrationInput) MarshalJSON() ([]byte, error) { + vmcemi.InstanceType = InstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmcemi.VmwareMachineID != nil { + objectMap["vmwareMachineId"] = vmcemi.VmwareMachineID + } + if vmcemi.DisksToInclude != nil { + objectMap["disksToInclude"] = vmcemi.DisksToInclude + } + if vmcemi.LicenseType != "" { + objectMap["licenseType"] = vmcemi.LicenseType + } + if vmcemi.DataMoverRunAsAccountID != nil { + objectMap["dataMoverRunAsAccountId"] = vmcemi.DataMoverRunAsAccountID + } + if vmcemi.SnapshotRunAsAccountID != nil { + objectMap["snapshotRunAsAccountId"] = vmcemi.SnapshotRunAsAccountID + } + if vmcemi.TargetVMName != nil { + objectMap["targetVmName"] = vmcemi.TargetVMName + } + if vmcemi.TargetVMSize != nil { + objectMap["targetVmSize"] = vmcemi.TargetVMSize + } + if vmcemi.TargetResourceGroupID != nil { + objectMap["targetResourceGroupId"] = vmcemi.TargetResourceGroupID + } + if vmcemi.TargetNetworkID != nil { + objectMap["targetNetworkId"] = vmcemi.TargetNetworkID + } + if vmcemi.TargetSubnetName != nil { + objectMap["targetSubnetName"] = vmcemi.TargetSubnetName + } + if vmcemi.TargetAvailabilitySetID != nil { + objectMap["targetAvailabilitySetId"] = vmcemi.TargetAvailabilitySetID + } + if vmcemi.TargetBootDiagnosticsStorageAccountID != nil { + objectMap["targetBootDiagnosticsStorageAccountId"] = vmcemi.TargetBootDiagnosticsStorageAccountID + } + if vmcemi.InstanceType != "" { + objectMap["instanceType"] = vmcemi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtEnableMigrationInput is the BasicEnableMigrationProviderSpecificInput implementation for VMwareCbtEnableMigrationInput. +func (vmcemi VMwareCbtEnableMigrationInput) AsVMwareCbtEnableMigrationInput() (*VMwareCbtEnableMigrationInput, bool) { + return &vmcemi, true +} + +// AsEnableMigrationProviderSpecificInput is the BasicEnableMigrationProviderSpecificInput implementation for VMwareCbtEnableMigrationInput. +func (vmcemi VMwareCbtEnableMigrationInput) AsEnableMigrationProviderSpecificInput() (*EnableMigrationProviderSpecificInput, bool) { + return nil, false +} + +// AsBasicEnableMigrationProviderSpecificInput is the BasicEnableMigrationProviderSpecificInput implementation for VMwareCbtEnableMigrationInput. +func (vmcemi VMwareCbtEnableMigrationInput) AsBasicEnableMigrationProviderSpecificInput() (BasicEnableMigrationProviderSpecificInput, bool) { + return &vmcemi, true +} + +// VMwareCbtMigrateInput vMwareCbt specific migrate input. +type VMwareCbtMigrateInput struct { + // PerformShutdown - A value indicating whether VM is to be shutdown. + PerformShutdown *string `json:"performShutdown,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeMigrateProviderSpecificInput', 'InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicMigrateProviderSpecificInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtMigrateInput. +func (vmcmi VMwareCbtMigrateInput) MarshalJSON() ([]byte, error) { + vmcmi.InstanceType = InstanceTypeBasicMigrateProviderSpecificInputInstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmcmi.PerformShutdown != nil { + objectMap["performShutdown"] = vmcmi.PerformShutdown + } + if vmcmi.InstanceType != "" { + objectMap["instanceType"] = vmcmi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtMigrateInput is the BasicMigrateProviderSpecificInput implementation for VMwareCbtMigrateInput. +func (vmcmi VMwareCbtMigrateInput) AsVMwareCbtMigrateInput() (*VMwareCbtMigrateInput, bool) { + return &vmcmi, true +} + +// AsMigrateProviderSpecificInput is the BasicMigrateProviderSpecificInput implementation for VMwareCbtMigrateInput. +func (vmcmi VMwareCbtMigrateInput) AsMigrateProviderSpecificInput() (*MigrateProviderSpecificInput, bool) { + return nil, false +} + +// AsBasicMigrateProviderSpecificInput is the BasicMigrateProviderSpecificInput implementation for VMwareCbtMigrateInput. +func (vmcmi VMwareCbtMigrateInput) AsBasicMigrateProviderSpecificInput() (BasicMigrateProviderSpecificInput, bool) { + return &vmcmi, true +} + +// VMwareCbtMigrationDetails vMwareCbt provider specific settings +type VMwareCbtMigrationDetails struct { + // VmwareMachineID - The ARM Id of the VM discovered in VMware. + VmwareMachineID *string `json:"vmwareMachineId,omitempty"` + // OsType - The type of the OS on the VM. + OsType *string `json:"osType,omitempty"` + // LicenseType - License Type of the VM to be used. + LicenseType *string `json:"licenseType,omitempty"` + // DataMoverRunAsAccountID - The data mover runas account Id. + DataMoverRunAsAccountID *string `json:"dataMoverRunAsAccountId,omitempty"` + // SnapshotRunAsAccountID - The snapshot runas account Id. + SnapshotRunAsAccountID *string `json:"snapshotRunAsAccountId,omitempty"` + // TargetVMName - Target VM name. + TargetVMName *string `json:"targetVmName,omitempty"` + // TargetVMSize - The target VM size. + TargetVMSize *string `json:"targetVmSize,omitempty"` + // TargetLocation - The target location. + TargetLocation *string `json:"targetLocation,omitempty"` + // TargetResourceGroupID - The target resource group Id. + TargetResourceGroupID *string `json:"targetResourceGroupId,omitempty"` + // TargetAvailabilitySetID - The target availability set Id. + TargetAvailabilitySetID *string `json:"targetAvailabilitySetId,omitempty"` + // TargetBootDiagnosticsStorageAccountID - The target boot diagnostics storage account ARM Id. + TargetBootDiagnosticsStorageAccountID *string `json:"targetBootDiagnosticsStorageAccountId,omitempty"` + // ProtectedDisks - The list of protected disks. + ProtectedDisks *[]VMwareCbtProtectedDiskDetails `json:"protectedDisks,omitempty"` + // TargetNetworkID - The target network Id. + TargetNetworkID *string `json:"targetNetworkId,omitempty"` + // VMNics - The network details. + VMNics *[]VMwareCbtNicDetails `json:"vmNics,omitempty"` + // MigrationRecoveryPointID - The recovery point Id to which the VM was migrated. + MigrationRecoveryPointID *string `json:"migrationRecoveryPointId,omitempty"` + // LastRecoveryPointReceived - The last recovery point received time. + LastRecoveryPointReceived *date.Time `json:"lastRecoveryPointReceived,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeMigrationProviderSpecificSettings', 'InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicMigrationProviderSpecificSettings `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtMigrationDetails. +func (vmcmd VMwareCbtMigrationDetails) MarshalJSON() ([]byte, error) { + vmcmd.InstanceType = InstanceTypeBasicMigrationProviderSpecificSettingsInstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmcmd.VmwareMachineID != nil { + objectMap["vmwareMachineId"] = vmcmd.VmwareMachineID + } + if vmcmd.OsType != nil { + objectMap["osType"] = vmcmd.OsType + } + if vmcmd.LicenseType != nil { + objectMap["licenseType"] = vmcmd.LicenseType + } + if vmcmd.DataMoverRunAsAccountID != nil { + objectMap["dataMoverRunAsAccountId"] = vmcmd.DataMoverRunAsAccountID + } + if vmcmd.SnapshotRunAsAccountID != nil { + objectMap["snapshotRunAsAccountId"] = vmcmd.SnapshotRunAsAccountID + } + if vmcmd.TargetVMName != nil { + objectMap["targetVmName"] = vmcmd.TargetVMName + } + if vmcmd.TargetVMSize != nil { + objectMap["targetVmSize"] = vmcmd.TargetVMSize + } + if vmcmd.TargetLocation != nil { + objectMap["targetLocation"] = vmcmd.TargetLocation + } + if vmcmd.TargetResourceGroupID != nil { + objectMap["targetResourceGroupId"] = vmcmd.TargetResourceGroupID + } + if vmcmd.TargetAvailabilitySetID != nil { + objectMap["targetAvailabilitySetId"] = vmcmd.TargetAvailabilitySetID + } + if vmcmd.TargetBootDiagnosticsStorageAccountID != nil { + objectMap["targetBootDiagnosticsStorageAccountId"] = vmcmd.TargetBootDiagnosticsStorageAccountID + } + if vmcmd.ProtectedDisks != nil { + objectMap["protectedDisks"] = vmcmd.ProtectedDisks + } + if vmcmd.TargetNetworkID != nil { + objectMap["targetNetworkId"] = vmcmd.TargetNetworkID + } + if vmcmd.VMNics != nil { + objectMap["vmNics"] = vmcmd.VMNics + } + if vmcmd.MigrationRecoveryPointID != nil { + objectMap["migrationRecoveryPointId"] = vmcmd.MigrationRecoveryPointID + } + if vmcmd.LastRecoveryPointReceived != nil { + objectMap["lastRecoveryPointReceived"] = vmcmd.LastRecoveryPointReceived + } + if vmcmd.InstanceType != "" { + objectMap["instanceType"] = vmcmd.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtMigrationDetails is the BasicMigrationProviderSpecificSettings implementation for VMwareCbtMigrationDetails. +func (vmcmd VMwareCbtMigrationDetails) AsVMwareCbtMigrationDetails() (*VMwareCbtMigrationDetails, bool) { + return &vmcmd, true +} + +// AsMigrationProviderSpecificSettings is the BasicMigrationProviderSpecificSettings implementation for VMwareCbtMigrationDetails. +func (vmcmd VMwareCbtMigrationDetails) AsMigrationProviderSpecificSettings() (*MigrationProviderSpecificSettings, bool) { + return nil, false +} + +// AsBasicMigrationProviderSpecificSettings is the BasicMigrationProviderSpecificSettings implementation for VMwareCbtMigrationDetails. +func (vmcmd VMwareCbtMigrationDetails) AsBasicMigrationProviderSpecificSettings() (BasicMigrationProviderSpecificSettings, bool) { + return &vmcmd, true +} + +// VMwareCbtNicDetails vMwareCbt NIC details. +type VMwareCbtNicDetails struct { + // NicID - The NIC Id. + NicID *string `json:"nicId,omitempty"` + // IsPrimaryNic - A value indicating whether this is the primary NIC. + IsPrimaryNic *string `json:"isPrimaryNic,omitempty"` + // SourceIPAddress - The source IP address. + SourceIPAddress *string `json:"sourceIPAddress,omitempty"` + // SourceIPAddressType - The source IP address type. Possible values include: 'Dynamic', 'Static' + SourceIPAddressType EthernetAddressType `json:"sourceIPAddressType,omitempty"` + // SourceNetworkID - Source network Id. + SourceNetworkID *string `json:"sourceNetworkId,omitempty"` + // TargetIPAddress - The target IP address. + TargetIPAddress *string `json:"targetIPAddress,omitempty"` + // TargetIPAddressType - The target IP address type. Possible values include: 'Dynamic', 'Static' + TargetIPAddressType EthernetAddressType `json:"targetIPAddressType,omitempty"` + // TargetSubnetName - Target subnet name. + TargetSubnetName *string `json:"targetSubnetName,omitempty"` + // IsSelectedForMigration - A value indicating whether this NIC is selected for migration. + IsSelectedForMigration *string `json:"isSelectedForMigration,omitempty"` +} + +// VMwareCbtNicInput vMwareCbt NIC input. +type VMwareCbtNicInput struct { + // NicID - The NIC Id. + NicID *string `json:"nicId,omitempty"` + // IsPrimaryNic - A value indicating whether this is the primary NIC. + IsPrimaryNic *string `json:"isPrimaryNic,omitempty"` + // TargetSubnetName - Target subnet name. + TargetSubnetName *string `json:"targetSubnetName,omitempty"` + // TargetStaticIPAddress - The static IP address. + TargetStaticIPAddress *string `json:"targetStaticIPAddress,omitempty"` + // IsSelectedForMigration - A value indicating whether this NIC is selected for migration. + IsSelectedForMigration *string `json:"isSelectedForMigration,omitempty"` +} + +// VMwareCbtPolicyCreationInput vMware Cbt policy creation input. type VMwareCbtPolicyCreationInput struct { - // RecoveryPointHistory - The duration in minutes until which the recovery points need to be stored. - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + // RecoveryPointHistoryInMinutes - The duration in minutes until which the recovery points need to be stored. + RecoveryPointHistoryInMinutes *int32 `json:"recoveryPointHistoryInMinutes,omitempty"` // CrashConsistentFrequencyInMinutes - The crash consistent snapshot frequency (in minutes). CrashConsistentFrequencyInMinutes *int32 `json:"crashConsistentFrequencyInMinutes,omitempty"` // AppConsistentFrequencyInMinutes - The app consistent snapshot frequency (in minutes). @@ -20078,8 +21993,8 @@ type VMwareCbtPolicyCreationInput struct { func (vmcpci VMwareCbtPolicyCreationInput) MarshalJSON() ([]byte, error) { vmcpci.InstanceType = InstanceTypeBasicPolicyProviderSpecificInputInstanceTypeVMwareCbt objectMap := make(map[string]interface{}) - if vmcpci.RecoveryPointHistory != nil { - objectMap["recoveryPointHistory"] = vmcpci.RecoveryPointHistory + if vmcpci.RecoveryPointHistoryInMinutes != nil { + objectMap["recoveryPointHistoryInMinutes"] = vmcpci.RecoveryPointHistoryInMinutes } if vmcpci.CrashConsistentFrequencyInMinutes != nil { objectMap["crashConsistentFrequencyInMinutes"] = vmcpci.CrashConsistentFrequencyInMinutes @@ -20140,10 +22055,8 @@ func (vmcpci VMwareCbtPolicyCreationInput) AsBasicPolicyProviderSpecificInput() // VmwareCbtPolicyDetails vMware Cbt specific policy details. type VmwareCbtPolicyDetails struct { - // RecoveryPointThresholdInMinutes - The recovery point threshold in minutes. - RecoveryPointThresholdInMinutes *int32 `json:"recoveryPointThresholdInMinutes,omitempty"` - // RecoveryPointHistory - The duration in minutes until which the recovery points need to be stored. - RecoveryPointHistory *int32 `json:"recoveryPointHistory,omitempty"` + // RecoveryPointHistoryInMinutes - The duration in minutes until which the recovery points need to be stored. + RecoveryPointHistoryInMinutes *int32 `json:"recoveryPointHistoryInMinutes,omitempty"` // AppConsistentFrequencyInMinutes - The app consistent snapshot frequency in minutes. AppConsistentFrequencyInMinutes *int32 `json:"appConsistentFrequencyInMinutes,omitempty"` // CrashConsistentFrequencyInMinutes - The crash consistent snapshot frequency in minutes. @@ -20156,11 +22069,8 @@ type VmwareCbtPolicyDetails struct { func (vcpd VmwareCbtPolicyDetails) MarshalJSON() ([]byte, error) { vcpd.InstanceType = InstanceTypeBasicPolicyProviderSpecificDetailsInstanceTypeVMwareCbt objectMap := make(map[string]interface{}) - if vcpd.RecoveryPointThresholdInMinutes != nil { - objectMap["recoveryPointThresholdInMinutes"] = vcpd.RecoveryPointThresholdInMinutes - } - if vcpd.RecoveryPointHistory != nil { - objectMap["recoveryPointHistory"] = vcpd.RecoveryPointHistory + if vcpd.RecoveryPointHistoryInMinutes != nil { + objectMap["recoveryPointHistoryInMinutes"] = vcpd.RecoveryPointHistoryInMinutes } if vcpd.AppConsistentFrequencyInMinutes != nil { objectMap["appConsistentFrequencyInMinutes"] = vcpd.AppConsistentFrequencyInMinutes @@ -20234,6 +22144,208 @@ func (vcpd VmwareCbtPolicyDetails) AsBasicPolicyProviderSpecificDetails() (Basic return &vcpd, true } +// VMwareCbtProtectedDiskDetails vMwareCbt protected disk details. +type VMwareCbtProtectedDiskDetails struct { + // DiskID - The disk id. + DiskID *string `json:"diskId,omitempty"` + // DiskName - The disk name. + DiskName *string `json:"diskName,omitempty"` + // DiskPath - The disk path. + DiskPath *string `json:"diskPath,omitempty"` + // IsOSDisk - A value indicating whether the disk is the OS disk. + IsOSDisk *string `json:"isOSDisk,omitempty"` + // CapacityInBytes - The disk capacity in bytes. + CapacityInBytes *int64 `json:"capacityInBytes,omitempty"` + // LogStorageAccountID - The log storage account ARM Id. + LogStorageAccountID *string `json:"logStorageAccountId,omitempty"` + // LogStorageAccountSasSecretName - The key vault secret name of the log storage account. + LogStorageAccountSasSecretName *string `json:"logStorageAccountSasSecretName,omitempty"` + // SeedManagedDiskID - The ARM Id of the seed managed disk. + SeedManagedDiskID *string `json:"seedManagedDiskId,omitempty"` + // TargetManagedDiskID - The ARM Id of the target managed disk. + TargetManagedDiskID *string `json:"targetManagedDiskId,omitempty"` + // DiskType - The disk type. Possible values include: 'DiskTypeStandardLRS', 'DiskTypePremiumLRS', 'DiskTypeStandardSSDLRS' + DiskType DiskType `json:"diskType,omitempty"` +} + +// VMwareCbtProtectionContainerMappingDetails vMwareCbt provider specific container mapping details. +type VMwareCbtProtectionContainerMappingDetails struct { + // KeyVaultID - The target key vault ARM Id. + KeyVaultID *string `json:"keyVaultId,omitempty"` + // KeyVaultURI - The target key vault URI. + KeyVaultURI *string `json:"keyVaultUri,omitempty"` + // StorageAccountID - The storage account ARM Id. + StorageAccountID *string `json:"storageAccountId,omitempty"` + // StorageAccountSasSecretName - The secret name of the storage account. + StorageAccountSasSecretName *string `json:"storageAccountSasSecretName,omitempty"` + // ServiceBusConnectionStringSecretName - The secret name of the service bus connection string. + ServiceBusConnectionStringSecretName *string `json:"serviceBusConnectionStringSecretName,omitempty"` + // TargetLocation - The target location. + TargetLocation *string `json:"targetLocation,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeProtectionContainerMappingProviderSpecificDetails', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeA2A', 'InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicProtectionContainerMappingProviderSpecificDetails `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtProtectionContainerMappingDetails. +func (vmcpcmd VMwareCbtProtectionContainerMappingDetails) MarshalJSON() ([]byte, error) { + vmcpcmd.InstanceType = InstanceTypeBasicProtectionContainerMappingProviderSpecificDetailsInstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmcpcmd.KeyVaultID != nil { + objectMap["keyVaultId"] = vmcpcmd.KeyVaultID + } + if vmcpcmd.KeyVaultURI != nil { + objectMap["keyVaultUri"] = vmcpcmd.KeyVaultURI + } + if vmcpcmd.StorageAccountID != nil { + objectMap["storageAccountId"] = vmcpcmd.StorageAccountID + } + if vmcpcmd.StorageAccountSasSecretName != nil { + objectMap["storageAccountSasSecretName"] = vmcpcmd.StorageAccountSasSecretName + } + if vmcpcmd.ServiceBusConnectionStringSecretName != nil { + objectMap["serviceBusConnectionStringSecretName"] = vmcpcmd.ServiceBusConnectionStringSecretName + } + if vmcpcmd.TargetLocation != nil { + objectMap["targetLocation"] = vmcpcmd.TargetLocation + } + if vmcpcmd.InstanceType != "" { + objectMap["instanceType"] = vmcpcmd.InstanceType + } + return json.Marshal(objectMap) +} + +// AsA2AProtectionContainerMappingDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for VMwareCbtProtectionContainerMappingDetails. +func (vmcpcmd VMwareCbtProtectionContainerMappingDetails) AsA2AProtectionContainerMappingDetails() (*A2AProtectionContainerMappingDetails, bool) { + return nil, false +} + +// AsVMwareCbtProtectionContainerMappingDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for VMwareCbtProtectionContainerMappingDetails. +func (vmcpcmd VMwareCbtProtectionContainerMappingDetails) AsVMwareCbtProtectionContainerMappingDetails() (*VMwareCbtProtectionContainerMappingDetails, bool) { + return &vmcpcmd, true +} + +// AsProtectionContainerMappingProviderSpecificDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for VMwareCbtProtectionContainerMappingDetails. +func (vmcpcmd VMwareCbtProtectionContainerMappingDetails) AsProtectionContainerMappingProviderSpecificDetails() (*ProtectionContainerMappingProviderSpecificDetails, bool) { + return nil, false +} + +// AsBasicProtectionContainerMappingProviderSpecificDetails is the BasicProtectionContainerMappingProviderSpecificDetails implementation for VMwareCbtProtectionContainerMappingDetails. +func (vmcpcmd VMwareCbtProtectionContainerMappingDetails) AsBasicProtectionContainerMappingProviderSpecificDetails() (BasicProtectionContainerMappingProviderSpecificDetails, bool) { + return &vmcpcmd, true +} + +// VMwareCbtTestMigrateInput vMwareCbt specific test migrate input. +type VMwareCbtTestMigrateInput struct { + // RecoveryPointID - The recovery point Id. + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + // NetworkID - The test network Id. + NetworkID *string `json:"networkId,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeTestMigrateProviderSpecificInput', 'InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicTestMigrateProviderSpecificInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtTestMigrateInput. +func (vmctmi VMwareCbtTestMigrateInput) MarshalJSON() ([]byte, error) { + vmctmi.InstanceType = InstanceTypeBasicTestMigrateProviderSpecificInputInstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmctmi.RecoveryPointID != nil { + objectMap["recoveryPointId"] = vmctmi.RecoveryPointID + } + if vmctmi.NetworkID != nil { + objectMap["networkId"] = vmctmi.NetworkID + } + if vmctmi.InstanceType != "" { + objectMap["instanceType"] = vmctmi.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtTestMigrateInput is the BasicTestMigrateProviderSpecificInput implementation for VMwareCbtTestMigrateInput. +func (vmctmi VMwareCbtTestMigrateInput) AsVMwareCbtTestMigrateInput() (*VMwareCbtTestMigrateInput, bool) { + return &vmctmi, true +} + +// AsTestMigrateProviderSpecificInput is the BasicTestMigrateProviderSpecificInput implementation for VMwareCbtTestMigrateInput. +func (vmctmi VMwareCbtTestMigrateInput) AsTestMigrateProviderSpecificInput() (*TestMigrateProviderSpecificInput, bool) { + return nil, false +} + +// AsBasicTestMigrateProviderSpecificInput is the BasicTestMigrateProviderSpecificInput implementation for VMwareCbtTestMigrateInput. +func (vmctmi VMwareCbtTestMigrateInput) AsBasicTestMigrateProviderSpecificInput() (BasicTestMigrateProviderSpecificInput, bool) { + return &vmctmi, true +} + +// VMwareCbtUpdateMigrationItemInput vMwareCbt specific update migration item input. +type VMwareCbtUpdateMigrationItemInput struct { + // TargetVMName - The target VM name. + TargetVMName *string `json:"targetVmName,omitempty"` + // TargetVMSize - The target VM size. + TargetVMSize *string `json:"targetVmSize,omitempty"` + // TargetResourceGroupID - The target resource group ARM Id. + TargetResourceGroupID *string `json:"targetResourceGroupId,omitempty"` + // TargetAvailabilitySetID - The target availability set ARM Id. + TargetAvailabilitySetID *string `json:"targetAvailabilitySetId,omitempty"` + // TargetBootDiagnosticsStorageAccountID - The target boot diagnostics storage account ARM Id. + TargetBootDiagnosticsStorageAccountID *string `json:"targetBootDiagnosticsStorageAccountId,omitempty"` + // TargetNetworkID - The target network ARM Id. + TargetNetworkID *string `json:"targetNetworkId,omitempty"` + // VMNics - The list of NIC details. + VMNics *[]VMwareCbtNicInput `json:"vmNics,omitempty"` + // LicenseType - The license type. Possible values include: 'LicenseTypeNotSpecified', 'LicenseTypeNoLicenseType', 'LicenseTypeWindowsServer' + LicenseType LicenseType `json:"licenseType,omitempty"` + // InstanceType - Possible values include: 'InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeUpdateMigrationItemProviderSpecificInput', 'InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt' + InstanceType InstanceTypeBasicUpdateMigrationItemProviderSpecificInput `json:"instanceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for VMwareCbtUpdateMigrationItemInput. +func (vmcumii VMwareCbtUpdateMigrationItemInput) MarshalJSON() ([]byte, error) { + vmcumii.InstanceType = InstanceTypeBasicUpdateMigrationItemProviderSpecificInputInstanceTypeVMwareCbt + objectMap := make(map[string]interface{}) + if vmcumii.TargetVMName != nil { + objectMap["targetVmName"] = vmcumii.TargetVMName + } + if vmcumii.TargetVMSize != nil { + objectMap["targetVmSize"] = vmcumii.TargetVMSize + } + if vmcumii.TargetResourceGroupID != nil { + objectMap["targetResourceGroupId"] = vmcumii.TargetResourceGroupID + } + if vmcumii.TargetAvailabilitySetID != nil { + objectMap["targetAvailabilitySetId"] = vmcumii.TargetAvailabilitySetID + } + if vmcumii.TargetBootDiagnosticsStorageAccountID != nil { + objectMap["targetBootDiagnosticsStorageAccountId"] = vmcumii.TargetBootDiagnosticsStorageAccountID + } + if vmcumii.TargetNetworkID != nil { + objectMap["targetNetworkId"] = vmcumii.TargetNetworkID + } + if vmcumii.VMNics != nil { + objectMap["vmNics"] = vmcumii.VMNics + } + if vmcumii.LicenseType != "" { + objectMap["licenseType"] = vmcumii.LicenseType + } + if vmcumii.InstanceType != "" { + objectMap["instanceType"] = vmcumii.InstanceType + } + return json.Marshal(objectMap) +} + +// AsVMwareCbtUpdateMigrationItemInput is the BasicUpdateMigrationItemProviderSpecificInput implementation for VMwareCbtUpdateMigrationItemInput. +func (vmcumii VMwareCbtUpdateMigrationItemInput) AsVMwareCbtUpdateMigrationItemInput() (*VMwareCbtUpdateMigrationItemInput, bool) { + return &vmcumii, true +} + +// AsUpdateMigrationItemProviderSpecificInput is the BasicUpdateMigrationItemProviderSpecificInput implementation for VMwareCbtUpdateMigrationItemInput. +func (vmcumii VMwareCbtUpdateMigrationItemInput) AsUpdateMigrationItemProviderSpecificInput() (*UpdateMigrationItemProviderSpecificInput, bool) { + return nil, false +} + +// AsBasicUpdateMigrationItemProviderSpecificInput is the BasicUpdateMigrationItemProviderSpecificInput implementation for VMwareCbtUpdateMigrationItemInput. +func (vmcumii VMwareCbtUpdateMigrationItemInput) AsBasicUpdateMigrationItemProviderSpecificInput() (BasicUpdateMigrationItemProviderSpecificInput, bool) { + return &vmcumii, true +} + // VMwareDetails store the fabric details specific to the VMware fabric. type VMwareDetails struct { // ProcessServers - The list of Process Servers associated with the fabric. @@ -20445,12 +22557,12 @@ func (vmd VMwareDetails) AsBasicFabricSpecificDetails() (BasicFabricSpecificDeta return &vmd, true } -// VMwareV2FabricCreationInput fabric provider specific settings. +// VMwareV2FabricCreationInput vMwareV2 fabric provider specific settings. type VMwareV2FabricCreationInput struct { - // KeyVaultURL - The Key Vault URL. - KeyVaultURL *string `json:"keyVaultUrl,omitempty"` - // KeyVaultResourceArmID - The Key Vault ARM Id. - KeyVaultResourceArmID *string `json:"keyVaultResourceArmId,omitempty"` + // VmwareSiteID - The ARM Id of the VMware site. + VmwareSiteID *string `json:"vmwareSiteId,omitempty"` + // MigrationSolutionID - The ARM Id of the migration solution. + MigrationSolutionID *string `json:"migrationSolutionId,omitempty"` // InstanceType - Possible values include: 'InstanceTypeFabricSpecificCreationInput', 'InstanceTypeAzure', 'InstanceTypeVMwareV2' InstanceType InstanceTypeBasicFabricSpecificCreationInput `json:"instanceType,omitempty"` } @@ -20459,11 +22571,11 @@ type VMwareV2FabricCreationInput struct { func (vmvfci VMwareV2FabricCreationInput) MarshalJSON() ([]byte, error) { vmvfci.InstanceType = InstanceTypeVMwareV2 objectMap := make(map[string]interface{}) - if vmvfci.KeyVaultURL != nil { - objectMap["keyVaultUrl"] = vmvfci.KeyVaultURL + if vmvfci.VmwareSiteID != nil { + objectMap["vmwareSiteId"] = vmvfci.VmwareSiteID } - if vmvfci.KeyVaultResourceArmID != nil { - objectMap["keyVaultResourceArmId"] = vmvfci.KeyVaultResourceArmID + if vmvfci.MigrationSolutionID != nil { + objectMap["migrationSolutionId"] = vmvfci.MigrationSolutionID } if vmvfci.InstanceType != "" { objectMap["instanceType"] = vmvfci.InstanceType @@ -20491,16 +22603,14 @@ func (vmvfci VMwareV2FabricCreationInput) AsBasicFabricSpecificCreationInput() ( return &vmvfci, true } -// VMwareV2FabricSpecificDetails vMwareV2 fabric Specific Details. +// VMwareV2FabricSpecificDetails vMwareV2 fabric specific details. type VMwareV2FabricSpecificDetails struct { - // SrsServiceEndpoint - The endpoint for making requests to the SRS Service. - SrsServiceEndpoint *string `json:"srsServiceEndpoint,omitempty"` - // RcmServiceEndpoint - The endpoint for making requests to the RCM Service. - RcmServiceEndpoint *string `json:"rcmServiceEndpoint,omitempty"` - // KeyVaultURL - The Key Vault URL. - KeyVaultURL *string `json:"keyVaultUrl,omitempty"` - // KeyVaultResourceArmID - The Key Vault ARM Id. - KeyVaultResourceArmID *string `json:"keyVaultResourceArmId,omitempty"` + // VmwareSiteID - The ARM Id of the VMware site. + VmwareSiteID *string `json:"vmwareSiteId,omitempty"` + // MigrationSolutionID - The Migration solution ARM Id. + MigrationSolutionID *string `json:"migrationSolutionId,omitempty"` + // ServiceEndpoint - The service endpoint. + ServiceEndpoint *string `json:"serviceEndpoint,omitempty"` // InstanceType - Possible values include: 'InstanceTypeBasicFabricSpecificDetailsInstanceTypeFabricSpecificDetails', 'InstanceTypeBasicFabricSpecificDetailsInstanceTypeAzure', 'InstanceTypeBasicFabricSpecificDetailsInstanceTypeHyperVSite', 'InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMM', 'InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMware', 'InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMwareV2' InstanceType InstanceTypeBasicFabricSpecificDetails `json:"instanceType,omitempty"` } @@ -20509,17 +22619,14 @@ type VMwareV2FabricSpecificDetails struct { func (vmvfsd VMwareV2FabricSpecificDetails) MarshalJSON() ([]byte, error) { vmvfsd.InstanceType = InstanceTypeBasicFabricSpecificDetailsInstanceTypeVMwareV2 objectMap := make(map[string]interface{}) - if vmvfsd.SrsServiceEndpoint != nil { - objectMap["srsServiceEndpoint"] = vmvfsd.SrsServiceEndpoint + if vmvfsd.VmwareSiteID != nil { + objectMap["vmwareSiteId"] = vmvfsd.VmwareSiteID } - if vmvfsd.RcmServiceEndpoint != nil { - objectMap["rcmServiceEndpoint"] = vmvfsd.RcmServiceEndpoint + if vmvfsd.MigrationSolutionID != nil { + objectMap["migrationSolutionId"] = vmvfsd.MigrationSolutionID } - if vmvfsd.KeyVaultURL != nil { - objectMap["keyVaultUrl"] = vmvfsd.KeyVaultURL - } - if vmvfsd.KeyVaultResourceArmID != nil { - objectMap["keyVaultResourceArmId"] = vmvfsd.KeyVaultResourceArmID + if vmvfsd.ServiceEndpoint != nil { + objectMap["serviceEndpoint"] = vmvfsd.ServiceEndpoint } if vmvfsd.InstanceType != "" { objectMap["instanceType"] = vmvfsd.InstanceType @@ -20578,7 +22685,7 @@ type VMwareVirtualMachineDetails struct { PoweredOn *string `json:"poweredOn,omitempty"` // VCenterInfrastructureID - The VCenter infrastructure Id. VCenterInfrastructureID *string `json:"vCenterInfrastructureId,omitempty"` - // DiscoveryType - A value inidicating the discovery type of the machine. Value can be vCenter or physical. + // DiscoveryType - A value indicating the discovery type of the machine. Value can be vCenter or physical. DiscoveryType *string `json:"discoveryType,omitempty"` // DiskDetails - The disk details. DiskDetails *[]InMageDiskDetails `json:"diskDetails,omitempty"` diff --git a/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationmigrationitems.go b/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationmigrationitems.go new file mode 100644 index 000000000000..21cfb8afa0d3 --- /dev/null +++ b/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationmigrationitems.go @@ -0,0 +1,894 @@ +package siterecovery + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ReplicationMigrationItemsClient is the client for the ReplicationMigrationItems methods of the Siterecovery service. +type ReplicationMigrationItemsClient struct { + BaseClient +} + +// NewReplicationMigrationItemsClient creates an instance of the ReplicationMigrationItemsClient client. +func NewReplicationMigrationItemsClient(subscriptionID string, resourceGroupName string, resourceName string) ReplicationMigrationItemsClient { + return NewReplicationMigrationItemsClientWithBaseURI(DefaultBaseURI, subscriptionID, resourceGroupName, resourceName) +} + +// NewReplicationMigrationItemsClientWithBaseURI creates an instance of the ReplicationMigrationItemsClient client. +func NewReplicationMigrationItemsClientWithBaseURI(baseURI string, subscriptionID string, resourceGroupName string, resourceName string) ReplicationMigrationItemsClient { + return ReplicationMigrationItemsClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)} +} + +// Create the operation to create an ASR migration item (enable migration). +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// input - enable migration input. +func (client ReplicationMigrationItemsClient) Create(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, input EnableMigrationInput) (result ReplicationMigrationItemsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: input, + Constraints: []validation.Constraint{{Target: "input.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "input.Properties.PolicyID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "input.Properties.ProviderSpecificDetails", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("siterecovery.ReplicationMigrationItemsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, fabricName, protectionContainerName, migrationItemName, input) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ReplicationMigrationItemsClient) CreatePreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, input EnableMigrationInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", pathParameters), + autorest.WithJSON(input), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) CreateSender(req *http.Request) (future ReplicationMigrationItemsCreateFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) CreateResponder(resp *http.Response) (result MigrationItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete the operation to delete an ASR migration item. +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// deleteOption - the delete option. +func (client ReplicationMigrationItemsClient) Delete(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, deleteOption string) (result ReplicationMigrationItemsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, fabricName, protectionContainerName, migrationItemName, deleteOption) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ReplicationMigrationItemsClient) DeletePreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, deleteOption string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(deleteOption) > 0 { + queryParameters["deleteOption"] = autorest.Encode("query", deleteOption) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) DeleteSender(req *http.Request) (future ReplicationMigrationItemsDeleteFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get sends the get request. +// Parameters: +// fabricName - fabric unique name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +func (client ReplicationMigrationItemsClient) Get(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (result MigrationItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, fabricName, protectionContainerName, migrationItemName) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ReplicationMigrationItemsClient) GetPreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) GetSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) GetResponder(resp *http.Response) (result MigrationItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List sends the list request. +// Parameters: +// skipToken - the pagination token. +// filter - oData filter options. +func (client ReplicationMigrationItemsClient) List(ctx context.Context, skipToken string, filter string) (result MigrationItemCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.List") + defer func() { + sc := -1 + if result.mic.Response.Response != nil { + sc = result.mic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, skipToken, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.mic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "List", resp, "Failure sending request") + return + } + + result.mic, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ReplicationMigrationItemsClient) ListPreparer(ctx context.Context, skipToken string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(skipToken) > 0 { + queryParameters["skipToken"] = autorest.Encode("query", skipToken) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationMigrationItems", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) ListSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) ListResponder(resp *http.Response) (result MigrationItemCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ReplicationMigrationItemsClient) listNextResults(ctx context.Context, lastResults MigrationItemCollection) (result MigrationItemCollection, err error) { + req, err := lastResults.migrationItemCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ReplicationMigrationItemsClient) ListComplete(ctx context.Context, skipToken string, filter string) (result MigrationItemCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, skipToken, filter) + return +} + +// ListByReplicationProtectionContainers gets the list of ASR migration items in the protection container. +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +func (client ReplicationMigrationItemsClient) ListByReplicationProtectionContainers(ctx context.Context, fabricName string, protectionContainerName string) (result MigrationItemCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.ListByReplicationProtectionContainers") + defer func() { + sc := -1 + if result.mic.Response.Response != nil { + sc = result.mic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByReplicationProtectionContainersNextResults + req, err := client.ListByReplicationProtectionContainersPreparer(ctx, fabricName, protectionContainerName) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "ListByReplicationProtectionContainers", nil, "Failure preparing request") + return + } + + resp, err := client.ListByReplicationProtectionContainersSender(req) + if err != nil { + result.mic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "ListByReplicationProtectionContainers", resp, "Failure sending request") + return + } + + result.mic, err = client.ListByReplicationProtectionContainersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "ListByReplicationProtectionContainers", resp, "Failure responding to request") + } + + return +} + +// ListByReplicationProtectionContainersPreparer prepares the ListByReplicationProtectionContainers request. +func (client ReplicationMigrationItemsClient) ListByReplicationProtectionContainersPreparer(ctx context.Context, fabricName string, protectionContainerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByReplicationProtectionContainersSender sends the ListByReplicationProtectionContainers request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) ListByReplicationProtectionContainersSender(req *http.Request) (*http.Response, error) { + return autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) +} + +// ListByReplicationProtectionContainersResponder handles the response to the ListByReplicationProtectionContainers request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) ListByReplicationProtectionContainersResponder(resp *http.Response) (result MigrationItemCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByReplicationProtectionContainersNextResults retrieves the next set of results, if any. +func (client ReplicationMigrationItemsClient) listByReplicationProtectionContainersNextResults(ctx context.Context, lastResults MigrationItemCollection) (result MigrationItemCollection, err error) { + req, err := lastResults.migrationItemCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "listByReplicationProtectionContainersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByReplicationProtectionContainersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "listByReplicationProtectionContainersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByReplicationProtectionContainersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "listByReplicationProtectionContainersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByReplicationProtectionContainersComplete enumerates all values, automatically crossing page boundaries as required. +func (client ReplicationMigrationItemsClient) ListByReplicationProtectionContainersComplete(ctx context.Context, fabricName string, protectionContainerName string) (result MigrationItemCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.ListByReplicationProtectionContainers") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByReplicationProtectionContainers(ctx, fabricName, protectionContainerName) + return +} + +// Migrate the operation to initiate migration of the item. +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// migrateInput - migrate input. +func (client ReplicationMigrationItemsClient) Migrate(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, migrateInput MigrateInput) (result ReplicationMigrationItemsMigrateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.Migrate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: migrateInput, + Constraints: []validation.Constraint{{Target: "migrateInput.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "migrateInput.Properties.ProviderSpecificDetails", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("siterecovery.ReplicationMigrationItemsClient", "Migrate", err.Error()) + } + + req, err := client.MigratePreparer(ctx, fabricName, protectionContainerName, migrationItemName, migrateInput) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Migrate", nil, "Failure preparing request") + return + } + + result, err = client.MigrateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Migrate", result.Response(), "Failure sending request") + return + } + + return +} + +// MigratePreparer prepares the Migrate request. +func (client ReplicationMigrationItemsClient) MigratePreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, migrateInput MigrateInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate", pathParameters), + autorest.WithJSON(migrateInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// MigrateSender sends the Migrate request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) MigrateSender(req *http.Request) (future ReplicationMigrationItemsMigrateFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// MigrateResponder handles the response to the Migrate request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) MigrateResponder(resp *http.Response) (result MigrationItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// TestMigrate the operation to initiate test migration of the item. +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// testMigrateInput - test migrate input. +func (client ReplicationMigrationItemsClient) TestMigrate(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, testMigrateInput TestMigrateInput) (result ReplicationMigrationItemsTestMigrateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.TestMigrate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: testMigrateInput, + Constraints: []validation.Constraint{{Target: "testMigrateInput.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "testMigrateInput.Properties.ProviderSpecificDetails", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("siterecovery.ReplicationMigrationItemsClient", "TestMigrate", err.Error()) + } + + req, err := client.TestMigratePreparer(ctx, fabricName, protectionContainerName, migrationItemName, testMigrateInput) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "TestMigrate", nil, "Failure preparing request") + return + } + + result, err = client.TestMigrateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "TestMigrate", result.Response(), "Failure sending request") + return + } + + return +} + +// TestMigratePreparer prepares the TestMigrate request. +func (client ReplicationMigrationItemsClient) TestMigratePreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, testMigrateInput TestMigrateInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate", pathParameters), + autorest.WithJSON(testMigrateInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// TestMigrateSender sends the TestMigrate request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) TestMigrateSender(req *http.Request) (future ReplicationMigrationItemsTestMigrateFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// TestMigrateResponder handles the response to the TestMigrate request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) TestMigrateResponder(resp *http.Response) (result MigrationItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// TestMigrateCleanup the operation to initiate test migrate cleanup. +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// testMigrateCleanupInput - test migrate cleanup input. +func (client ReplicationMigrationItemsClient) TestMigrateCleanup(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, testMigrateCleanupInput TestMigrateCleanupInput) (result ReplicationMigrationItemsTestMigrateCleanupFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.TestMigrateCleanup") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: testMigrateCleanupInput, + Constraints: []validation.Constraint{{Target: "testMigrateCleanupInput.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("siterecovery.ReplicationMigrationItemsClient", "TestMigrateCleanup", err.Error()) + } + + req, err := client.TestMigrateCleanupPreparer(ctx, fabricName, protectionContainerName, migrationItemName, testMigrateCleanupInput) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "TestMigrateCleanup", nil, "Failure preparing request") + return + } + + result, err = client.TestMigrateCleanupSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "TestMigrateCleanup", result.Response(), "Failure sending request") + return + } + + return +} + +// TestMigrateCleanupPreparer prepares the TestMigrateCleanup request. +func (client ReplicationMigrationItemsClient) TestMigrateCleanupPreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, testMigrateCleanupInput TestMigrateCleanupInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup", pathParameters), + autorest.WithJSON(testMigrateCleanupInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// TestMigrateCleanupSender sends the TestMigrateCleanup request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) TestMigrateCleanupSender(req *http.Request) (future ReplicationMigrationItemsTestMigrateCleanupFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// TestMigrateCleanupResponder handles the response to the TestMigrateCleanup request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) TestMigrateCleanupResponder(resp *http.Response) (result MigrationItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update the operation to update the recovery settings of an ASR migration item. +// Parameters: +// fabricName - fabric name. +// protectionContainerName - protection container name. +// migrationItemName - migration item name. +// input - update migration item input. +func (client ReplicationMigrationItemsClient) Update(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, input UpdateMigrationItemInput) (result ReplicationMigrationItemsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationMigrationItemsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, fabricName, protectionContainerName, migrationItemName, input) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationMigrationItemsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ReplicationMigrationItemsClient) UpdatePreparer(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, input UpdateMigrationItemInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "migrationItemName": autorest.Encode("path", migrationItemName), + "protectionContainerName": autorest.Encode("path", protectionContainerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}", pathParameters), + autorest.WithJSON(input), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationMigrationItemsClient) UpdateSender(req *http.Request) (future ReplicationMigrationItemsUpdateFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ReplicationMigrationItemsClient) UpdateResponder(resp *http.Response) (result MigrationItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationrecoveryservicesproviders.go b/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationrecoveryservicesproviders.go index d93d683484bf..3302380d8d0b 100644 --- a/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationrecoveryservicesproviders.go +++ b/services/recoveryservices/mgmt/2018-01-10/siterecovery/replicationrecoveryservicesproviders.go @@ -21,6 +21,7 @@ import ( "context" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" "github.com/Azure/go-autorest/tracing" "net/http" ) @@ -43,6 +44,110 @@ func NewReplicationRecoveryServicesProvidersClientWithBaseURI(baseURI string, su return ReplicationRecoveryServicesProvidersClient{NewWithBaseURI(baseURI, subscriptionID, resourceGroupName, resourceName)} } +// Create the operation to add a recovery services provider. +// Parameters: +// fabricName - fabric name. +// providerName - recovery services provider name. +// addProviderInput - add provider input. +func (client ReplicationRecoveryServicesProvidersClient) Create(ctx context.Context, fabricName string, providerName string, addProviderInput AddRecoveryServicesProviderInput) (result ReplicationRecoveryServicesProvidersCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ReplicationRecoveryServicesProvidersClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: addProviderInput, + Constraints: []validation.Constraint{{Target: "addProviderInput.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "addProviderInput.Properties.MachineName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.AuthenticationIdentityInput", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "addProviderInput.Properties.AuthenticationIdentityInput.TenantID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.AuthenticationIdentityInput.ApplicationID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.AuthenticationIdentityInput.ObjectID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.AuthenticationIdentityInput.Audience", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.AuthenticationIdentityInput.AadAuthority", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "addProviderInput.Properties.ResourceAccessIdentityInput", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "addProviderInput.Properties.ResourceAccessIdentityInput.TenantID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.ResourceAccessIdentityInput.ApplicationID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.ResourceAccessIdentityInput.ObjectID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.ResourceAccessIdentityInput.Audience", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "addProviderInput.Properties.ResourceAccessIdentityInput.AadAuthority", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("siterecovery.ReplicationRecoveryServicesProvidersClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, fabricName, providerName, addProviderInput) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationRecoveryServicesProvidersClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "siterecovery.ReplicationRecoveryServicesProvidersClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ReplicationRecoveryServicesProvidersClient) CreatePreparer(ctx context.Context, fabricName string, providerName string, addProviderInput AddRecoveryServicesProviderInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "fabricName": autorest.Encode("path", fabricName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", client.ResourceGroupName), + "resourceName": autorest.Encode("path", client.ResourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-01-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}", pathParameters), + autorest.WithJSON(addProviderInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ReplicationRecoveryServicesProvidersClient) CreateSender(req *http.Request) (future ReplicationRecoveryServicesProvidersCreateFuture, err error) { + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + azure.DoRetryWithRegistration(client.Client)) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ReplicationRecoveryServicesProvidersClient) CreateResponder(resp *http.Response) (result RecoveryServicesProvider, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Delete the operation to removes/delete(unregister) a recovery services provider from the vault // Parameters: // fabricName - fabric name. diff --git a/services/recoveryservices/mgmt/2018-01-10/siterecovery/siterecoveryapi/interfaces.go b/services/recoveryservices/mgmt/2018-01-10/siterecovery/siterecoveryapi/interfaces.go index c000d3a3fe69..06dfdf2909a4 100644 --- a/services/recoveryservices/mgmt/2018-01-10/siterecovery/siterecoveryapi/interfaces.go +++ b/services/recoveryservices/mgmt/2018-01-10/siterecovery/siterecoveryapi/interfaces.go @@ -103,6 +103,29 @@ type ReplicationProtectionContainersClientAPI interface { var _ ReplicationProtectionContainersClientAPI = (*siterecovery.ReplicationProtectionContainersClient)(nil) +// ReplicationMigrationItemsClientAPI contains the set of methods on the ReplicationMigrationItemsClient type. +type ReplicationMigrationItemsClientAPI interface { + Create(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, input siterecovery.EnableMigrationInput) (result siterecovery.ReplicationMigrationItemsCreateFuture, err error) + Delete(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, deleteOption string) (result siterecovery.ReplicationMigrationItemsDeleteFuture, err error) + Get(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (result siterecovery.MigrationItem, err error) + List(ctx context.Context, skipToken string, filter string) (result siterecovery.MigrationItemCollectionPage, err error) + ListByReplicationProtectionContainers(ctx context.Context, fabricName string, protectionContainerName string) (result siterecovery.MigrationItemCollectionPage, err error) + Migrate(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, migrateInput siterecovery.MigrateInput) (result siterecovery.ReplicationMigrationItemsMigrateFuture, err error) + TestMigrate(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, testMigrateInput siterecovery.TestMigrateInput) (result siterecovery.ReplicationMigrationItemsTestMigrateFuture, err error) + TestMigrateCleanup(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, testMigrateCleanupInput siterecovery.TestMigrateCleanupInput) (result siterecovery.ReplicationMigrationItemsTestMigrateCleanupFuture, err error) + Update(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, input siterecovery.UpdateMigrationItemInput) (result siterecovery.ReplicationMigrationItemsUpdateFuture, err error) +} + +var _ ReplicationMigrationItemsClientAPI = (*siterecovery.ReplicationMigrationItemsClient)(nil) + +// MigrationRecoveryPointsClientAPI contains the set of methods on the MigrationRecoveryPointsClient type. +type MigrationRecoveryPointsClientAPI interface { + Get(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string, migrationRecoveryPointName string) (result siterecovery.MigrationRecoveryPoint, err error) + ListByReplicationMigrationItems(ctx context.Context, fabricName string, protectionContainerName string, migrationItemName string) (result siterecovery.MigrationRecoveryPointCollectionPage, err error) +} + +var _ MigrationRecoveryPointsClientAPI = (*siterecovery.MigrationRecoveryPointsClient)(nil) + // ReplicationProtectableItemsClientAPI contains the set of methods on the ReplicationProtectableItemsClient type. type ReplicationProtectableItemsClientAPI interface { Get(ctx context.Context, fabricName string, protectionContainerName string, protectableItemName string) (result siterecovery.ProtectableItem, err error) @@ -163,6 +186,7 @@ var _ ReplicationProtectionContainerMappingsClientAPI = (*siterecovery.Replicati // ReplicationRecoveryServicesProvidersClientAPI contains the set of methods on the ReplicationRecoveryServicesProvidersClient type. type ReplicationRecoveryServicesProvidersClientAPI interface { + Create(ctx context.Context, fabricName string, providerName string, addProviderInput siterecovery.AddRecoveryServicesProviderInput) (result siterecovery.ReplicationRecoveryServicesProvidersCreateFuture, err error) Delete(ctx context.Context, fabricName string, providerName string) (result siterecovery.ReplicationRecoveryServicesProvidersDeleteFuture, err error) Get(ctx context.Context, fabricName string, providerName string) (result siterecovery.RecoveryServicesProvider, err error) List(ctx context.Context) (result siterecovery.RecoveryServicesProviderCollectionPage, err error)