/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the lightsail-2016-11-28.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Lightsail.Model
{
///
/// Container for the parameters to the CopySnapshot operation.
/// Copies a manual snapshot of an instance or disk as another manual snapshot, or copies
/// an automatic snapshot of an instance or disk as a manual snapshot. This operation
/// can also be used to copy a manual or automatic snapshot of an instance or a disk from
/// one Amazon Web Services Region to another in Amazon Lightsail.
///
///
///
/// When copying a manual snapshot, be sure to define the source region
,
/// source snapshot name
, and target snapshot name
parameters.
///
///
///
/// When copying an automatic snapshot, be sure to define the source region
,
/// source resource name
, target snapshot name
, and either the
/// restore date
or the use latest restorable auto snapshot
/// parameters.
///
///
public partial class CopySnapshotRequest : AmazonLightsailRequest
{
private string _restoreDate;
private RegionName _sourceRegion;
private string _sourceResourceName;
private string _sourceSnapshotName;
private string _targetSnapshotName;
private bool? _useLatestRestorableAutoSnapshot;
///
/// Gets and sets the property RestoreDate.
///
/// The date of the source automatic snapshot to copy. Use the get auto snapshots
/// operation to identify the dates of the available automatic snapshots.
///
///
///
/// Constraints:
///
/// -
///
/// Must be specified in
YYYY-MM-DD
format.
///
/// -
///
/// This parameter cannot be defined together with the
use latest restorable auto
/// snapshot
parameter. The restore date
and use latest restorable
/// auto snapshot
parameters are mutually exclusive.
///
/// -
///
/// Define this parameter only when copying an automatic snapshot as a manual snapshot.
/// For more information, see the Amazon
/// Lightsail Developer Guide.
///
///
///
public string RestoreDate
{
get { return this._restoreDate; }
set { this._restoreDate = value; }
}
// Check to see if RestoreDate property is set
internal bool IsSetRestoreDate()
{
return this._restoreDate != null;
}
///
/// Gets and sets the property SourceRegion.
///
/// The Amazon Web Services Region where the source manual or automatic snapshot is located.
///
///
[AWSProperty(Required=true)]
public RegionName SourceRegion
{
get { return this._sourceRegion; }
set { this._sourceRegion = value; }
}
// Check to see if SourceRegion property is set
internal bool IsSetSourceRegion()
{
return this._sourceRegion != null;
}
///
/// Gets and sets the property SourceResourceName.
///
/// The name of the source instance or disk from which the source automatic snapshot was
/// created.
///
///
///
/// Constraint:
///
///
///
public string SourceResourceName
{
get { return this._sourceResourceName; }
set { this._sourceResourceName = value; }
}
// Check to see if SourceResourceName property is set
internal bool IsSetSourceResourceName()
{
return this._sourceResourceName != null;
}
///
/// Gets and sets the property SourceSnapshotName.
///
/// The name of the source manual snapshot to copy.
///
///
///
/// Constraint:
///
/// -
///
/// Define this parameter only when copying a manual snapshot as another manual snapshot.
///
///
///
public string SourceSnapshotName
{
get { return this._sourceSnapshotName; }
set { this._sourceSnapshotName = value; }
}
// Check to see if SourceSnapshotName property is set
internal bool IsSetSourceSnapshotName()
{
return this._sourceSnapshotName != null;
}
///
/// Gets and sets the property TargetSnapshotName.
///
/// The name of the new manual snapshot to be created as a copy.
///
///
[AWSProperty(Required=true)]
public string TargetSnapshotName
{
get { return this._targetSnapshotName; }
set { this._targetSnapshotName = value; }
}
// Check to see if TargetSnapshotName property is set
internal bool IsSetTargetSnapshotName()
{
return this._targetSnapshotName != null;
}
///
/// Gets and sets the property UseLatestRestorableAutoSnapshot.
///
/// A Boolean value to indicate whether to use the latest available automatic snapshot
/// of the specified source instance or disk.
///
///
///
/// Constraints:
///
/// -
///
/// This parameter cannot be defined together with the
restore date
parameter.
/// The use latest restorable auto snapshot
and restore date
/// parameters are mutually exclusive.
///
/// -
///
/// Define this parameter only when copying an automatic snapshot as a manual snapshot.
/// For more information, see the Amazon
/// Lightsail Developer Guide.
///
///
///
public bool UseLatestRestorableAutoSnapshot
{
get { return this._useLatestRestorableAutoSnapshot.GetValueOrDefault(); }
set { this._useLatestRestorableAutoSnapshot = value; }
}
// Check to see if UseLatestRestorableAutoSnapshot property is set
internal bool IsSetUseLatestRestorableAutoSnapshot()
{
return this._useLatestRestorableAutoSnapshot.HasValue;
}
}
}