/*
* 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
{
///
/// Represents a replication run.
///
public partial class ReplicationRun
{
private string _amiId;
private DateTime? _completedTime;
private string _description;
private bool? _encrypted;
private string _kmsKeyId;
private string _replicationRunId;
private DateTime? _scheduledStartTime;
private ReplicationRunStageDetails _stageDetails;
private ReplicationRunState _state;
private string _statusMessage;
private ReplicationRunType _type;
///
/// Gets and sets the property AmiId.
///
/// The ID of the Amazon Machine Image (AMI) from the replication run.
///
///
public string AmiId
{
get { return this._amiId; }
set { this._amiId = value; }
}
// Check to see if AmiId property is set
internal bool IsSetAmiId()
{
return this._amiId != null;
}
///
/// Gets and sets the property CompletedTime.
///
/// The completion time of the last replication run.
///
///
public DateTime CompletedTime
{
get { return this._completedTime.GetValueOrDefault(); }
set { this._completedTime = value; }
}
// Check to see if CompletedTime property is set
internal bool IsSetCompletedTime()
{
return this._completedTime.HasValue;
}
///
/// Gets and sets the property Description.
///
/// The description of the replication run.
///
///
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 run should produce an encrypted AMI.
///
///
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 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 ReplicationRunId.
///
/// The ID of the replication run.
///
///
public string ReplicationRunId
{
get { return this._replicationRunId; }
set { this._replicationRunId = value; }
}
// Check to see if ReplicationRunId property is set
internal bool IsSetReplicationRunId()
{
return this._replicationRunId != null;
}
///
/// Gets and sets the property ScheduledStartTime.
///
/// The start time of the next replication run.
///
///
public DateTime ScheduledStartTime
{
get { return this._scheduledStartTime.GetValueOrDefault(); }
set { this._scheduledStartTime = value; }
}
// Check to see if ScheduledStartTime property is set
internal bool IsSetScheduledStartTime()
{
return this._scheduledStartTime.HasValue;
}
///
/// Gets and sets the property StageDetails.
///
/// Details about the current stage of the replication run.
///
///
public ReplicationRunStageDetails StageDetails
{
get { return this._stageDetails; }
set { this._stageDetails = value; }
}
// Check to see if StageDetails property is set
internal bool IsSetStageDetails()
{
return this._stageDetails != null;
}
///
/// Gets and sets the property State.
///
/// The state of the replication run.
///
///
public ReplicationRunState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property StatusMessage.
///
/// The description of the current status of the replication job.
///
///
public string StatusMessage
{
get { return this._statusMessage; }
set { this._statusMessage = value; }
}
// Check to see if StatusMessage property is set
internal bool IsSetStatusMessage()
{
return this._statusMessage != null;
}
///
/// Gets and sets the property Type.
///
/// The type of replication run.
///
///
public ReplicationRunType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}