# 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 # # Hyper-V Replica Azure specific input for creating a protection profile. # class HyperVReplicaAzurePolicyInput < PolicyProviderSpecificInput include MsRestAzure def initialize @instanceType = "HyperVReplicaAzure" end attr_accessor :instanceType # @return [Integer] The duration (in hours) to which point the recovery # history needs to be maintained. attr_accessor :recovery_point_history_duration # @return [Integer] The interval (in hours) at which Hyper-V Replica # should create an application consistent snapshot within the VM. attr_accessor :application_consistent_snapshot_frequency_in_hours # @return [Integer] The replication interval. attr_accessor :replication_interval # @return [String] The scheduled start time for the initial replication. # If this parameter is Null, the initial replication starts immediately. attr_accessor :online_replication_start_time # @return [Array] The list of storage accounts to which the VMs # in the primary cloud can replicate to. attr_accessor :storage_accounts # # Mapper for HyperVReplicaAzurePolicyInput 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: 'HyperVReplicaAzurePolicyInput', model_properties: { instanceType: { client_side_validation: true, required: true, serialized_name: 'instanceType', type: { name: 'String' } }, recovery_point_history_duration: { client_side_validation: true, required: false, serialized_name: 'recoveryPointHistoryDuration', type: { name: 'Number' } }, application_consistent_snapshot_frequency_in_hours: { client_side_validation: true, required: false, serialized_name: 'applicationConsistentSnapshotFrequencyInHours', type: { name: 'Number' } }, replication_interval: { client_side_validation: true, required: false, serialized_name: 'replicationInterval', type: { name: 'Number' } }, online_replication_start_time: { client_side_validation: true, required: false, serialized_name: 'onlineReplicationStartTime', type: { name: 'String' } }, storage_accounts: { client_side_validation: true, required: false, serialized_name: 'storageAccounts', type: { name: 'Sequence', element: { client_side_validation: true, required: false, serialized_name: 'StringElementType', type: { name: 'String' } } } } } } } end end end end