/// <summary>
 /// Initializes a new instance of the A2AReplicationDetails class.
 /// </summary>
 /// <param name="fabricObjectId">The fabric specific object Id of the
 /// virtual machine.</param>
 /// <param name="multiVmGroupId">The multi vm group Id.</param>
 /// <param name="multiVmGroupName">The multi vm group name.</param>
 /// <param name="multiVmGroupCreateOption">Whether Multi VM group is
 /// auto created or specified by user. Possible values include:
 /// 'AutoCreated', 'UserSpecified'</param>
 /// <param name="managementId">The management Id.</param>
 /// <param name="protectedDisks">The list of protected disks.</param>
 /// <param name="protectedManagedDisks">The list of protected managed
 /// disks.</param>
 /// <param name="recoveryBootDiagStorageAccountId">The recovery boot
 /// diagnostic storage account Arm Id.</param>
 /// <param name="primaryFabricLocation">Primary fabric
 /// location.</param>
 /// <param name="recoveryFabricLocation">The recovery fabric
 /// location.</param>
 /// <param name="osType">The type of operating system.</param>
 /// <param name="recoveryAzureVMSize">The size of recovery virtual
 /// machine.</param>
 /// <param name="recoveryAzureVMName">The name of recovery virtual
 /// machine.</param>
 /// <param name="recoveryAzureResourceGroupId">The recovery resource
 /// group.</param>
 /// <param name="recoveryCloudService">The recovery cloud
 /// service.</param>
 /// <param name="recoveryAvailabilitySet">The recovery availability
 /// set.</param>
 /// <param name="selectedRecoveryAzureNetworkId">The recovery virtual
 /// network.</param>
 /// <param name="vmNics">The virtual machine nic details.</param>
 /// <param name="vmSyncedConfigDetails">The synced configuration
 /// details.</param>
 /// <param name="monitoringPercentageCompletion">The percentage of the
 /// monitoring job. The type of the monitoring job is defined by
 /// MonitoringJobType property.</param>
 /// <param name="monitoringJobType">The type of the monitoring job. The
 /// progress is contained in MonitoringPercentageCompletion
 /// property.</param>
 /// <param name="lastHeartbeat">The last heartbeat received from the
 /// source server.</param>
 /// <param name="agentVersion">The agent version.</param>
 /// <param name="isReplicationAgentUpdateRequired">A value indicating
 /// whether replication agent update is required.</param>
 /// <param name="recoveryFabricObjectId">The recovery fabric object
 /// Id.</param>
 /// <param name="vmProtectionState">The protection state for the
 /// vm.</param>
 /// <param name="vmProtectionStateDescription">The protection state
 /// description for the vm.</param>
 /// <param name="lifecycleId">An id associated with the PE that
 /// survives actions like switch protection which change the backing
 /// PE/CPE objects internally.The lifecycle id gets carried forward to
 /// have a link/continuity in being able to have an Id that denotes the
 /// "same" protected item even though other internal Ids/ARM Id might
 /// be changing.</param>
 /// <param name="testFailoverRecoveryFabricObjectId">The test failover
 /// fabric object Id.</param>
 /// <param name="rpoInSeconds">The last RPO value in seconds.</param>
 /// <param name="lastRpoCalculatedTime">The time (in UTC) when the last
 /// RPO value was calculated by Protection Service.</param>
 public A2AReplicationDetails(string fabricObjectId = default(string), string multiVmGroupId = default(string), string multiVmGroupName = default(string), string multiVmGroupCreateOption = default(string), string managementId = default(string), IList <A2AProtectedDiskDetails> protectedDisks = default(IList <A2AProtectedDiskDetails>), IList <A2AProtectedManagedDiskDetails> protectedManagedDisks = default(IList <A2AProtectedManagedDiskDetails>), string recoveryBootDiagStorageAccountId = default(string), string primaryFabricLocation = default(string), string recoveryFabricLocation = default(string), string osType = default(string), string recoveryAzureVMSize = default(string), string recoveryAzureVMName = default(string), string recoveryAzureResourceGroupId = default(string), string recoveryCloudService = default(string), string recoveryAvailabilitySet = default(string), string selectedRecoveryAzureNetworkId = default(string), IList <VMNicDetails> vmNics = default(IList <VMNicDetails>), AzureToAzureVmSyncedConfigDetails vmSyncedConfigDetails = default(AzureToAzureVmSyncedConfigDetails), int?monitoringPercentageCompletion = default(int?), string monitoringJobType = default(string), System.DateTime?lastHeartbeat = default(System.DateTime?), string agentVersion = default(string), bool?isReplicationAgentUpdateRequired = default(bool?), string recoveryFabricObjectId = default(string), string vmProtectionState = default(string), string vmProtectionStateDescription = default(string), string lifecycleId = default(string), string testFailoverRecoveryFabricObjectId = default(string), long?rpoInSeconds = default(long?), System.DateTime?lastRpoCalculatedTime = default(System.DateTime?))
 {
     FabricObjectId                   = fabricObjectId;
     MultiVmGroupId                   = multiVmGroupId;
     MultiVmGroupName                 = multiVmGroupName;
     MultiVmGroupCreateOption         = multiVmGroupCreateOption;
     ManagementId                     = managementId;
     ProtectedDisks                   = protectedDisks;
     ProtectedManagedDisks            = protectedManagedDisks;
     RecoveryBootDiagStorageAccountId = recoveryBootDiagStorageAccountId;
     PrimaryFabricLocation            = primaryFabricLocation;
     RecoveryFabricLocation           = recoveryFabricLocation;
     OsType = osType;
     RecoveryAzureVMSize            = recoveryAzureVMSize;
     RecoveryAzureVMName            = recoveryAzureVMName;
     RecoveryAzureResourceGroupId   = recoveryAzureResourceGroupId;
     RecoveryCloudService           = recoveryCloudService;
     RecoveryAvailabilitySet        = recoveryAvailabilitySet;
     SelectedRecoveryAzureNetworkId = selectedRecoveryAzureNetworkId;
     VmNics = vmNics;
     VmSyncedConfigDetails          = vmSyncedConfigDetails;
     MonitoringPercentageCompletion = monitoringPercentageCompletion;
     MonitoringJobType = monitoringJobType;
     LastHeartbeat     = lastHeartbeat;
     AgentVersion      = agentVersion;
     IsReplicationAgentUpdateRequired = isReplicationAgentUpdateRequired;
     RecoveryFabricObjectId           = recoveryFabricObjectId;
     VmProtectionState            = vmProtectionState;
     VmProtectionStateDescription = vmProtectionStateDescription;
     LifecycleId = lifecycleId;
     TestFailoverRecoveryFabricObjectId = testFailoverRecoveryFabricObjectId;
     RpoInSeconds          = rpoInSeconds;
     LastRpoCalculatedTime = lastRpoCalculatedTime;
     CustomInit();
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ASRAzureToAzureVmSyncedConfigDetails_2016_08_10" />
        /// class.
        /// </summary>
        public ASRAzureToAzureVmSyncedConfigDetails_2016_08_10(AzureToAzureVmSyncedConfigDetails details)
        {
            if (details.Tags == null)
            {
                this.Tags = new Dictionary <string, string>();
            }
            else
            {
                this.Tags = new Dictionary <string, string>(details.Tags);
            }

            if (details.RoleAssignments != null)
            {
                this.RoleAssignments =
                    details.RoleAssignments.ToList()
                    .ConvertAll(role => new ASRRoleAssignment_2016_08_10(role));
            }

            if (details.InputEndpoints != null)
            {
                this.InputEndpoints =
                    details.InputEndpoints.ToList()
                    .ConvertAll(endpoint => new ASRInputEndpoint_2016_08_10(endpoint));
            }
        }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the A2AReplicationDetails class.
 /// </summary>
 /// <param name="fabricObjectId">The fabric specific object Id of the
 /// virtual machine.</param>
 /// <param name="initialPrimaryZone">The initial primary availability
 /// zone.</param>
 /// <param name="initialPrimaryFabricLocation">The initial primary
 /// fabric location.</param>
 /// <param name="initialRecoveryZone">The initial recovery availability
 /// zone.</param>
 /// <param name="initialPrimaryExtendedLocation">The initial primary
 /// extended location.</param>
 /// <param name="initialRecoveryExtendedLocation">The initial recovery
 /// extended location.</param>
 /// <param name="initialRecoveryFabricLocation">The initial recovery
 /// fabric location.</param>
 /// <param name="multiVmGroupId">The multi vm group Id.</param>
 /// <param name="multiVmGroupName">The multi vm group name.</param>
 /// <param name="multiVmGroupCreateOption">Whether Multi VM group is
 /// auto created or specified by user. Possible values include:
 /// 'AutoCreated', 'UserSpecified'</param>
 /// <param name="managementId">The management Id.</param>
 /// <param name="protectedDisks">The list of protected disks.</param>
 /// <param name="unprotectedDisks">The list of unprotected
 /// disks.</param>
 /// <param name="protectedManagedDisks">The list of protected managed
 /// disks.</param>
 /// <param name="recoveryBootDiagStorageAccountId">The recovery boot
 /// diagnostic storage account Arm Id.</param>
 /// <param name="primaryFabricLocation">Primary fabric
 /// location.</param>
 /// <param name="recoveryFabricLocation">The recovery fabric
 /// location.</param>
 /// <param name="osType">The type of operating system.</param>
 /// <param name="recoveryAzureVMSize">The size of recovery virtual
 /// machine.</param>
 /// <param name="recoveryAzureVMName">The name of recovery virtual
 /// machine.</param>
 /// <param name="recoveryAzureResourceGroupId">The recovery resource
 /// group.</param>
 /// <param name="recoveryCloudService">The recovery cloud
 /// service.</param>
 /// <param name="recoveryAvailabilitySet">The recovery availability
 /// set.</param>
 /// <param name="selectedRecoveryAzureNetworkId">The recovery virtual
 /// network.</param>
 /// <param name="selectedTfoAzureNetworkId">The test failover virtual
 /// network.</param>
 /// <param name="vmNics">The virtual machine nic details.</param>
 /// <param name="vmSyncedConfigDetails">The synced configuration
 /// details.</param>
 /// <param name="monitoringPercentageCompletion">The percentage of the
 /// monitoring job. The type of the monitoring job is defined by
 /// MonitoringJobType property.</param>
 /// <param name="monitoringJobType">The type of the monitoring job. The
 /// progress is contained in MonitoringPercentageCompletion
 /// property.</param>
 /// <param name="lastHeartbeat">The last heartbeat received from the
 /// source server.</param>
 /// <param name="agentVersion">The agent version.</param>
 /// <param name="agentExpiryDate">Agent expiry date.</param>
 /// <param name="isReplicationAgentUpdateRequired">A value indicating
 /// whether replication agent update is required.</param>
 /// <param name="agentCertificateExpiryDate">Agent certificate expiry
 /// date.</param>
 /// <param name="isReplicationAgentCertificateUpdateRequired">A value
 /// indicating whether agent certificate update is required.</param>
 /// <param name="recoveryFabricObjectId">The recovery fabric object
 /// Id.</param>
 /// <param name="vmProtectionState">The protection state for the
 /// vm.</param>
 /// <param name="vmProtectionStateDescription">The protection state
 /// description for the vm.</param>
 /// <param name="lifecycleId">An id associated with the PE that
 /// survives actions like switch protection which change the backing
 /// PE/CPE objects internally.The lifecycle id gets carried forward to
 /// have a link/continuity in being able to have an Id that denotes the
 /// "same" protected item even though other internal Ids/ARM Id might
 /// be changing.</param>
 /// <param name="testFailoverRecoveryFabricObjectId">The test failover
 /// fabric object Id.</param>
 /// <param name="rpoInSeconds">The last RPO value in seconds.</param>
 /// <param name="lastRpoCalculatedTime">The time (in UTC) when the last
 /// RPO value was calculated by Protection Service.</param>
 /// <param name="primaryAvailabilityZone">The primary availability
 /// zone.</param>
 /// <param name="recoveryAvailabilityZone">The recovery availability
 /// zone.</param>
 /// <param name="primaryExtendedLocation">The primary Extended
 /// Location.</param>
 /// <param name="recoveryExtendedLocation">The recovery Extended
 /// Location.</param>
 /// <param name="vmEncryptionType">The encryption type of the VM.
 /// Possible values include: 'NotEncrypted', 'OnePassEncrypted',
 /// 'TwoPassEncrypted'</param>
 /// <param name="tfoAzureVMName">The test failover vm name.</param>
 /// <param name="recoveryAzureGeneration">The recovery azure
 /// generation.</param>
 /// <param name="recoveryProximityPlacementGroupId">The recovery
 /// proximity placement group Id.</param>
 /// <param name="autoProtectionOfDataDisk">A value indicating whether
 /// the auto protection is enabled. Possible values include:
 /// 'Disabled', 'Enabled'</param>
 /// <param name="recoveryVirtualMachineScaleSetId">The recovery virtual
 /// machine scale set id.</param>
 /// <param name="recoveryCapacityReservationGroupId">The recovery
 /// capacity reservation group Id.</param>
 public A2AReplicationDetails(string fabricObjectId = default(string), string initialPrimaryZone = default(string), string initialPrimaryFabricLocation = default(string), string initialRecoveryZone = default(string), ExtendedLocation initialPrimaryExtendedLocation = default(ExtendedLocation), ExtendedLocation initialRecoveryExtendedLocation = default(ExtendedLocation), string initialRecoveryFabricLocation = default(string), string multiVmGroupId = default(string), string multiVmGroupName = default(string), string multiVmGroupCreateOption = default(string), string managementId = default(string), IList <A2AProtectedDiskDetails> protectedDisks = default(IList <A2AProtectedDiskDetails>), IList <A2AUnprotectedDiskDetails> unprotectedDisks = default(IList <A2AUnprotectedDiskDetails>), IList <A2AProtectedManagedDiskDetails> protectedManagedDisks = default(IList <A2AProtectedManagedDiskDetails>), string recoveryBootDiagStorageAccountId = default(string), string primaryFabricLocation = default(string), string recoveryFabricLocation = default(string), string osType = default(string), string recoveryAzureVMSize = default(string), string recoveryAzureVMName = default(string), string recoveryAzureResourceGroupId = default(string), string recoveryCloudService = default(string), string recoveryAvailabilitySet = default(string), string selectedRecoveryAzureNetworkId = default(string), string selectedTfoAzureNetworkId = default(string), IList <VMNicDetails> vmNics = default(IList <VMNicDetails>), AzureToAzureVmSyncedConfigDetails vmSyncedConfigDetails = default(AzureToAzureVmSyncedConfigDetails), int?monitoringPercentageCompletion = default(int?), string monitoringJobType = default(string), System.DateTime?lastHeartbeat = default(System.DateTime?), string agentVersion = default(string), System.DateTime?agentExpiryDate = default(System.DateTime?), bool?isReplicationAgentUpdateRequired = default(bool?), System.DateTime?agentCertificateExpiryDate = default(System.DateTime?), bool?isReplicationAgentCertificateUpdateRequired = default(bool?), string recoveryFabricObjectId = default(string), string vmProtectionState = default(string), string vmProtectionStateDescription = default(string), string lifecycleId = default(string), string testFailoverRecoveryFabricObjectId = default(string), long?rpoInSeconds = default(long?), System.DateTime?lastRpoCalculatedTime = default(System.DateTime?), string primaryAvailabilityZone = default(string), string recoveryAvailabilityZone = default(string), ExtendedLocation primaryExtendedLocation = default(ExtendedLocation), ExtendedLocation recoveryExtendedLocation = default(ExtendedLocation), string vmEncryptionType = default(string), string tfoAzureVMName = default(string), string recoveryAzureGeneration = default(string), string recoveryProximityPlacementGroupId = default(string), string autoProtectionOfDataDisk = default(string), string recoveryVirtualMachineScaleSetId = default(string), string recoveryCapacityReservationGroupId = default(string))
 {
     FabricObjectId                  = fabricObjectId;
     InitialPrimaryZone              = initialPrimaryZone;
     InitialPrimaryFabricLocation    = initialPrimaryFabricLocation;
     InitialRecoveryZone             = initialRecoveryZone;
     InitialPrimaryExtendedLocation  = initialPrimaryExtendedLocation;
     InitialRecoveryExtendedLocation = initialRecoveryExtendedLocation;
     InitialRecoveryFabricLocation   = initialRecoveryFabricLocation;
     MultiVmGroupId                  = multiVmGroupId;
     MultiVmGroupName                = multiVmGroupName;
     MultiVmGroupCreateOption        = multiVmGroupCreateOption;
     ManagementId                     = managementId;
     ProtectedDisks                   = protectedDisks;
     UnprotectedDisks                 = unprotectedDisks;
     ProtectedManagedDisks            = protectedManagedDisks;
     RecoveryBootDiagStorageAccountId = recoveryBootDiagStorageAccountId;
     PrimaryFabricLocation            = primaryFabricLocation;
     RecoveryFabricLocation           = recoveryFabricLocation;
     OsType = osType;
     RecoveryAzureVMSize            = recoveryAzureVMSize;
     RecoveryAzureVMName            = recoveryAzureVMName;
     RecoveryAzureResourceGroupId   = recoveryAzureResourceGroupId;
     RecoveryCloudService           = recoveryCloudService;
     RecoveryAvailabilitySet        = recoveryAvailabilitySet;
     SelectedRecoveryAzureNetworkId = selectedRecoveryAzureNetworkId;
     SelectedTfoAzureNetworkId      = selectedTfoAzureNetworkId;
     VmNics = vmNics;
     VmSyncedConfigDetails          = vmSyncedConfigDetails;
     MonitoringPercentageCompletion = monitoringPercentageCompletion;
     MonitoringJobType = monitoringJobType;
     LastHeartbeat     = lastHeartbeat;
     AgentVersion      = agentVersion;
     AgentExpiryDate   = agentExpiryDate;
     IsReplicationAgentUpdateRequired            = isReplicationAgentUpdateRequired;
     AgentCertificateExpiryDate                  = agentCertificateExpiryDate;
     IsReplicationAgentCertificateUpdateRequired = isReplicationAgentCertificateUpdateRequired;
     RecoveryFabricObjectId       = recoveryFabricObjectId;
     VmProtectionState            = vmProtectionState;
     VmProtectionStateDescription = vmProtectionStateDescription;
     LifecycleId = lifecycleId;
     TestFailoverRecoveryFabricObjectId = testFailoverRecoveryFabricObjectId;
     RpoInSeconds                       = rpoInSeconds;
     LastRpoCalculatedTime              = lastRpoCalculatedTime;
     PrimaryAvailabilityZone            = primaryAvailabilityZone;
     RecoveryAvailabilityZone           = recoveryAvailabilityZone;
     PrimaryExtendedLocation            = primaryExtendedLocation;
     RecoveryExtendedLocation           = recoveryExtendedLocation;
     VmEncryptionType                   = vmEncryptionType;
     TfoAzureVMName                     = tfoAzureVMName;
     RecoveryAzureGeneration            = recoveryAzureGeneration;
     RecoveryProximityPlacementGroupId  = recoveryProximityPlacementGroupId;
     AutoProtectionOfDataDisk           = autoProtectionOfDataDisk;
     RecoveryVirtualMachineScaleSetId   = recoveryVirtualMachineScaleSetId;
     RecoveryCapacityReservationGroupId = recoveryCapacityReservationGroupId;
     CustomInit();
 }