/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides details about an Backup backup vault. In Backup, a backup vault is a * container that stores and organizes your backups.

See Also:

AWS * API Reference

*/ class AwsBackupBackupVaultDetails { public: AWS_SECURITYHUB_API AwsBackupBackupVaultDetails(); AWS_SECURITYHUB_API AwsBackupBackupVaultDetails(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API AwsBackupBackupVaultDetails& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

*/ inline bool BackupVaultArnHasBeenSet() const { return m_backupVaultArnHasBeenSet; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

An Amazon Resource Name (ARN) that uniquely identifies a backup vault.

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

The name of a logical container where backups are stored. Backup vaults are * identified by names that are unique to the Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services account used to * create them and the Amazon Web Services Region where they are created. They * consist of lowercase letters, numbers, and hyphens.

*/ inline AwsBackupBackupVaultDetails& 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 Amazon Web Services account used to * create them and the Amazon Web Services Region where they are created. They * consist of lowercase letters, numbers, and hyphens.

*/ inline AwsBackupBackupVaultDetails& 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 Amazon Web Services account used to * create them and the Amazon Web Services Region where they are created. They * consist of lowercase letters, numbers, and hyphens.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

*/ inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } /** *

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The unique ARN associated with the server-side encryption key. You can * specify a key to encrypt your backups from services that support full Backup * management. If you do not specify a key, Backup creates an KMS key for you by * default.

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

The Amazon SNS event notifications for the specified backup vault.

*/ inline const AwsBackupBackupVaultNotificationsDetails& GetNotifications() const{ return m_notifications; } /** *

The Amazon SNS event notifications for the specified backup vault.

*/ inline bool NotificationsHasBeenSet() const { return m_notificationsHasBeenSet; } /** *

The Amazon SNS event notifications for the specified backup vault.

*/ inline void SetNotifications(const AwsBackupBackupVaultNotificationsDetails& value) { m_notificationsHasBeenSet = true; m_notifications = value; } /** *

The Amazon SNS event notifications for the specified backup vault.

*/ inline void SetNotifications(AwsBackupBackupVaultNotificationsDetails&& value) { m_notificationsHasBeenSet = true; m_notifications = std::move(value); } /** *

The Amazon SNS event notifications for the specified backup vault.

*/ inline AwsBackupBackupVaultDetails& WithNotifications(const AwsBackupBackupVaultNotificationsDetails& value) { SetNotifications(value); return *this;} /** *

The Amazon SNS event notifications for the specified backup vault.

*/ inline AwsBackupBackupVaultDetails& WithNotifications(AwsBackupBackupVaultNotificationsDetails&& value) { SetNotifications(std::move(value)); return *this;} /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline const Aws::String& GetAccessPolicy() const{ return m_accessPolicy; } /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline bool AccessPolicyHasBeenSet() const { return m_accessPolicyHasBeenSet; } /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline void SetAccessPolicy(const Aws::String& value) { m_accessPolicyHasBeenSet = true; m_accessPolicy = value; } /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline void SetAccessPolicy(Aws::String&& value) { m_accessPolicyHasBeenSet = true; m_accessPolicy = std::move(value); } /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline void SetAccessPolicy(const char* value) { m_accessPolicyHasBeenSet = true; m_accessPolicy.assign(value); } /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline AwsBackupBackupVaultDetails& WithAccessPolicy(const Aws::String& value) { SetAccessPolicy(value); return *this;} /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline AwsBackupBackupVaultDetails& WithAccessPolicy(Aws::String&& value) { SetAccessPolicy(std::move(value)); return *this;} /** *

A resource-based policy that is used to manage access permissions on the * target backup vault.

*/ inline AwsBackupBackupVaultDetails& WithAccessPolicy(const char* value) { SetAccessPolicy(value); return *this;} private: Aws::String m_backupVaultArn; bool m_backupVaultArnHasBeenSet = false; Aws::String m_backupVaultName; bool m_backupVaultNameHasBeenSet = false; Aws::String m_encryptionKeyArn; bool m_encryptionKeyArnHasBeenSet = false; AwsBackupBackupVaultNotificationsDetails m_notifications; bool m_notificationsHasBeenSet = false; Aws::String m_accessPolicy; bool m_accessPolicyHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws