/** * 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 CreateBackupPlanRequest : public BackupRequest { public: AWS_BACKUP_API CreateBackupPlanRequest(); // 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 "CreateBackupPlan"; } AWS_BACKUP_API Aws::String SerializePayload() const override; /** *

Specifies the body of a backup plan. Includes a BackupPlanName * and one or more sets of Rules.

*/ inline const BackupPlanInput& GetBackupPlan() const{ return m_backupPlan; } /** *

Specifies the body of a backup plan. Includes a BackupPlanName * and one or more sets of Rules.

*/ inline bool BackupPlanHasBeenSet() const { return m_backupPlanHasBeenSet; } /** *

Specifies the body of a backup plan. Includes a BackupPlanName * and one or more sets of Rules.

*/ inline void SetBackupPlan(const BackupPlanInput& value) { m_backupPlanHasBeenSet = true; m_backupPlan = value; } /** *

Specifies the body of a backup plan. Includes a BackupPlanName * and one or more sets of Rules.

*/ inline void SetBackupPlan(BackupPlanInput&& value) { m_backupPlanHasBeenSet = true; m_backupPlan = std::move(value); } /** *

Specifies the body of a backup plan. Includes a BackupPlanName * and one or more sets of Rules.

*/ inline CreateBackupPlanRequest& WithBackupPlan(const BackupPlanInput& value) { SetBackupPlan(value); return *this;} /** *

Specifies the body of a backup plan. Includes a BackupPlanName * and one or more sets of Rules.

*/ inline CreateBackupPlanRequest& WithBackupPlan(BackupPlanInput&& value) { SetBackupPlan(std::move(value)); return *this;} /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline const Aws::Map& GetBackupPlanTags() const{ return m_backupPlanTags; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline bool BackupPlanTagsHasBeenSet() const { return m_backupPlanTagsHasBeenSet; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline void SetBackupPlanTags(const Aws::Map& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags = value; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline void SetBackupPlanTags(Aws::Map&& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags = std::move(value); } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& WithBackupPlanTags(const Aws::Map& value) { SetBackupPlanTags(value); return *this;} /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& WithBackupPlanTags(Aws::Map&& value) { SetBackupPlanTags(std::move(value)); return *this;} /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(const Aws::String& key, const Aws::String& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(key, value); return *this; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(Aws::String&& key, const Aws::String& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(std::move(key), value); return *this; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(const Aws::String& key, Aws::String&& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(key, std::move(value)); return *this; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(Aws::String&& key, Aws::String&& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(std::move(key), std::move(value)); return *this; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(const char* key, Aws::String&& value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(key, std::move(value)); return *this; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(Aws::String&& key, const char* value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(std::move(key), value); return *this; } /** *

To help organize your resources, you can assign your own metadata to the * resources that you create. Each tag is a key-value pair. The specified tags are * assigned to all backups created with this plan.

*/ inline CreateBackupPlanRequest& AddBackupPlanTags(const char* key, const char* value) { m_backupPlanTagsHasBeenSet = true; m_backupPlanTags.emplace(key, value); return *this; } /** *

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. 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; } /** *

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. This parameter is optional.

If used, this parameter must * contain 1 to 50 alphanumeric or '-_.' characters.

*/ inline bool CreatorRequestIdHasBeenSet() const { return m_creatorRequestIdHasBeenSet; } /** *

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. 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; } /** *

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. 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); } /** *

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. 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); } /** *

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. This parameter is optional.

If used, this parameter must * contain 1 to 50 alphanumeric or '-_.' characters.

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

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. This parameter is optional.

If used, this parameter must * contain 1 to 50 alphanumeric or '-_.' characters.

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

Identifies the request and allows failed requests to be retried without the * risk of running the operation twice. If the request includes a * CreatorRequestId that matches an existing backup plan, that plan is * returned. This parameter is optional.

If used, this parameter must * contain 1 to 50 alphanumeric or '-_.' characters.

*/ inline CreateBackupPlanRequest& WithCreatorRequestId(const char* value) { SetCreatorRequestId(value); return *this;} private: BackupPlanInput m_backupPlan; bool m_backupPlanHasBeenSet = false; Aws::Map m_backupPlanTags; bool m_backupPlanTagsHasBeenSet = false; Aws::String m_creatorRequestId; bool m_creatorRequestIdHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws