/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace Backup { namespace Model { class UpdateRecoveryPointLifecycleResult { public: AWS_BACKUP_API UpdateRecoveryPointLifecycleResult(); AWS_BACKUP_API UpdateRecoveryPointLifecycleResult(const Aws::AmazonWebServiceResult& result); AWS_BACKUP_API UpdateRecoveryPointLifecycleResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline const Aws::String& GetBackupVaultArn() const{ return m_backupVaultArn; } /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetBackupVaultArn(const Aws::String& value) { m_backupVaultArn = value; } /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetBackupVaultArn(Aws::String&& value) { m_backupVaultArn = std::move(value); } /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetBackupVaultArn(const char* value) { m_backupVaultArn.assign(value); } /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline UpdateRecoveryPointLifecycleResult& WithBackupVaultArn(const Aws::String& value) { SetBackupVaultArn(value); return *this;} /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline UpdateRecoveryPointLifecycleResult& WithBackupVaultArn(Aws::String&& value) { SetBackupVaultArn(std::move(value)); return *this;} /** *

An ARN that uniquely identifies a backup vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline UpdateRecoveryPointLifecycleResult& WithBackupVaultArn(const char* value) { SetBackupVaultArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline const Aws::String& GetRecoveryPointArn() const{ return m_recoveryPointArn; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline void SetRecoveryPointArn(const Aws::String& value) { m_recoveryPointArn = value; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline void SetRecoveryPointArn(Aws::String&& value) { m_recoveryPointArn = std::move(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline void SetRecoveryPointArn(const char* value) { m_recoveryPointArn.assign(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline UpdateRecoveryPointLifecycleResult& WithRecoveryPointArn(const Aws::String& value) { SetRecoveryPointArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline UpdateRecoveryPointLifecycleResult& WithRecoveryPointArn(Aws::String&& value) { SetRecoveryPointArn(std::move(value)); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for * example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline UpdateRecoveryPointLifecycleResult& WithRecoveryPointArn(const char* value) { SetRecoveryPointArn(value); return *this;} /** *

The lifecycle defines when a protected resource is transitioned to cold * storage and when it expires. Backup transitions and expires backups * automatically according to the lifecycle that you define.

Backups * transitioned to cold storage must be stored in cold storage for a minimum of 90 * days. Therefore, the “retention” setting must be 90 days greater than the * “transition to cold after days” setting. The “transition to cold after days” * setting cannot be changed after a backup has been transitioned to cold.

*

Resource types that are able to be transitioned to cold storage are listed in * the "Lifecycle to cold storage" section of the * Feature availability by resource table. Backup ignores this expression for * other resource types.

*/ inline const Lifecycle& GetLifecycle() const{ return m_lifecycle; } /** *

The lifecycle defines when a protected resource is transitioned to cold * storage and when it expires. Backup transitions and expires backups * automatically according to the lifecycle that you define.

Backups * transitioned to cold storage must be stored in cold storage for a minimum of 90 * days. Therefore, the “retention” setting must be 90 days greater than the * “transition to cold after days” setting. The “transition to cold after days” * setting cannot be changed after a backup has been transitioned to cold.

*

Resource types that are able to be transitioned to cold storage are listed in * the "Lifecycle to cold storage" section of the * Feature availability by resource table. Backup ignores this expression for * other resource types.

*/ inline void SetLifecycle(const Lifecycle& value) { m_lifecycle = value; } /** *

The lifecycle defines when a protected resource is transitioned to cold * storage and when it expires. Backup transitions and expires backups * automatically according to the lifecycle that you define.

Backups * transitioned to cold storage must be stored in cold storage for a minimum of 90 * days. Therefore, the “retention” setting must be 90 days greater than the * “transition to cold after days” setting. The “transition to cold after days” * setting cannot be changed after a backup has been transitioned to cold.

*

Resource types that are able to be transitioned to cold storage are listed in * the "Lifecycle to cold storage" section of the * Feature availability by resource table. Backup ignores this expression for * other resource types.

*/ inline void SetLifecycle(Lifecycle&& value) { m_lifecycle = std::move(value); } /** *

The lifecycle defines when a protected resource is transitioned to cold * storage and when it expires. Backup transitions and expires backups * automatically according to the lifecycle that you define.

Backups * transitioned to cold storage must be stored in cold storage for a minimum of 90 * days. Therefore, the “retention” setting must be 90 days greater than the * “transition to cold after days” setting. The “transition to cold after days” * setting cannot be changed after a backup has been transitioned to cold.

*

Resource types that are able to be transitioned to cold storage are listed in * the "Lifecycle to cold storage" section of the * Feature availability by resource table. Backup ignores this expression for * other resource types.

*/ inline UpdateRecoveryPointLifecycleResult& WithLifecycle(const Lifecycle& value) { SetLifecycle(value); return *this;} /** *

The lifecycle defines when a protected resource is transitioned to cold * storage and when it expires. Backup transitions and expires backups * automatically according to the lifecycle that you define.

Backups * transitioned to cold storage must be stored in cold storage for a minimum of 90 * days. Therefore, the “retention” setting must be 90 days greater than the * “transition to cold after days” setting. The “transition to cold after days” * setting cannot be changed after a backup has been transitioned to cold.

*

Resource types that are able to be transitioned to cold storage are listed in * the "Lifecycle to cold storage" section of the * Feature availability by resource table. Backup ignores this expression for * other resource types.

*/ inline UpdateRecoveryPointLifecycleResult& WithLifecycle(Lifecycle&& value) { SetLifecycle(std::move(value)); return *this;} /** *

A CalculatedLifecycle object containing DeleteAt * and MoveToColdStorageAt timestamps.

*/ inline const CalculatedLifecycle& GetCalculatedLifecycle() const{ return m_calculatedLifecycle; } /** *

A CalculatedLifecycle object containing DeleteAt * and MoveToColdStorageAt timestamps.

*/ inline void SetCalculatedLifecycle(const CalculatedLifecycle& value) { m_calculatedLifecycle = value; } /** *

A CalculatedLifecycle object containing DeleteAt * and MoveToColdStorageAt timestamps.

*/ inline void SetCalculatedLifecycle(CalculatedLifecycle&& value) { m_calculatedLifecycle = std::move(value); } /** *

A CalculatedLifecycle object containing DeleteAt * and MoveToColdStorageAt timestamps.

*/ inline UpdateRecoveryPointLifecycleResult& WithCalculatedLifecycle(const CalculatedLifecycle& value) { SetCalculatedLifecycle(value); return *this;} /** *

A CalculatedLifecycle object containing DeleteAt * and MoveToColdStorageAt timestamps.

*/ inline UpdateRecoveryPointLifecycleResult& WithCalculatedLifecycle(CalculatedLifecycle&& value) { SetCalculatedLifecycle(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline UpdateRecoveryPointLifecycleResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline UpdateRecoveryPointLifecycleResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline UpdateRecoveryPointLifecycleResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_backupVaultArn; Aws::String m_recoveryPointArn; Lifecycle m_lifecycle; CalculatedLifecycle m_calculatedLifecycle; Aws::String m_requestId; }; } // namespace Model } // namespace Backup } // namespace Aws