/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The replication parameters for replicating a server.See Also:
* AWS
* API Reference
The seed time for creating a replication job for the server.
*/ inline const Aws::Utils::DateTime& GetSeedTime() const{ return m_seedTime; } /** *The seed time for creating a replication job for the server.
*/ inline bool SeedTimeHasBeenSet() const { return m_seedTimeHasBeenSet; } /** *The seed time for creating a replication job for the server.
*/ inline void SetSeedTime(const Aws::Utils::DateTime& value) { m_seedTimeHasBeenSet = true; m_seedTime = value; } /** *The seed time for creating a replication job for the server.
*/ inline void SetSeedTime(Aws::Utils::DateTime&& value) { m_seedTimeHasBeenSet = true; m_seedTime = std::move(value); } /** *The seed time for creating a replication job for the server.
*/ inline ServerReplicationParameters& WithSeedTime(const Aws::Utils::DateTime& value) { SetSeedTime(value); return *this;} /** *The seed time for creating a replication job for the server.
*/ inline ServerReplicationParameters& WithSeedTime(Aws::Utils::DateTime&& value) { SetSeedTime(std::move(value)); return *this;} /** *The frequency of creating replication jobs for the server.
*/ inline int GetFrequency() const{ return m_frequency; } /** *The frequency of creating replication jobs for the server.
*/ inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } /** *The frequency of creating replication jobs for the server.
*/ inline void SetFrequency(int value) { m_frequencyHasBeenSet = true; m_frequency = value; } /** *The frequency of creating replication jobs for the server.
*/ inline ServerReplicationParameters& WithFrequency(int value) { SetFrequency(value); return *this;} /** *Indicates whether to run the replication job one time.
*/ inline bool GetRunOnce() const{ return m_runOnce; } /** *Indicates whether to run the replication job one time.
*/ inline bool RunOnceHasBeenSet() const { return m_runOnceHasBeenSet; } /** *Indicates whether to run the replication job one time.
*/ inline void SetRunOnce(bool value) { m_runOnceHasBeenSet = true; m_runOnce = value; } /** *Indicates whether to run the replication job one time.
*/ inline ServerReplicationParameters& WithRunOnce(bool value) { SetRunOnce(value); return *this;} /** *The license type for creating a replication job for the server.
*/ inline const LicenseType& GetLicenseType() const{ return m_licenseType; } /** *The license type for creating a replication job for the server.
*/ inline bool LicenseTypeHasBeenSet() const { return m_licenseTypeHasBeenSet; } /** *The license type for creating a replication job for the server.
*/ inline void SetLicenseType(const LicenseType& value) { m_licenseTypeHasBeenSet = true; m_licenseType = value; } /** *The license type for creating a replication job for the server.
*/ inline void SetLicenseType(LicenseType&& value) { m_licenseTypeHasBeenSet = true; m_licenseType = std::move(value); } /** *The license type for creating a replication job for the server.
*/ inline ServerReplicationParameters& WithLicenseType(const LicenseType& value) { SetLicenseType(value); return *this;} /** *The license type for creating a replication job for the server.
*/ inline ServerReplicationParameters& WithLicenseType(LicenseType&& value) { SetLicenseType(std::move(value)); return *this;} /** *The number of recent AMIs to keep when creating a replication job for this * server.
*/ inline int GetNumberOfRecentAmisToKeep() const{ return m_numberOfRecentAmisToKeep; } /** *The number of recent AMIs to keep when creating a replication job for this * server.
*/ inline bool NumberOfRecentAmisToKeepHasBeenSet() const { return m_numberOfRecentAmisToKeepHasBeenSet; } /** *The number of recent AMIs to keep when creating a replication job for this * server.
*/ inline void SetNumberOfRecentAmisToKeep(int value) { m_numberOfRecentAmisToKeepHasBeenSet = true; m_numberOfRecentAmisToKeep = value; } /** *The number of recent AMIs to keep when creating a replication job for this * server.
*/ inline ServerReplicationParameters& WithNumberOfRecentAmisToKeep(int value) { SetNumberOfRecentAmisToKeep(value); return *this;} /** *Indicates whether the replication job produces encrypted AMIs.
*/ inline bool GetEncrypted() const{ return m_encrypted; } /** *Indicates whether the replication job produces encrypted AMIs.
*/ inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } /** *Indicates whether the replication job produces encrypted AMIs.
*/ inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } /** *Indicates whether the replication job produces encrypted AMIs.
*/ inline ServerReplicationParameters& 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 * enabled 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 * enabled 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 * enabled 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 * enabled 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 * enabled 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 * enabled but a KMS key ID is not specified, the customer's default KMS key for * Amazon EBS is used.
*/ inline ServerReplicationParameters& 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 * enabled but a KMS key ID is not specified, the customer's default KMS key for * Amazon EBS is used.
*/ inline ServerReplicationParameters& 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 * enabled but a KMS key ID is not specified, the customer's default KMS key for * Amazon EBS is used.
*/ inline ServerReplicationParameters& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} private: Aws::Utils::DateTime m_seedTime; bool m_seedTimeHasBeenSet = false; int m_frequency; bool m_frequencyHasBeenSet = false; bool m_runOnce; bool m_runOnceHasBeenSet = false; LicenseType m_licenseType; bool m_licenseTypeHasBeenSet = false; int m_numberOfRecentAmisToKeep; bool m_numberOfRecentAmisToKeepHasBeenSet = false; bool m_encrypted; bool m_encryptedHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace SMS } // namespace Aws