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

A collection of Amazon Web Services resources supported by DevOps Guru. The * two types of Amazon Web Services resource collections supported are Amazon Web * Services CloudFormation stacks and Amazon Web Services resources that contain * the same Amazon Web Services tag. DevOps Guru can be configured to analyze the * Amazon Web Services resources that are defined in the stacks or that are tagged * using the same tag key. You can specify up to 500 Amazon Web Services * CloudFormation stacks.

See Also:

AWS * API Reference

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

An array of the names of Amazon Web Services CloudFormation stacks. The * stacks define Amazon Web Services resources that DevOps Guru analyzes. You can * specify up to 500 Amazon Web Services CloudFormation stacks.

*/ inline const CloudFormationCollection& GetCloudFormation() const{ return m_cloudFormation; } /** *

An array of the names of Amazon Web Services CloudFormation stacks. The * stacks define Amazon Web Services resources that DevOps Guru analyzes. You can * specify up to 500 Amazon Web Services CloudFormation stacks.

*/ inline bool CloudFormationHasBeenSet() const { return m_cloudFormationHasBeenSet; } /** *

An array of the names of Amazon Web Services CloudFormation stacks. The * stacks define Amazon Web Services resources that DevOps Guru analyzes. You can * specify up to 500 Amazon Web Services CloudFormation stacks.

*/ inline void SetCloudFormation(const CloudFormationCollection& value) { m_cloudFormationHasBeenSet = true; m_cloudFormation = value; } /** *

An array of the names of Amazon Web Services CloudFormation stacks. The * stacks define Amazon Web Services resources that DevOps Guru analyzes. You can * specify up to 500 Amazon Web Services CloudFormation stacks.

*/ inline void SetCloudFormation(CloudFormationCollection&& value) { m_cloudFormationHasBeenSet = true; m_cloudFormation = std::move(value); } /** *

An array of the names of Amazon Web Services CloudFormation stacks. The * stacks define Amazon Web Services resources that DevOps Guru analyzes. You can * specify up to 500 Amazon Web Services CloudFormation stacks.

*/ inline ResourceCollection& WithCloudFormation(const CloudFormationCollection& value) { SetCloudFormation(value); return *this;} /** *

An array of the names of Amazon Web Services CloudFormation stacks. The * stacks define Amazon Web Services resources that DevOps Guru analyzes. You can * specify up to 500 Amazon Web Services CloudFormation stacks.

*/ inline ResourceCollection& WithCloudFormation(CloudFormationCollection&& value) { SetCloudFormation(std::move(value)); return *this;} /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline ResourceCollection& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline ResourceCollection& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline ResourceCollection& AddTags(const TagCollection& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The Amazon Web Services tags that are used by resources in the resource * collection.

Tags help you identify and organize your Amazon Web Services * resources. Many Amazon Web Services services support tagging, so you can assign * the same tag to resources from different services to indicate that the resources * are related. For example, you can assign the same tag to an Amazon DynamoDB * table resource that you assign to an Lambda function. For more information about * using tags, see the Tagging * best practices whitepaper.

Each Amazon Web Services tag has two * parts.

  • A tag key (for example, CostCenter, * Environment, Project, or Secret). Tag * keys are case-sensitive.

  • An optional field known as a * tag value (for example, 111122223333, * Production, or a team name). Omitting the tag value is the * same as using an empty string. Like tag keys, tag values are * case-sensitive.

Together these are known as * key-value pairs.

The string used for a * key in a tag that you use to define your resource coverage must begin * with the prefix Devops-guru-. The tag key might be * DevOps-Guru-deployment-application or * devops-guru-rds-application. When you create a key, the case * of characters in the key can be whatever you choose. After you create a * key, it is case-sensitive. For example, DevOps Guru works with a * key named devops-guru-rds and a key named * DevOps-Guru-RDS, and these act as two different keys. * Possible key/value pairs in your application might be * Devops-Guru-production-application/RDS or * Devops-Guru-production-application/containers.

*/ inline ResourceCollection& AddTags(TagCollection&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: CloudFormationCollection m_cloudFormation; bool m_cloudFormationHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace DevOpsGuru } // namespace Aws