# 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::V2016_08_10 module Models # # A2A specific switch protection input. # class A2ASwitchProtectionInput < SwitchProtectionProviderSpecificInput include MsRestAzure def initialize @instanceType = "A2A" end attr_accessor :instanceType # @return [String] The recovery container Id. attr_accessor :recovery_container_id # @return [Array] The list of vm disk details. attr_accessor :vm_disks # @return [Array] The list of vm managed # disk details. attr_accessor :vm_managed_disks # @return [String] The recovery resource group Id. Valid for V2 # scenarios. attr_accessor :recovery_resource_group_id # @return [String] The recovery cloud service Id. Valid for V1 scenarios. attr_accessor :recovery_cloud_service_id # @return [String] The recovery availability set. attr_accessor :recovery_availability_set_id # @return [String] The Policy Id. attr_accessor :policy_id # # Mapper for A2ASwitchProtectionInput 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: 'A2ASwitchProtectionInput', model_properties: { instanceType: { client_side_validation: true, required: true, serialized_name: 'instanceType', type: { name: 'String' } }, recovery_container_id: { client_side_validation: true, required: false, serialized_name: 'recoveryContainerId', type: { name: 'String' } }, vm_disks: { client_side_validation: true, required: false, serialized_name: 'vmDisks', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'A2AVmDiskInputDetailsElementType', type: { name: 'Composite', class_name: 'A2AVmDiskInputDetails' } } } }, vm_managed_disks: { client_side_validation: true, required: false, serialized_name: 'vmManagedDisks', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'A2AVmManagedDiskInputDetailsElementType', type: { name: 'Composite', class_name: 'A2AVmManagedDiskInputDetails' } } } }, recovery_resource_group_id: { client_side_validation: true, required: false, serialized_name: 'recoveryResourceGroupId', type: { name: 'String' } }, recovery_cloud_service_id: { client_side_validation: true, required: false, serialized_name: 'recoveryCloudServiceId', type: { name: 'String' } }, recovery_availability_set_id: { client_side_validation: true, required: false, serialized_name: 'recoveryAvailabilitySetId', type: { name: 'String' } }, policy_id: { client_side_validation: true, required: false, serialized_name: 'policyId', type: { name: 'String' } } } } } end end end end