# encoding: utf-8 # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. module Azure::RecoveryServicesSiteRecovery::Mgmt::V2018_01_10 module Models # # A2A provider specific settings. # class A2AReplicationDetails < ReplicationProviderSpecificSettings include MsRestAzure def initialize @instanceType = "A2A" end attr_accessor :instanceType # @return [String] The fabric specific object Id of the virtual machine. attr_accessor :fabric_object_id # @return [String] The multi vm group Id. attr_accessor :multi_vm_group_id # @return [String] The multi vm group name. attr_accessor :multi_vm_group_name # @return [MultiVmGroupCreateOption] Whether Multi VM group is auto # created or specified by user. Possible values include: 'AutoCreated', # 'UserSpecified' attr_accessor :multi_vm_group_create_option # @return [String] The management Id. attr_accessor :management_id # @return [Array] The list of protected disks. attr_accessor :protected_disks # @return [Array] The list of protected # managed disks. attr_accessor :protected_managed_disks # @return [String] The recovery boot diagnostic storage account Arm Id. attr_accessor :recovery_boot_diag_storage_account_id # @return [String] Primary fabric location. attr_accessor :primary_fabric_location # @return [String] The recovery fabric location. attr_accessor :recovery_fabric_location # @return [String] The type of operating system. attr_accessor :os_type # @return [String] The size of recovery virtual machine. attr_accessor :recovery_azure_vmsize # @return [String] The name of recovery virtual machine. attr_accessor :recovery_azure_vmname # @return [String] The recovery resource group. attr_accessor :recovery_azure_resource_group_id # @return [String] The recovery cloud service. attr_accessor :recovery_cloud_service # @return [String] The recovery availability set. attr_accessor :recovery_availability_set # @return [String] The recovery virtual network. attr_accessor :selected_recovery_azure_network_id # @return [Array] The virtual machine nic details. attr_accessor :vm_nics # @return [AzureToAzureVmSyncedConfigDetails] The synced configuration # details. attr_accessor :vm_synced_config_details # @return [Integer] The percentage of the monitoring job. The type of the # monitoring job is defined by MonitoringJobType property. attr_accessor :monitoring_percentage_completion # @return [String] The type of the monitoring job. The progress is # contained in MonitoringPercentageCompletion property. attr_accessor :monitoring_job_type # @return [DateTime] The last heartbeat received from the source server. attr_accessor :last_heartbeat # @return [String] The agent version. attr_accessor :agent_version # @return [Boolean] A value indicating whether replication agent update # is required. attr_accessor :is_replication_agent_update_required # @return [String] The recovery fabric object Id. attr_accessor :recovery_fabric_object_id # @return [String] The protection state for the vm. attr_accessor :vm_protection_state # @return [String] The protection state description for the vm. attr_accessor :vm_protection_state_description # @return [String] An id associated with the PE that survives actions # like switch protection which change the backing PE/CPE objects # internally.The lifecycle id gets carried forward to have a # link/continuity in being able to have an Id that denotes the "same" # protected item even though other internal Ids/ARM Id might be changing. attr_accessor :lifecycle_id # @return [String] The test failover fabric object Id. attr_accessor :test_failover_recovery_fabric_object_id # @return [Integer] The last RPO value in seconds. attr_accessor :rpo_in_seconds # @return [DateTime] The time (in UTC) when the last RPO value was # calculated by Protection Service. attr_accessor :last_rpo_calculated_time # # Mapper for A2AReplicationDetails class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'A2A', type: { name: 'Composite', class_name: 'A2AReplicationDetails', model_properties: { instanceType: { client_side_validation: true, required: true, serialized_name: 'instanceType', type: { name: 'String' } }, fabric_object_id: { client_side_validation: true, required: false, serialized_name: 'fabricObjectId', type: { name: 'String' } }, multi_vm_group_id: { client_side_validation: true, required: false, serialized_name: 'multiVmGroupId', type: { name: 'String' } }, multi_vm_group_name: { client_side_validation: true, required: false, serialized_name: 'multiVmGroupName', type: { name: 'String' } }, multi_vm_group_create_option: { client_side_validation: true, required: false, serialized_name: 'multiVmGroupCreateOption', type: { name: 'String' } }, management_id: { client_side_validation: true, required: false, serialized_name: 'managementId', type: { name: 'String' } }, protected_disks: { client_side_validation: true, required: false, serialized_name: 'protectedDisks', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'A2AProtectedDiskDetailsElementType', type: { name: 'Composite', class_name: 'A2AProtectedDiskDetails' } } } }, protected_managed_disks: { client_side_validation: true, required: false, serialized_name: 'protectedManagedDisks', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'A2AProtectedManagedDiskDetailsElementType', type: { name: 'Composite', class_name: 'A2AProtectedManagedDiskDetails' } } } }, recovery_boot_diag_storage_account_id: { client_side_validation: true, required: false, serialized_name: 'recoveryBootDiagStorageAccountId', type: { name: 'String' } }, primary_fabric_location: { client_side_validation: true, required: false, serialized_name: 'primaryFabricLocation', type: { name: 'String' } }, recovery_fabric_location: { client_side_validation: true, required: false, serialized_name: 'recoveryFabricLocation', type: { name: 'String' } }, os_type: { client_side_validation: true, required: false, serialized_name: 'osType', type: { name: 'String' } }, recovery_azure_vmsize: { client_side_validation: true, required: false, serialized_name: 'recoveryAzureVMSize', type: { name: 'String' } }, recovery_azure_vmname: { client_side_validation: true, required: false, serialized_name: 'recoveryAzureVMName', type: { name: 'String' } }, recovery_azure_resource_group_id: { client_side_validation: true, required: false, serialized_name: 'recoveryAzureResourceGroupId', type: { name: 'String' } }, recovery_cloud_service: { client_side_validation: true, required: false, serialized_name: 'recoveryCloudService', type: { name: 'String' } }, recovery_availability_set: { client_side_validation: true, required: false, serialized_name: 'recoveryAvailabilitySet', type: { name: 'String' } }, selected_recovery_azure_network_id: { client_side_validation: true, required: false, serialized_name: 'selectedRecoveryAzureNetworkId', type: { name: 'String' } }, vm_nics: { client_side_validation: true, required: false, serialized_name: 'vmNics', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'VMNicDetailsElementType', type: { name: 'Composite', class_name: 'VMNicDetails' } } } }, vm_synced_config_details: { client_side_validation: true, required: false, serialized_name: 'vmSyncedConfigDetails', type: { name: 'Composite', class_name: 'AzureToAzureVmSyncedConfigDetails' } }, monitoring_percentage_completion: { client_side_validation: true, required: false, serialized_name: 'monitoringPercentageCompletion', type: { name: 'Number' } }, monitoring_job_type: { client_side_validation: true, required: false, serialized_name: 'monitoringJobType', type: { name: 'String' } }, last_heartbeat: { client_side_validation: true, required: false, serialized_name: 'lastHeartbeat', type: { name: 'DateTime' } }, agent_version: { client_side_validation: true, required: false, serialized_name: 'agentVersion', type: { name: 'String' } }, is_replication_agent_update_required: { client_side_validation: true, required: false, serialized_name: 'isReplicationAgentUpdateRequired', type: { name: 'Boolean' } }, recovery_fabric_object_id: { client_side_validation: true, required: false, serialized_name: 'recoveryFabricObjectId', type: { name: 'String' } }, vm_protection_state: { client_side_validation: true, required: false, serialized_name: 'vmProtectionState', type: { name: 'String' } }, vm_protection_state_description: { client_side_validation: true, required: false, serialized_name: 'vmProtectionStateDescription', type: { name: 'String' } }, lifecycle_id: { client_side_validation: true, required: false, serialized_name: 'lifecycleId', type: { name: 'String' } }, test_failover_recovery_fabric_object_id: { client_side_validation: true, required: false, serialized_name: 'testFailoverRecoveryFabricObjectId', type: { name: 'String' } }, rpo_in_seconds: { client_side_validation: true, required: false, serialized_name: 'rpoInSeconds', type: { name: 'Number' } }, last_rpo_calculated_time: { client_side_validation: true, required: false, serialized_name: 'lastRpoCalculatedTime', type: { name: 'DateTime' } } } } } end end end end