/** * 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 CostExplorer { namespace Model { /** */ class CreateAnomalySubscriptionRequest : public CostExplorerRequest { public: AWS_COSTEXPLORER_API CreateAnomalySubscriptionRequest(); // 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 "CreateAnomalySubscription"; } AWS_COSTEXPLORER_API Aws::String SerializePayload() const override; AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The cost anomaly subscription object that you want to create.

*/ inline const AnomalySubscription& GetAnomalySubscription() const{ return m_anomalySubscription; } /** *

The cost anomaly subscription object that you want to create.

*/ inline bool AnomalySubscriptionHasBeenSet() const { return m_anomalySubscriptionHasBeenSet; } /** *

The cost anomaly subscription object that you want to create.

*/ inline void SetAnomalySubscription(const AnomalySubscription& value) { m_anomalySubscriptionHasBeenSet = true; m_anomalySubscription = value; } /** *

The cost anomaly subscription object that you want to create.

*/ inline void SetAnomalySubscription(AnomalySubscription&& value) { m_anomalySubscriptionHasBeenSet = true; m_anomalySubscription = std::move(value); } /** *

The cost anomaly subscription object that you want to create.

*/ inline CreateAnomalySubscriptionRequest& WithAnomalySubscription(const AnomalySubscription& value) { SetAnomalySubscription(value); return *this;} /** *

The cost anomaly subscription object that you want to create.

*/ inline CreateAnomalySubscriptionRequest& WithAnomalySubscription(AnomalySubscription&& value) { SetAnomalySubscription(std::move(value)); return *this;} /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline const Aws::Vector& GetResourceTags() const{ return m_resourceTags; } /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline void SetResourceTags(const Aws::Vector& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline void SetResourceTags(Aws::Vector&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline CreateAnomalySubscriptionRequest& WithResourceTags(const Aws::Vector& value) { SetResourceTags(value); return *this;} /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline CreateAnomalySubscriptionRequest& WithResourceTags(Aws::Vector&& value) { SetResourceTags(std::move(value)); return *this;} /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline CreateAnomalySubscriptionRequest& AddResourceTags(const ResourceTag& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(value); return *this; } /** *

An optional list of tags to associate with the specified * AnomalySubscription . You can use resource tags to control * access to your subscription using IAM policies.

Each tag * consists of a key and a value, and each key must be unique for the resource. The * following restrictions apply to resource tags:

  • Although the * maximum number of array members is 200, you can assign a maximum of 50 user-tags * to one resource. The remaining are reserved for Amazon Web Services use

    *
  • The maximum length of a key is 128 characters

  • *

    The maximum length of a value is 256 characters

  • Keys and * values can only contain alphanumeric characters, spaces, and any of the * following: _.:/=+@-

  • Keys and values are case * sensitive

  • Keys and values are trimmed for any leading or * trailing whitespaces

  • Don’t use aws: as a prefix * for your keys. This prefix is reserved for Amazon Web Services use

  • *
*/ inline CreateAnomalySubscriptionRequest& AddResourceTags(ResourceTag&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.push_back(std::move(value)); return *this; } private: AnomalySubscription m_anomalySubscription; bool m_anomalySubscriptionHasBeenSet = false; Aws::Vector m_resourceTags; bool m_resourceTagsHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws