# 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::Web::Mgmt::V2020_09_01
module Models
#
# Details about app recovery operation.
#
class SnapshotRestoreRequest < ProxyOnlyResource
include MsRestAzure
# @return [String] Point in time in which the app restore should be done,
# formatted as a DateTime string.
attr_accessor :snapshot_time
# @return [SnapshotRecoverySource] Optional. Specifies the web app that
# snapshot contents will be retrieved from.
# If empty, the targeted web app will be used as the source.
attr_accessor :recovery_source
# @return [Boolean] If true
the restore operation can
# overwrite source app; otherwise, false
.
attr_accessor :overwrite
# @return [Boolean] If true, site configuration, in addition to content,
# will be reverted.
attr_accessor :recover_configuration
# @return [Boolean] If true, custom hostname conflicts will be ignored
# when recovering to a target web app.
# This setting is only necessary when RecoverConfiguration is enabled.
attr_accessor :ignore_conflicting_host_names
# @return [Boolean] If true, the snapshot is retrieved from DRSecondary
# endpoint.
attr_accessor :use_drsecondary
#
# Mapper for SnapshotRestoreRequest class as Ruby Hash.
# This will be used for serialization/deserialization.
#
def self.mapper()
{
client_side_validation: true,
required: false,
serialized_name: 'SnapshotRestoreRequest',
type: {
name: 'Composite',
class_name: 'SnapshotRestoreRequest',
model_properties: {
id: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'id',
type: {
name: 'String'
}
},
name: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'name',
type: {
name: 'String'
}
},
kind: {
client_side_validation: true,
required: false,
serialized_name: 'kind',
type: {
name: 'String'
}
},
type: {
client_side_validation: true,
required: false,
read_only: true,
serialized_name: 'type',
type: {
name: 'String'
}
},
system_data: {
client_side_validation: true,
required: false,
serialized_name: 'systemData',
type: {
name: 'Composite',
class_name: 'SystemData'
}
},
snapshot_time: {
client_side_validation: true,
required: false,
serialized_name: 'properties.snapshotTime',
type: {
name: 'String'
}
},
recovery_source: {
client_side_validation: true,
required: false,
serialized_name: 'properties.recoverySource',
type: {
name: 'Composite',
class_name: 'SnapshotRecoverySource'
}
},
overwrite: {
client_side_validation: true,
required: false,
serialized_name: 'properties.overwrite',
type: {
name: 'Boolean'
}
},
recover_configuration: {
client_side_validation: true,
required: false,
serialized_name: 'properties.recoverConfiguration',
type: {
name: 'Boolean'
}
},
ignore_conflicting_host_names: {
client_side_validation: true,
required: false,
serialized_name: 'properties.ignoreConflictingHostNames',
type: {
name: 'Boolean'
}
},
use_drsecondary: {
client_side_validation: true,
required: false,
serialized_name: 'properties.useDRSecondary',
type: {
name: 'Boolean'
}
}
}
}
}
end
end
end
end