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

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

*/ inline const Aws::String& GetBackupVaultName() const{ return m_backupVaultName; } /** *

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

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

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

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

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

*/ inline void SetBackupVaultName(const char* value) { m_backupVaultName.assign(value); } /** *

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

*/ inline DescribeBackupVaultResult& WithBackupVaultName(const Aws::String& value) { SetBackupVaultName(value); return *this;} /** *

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

*/ inline DescribeBackupVaultResult& WithBackupVaultName(Aws::String&& value) { SetBackupVaultName(std::move(value)); return *this;} /** *

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the account used to create them and the * Region where they are created. They consist of lowercase letters, numbers, and * hyphens.

*/ inline DescribeBackupVaultResult& WithBackupVaultName(const char* value) { SetBackupVaultName(value); return *this;} /** *

An Amazon Resource Name (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 Amazon Resource Name (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 Amazon Resource Name (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 Amazon Resource Name (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 Amazon Resource Name (ARN) that uniquely identifies a backup vault; for * example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

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

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

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

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

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

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

*/ inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } /** *

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

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

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

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

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

*/ inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArn.assign(value); } /** *

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

*/ inline DescribeBackupVaultResult& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} /** *

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

*/ inline DescribeBackupVaultResult& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} /** *

The server-side encryption key that is used to protect your backups; for * example, * arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

*/ inline DescribeBackupVaultResult& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} /** *

The date and time that a backup vault is created, in Unix format and * Coordinated Universal Time (UTC). The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date and time that a backup vault is created, in Unix format and * Coordinated Universal Time (UTC). The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDate = value; } /** *

The date and time that a backup vault is created, in Unix format and * Coordinated Universal Time (UTC). The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDate = std::move(value); } /** *

The date and time that a backup vault is created, in Unix format and * Coordinated Universal Time (UTC). The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM.

*/ inline DescribeBackupVaultResult& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date and time that a backup vault is created, in Unix format and * Coordinated Universal Time (UTC). The value of CreationDate is * accurate to milliseconds. For example, the value 1516925490.087 represents * Friday, January 26, 2018 12:11:30.087 AM.

*/ inline DescribeBackupVaultResult& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

*/ inline const Aws::String& GetCreatorRequestId() const{ return m_creatorRequestId; } /** *

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

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

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

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

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

*/ inline void SetCreatorRequestId(const char* value) { m_creatorRequestId.assign(value); } /** *

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

*/ inline DescribeBackupVaultResult& WithCreatorRequestId(const Aws::String& value) { SetCreatorRequestId(value); return *this;} /** *

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

*/ inline DescribeBackupVaultResult& WithCreatorRequestId(Aws::String&& value) { SetCreatorRequestId(std::move(value)); return *this;} /** *

A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice.

*/ inline DescribeBackupVaultResult& WithCreatorRequestId(const char* value) { SetCreatorRequestId(value); return *this;} /** *

The number of recovery points that are stored in a backup vault.

*/ inline long long GetNumberOfRecoveryPoints() const{ return m_numberOfRecoveryPoints; } /** *

The number of recovery points that are stored in a backup vault.

*/ inline void SetNumberOfRecoveryPoints(long long value) { m_numberOfRecoveryPoints = value; } /** *

The number of recovery points that are stored in a backup vault.

*/ inline DescribeBackupVaultResult& WithNumberOfRecoveryPoints(long long value) { SetNumberOfRecoveryPoints(value); return *this;} /** *

A Boolean that indicates whether Backup Vault Lock is currently protecting * the backup vault. True means that Vault Lock causes delete or * update operations on the recovery points stored in the vault to fail.

*/ inline bool GetLocked() const{ return m_locked; } /** *

A Boolean that indicates whether Backup Vault Lock is currently protecting * the backup vault. True means that Vault Lock causes delete or * update operations on the recovery points stored in the vault to fail.

*/ inline void SetLocked(bool value) { m_locked = value; } /** *

A Boolean that indicates whether Backup Vault Lock is currently protecting * the backup vault. True means that Vault Lock causes delete or * update operations on the recovery points stored in the vault to fail.

*/ inline DescribeBackupVaultResult& WithLocked(bool value) { SetLocked(value); return *this;} /** *

The Backup Vault Lock setting that specifies the minimum retention period * that the vault retains its recovery points. If this parameter is not specified, * Vault Lock does not enforce a minimum retention period.

If specified, any * backup or copy job to the vault must have a lifecycle policy with a retention * period equal to or longer than the minimum retention period. If the job's * retention period is shorter than that minimum retention period, then the vault * fails the backup or copy job, and you should either modify your lifecycle * settings or use a different vault. Recovery points already stored in the vault * prior to Vault Lock are not affected.

*/ inline long long GetMinRetentionDays() const{ return m_minRetentionDays; } /** *

The Backup Vault Lock setting that specifies the minimum retention period * that the vault retains its recovery points. If this parameter is not specified, * Vault Lock does not enforce a minimum retention period.

If specified, any * backup or copy job to the vault must have a lifecycle policy with a retention * period equal to or longer than the minimum retention period. If the job's * retention period is shorter than that minimum retention period, then the vault * fails the backup or copy job, and you should either modify your lifecycle * settings or use a different vault. Recovery points already stored in the vault * prior to Vault Lock are not affected.

*/ inline void SetMinRetentionDays(long long value) { m_minRetentionDays = value; } /** *

The Backup Vault Lock setting that specifies the minimum retention period * that the vault retains its recovery points. If this parameter is not specified, * Vault Lock does not enforce a minimum retention period.

If specified, any * backup or copy job to the vault must have a lifecycle policy with a retention * period equal to or longer than the minimum retention period. If the job's * retention period is shorter than that minimum retention period, then the vault * fails the backup or copy job, and you should either modify your lifecycle * settings or use a different vault. Recovery points already stored in the vault * prior to Vault Lock are not affected.

*/ inline DescribeBackupVaultResult& WithMinRetentionDays(long long value) { SetMinRetentionDays(value); return *this;} /** *

The Backup Vault Lock setting that specifies the maximum retention period * that the vault retains its recovery points. If this parameter is not specified, * Vault Lock does not enforce a maximum retention period on the recovery points in * the vault (allowing indefinite storage).

If specified, any backup or copy * job to the vault must have a lifecycle policy with a retention period equal to * or shorter than the maximum retention period. If the job's retention period is * longer than that maximum retention period, then the vault fails the backup or * copy job, and you should either modify your lifecycle settings or use a * different vault. Recovery points already stored in the vault prior to Vault Lock * are not affected.

*/ inline long long GetMaxRetentionDays() const{ return m_maxRetentionDays; } /** *

The Backup Vault Lock setting that specifies the maximum retention period * that the vault retains its recovery points. If this parameter is not specified, * Vault Lock does not enforce a maximum retention period on the recovery points in * the vault (allowing indefinite storage).

If specified, any backup or copy * job to the vault must have a lifecycle policy with a retention period equal to * or shorter than the maximum retention period. If the job's retention period is * longer than that maximum retention period, then the vault fails the backup or * copy job, and you should either modify your lifecycle settings or use a * different vault. Recovery points already stored in the vault prior to Vault Lock * are not affected.

*/ inline void SetMaxRetentionDays(long long value) { m_maxRetentionDays = value; } /** *

The Backup Vault Lock setting that specifies the maximum retention period * that the vault retains its recovery points. If this parameter is not specified, * Vault Lock does not enforce a maximum retention period on the recovery points in * the vault (allowing indefinite storage).

If specified, any backup or copy * job to the vault must have a lifecycle policy with a retention period equal to * or shorter than the maximum retention period. If the job's retention period is * longer than that maximum retention period, then the vault fails the backup or * copy job, and you should either modify your lifecycle settings or use a * different vault. Recovery points already stored in the vault prior to Vault Lock * are not affected.

*/ inline DescribeBackupVaultResult& WithMaxRetentionDays(long long value) { SetMaxRetentionDays(value); return *this;} /** *

The date and time when Backup Vault Lock configuration cannot be changed or * deleted.

If you applied Vault Lock to your vault without specifying a * lock date, you can change any of your Vault Lock settings, or delete Vault Lock * from the vault entirely, at any time.

This value is in Unix format, * Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

*/ inline const Aws::Utils::DateTime& GetLockDate() const{ return m_lockDate; } /** *

The date and time when Backup Vault Lock configuration cannot be changed or * deleted.

If you applied Vault Lock to your vault without specifying a * lock date, you can change any of your Vault Lock settings, or delete Vault Lock * from the vault entirely, at any time.

This value is in Unix format, * Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

*/ inline void SetLockDate(const Aws::Utils::DateTime& value) { m_lockDate = value; } /** *

The date and time when Backup Vault Lock configuration cannot be changed or * deleted.

If you applied Vault Lock to your vault without specifying a * lock date, you can change any of your Vault Lock settings, or delete Vault Lock * from the vault entirely, at any time.

This value is in Unix format, * Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

*/ inline void SetLockDate(Aws::Utils::DateTime&& value) { m_lockDate = std::move(value); } /** *

The date and time when Backup Vault Lock configuration cannot be changed or * deleted.

If you applied Vault Lock to your vault without specifying a * lock date, you can change any of your Vault Lock settings, or delete Vault Lock * from the vault entirely, at any time.

This value is in Unix format, * Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

*/ inline DescribeBackupVaultResult& WithLockDate(const Aws::Utils::DateTime& value) { SetLockDate(value); return *this;} /** *

The date and time when Backup Vault Lock configuration cannot be changed or * deleted.

If you applied Vault Lock to your vault without specifying a * lock date, you can change any of your Vault Lock settings, or delete Vault Lock * from the vault entirely, at any time.

This value is in Unix format, * Coordinated Universal Time (UTC), and accurate to milliseconds. For example, the * value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

*/ inline DescribeBackupVaultResult& WithLockDate(Aws::Utils::DateTime&& value) { SetLockDate(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 DescribeBackupVaultResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeBackupVaultResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeBackupVaultResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_backupVaultName; Aws::String m_backupVaultArn; Aws::String m_encryptionKeyArn; Aws::Utils::DateTime m_creationDate; Aws::String m_creatorRequestId; long long m_numberOfRecoveryPoints; bool m_locked; long long m_minRetentionDays; long long m_maxRetentionDays; Aws::Utils::DateTime m_lockDate; Aws::String m_requestId; }; } // namespace Model } // namespace Backup } // namespace Aws