/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Used to specify a set of resources to a backup plan. Specifying your
* desired Conditions
, ListOfTags
,
* NotResources
, and/or Resources
is recommended. If none
* of these are specified, Backup will attempt to select all supported and opted-in
* storage resources, which could have unintended cost implications.See
* Also:
AWS
* API Reference
The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline const Aws::String& GetSelectionName() const{ return m_selectionName; } /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline bool SelectionNameHasBeenSet() const { return m_selectionNameHasBeenSet; } /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline void SetSelectionName(const Aws::String& value) { m_selectionNameHasBeenSet = true; m_selectionName = value; } /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline void SetSelectionName(Aws::String&& value) { m_selectionNameHasBeenSet = true; m_selectionName = std::move(value); } /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline void SetSelectionName(const char* value) { m_selectionNameHasBeenSet = true; m_selectionName.assign(value); } /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline BackupSelection& WithSelectionName(const Aws::String& value) { SetSelectionName(value); return *this;} /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline BackupSelection& WithSelectionName(Aws::String&& value) { SetSelectionName(std::move(value)); return *this;} /** *The display name of a resource selection document. Must contain 1 to 50 * alphanumeric or '-_.' characters.
*/ inline BackupSelection& WithSelectionName(const char* value) { SetSelectionName(value); return *this;} /** *The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
The ARN of the IAM role that Backup uses to authenticate when backing up the
* target resource; for example,
* arn:aws:iam::123456789012:role/S3Access
.
A list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline const Aws::VectorA list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } /** *A list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline void SetResources(const Aws::VectorA list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline void SetResources(Aws::VectorA list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline BackupSelection& WithResources(const Aws::VectorA list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline BackupSelection& WithResources(Aws::VectorA list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline BackupSelection& AddResources(const Aws::String& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } /** *A list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline BackupSelection& AddResources(Aws::String&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } /** *A list of Amazon Resource Names (ARNs) to assign to a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to assign many resources to a backup plan, consider a different * resource selection strategy, such as assigning all resources of a resource type * or refining your resource selection using tags.
*/ inline BackupSelection& AddResources(const char* value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } /** *A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
ListOfTags
differs from
* Conditions
as follows:
When you specify more than * one condition, you assign all resources that match AT LEAST ONE condition (using * OR logic).
ListOfTags
only supports
* StringEquals
. Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline const Aws::VectorA list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline bool NotResourcesHasBeenSet() const { return m_notResourcesHasBeenSet; } /** *A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline void SetNotResources(const Aws::VectorA list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline void SetNotResources(Aws::VectorA list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline BackupSelection& WithNotResources(const Aws::VectorA list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline BackupSelection& WithNotResources(Aws::VectorA list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline BackupSelection& AddNotResources(const Aws::String& value) { m_notResourcesHasBeenSet = true; m_notResources.push_back(value); return *this; } /** *A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline BackupSelection& AddNotResources(Aws::String&& value) { m_notResourcesHasBeenSet = true; m_notResources.push_back(std::move(value)); return *this; } /** *A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The * maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
*If you need to exclude many resources from a backup plan, consider a * different resource selection strategy, such as assigning only one or a few * resource types or refining your resource selection using tags.
*/ inline BackupSelection& AddNotResources(const char* value) { m_notResourcesHasBeenSet = true; m_notResources.push_back(value); return *this; } /** *A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
Conditions
differs from
* ListOfTags
as follows:
When you specify more than * one condition, you only assign the resources that match ALL conditions (using * AND logic).
Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
* ListOfTags
only supports StringEquals
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
Conditions
differs from
* ListOfTags
as follows:
When you specify more than * one condition, you only assign the resources that match ALL conditions (using * AND logic).
Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
* ListOfTags
only supports StringEquals
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
Conditions
differs from
* ListOfTags
as follows:
When you specify more than * one condition, you only assign the resources that match ALL conditions (using * AND logic).
Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
* ListOfTags
only supports StringEquals
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
Conditions
differs from
* ListOfTags
as follows:
When you specify more than * one condition, you only assign the resources that match ALL conditions (using * AND logic).
Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
* ListOfTags
only supports StringEquals
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
Conditions
differs from
* ListOfTags
as follows:
When you specify more than * one condition, you only assign the resources that match ALL conditions (using * AND logic).
Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
* ListOfTags
only supports StringEquals
.
A list of conditions that you define to assign resources to your backup plans
* using tags. For example, "StringEquals": { "ConditionKey":
* "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition
* operators are case sensitive.
Conditions
differs from
* ListOfTags
as follows:
When you specify more than * one condition, you only assign the resources that match ALL conditions (using * AND logic).
Conditions
supports
* StringEquals
, StringLike
,
* StringNotEquals
, and StringNotLike
.
* ListOfTags
only supports StringEquals
.