# 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 enable protection input. # class A2AEnableProtectionInput < EnableProtectionProviderSpecificInput 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 recovery container Id. attr_accessor :recovery_container_id # @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 Id. attr_accessor :recovery_availability_set_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 multi vm group name. attr_accessor :multi_vm_group_name # @return [String] The boot diagnostic storage account. attr_accessor :recovery_boot_diag_storage_account_id # # Mapper for A2AEnableProtectionInput 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: 'A2AEnableProtectionInput', 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' } }, recovery_container_id: { client_side_validation: true, required: false, serialized_name: 'recoveryContainerId', type: { name: 'String' } }, 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' } }, 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' } } } }, multi_vm_group_name: { client_side_validation: true, required: false, serialized_name: 'multiVmGroupName', type: { name: 'String' } }, recovery_boot_diag_storage_account_id: { client_side_validation: true, required: false, serialized_name: 'recoveryBootDiagStorageAccountId', type: { name: 'String' } } } } } end end end end