/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Backup { namespace Model { /** */ class PutBackupVaultNotificationsRequest : public BackupRequest { public: AWS_BACKUP_API PutBackupVaultNotificationsRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutBackupVaultNotifications"; } AWS_BACKUP_API Aws::String SerializePayload() const override; /** *

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 PutBackupVaultNotificationsRequest& 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 PutBackupVaultNotificationsRequest& 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 PutBackupVaultNotificationsRequest& WithBackupVaultName(const char* value) { SetBackupVaultName(value); return *this;} /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline const Aws::String& GetSNSTopicArn() const{ return m_sNSTopicArn; } /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline bool SNSTopicArnHasBeenSet() const { return m_sNSTopicArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline void SetSNSTopicArn(const Aws::String& value) { m_sNSTopicArnHasBeenSet = true; m_sNSTopicArn = value; } /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline void SetSNSTopicArn(Aws::String&& value) { m_sNSTopicArnHasBeenSet = true; m_sNSTopicArn = std::move(value); } /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline void SetSNSTopicArn(const char* value) { m_sNSTopicArnHasBeenSet = true; m_sNSTopicArn.assign(value); } /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline PutBackupVaultNotificationsRequest& WithSNSTopicArn(const Aws::String& value) { SetSNSTopicArn(value); return *this;} /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline PutBackupVaultNotificationsRequest& WithSNSTopicArn(Aws::String&& value) { SetSNSTopicArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s * events; for example, * arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

*/ inline PutBackupVaultNotificationsRequest& WithSNSTopicArn(const char* value) { SetSNSTopicArn(value); return *this;} /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline const Aws::Vector& GetBackupVaultEvents() const{ return m_backupVaultEvents; } /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline bool BackupVaultEventsHasBeenSet() const { return m_backupVaultEventsHasBeenSet; } /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline void SetBackupVaultEvents(const Aws::Vector& value) { m_backupVaultEventsHasBeenSet = true; m_backupVaultEvents = value; } /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline void SetBackupVaultEvents(Aws::Vector&& value) { m_backupVaultEventsHasBeenSet = true; m_backupVaultEvents = std::move(value); } /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline PutBackupVaultNotificationsRequest& WithBackupVaultEvents(const Aws::Vector& value) { SetBackupVaultEvents(value); return *this;} /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline PutBackupVaultNotificationsRequest& WithBackupVaultEvents(Aws::Vector&& value) { SetBackupVaultEvents(std::move(value)); return *this;} /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline PutBackupVaultNotificationsRequest& AddBackupVaultEvents(const BackupVaultEvent& value) { m_backupVaultEventsHasBeenSet = true; m_backupVaultEvents.push_back(value); return *this; } /** *

An array of events that indicate the status of jobs to back up resources to * the backup vault.

For common use cases and code samples, see Using * Amazon SNS to track Backup events.

The following events are * supported:

  • BACKUP_JOB_STARTED | * BACKUP_JOB_COMPLETED

  • * COPY_JOB_STARTED | COPY_JOB_SUCCESSFUL | * COPY_JOB_FAILED

  • * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | * RECOVERY_POINT_MODIFIED

  • * S3_BACKUP_OBJECT_FAILED | S3_RESTORE_OBJECT_FAILED *

The list below shows items that are deprecated events * (for reference) and are no longer in use. They are no longer supported and will * not return statuses or notifications. Refer to the list above for current * supported events.

*/ inline PutBackupVaultNotificationsRequest& AddBackupVaultEvents(BackupVaultEvent&& value) { m_backupVaultEventsHasBeenSet = true; m_backupVaultEvents.push_back(std::move(value)); return *this; } private: Aws::String m_backupVaultName; bool m_backupVaultNameHasBeenSet = false; Aws::String m_sNSTopicArn; bool m_sNSTopicArnHasBeenSet = false; Aws::Vector m_backupVaultEvents; bool m_backupVaultEventsHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws