# 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 # # Azure specific enable protection input. # class HyperVReplicaAzureEnableProtectionInput < EnableProtectionProviderSpecificInput include MsRestAzure def initialize @instanceType = "HyperVReplicaAzure" end attr_accessor :instanceType # @return [String] The Hyper-V host Vm Id. attr_accessor :hv_host_vm_id # @return [String] The Vm Name. attr_accessor :vm_name # @return [String] The OS type associated with vm. attr_accessor :os_type # @return [String] The OS disk VHD id associated with vm. attr_accessor :vhd_id # @return [String] The storage account name. attr_accessor :target_storage_account_id # @return [String] The selected target Azure network Id. attr_accessor :target_azure_network_id # @return [String] The selected target Azure subnet Id. attr_accessor :target_azure_subnet_id # @return [String] The selected option to enable RDP\SSH on target vm # after failover. String value of # {SrsDataContract.EnableRDPOnTargetOption} enum. attr_accessor :enable_rdp_on_target_option # @return [String] The target azure Vm Name. attr_accessor :target_azure_vm_name # @return [String] The storage account to be used for logging during # replication. attr_accessor :log_storage_account_id # @return [Array] The list of VHD IDs of disks to be protected. attr_accessor :disks_to_include # @return [String] The Id of the target resource group (for classic # deployment) in which the failover VM is to be created. attr_accessor :target_azure_v1resource_group_id # @return [String] The Id of the target resource group (for resource # manager deployment) in which the failover VM is to be created. attr_accessor :target_azure_v2resource_group_id # @return [String] A value indicating whether managed disks should be # used during failover. attr_accessor :use_managed_disks # # Mapper for HyperVReplicaAzureEnableProtectionInput class as Ruby Hash. # This will be used for serialization/deserialization. # def self.mapper() { client_side_validation: true, required: false, serialized_name: 'HyperVReplicaAzure', type: { name: 'Composite', class_name: 'HyperVReplicaAzureEnableProtectionInput', model_properties: { instanceType: { client_side_validation: true, required: true, serialized_name: 'instanceType', type: { name: 'String' } }, hv_host_vm_id: { client_side_validation: true, required: false, serialized_name: 'hvHostVmId', type: { name: 'String' } }, vm_name: { client_side_validation: true, required: false, serialized_name: 'vmName', type: { name: 'String' } }, os_type: { client_side_validation: true, required: false, serialized_name: 'osType', type: { name: 'String' } }, vhd_id: { client_side_validation: true, required: false, serialized_name: 'vhdId', type: { name: 'String' } }, target_storage_account_id: { client_side_validation: true, required: false, serialized_name: 'targetStorageAccountId', type: { name: 'String' } }, target_azure_network_id: { client_side_validation: true, required: false, serialized_name: 'targetAzureNetworkId', type: { name: 'String' } }, target_azure_subnet_id: { client_side_validation: true, required: false, serialized_name: 'targetAzureSubnetId', type: { name: 'String' } }, enable_rdp_on_target_option: { client_side_validation: true, required: false, serialized_name: 'enableRdpOnTargetOption', type: { name: 'String' } }, target_azure_vm_name: { client_side_validation: true, required: false, serialized_name: 'targetAzureVmName', type: { name: 'String' } }, log_storage_account_id: { client_side_validation: true, required: false, serialized_name: 'logStorageAccountId', type: { name: 'String' } }, disks_to_include: { client_side_validation: true, required: false, serialized_name: 'disksToInclude', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'StringElementType', type: { name: 'String' } } } }, target_azure_v1resource_group_id: { client_side_validation: true, required: false, serialized_name: 'targetAzureV1ResourceGroupId', type: { name: 'String' } }, target_azure_v2resource_group_id: { client_side_validation: true, required: false, serialized_name: 'targetAzureV2ResourceGroupId', type: { name: 'String' } }, use_managed_disks: { client_side_validation: true, required: false, serialized_name: 'useManagedDisks', type: { name: 'String' } } } } } end end end end