/*
* 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 sms-2016-10-24.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.ServerMigrationService.Model
{
///
/// Container for the parameters to the CreateReplicationJob operation.
/// Creates a replication job. The replication job schedules periodic replication runs
/// to replicate your server to Amazon Web Services. Each replication run creates an Amazon
/// Machine Image (AMI).
///
public partial class CreateReplicationJobRequest : AmazonServerMigrationServiceRequest
{
private string _description;
private bool? _encrypted;
private int? _frequency;
private string _kmsKeyId;
private LicenseType _licenseType;
private int? _numberOfRecentAmisToKeep;
private string _roleName;
private bool? _runOnce;
private DateTime? _seedReplicationTime;
private string _serverId;
///
/// Gets and sets the property Description.
///
/// The description of the replication job.
///
///
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property Encrypted.
///
/// Indicates whether the replication job produces encrypted AMIs.
///
///
public bool Encrypted
{
get { return this._encrypted.GetValueOrDefault(); }
set { this._encrypted = value; }
}
// Check to see if Encrypted property is set
internal bool IsSetEncrypted()
{
return this._encrypted.HasValue;
}
///
/// Gets and sets the property Frequency.
///
/// The time between consecutive replication runs, in hours.
///
///
public int Frequency
{
get { return this._frequency.GetValueOrDefault(); }
set { this._frequency = value; }
}
// Check to see if Frequency property is set
internal bool IsSetFrequency()
{
return this._frequency.HasValue;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The ID of the KMS key for replication jobs that produce encrypted AMIs. This value
/// can be any of the following:
///
/// -
///
/// KMS key ID
///
///
-
///
/// KMS key alias
///
///
-
///
/// ARN referring to the KMS key ID
///
///
-
///
/// ARN referring to the KMS key alias
///
///
///
/// If encrypted is true but a KMS key ID is not specified, the customer's default
/// KMS key for Amazon EBS is used.
///
///
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property LicenseType.
///
/// The license type to be used for the AMI created by a successful replication run.
///
///
public LicenseType LicenseType
{
get { return this._licenseType; }
set { this._licenseType = value; }
}
// Check to see if LicenseType property is set
internal bool IsSetLicenseType()
{
return this._licenseType != null;
}
///
/// Gets and sets the property NumberOfRecentAmisToKeep.
///
/// The maximum number of SMS-created AMIs to retain. The oldest is deleted after the
/// maximum number is reached and a new AMI is created.
///
///
public int NumberOfRecentAmisToKeep
{
get { return this._numberOfRecentAmisToKeep.GetValueOrDefault(); }
set { this._numberOfRecentAmisToKeep = value; }
}
// Check to see if NumberOfRecentAmisToKeep property is set
internal bool IsSetNumberOfRecentAmisToKeep()
{
return this._numberOfRecentAmisToKeep.HasValue;
}
///
/// Gets and sets the property RoleName.
///
/// The name of the IAM role to be used by the Server Migration Service.
///
///
public string RoleName
{
get { return this._roleName; }
set { this._roleName = value; }
}
// Check to see if RoleName property is set
internal bool IsSetRoleName()
{
return this._roleName != null;
}
///
/// Gets and sets the property RunOnce.
///
/// Indicates whether to run the replication job one time.
///
///
public bool RunOnce
{
get { return this._runOnce.GetValueOrDefault(); }
set { this._runOnce = value; }
}
// Check to see if RunOnce property is set
internal bool IsSetRunOnce()
{
return this._runOnce.HasValue;
}
///
/// Gets and sets the property SeedReplicationTime.
///
/// The seed replication time.
///
///
[AWSProperty(Required=true)]
public DateTime SeedReplicationTime
{
get { return this._seedReplicationTime.GetValueOrDefault(); }
set { this._seedReplicationTime = value; }
}
// Check to see if SeedReplicationTime property is set
internal bool IsSetSeedReplicationTime()
{
return this._seedReplicationTime.HasValue;
}
///
/// Gets and sets the property ServerId.
///
/// The ID of the server.
///
///
[AWSProperty(Required=true)]
public string ServerId
{
get { return this._serverId; }
set { this._serverId = value; }
}
// Check to see if ServerId property is set
internal bool IsSetServerId()
{
return this._serverId != null;
}
}
}