/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains metadata about a backup vault.See Also:
AWS
* API Reference
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 * Amazon Web Services 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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline bool BackupVaultNameHasBeenSet() const { return m_backupVaultNameHasBeenSet; } /** *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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline void SetBackupVaultName(const Aws::String& value) { m_backupVaultNameHasBeenSet = true; 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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline void SetBackupVaultName(Aws::String&& value) { m_backupVaultNameHasBeenSet = true; 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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline void SetBackupVaultName(const char* value) { m_backupVaultNameHasBeenSet = true; 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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline BackupVaultListMember& 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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline BackupVaultListMember& 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 * Amazon Web Services Region where they are created. They consist of lowercase * letters, numbers, and hyphens.
*/ inline BackupVaultListMember& 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
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
* example,
* arn:aws:backup:us-east-1:123456789012:vault:aBackupVault
.
The date and time a resource backup 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.
The date and time a resource backup 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.
The date and time a resource backup 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.
The date and time a resource backup 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.
The date and time a resource backup 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.
The date and time a resource backup 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.
A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline void SetEncryptionKeyArn(const Aws::String& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = value; } /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline void SetEncryptionKeyArn(Aws::String&& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = std::move(value); } /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn.assign(value); } /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline BackupVaultListMember& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline BackupVaultListMember& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} /** *A server-side encryption key you can specify to encrypt your backups from
* services that support full Backup management; for example,
* arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
.
* If you specify a key, you must specify its ARN, not its alias. If you do not
* specify a key, Backup creates a KMS key for you by default.
To learn * which Backup services support full Backup management and how Backup handles * encryption for backups from services that do not yet support full Backup, see * Encryption for backups in Backup
*/ inline BackupVaultListMember& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ 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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; } /** *A unique string that identifies the request and allows failed requests to be * retried without the risk of running the operation twice. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline void SetCreatorRequestId(const Aws::String& value) { m_creatorRequestIdHasBeenSet = true; 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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline void SetCreatorRequestId(Aws::String&& value) { m_creatorRequestIdHasBeenSet = true; 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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline void SetCreatorRequestId(const char* value) { m_creatorRequestIdHasBeenSet = true; 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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline BackupVaultListMember& 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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline BackupVaultListMember& 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. This parameter is * optional.
If used, this parameter must contain 1 to 50 alphanumeric or * '-_.' characters.
*/ inline BackupVaultListMember& 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 bool NumberOfRecoveryPointsHasBeenSet() const { return m_numberOfRecoveryPointsHasBeenSet; } /** *The number of recovery points that are stored in a backup vault.
*/ inline void SetNumberOfRecoveryPoints(long long value) { m_numberOfRecoveryPointsHasBeenSet = true; m_numberOfRecoveryPoints = value; } /** *The number of recovery points that are stored in a backup vault.
*/ inline BackupVaultListMember& WithNumberOfRecoveryPoints(long long value) { SetNumberOfRecoveryPoints(value); return *this;} /** *A Boolean value that indicates whether Backup Vault Lock applies to the
* selected backup vault. If true
, Vault Lock prevents delete and
* update operations on the recovery points in the selected vault.
A Boolean value that indicates whether Backup Vault Lock applies to the
* selected backup vault. If true
, Vault Lock prevents delete and
* update operations on the recovery points in the selected vault.
A Boolean value that indicates whether Backup Vault Lock applies to the
* selected backup vault. If true
, Vault Lock prevents delete and
* update operations on the recovery points in the selected vault.
A Boolean value that indicates whether Backup Vault Lock applies to the
* selected backup vault. If true
, Vault Lock prevents delete and
* update operations on the recovery points in the selected vault.
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 bool MinRetentionDaysHasBeenSet() const { return m_minRetentionDaysHasBeenSet; } /** *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_minRetentionDaysHasBeenSet = true; 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 BackupVaultListMember& 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 bool MaxRetentionDaysHasBeenSet() const { return m_maxRetentionDaysHasBeenSet; } /** *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_maxRetentionDaysHasBeenSet = true; 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 BackupVaultListMember& WithMaxRetentionDays(long long value) { SetMaxRetentionDays(value); return *this;} /** *The date and time when Backup Vault Lock configuration becomes immutable, * meaning it cannot be changed or deleted.
If you applied Vault Lock to * your vault without specifying a lock date, you can change 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 becomes immutable, * meaning it cannot be changed or deleted.
If you applied Vault Lock to * your vault without specifying a lock date, you can change 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 bool LockDateHasBeenSet() const { return m_lockDateHasBeenSet; } /** *The date and time when Backup Vault Lock configuration becomes immutable, * meaning it cannot be changed or deleted.
If you applied Vault Lock to * your vault without specifying a lock date, you can change 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_lockDateHasBeenSet = true; m_lockDate = value; } /** *The date and time when Backup Vault Lock configuration becomes immutable, * meaning it cannot be changed or deleted.
If you applied Vault Lock to * your vault without specifying a lock date, you can change 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_lockDateHasBeenSet = true; m_lockDate = std::move(value); } /** *The date and time when Backup Vault Lock configuration becomes immutable, * meaning it cannot be changed or deleted.
If you applied Vault Lock to * your vault without specifying a lock date, you can change 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 BackupVaultListMember& WithLockDate(const Aws::Utils::DateTime& value) { SetLockDate(value); return *this;} /** *The date and time when Backup Vault Lock configuration becomes immutable, * meaning it cannot be changed or deleted.
If you applied Vault Lock to * your vault without specifying a lock date, you can change 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 BackupVaultListMember& WithLockDate(Aws::Utils::DateTime&& value) { SetLockDate(std::move(value)); return *this;} private: Aws::String m_backupVaultName; bool m_backupVaultNameHasBeenSet = false; Aws::String m_backupVaultArn; bool m_backupVaultArnHasBeenSet = false; Aws::Utils::DateTime m_creationDate; bool m_creationDateHasBeenSet = false; Aws::String m_encryptionKeyArn; bool m_encryptionKeyArnHasBeenSet = false; Aws::String m_creatorRequestId; bool m_creatorRequestIdHasBeenSet = false; long long m_numberOfRecoveryPoints; bool m_numberOfRecoveryPointsHasBeenSet = false; bool m_locked; bool m_lockedHasBeenSet = false; long long m_minRetentionDays; bool m_minRetentionDaysHasBeenSet = false; long long m_maxRetentionDays; bool m_maxRetentionDaysHasBeenSet = false; Aws::Utils::DateTime m_lockDate; bool m_lockDateHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws