/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a replication run.See Also:
AWS
* API Reference
The ID of the replication run.
*/ inline const Aws::String& GetReplicationRunId() const{ return m_replicationRunId; } /** *The ID of the replication run.
*/ inline bool ReplicationRunIdHasBeenSet() const { return m_replicationRunIdHasBeenSet; } /** *The ID of the replication run.
*/ inline void SetReplicationRunId(const Aws::String& value) { m_replicationRunIdHasBeenSet = true; m_replicationRunId = value; } /** *The ID of the replication run.
*/ inline void SetReplicationRunId(Aws::String&& value) { m_replicationRunIdHasBeenSet = true; m_replicationRunId = std::move(value); } /** *The ID of the replication run.
*/ inline void SetReplicationRunId(const char* value) { m_replicationRunIdHasBeenSet = true; m_replicationRunId.assign(value); } /** *The ID of the replication run.
*/ inline ReplicationRun& WithReplicationRunId(const Aws::String& value) { SetReplicationRunId(value); return *this;} /** *The ID of the replication run.
*/ inline ReplicationRun& WithReplicationRunId(Aws::String&& value) { SetReplicationRunId(std::move(value)); return *this;} /** *The ID of the replication run.
*/ inline ReplicationRun& WithReplicationRunId(const char* value) { SetReplicationRunId(value); return *this;} /** *The state of the replication run.
*/ inline const ReplicationRunState& GetState() const{ return m_state; } /** *The state of the replication run.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *The state of the replication run.
*/ inline void SetState(const ReplicationRunState& value) { m_stateHasBeenSet = true; m_state = value; } /** *The state of the replication run.
*/ inline void SetState(ReplicationRunState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *The state of the replication run.
*/ inline ReplicationRun& WithState(const ReplicationRunState& value) { SetState(value); return *this;} /** *The state of the replication run.
*/ inline ReplicationRun& WithState(ReplicationRunState&& value) { SetState(std::move(value)); return *this;} /** *The type of replication run.
*/ inline const ReplicationRunType& GetType() const{ return m_type; } /** *The type of replication run.
*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *The type of replication run.
*/ inline void SetType(const ReplicationRunType& value) { m_typeHasBeenSet = true; m_type = value; } /** *The type of replication run.
*/ inline void SetType(ReplicationRunType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *The type of replication run.
*/ inline ReplicationRun& WithType(const ReplicationRunType& value) { SetType(value); return *this;} /** *The type of replication run.
*/ inline ReplicationRun& WithType(ReplicationRunType&& value) { SetType(std::move(value)); return *this;} /** *Details about the current stage of the replication run.
*/ inline const ReplicationRunStageDetails& GetStageDetails() const{ return m_stageDetails; } /** *Details about the current stage of the replication run.
*/ inline bool StageDetailsHasBeenSet() const { return m_stageDetailsHasBeenSet; } /** *Details about the current stage of the replication run.
*/ inline void SetStageDetails(const ReplicationRunStageDetails& value) { m_stageDetailsHasBeenSet = true; m_stageDetails = value; } /** *Details about the current stage of the replication run.
*/ inline void SetStageDetails(ReplicationRunStageDetails&& value) { m_stageDetailsHasBeenSet = true; m_stageDetails = std::move(value); } /** *Details about the current stage of the replication run.
*/ inline ReplicationRun& WithStageDetails(const ReplicationRunStageDetails& value) { SetStageDetails(value); return *this;} /** *Details about the current stage of the replication run.
*/ inline ReplicationRun& WithStageDetails(ReplicationRunStageDetails&& value) { SetStageDetails(std::move(value)); return *this;} /** *The description of the current status of the replication job.
*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *The description of the current status of the replication job.
*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *The description of the current status of the replication job.
*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *The description of the current status of the replication job.
*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *The description of the current status of the replication job.
*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *The description of the current status of the replication job.
*/ inline ReplicationRun& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *The description of the current status of the replication job.
*/ inline ReplicationRun& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *The description of the current status of the replication job.
*/ inline ReplicationRun& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline const Aws::String& GetAmiId() const{ return m_amiId; } /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline bool AmiIdHasBeenSet() const { return m_amiIdHasBeenSet; } /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline void SetAmiId(const Aws::String& value) { m_amiIdHasBeenSet = true; m_amiId = value; } /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline void SetAmiId(Aws::String&& value) { m_amiIdHasBeenSet = true; m_amiId = std::move(value); } /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline void SetAmiId(const char* value) { m_amiIdHasBeenSet = true; m_amiId.assign(value); } /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline ReplicationRun& WithAmiId(const Aws::String& value) { SetAmiId(value); return *this;} /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline ReplicationRun& WithAmiId(Aws::String&& value) { SetAmiId(std::move(value)); return *this;} /** *The ID of the Amazon Machine Image (AMI) from the replication run.
*/ inline ReplicationRun& WithAmiId(const char* value) { SetAmiId(value); return *this;} /** *The start time of the next replication run.
*/ inline const Aws::Utils::DateTime& GetScheduledStartTime() const{ return m_scheduledStartTime; } /** *The start time of the next replication run.
*/ inline bool ScheduledStartTimeHasBeenSet() const { return m_scheduledStartTimeHasBeenSet; } /** *The start time of the next replication run.
*/ inline void SetScheduledStartTime(const Aws::Utils::DateTime& value) { m_scheduledStartTimeHasBeenSet = true; m_scheduledStartTime = value; } /** *The start time of the next replication run.
*/ inline void SetScheduledStartTime(Aws::Utils::DateTime&& value) { m_scheduledStartTimeHasBeenSet = true; m_scheduledStartTime = std::move(value); } /** *The start time of the next replication run.
*/ inline ReplicationRun& WithScheduledStartTime(const Aws::Utils::DateTime& value) { SetScheduledStartTime(value); return *this;} /** *The start time of the next replication run.
*/ inline ReplicationRun& WithScheduledStartTime(Aws::Utils::DateTime&& value) { SetScheduledStartTime(std::move(value)); return *this;} /** *The completion time of the last replication run.
*/ inline const Aws::Utils::DateTime& GetCompletedTime() const{ return m_completedTime; } /** *The completion time of the last replication run.
*/ inline bool CompletedTimeHasBeenSet() const { return m_completedTimeHasBeenSet; } /** *The completion time of the last replication run.
*/ inline void SetCompletedTime(const Aws::Utils::DateTime& value) { m_completedTimeHasBeenSet = true; m_completedTime = value; } /** *The completion time of the last replication run.
*/ inline void SetCompletedTime(Aws::Utils::DateTime&& value) { m_completedTimeHasBeenSet = true; m_completedTime = std::move(value); } /** *The completion time of the last replication run.
*/ inline ReplicationRun& WithCompletedTime(const Aws::Utils::DateTime& value) { SetCompletedTime(value); return *this;} /** *The completion time of the last replication run.
*/ inline ReplicationRun& WithCompletedTime(Aws::Utils::DateTime&& value) { SetCompletedTime(std::move(value)); return *this;} /** *The description of the replication run.
*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *The description of the replication run.
*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *The description of the replication run.
*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *The description of the replication run.
*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *The description of the replication run.
*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *The description of the replication run.
*/ inline ReplicationRun& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *The description of the replication run.
*/ inline ReplicationRun& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *The description of the replication run.
*/ inline ReplicationRun& WithDescription(const char* value) { SetDescription(value); return *this;} /** *Indicates whether the replication run should produce an encrypted AMI.
*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *Indicates whether the replication run should produce an encrypted AMI.
*/ inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } /** *Indicates whether the replication run should produce an encrypted AMI.
*/ inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } /** *Indicates whether the replication run should produce an encrypted AMI.
*/ inline ReplicationRun& WithEncrypted(bool value) { SetEncrypted(value); return *this;} /** *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.
*/ inline const Aws::String& GetKmsKeyId() const{ return m_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.
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *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.
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *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.
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *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.
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *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.
*/ inline ReplicationRun& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *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.
*/ inline ReplicationRun& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *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.
*/ inline ReplicationRun& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} private: Aws::String m_replicationRunId; bool m_replicationRunIdHasBeenSet = false; ReplicationRunState m_state; bool m_stateHasBeenSet = false; ReplicationRunType m_type; bool m_typeHasBeenSet = false; ReplicationRunStageDetails m_stageDetails; bool m_stageDetailsHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; Aws::String m_amiId; bool m_amiIdHasBeenSet = false; Aws::Utils::DateTime m_scheduledStartTime; bool m_scheduledStartTimeHasBeenSet = false; Aws::Utils::DateTime m_completedTime; bool m_completedTimeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_encrypted; bool m_encryptedHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace SMS } // namespace Aws