/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace CostExplorer { namespace Model { /** */ class GetDimensionValuesRequest : public CostExplorerRequest { public: AWS_COSTEXPLORER_API GetDimensionValuesRequest(); // 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 "GetDimensionValues"; } AWS_COSTEXPLORER_API Aws::String SerializePayload() const override; AWS_COSTEXPLORER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The value that you want to search the filter values for.

*/ inline const Aws::String& GetSearchString() const{ return m_searchString; } /** *

The value that you want to search the filter values for.

*/ inline bool SearchStringHasBeenSet() const { return m_searchStringHasBeenSet; } /** *

The value that you want to search the filter values for.

*/ inline void SetSearchString(const Aws::String& value) { m_searchStringHasBeenSet = true; m_searchString = value; } /** *

The value that you want to search the filter values for.

*/ inline void SetSearchString(Aws::String&& value) { m_searchStringHasBeenSet = true; m_searchString = std::move(value); } /** *

The value that you want to search the filter values for.

*/ inline void SetSearchString(const char* value) { m_searchStringHasBeenSet = true; m_searchString.assign(value); } /** *

The value that you want to search the filter values for.

*/ inline GetDimensionValuesRequest& WithSearchString(const Aws::String& value) { SetSearchString(value); return *this;} /** *

The value that you want to search the filter values for.

*/ inline GetDimensionValuesRequest& WithSearchString(Aws::String&& value) { SetSearchString(std::move(value)); return *this;} /** *

The value that you want to search the filter values for.

*/ inline GetDimensionValuesRequest& WithSearchString(const char* value) { SetSearchString(value); return *this;} /** *

The start date and end date for retrieving the dimension values. The start * date is inclusive, but the end date is exclusive. For example, if * start is 2017-01-01 and end is * 2017-05-01, then the cost and usage data is retrieved from * 2017-01-01 up to and including 2017-04-30 but not * including 2017-05-01.

*/ inline const DateInterval& GetTimePeriod() const{ return m_timePeriod; } /** *

The start date and end date for retrieving the dimension values. The start * date is inclusive, but the end date is exclusive. For example, if * start is 2017-01-01 and end is * 2017-05-01, then the cost and usage data is retrieved from * 2017-01-01 up to and including 2017-04-30 but not * including 2017-05-01.

*/ inline bool TimePeriodHasBeenSet() const { return m_timePeriodHasBeenSet; } /** *

The start date and end date for retrieving the dimension values. The start * date is inclusive, but the end date is exclusive. For example, if * start is 2017-01-01 and end is * 2017-05-01, then the cost and usage data is retrieved from * 2017-01-01 up to and including 2017-04-30 but not * including 2017-05-01.

*/ inline void SetTimePeriod(const DateInterval& value) { m_timePeriodHasBeenSet = true; m_timePeriod = value; } /** *

The start date and end date for retrieving the dimension values. The start * date is inclusive, but the end date is exclusive. For example, if * start is 2017-01-01 and end is * 2017-05-01, then the cost and usage data is retrieved from * 2017-01-01 up to and including 2017-04-30 but not * including 2017-05-01.

*/ inline void SetTimePeriod(DateInterval&& value) { m_timePeriodHasBeenSet = true; m_timePeriod = std::move(value); } /** *

The start date and end date for retrieving the dimension values. The start * date is inclusive, but the end date is exclusive. For example, if * start is 2017-01-01 and end is * 2017-05-01, then the cost and usage data is retrieved from * 2017-01-01 up to and including 2017-04-30 but not * including 2017-05-01.

*/ inline GetDimensionValuesRequest& WithTimePeriod(const DateInterval& value) { SetTimePeriod(value); return *this;} /** *

The start date and end date for retrieving the dimension values. The start * date is inclusive, but the end date is exclusive. For example, if * start is 2017-01-01 and end is * 2017-05-01, then the cost and usage data is retrieved from * 2017-01-01 up to and including 2017-04-30 but not * including 2017-05-01.

*/ inline GetDimensionValuesRequest& WithTimePeriod(DateInterval&& value) { SetTimePeriod(std::move(value)); return *this;} /** *

The name of the dimension. Each Dimension is available for a * different Context. For more information, see Context. * LINK_ACCOUNT_NAME and SERVICE_CODE can only be used in * CostCategoryRule. *

*/ inline const Dimension& GetDimension() const{ return m_dimension; } /** *

The name of the dimension. Each Dimension is available for a * different Context. For more information, see Context. * LINK_ACCOUNT_NAME and SERVICE_CODE can only be used in * CostCategoryRule. *

*/ inline bool DimensionHasBeenSet() const { return m_dimensionHasBeenSet; } /** *

The name of the dimension. Each Dimension is available for a * different Context. For more information, see Context. * LINK_ACCOUNT_NAME and SERVICE_CODE can only be used in * CostCategoryRule. *

*/ inline void SetDimension(const Dimension& value) { m_dimensionHasBeenSet = true; m_dimension = value; } /** *

The name of the dimension. Each Dimension is available for a * different Context. For more information, see Context. * LINK_ACCOUNT_NAME and SERVICE_CODE can only be used in * CostCategoryRule. *

*/ inline void SetDimension(Dimension&& value) { m_dimensionHasBeenSet = true; m_dimension = std::move(value); } /** *

The name of the dimension. Each Dimension is available for a * different Context. For more information, see Context. * LINK_ACCOUNT_NAME and SERVICE_CODE can only be used in * CostCategoryRule. *

*/ inline GetDimensionValuesRequest& WithDimension(const Dimension& value) { SetDimension(value); return *this;} /** *

The name of the dimension. Each Dimension is available for a * different Context. For more information, see Context. * LINK_ACCOUNT_NAME and SERVICE_CODE can only be used in * CostCategoryRule. *

*/ inline GetDimensionValuesRequest& WithDimension(Dimension&& value) { SetDimension(std::move(value)); return *this;} /** *

The context for the call to GetDimensionValues. This can be * RESERVATIONS or COST_AND_USAGE. The default value is * COST_AND_USAGE. If the context is set to RESERVATIONS, * the resulting dimension values can be used in the * GetReservationUtilization operation. If the context is set to * COST_AND_USAGE, the resulting dimension values can be used in the * GetCostAndUsage operation.

If you set the context to * COST_AND_USAGE, you can use the following dimensions for * searching:

  • AZ - The Availability Zone. An example is * us-east-1a.

  • BILLING_ENTITY - The Amazon Web * Services seller that your account is with. Possible values are the * following:

    - Amazon Web Services(Amazon Web Services): The entity that * sells Amazon Web Services.

    - AISPL (Amazon Internet Services Pvt. Ltd.): * The local Indian entity that's an acting reseller for Amazon Web Services in * India.

    - Amazon Web Services Marketplace: The entity that supports the * sale of solutions that are built on Amazon Web Services by third-party software * providers.

  • CACHE_ENGINE - The Amazon ElastiCache operating * system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The * scope of Amazon Relational Database Service deployments. Valid values are * SingleAZ and MultiAZ.

  • *

    DATABASE_ENGINE - The Amazon Relational Database Service database. Examples * are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • *

    INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different * use cases. Examples are Compute Optimized (for example, * C4, C5, C6g, and C7g), * Memory Optimization (for example, R4, * R5n, R5b, and R6g).

  • *

    INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services * invoice.

  • LEGAL_ENTITY_NAME - The name of the organization that * sells you Amazon Web Services services, such as Amazon Web Services.

  • *
  • LINKED_ACCOUNT - The description in the attribute map that includes the * full name of the member account. The value field contains the Amazon Web * Services ID of the member account.

  • OPERATING_SYSTEM - The * operating system. Examples are Windows or Linux.

  • OPERATION - * The action performed. Examples include RunInstance and * CreateBucket.

  • PLATFORM - The Amazon EC2 operating * system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The * reservation type of the purchase that this usage is related to. Examples include * On-Demand Instances and Standard Reserved Instances.

  • *

    RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation * Instance.

  • SAVINGS_PLAN_ARN - The unique identifier for your * Savings Plans.

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute).

  • SERVICE - The Amazon Web Services * service such as Amazon DynamoDB.

  • TENANCY - The tenancy of a * resource. Examples are shared or dedicated.

  • USAGE_TYPE - The * type of usage. An example is DataTransfer-In-Bytes. The response for the * GetDimensionValues operation includes a unit attribute. Examples * include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common * usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for * this operation includes a unit attribute.

  • REGION - The Amazon * Web Services Region.

  • RECORD_TYPE - The different types of * charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and * credits.

  • RESOURCE_ID - The unique identifier of the resource. * ResourceId is an opt-in feature only available for last 14 days for EC2-Compute * Service.

If you set the context to RESERVATIONS, * you can use the following dimensions for searching:

  • AZ - The * Availability Zone. An example is us-east-1a.

  • *

    CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows * or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational * Database Service deployments. Valid values are SingleAZ and * MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • LINKED_ACCOUNT * - The description in the attribute map that includes the full name of the member * account. The value field contains the Amazon Web Services ID of the member * account.

  • PLATFORM - The Amazon EC2 operating system. Examples * are Windows or Linux.

  • REGION - The Amazon Web Services * Region.

  • SCOPE (Utilization only) - The scope of a Reserved * Instance (RI). Values are regional or a single Availability Zone.

  • *

    TAG (Coverage only) - The tags that are associated with a Reserved Instance * (RI).

  • TENANCY - The tenancy of a resource. Examples are shared * or dedicated.

If you set the context to * SAVINGS_PLANS, you can use the following dimensions for * searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute)

  • PAYMENT_OPTION - The payment option for * the given Savings Plans (for example, All Upfront)

  • REGION - * The Amazon Web Services Region.

  • INSTANCE_TYPE_FAMILY - The * family of instances (For example, m5)

  • *

    LINKED_ACCOUNT - The description in the attribute map that includes the full * name of the member account. The value field contains the Amazon Web Services ID * of the member account.

  • SAVINGS_PLAN_ARN - The unique * identifier for your Savings Plans.

*/ inline const Context& GetContext() const{ return m_context; } /** *

The context for the call to GetDimensionValues. This can be * RESERVATIONS or COST_AND_USAGE. The default value is * COST_AND_USAGE. If the context is set to RESERVATIONS, * the resulting dimension values can be used in the * GetReservationUtilization operation. If the context is set to * COST_AND_USAGE, the resulting dimension values can be used in the * GetCostAndUsage operation.

If you set the context to * COST_AND_USAGE, you can use the following dimensions for * searching:

  • AZ - The Availability Zone. An example is * us-east-1a.

  • BILLING_ENTITY - The Amazon Web * Services seller that your account is with. Possible values are the * following:

    - Amazon Web Services(Amazon Web Services): The entity that * sells Amazon Web Services.

    - AISPL (Amazon Internet Services Pvt. Ltd.): * The local Indian entity that's an acting reseller for Amazon Web Services in * India.

    - Amazon Web Services Marketplace: The entity that supports the * sale of solutions that are built on Amazon Web Services by third-party software * providers.

  • CACHE_ENGINE - The Amazon ElastiCache operating * system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The * scope of Amazon Relational Database Service deployments. Valid values are * SingleAZ and MultiAZ.

  • *

    DATABASE_ENGINE - The Amazon Relational Database Service database. Examples * are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • *

    INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different * use cases. Examples are Compute Optimized (for example, * C4, C5, C6g, and C7g), * Memory Optimization (for example, R4, * R5n, R5b, and R6g).

  • *

    INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services * invoice.

  • LEGAL_ENTITY_NAME - The name of the organization that * sells you Amazon Web Services services, such as Amazon Web Services.

  • *
  • LINKED_ACCOUNT - The description in the attribute map that includes the * full name of the member account. The value field contains the Amazon Web * Services ID of the member account.

  • OPERATING_SYSTEM - The * operating system. Examples are Windows or Linux.

  • OPERATION - * The action performed. Examples include RunInstance and * CreateBucket.

  • PLATFORM - The Amazon EC2 operating * system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The * reservation type of the purchase that this usage is related to. Examples include * On-Demand Instances and Standard Reserved Instances.

  • *

    RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation * Instance.

  • SAVINGS_PLAN_ARN - The unique identifier for your * Savings Plans.

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute).

  • SERVICE - The Amazon Web Services * service such as Amazon DynamoDB.

  • TENANCY - The tenancy of a * resource. Examples are shared or dedicated.

  • USAGE_TYPE - The * type of usage. An example is DataTransfer-In-Bytes. The response for the * GetDimensionValues operation includes a unit attribute. Examples * include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common * usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for * this operation includes a unit attribute.

  • REGION - The Amazon * Web Services Region.

  • RECORD_TYPE - The different types of * charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and * credits.

  • RESOURCE_ID - The unique identifier of the resource. * ResourceId is an opt-in feature only available for last 14 days for EC2-Compute * Service.

If you set the context to RESERVATIONS, * you can use the following dimensions for searching:

  • AZ - The * Availability Zone. An example is us-east-1a.

  • *

    CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows * or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational * Database Service deployments. Valid values are SingleAZ and * MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • LINKED_ACCOUNT * - The description in the attribute map that includes the full name of the member * account. The value field contains the Amazon Web Services ID of the member * account.

  • PLATFORM - The Amazon EC2 operating system. Examples * are Windows or Linux.

  • REGION - The Amazon Web Services * Region.

  • SCOPE (Utilization only) - The scope of a Reserved * Instance (RI). Values are regional or a single Availability Zone.

  • *

    TAG (Coverage only) - The tags that are associated with a Reserved Instance * (RI).

  • TENANCY - The tenancy of a resource. Examples are shared * or dedicated.

If you set the context to * SAVINGS_PLANS, you can use the following dimensions for * searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute)

  • PAYMENT_OPTION - The payment option for * the given Savings Plans (for example, All Upfront)

  • REGION - * The Amazon Web Services Region.

  • INSTANCE_TYPE_FAMILY - The * family of instances (For example, m5)

  • *

    LINKED_ACCOUNT - The description in the attribute map that includes the full * name of the member account. The value field contains the Amazon Web Services ID * of the member account.

  • SAVINGS_PLAN_ARN - The unique * identifier for your Savings Plans.

*/ inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; } /** *

The context for the call to GetDimensionValues. This can be * RESERVATIONS or COST_AND_USAGE. The default value is * COST_AND_USAGE. If the context is set to RESERVATIONS, * the resulting dimension values can be used in the * GetReservationUtilization operation. If the context is set to * COST_AND_USAGE, the resulting dimension values can be used in the * GetCostAndUsage operation.

If you set the context to * COST_AND_USAGE, you can use the following dimensions for * searching:

  • AZ - The Availability Zone. An example is * us-east-1a.

  • BILLING_ENTITY - The Amazon Web * Services seller that your account is with. Possible values are the * following:

    - Amazon Web Services(Amazon Web Services): The entity that * sells Amazon Web Services.

    - AISPL (Amazon Internet Services Pvt. Ltd.): * The local Indian entity that's an acting reseller for Amazon Web Services in * India.

    - Amazon Web Services Marketplace: The entity that supports the * sale of solutions that are built on Amazon Web Services by third-party software * providers.

  • CACHE_ENGINE - The Amazon ElastiCache operating * system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The * scope of Amazon Relational Database Service deployments. Valid values are * SingleAZ and MultiAZ.

  • *

    DATABASE_ENGINE - The Amazon Relational Database Service database. Examples * are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • *

    INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different * use cases. Examples are Compute Optimized (for example, * C4, C5, C6g, and C7g), * Memory Optimization (for example, R4, * R5n, R5b, and R6g).

  • *

    INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services * invoice.

  • LEGAL_ENTITY_NAME - The name of the organization that * sells you Amazon Web Services services, such as Amazon Web Services.

  • *
  • LINKED_ACCOUNT - The description in the attribute map that includes the * full name of the member account. The value field contains the Amazon Web * Services ID of the member account.

  • OPERATING_SYSTEM - The * operating system. Examples are Windows or Linux.

  • OPERATION - * The action performed. Examples include RunInstance and * CreateBucket.

  • PLATFORM - The Amazon EC2 operating * system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The * reservation type of the purchase that this usage is related to. Examples include * On-Demand Instances and Standard Reserved Instances.

  • *

    RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation * Instance.

  • SAVINGS_PLAN_ARN - The unique identifier for your * Savings Plans.

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute).

  • SERVICE - The Amazon Web Services * service such as Amazon DynamoDB.

  • TENANCY - The tenancy of a * resource. Examples are shared or dedicated.

  • USAGE_TYPE - The * type of usage. An example is DataTransfer-In-Bytes. The response for the * GetDimensionValues operation includes a unit attribute. Examples * include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common * usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for * this operation includes a unit attribute.

  • REGION - The Amazon * Web Services Region.

  • RECORD_TYPE - The different types of * charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and * credits.

  • RESOURCE_ID - The unique identifier of the resource. * ResourceId is an opt-in feature only available for last 14 days for EC2-Compute * Service.

If you set the context to RESERVATIONS, * you can use the following dimensions for searching:

  • AZ - The * Availability Zone. An example is us-east-1a.

  • *

    CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows * or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational * Database Service deployments. Valid values are SingleAZ and * MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • LINKED_ACCOUNT * - The description in the attribute map that includes the full name of the member * account. The value field contains the Amazon Web Services ID of the member * account.

  • PLATFORM - The Amazon EC2 operating system. Examples * are Windows or Linux.

  • REGION - The Amazon Web Services * Region.

  • SCOPE (Utilization only) - The scope of a Reserved * Instance (RI). Values are regional or a single Availability Zone.

  • *

    TAG (Coverage only) - The tags that are associated with a Reserved Instance * (RI).

  • TENANCY - The tenancy of a resource. Examples are shared * or dedicated.

If you set the context to * SAVINGS_PLANS, you can use the following dimensions for * searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute)

  • PAYMENT_OPTION - The payment option for * the given Savings Plans (for example, All Upfront)

  • REGION - * The Amazon Web Services Region.

  • INSTANCE_TYPE_FAMILY - The * family of instances (For example, m5)

  • *

    LINKED_ACCOUNT - The description in the attribute map that includes the full * name of the member account. The value field contains the Amazon Web Services ID * of the member account.

  • SAVINGS_PLAN_ARN - The unique * identifier for your Savings Plans.

*/ inline void SetContext(const Context& value) { m_contextHasBeenSet = true; m_context = value; } /** *

The context for the call to GetDimensionValues. This can be * RESERVATIONS or COST_AND_USAGE. The default value is * COST_AND_USAGE. If the context is set to RESERVATIONS, * the resulting dimension values can be used in the * GetReservationUtilization operation. If the context is set to * COST_AND_USAGE, the resulting dimension values can be used in the * GetCostAndUsage operation.

If you set the context to * COST_AND_USAGE, you can use the following dimensions for * searching:

  • AZ - The Availability Zone. An example is * us-east-1a.

  • BILLING_ENTITY - The Amazon Web * Services seller that your account is with. Possible values are the * following:

    - Amazon Web Services(Amazon Web Services): The entity that * sells Amazon Web Services.

    - AISPL (Amazon Internet Services Pvt. Ltd.): * The local Indian entity that's an acting reseller for Amazon Web Services in * India.

    - Amazon Web Services Marketplace: The entity that supports the * sale of solutions that are built on Amazon Web Services by third-party software * providers.

  • CACHE_ENGINE - The Amazon ElastiCache operating * system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The * scope of Amazon Relational Database Service deployments. Valid values are * SingleAZ and MultiAZ.

  • *

    DATABASE_ENGINE - The Amazon Relational Database Service database. Examples * are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • *

    INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different * use cases. Examples are Compute Optimized (for example, * C4, C5, C6g, and C7g), * Memory Optimization (for example, R4, * R5n, R5b, and R6g).

  • *

    INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services * invoice.

  • LEGAL_ENTITY_NAME - The name of the organization that * sells you Amazon Web Services services, such as Amazon Web Services.

  • *
  • LINKED_ACCOUNT - The description in the attribute map that includes the * full name of the member account. The value field contains the Amazon Web * Services ID of the member account.

  • OPERATING_SYSTEM - The * operating system. Examples are Windows or Linux.

  • OPERATION - * The action performed. Examples include RunInstance and * CreateBucket.

  • PLATFORM - The Amazon EC2 operating * system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The * reservation type of the purchase that this usage is related to. Examples include * On-Demand Instances and Standard Reserved Instances.

  • *

    RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation * Instance.

  • SAVINGS_PLAN_ARN - The unique identifier for your * Savings Plans.

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute).

  • SERVICE - The Amazon Web Services * service such as Amazon DynamoDB.

  • TENANCY - The tenancy of a * resource. Examples are shared or dedicated.

  • USAGE_TYPE - The * type of usage. An example is DataTransfer-In-Bytes. The response for the * GetDimensionValues operation includes a unit attribute. Examples * include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common * usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for * this operation includes a unit attribute.

  • REGION - The Amazon * Web Services Region.

  • RECORD_TYPE - The different types of * charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and * credits.

  • RESOURCE_ID - The unique identifier of the resource. * ResourceId is an opt-in feature only available for last 14 days for EC2-Compute * Service.

If you set the context to RESERVATIONS, * you can use the following dimensions for searching:

  • AZ - The * Availability Zone. An example is us-east-1a.

  • *

    CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows * or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational * Database Service deployments. Valid values are SingleAZ and * MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • LINKED_ACCOUNT * - The description in the attribute map that includes the full name of the member * account. The value field contains the Amazon Web Services ID of the member * account.

  • PLATFORM - The Amazon EC2 operating system. Examples * are Windows or Linux.

  • REGION - The Amazon Web Services * Region.

  • SCOPE (Utilization only) - The scope of a Reserved * Instance (RI). Values are regional or a single Availability Zone.

  • *

    TAG (Coverage only) - The tags that are associated with a Reserved Instance * (RI).

  • TENANCY - The tenancy of a resource. Examples are shared * or dedicated.

If you set the context to * SAVINGS_PLANS, you can use the following dimensions for * searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute)

  • PAYMENT_OPTION - The payment option for * the given Savings Plans (for example, All Upfront)

  • REGION - * The Amazon Web Services Region.

  • INSTANCE_TYPE_FAMILY - The * family of instances (For example, m5)

  • *

    LINKED_ACCOUNT - The description in the attribute map that includes the full * name of the member account. The value field contains the Amazon Web Services ID * of the member account.

  • SAVINGS_PLAN_ARN - The unique * identifier for your Savings Plans.

*/ inline void SetContext(Context&& value) { m_contextHasBeenSet = true; m_context = std::move(value); } /** *

The context for the call to GetDimensionValues. This can be * RESERVATIONS or COST_AND_USAGE. The default value is * COST_AND_USAGE. If the context is set to RESERVATIONS, * the resulting dimension values can be used in the * GetReservationUtilization operation. If the context is set to * COST_AND_USAGE, the resulting dimension values can be used in the * GetCostAndUsage operation.

If you set the context to * COST_AND_USAGE, you can use the following dimensions for * searching:

  • AZ - The Availability Zone. An example is * us-east-1a.

  • BILLING_ENTITY - The Amazon Web * Services seller that your account is with. Possible values are the * following:

    - Amazon Web Services(Amazon Web Services): The entity that * sells Amazon Web Services.

    - AISPL (Amazon Internet Services Pvt. Ltd.): * The local Indian entity that's an acting reseller for Amazon Web Services in * India.

    - Amazon Web Services Marketplace: The entity that supports the * sale of solutions that are built on Amazon Web Services by third-party software * providers.

  • CACHE_ENGINE - The Amazon ElastiCache operating * system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The * scope of Amazon Relational Database Service deployments. Valid values are * SingleAZ and MultiAZ.

  • *

    DATABASE_ENGINE - The Amazon Relational Database Service database. Examples * are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • *

    INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different * use cases. Examples are Compute Optimized (for example, * C4, C5, C6g, and C7g), * Memory Optimization (for example, R4, * R5n, R5b, and R6g).

  • *

    INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services * invoice.

  • LEGAL_ENTITY_NAME - The name of the organization that * sells you Amazon Web Services services, such as Amazon Web Services.

  • *
  • LINKED_ACCOUNT - The description in the attribute map that includes the * full name of the member account. The value field contains the Amazon Web * Services ID of the member account.

  • OPERATING_SYSTEM - The * operating system. Examples are Windows or Linux.

  • OPERATION - * The action performed. Examples include RunInstance and * CreateBucket.

  • PLATFORM - The Amazon EC2 operating * system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The * reservation type of the purchase that this usage is related to. Examples include * On-Demand Instances and Standard Reserved Instances.

  • *

    RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation * Instance.

  • SAVINGS_PLAN_ARN - The unique identifier for your * Savings Plans.

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute).

  • SERVICE - The Amazon Web Services * service such as Amazon DynamoDB.

  • TENANCY - The tenancy of a * resource. Examples are shared or dedicated.

  • USAGE_TYPE - The * type of usage. An example is DataTransfer-In-Bytes. The response for the * GetDimensionValues operation includes a unit attribute. Examples * include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common * usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for * this operation includes a unit attribute.

  • REGION - The Amazon * Web Services Region.

  • RECORD_TYPE - The different types of * charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and * credits.

  • RESOURCE_ID - The unique identifier of the resource. * ResourceId is an opt-in feature only available for last 14 days for EC2-Compute * Service.

If you set the context to RESERVATIONS, * you can use the following dimensions for searching:

  • AZ - The * Availability Zone. An example is us-east-1a.

  • *

    CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows * or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational * Database Service deployments. Valid values are SingleAZ and * MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • LINKED_ACCOUNT * - The description in the attribute map that includes the full name of the member * account. The value field contains the Amazon Web Services ID of the member * account.

  • PLATFORM - The Amazon EC2 operating system. Examples * are Windows or Linux.

  • REGION - The Amazon Web Services * Region.

  • SCOPE (Utilization only) - The scope of a Reserved * Instance (RI). Values are regional or a single Availability Zone.

  • *

    TAG (Coverage only) - The tags that are associated with a Reserved Instance * (RI).

  • TENANCY - The tenancy of a resource. Examples are shared * or dedicated.

If you set the context to * SAVINGS_PLANS, you can use the following dimensions for * searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute)

  • PAYMENT_OPTION - The payment option for * the given Savings Plans (for example, All Upfront)

  • REGION - * The Amazon Web Services Region.

  • INSTANCE_TYPE_FAMILY - The * family of instances (For example, m5)

  • *

    LINKED_ACCOUNT - The description in the attribute map that includes the full * name of the member account. The value field contains the Amazon Web Services ID * of the member account.

  • SAVINGS_PLAN_ARN - The unique * identifier for your Savings Plans.

*/ inline GetDimensionValuesRequest& WithContext(const Context& value) { SetContext(value); return *this;} /** *

The context for the call to GetDimensionValues. This can be * RESERVATIONS or COST_AND_USAGE. The default value is * COST_AND_USAGE. If the context is set to RESERVATIONS, * the resulting dimension values can be used in the * GetReservationUtilization operation. If the context is set to * COST_AND_USAGE, the resulting dimension values can be used in the * GetCostAndUsage operation.

If you set the context to * COST_AND_USAGE, you can use the following dimensions for * searching:

  • AZ - The Availability Zone. An example is * us-east-1a.

  • BILLING_ENTITY - The Amazon Web * Services seller that your account is with. Possible values are the * following:

    - Amazon Web Services(Amazon Web Services): The entity that * sells Amazon Web Services.

    - AISPL (Amazon Internet Services Pvt. Ltd.): * The local Indian entity that's an acting reseller for Amazon Web Services in * India.

    - Amazon Web Services Marketplace: The entity that supports the * sale of solutions that are built on Amazon Web Services by third-party software * providers.

  • CACHE_ENGINE - The Amazon ElastiCache operating * system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The * scope of Amazon Relational Database Service deployments. Valid values are * SingleAZ and MultiAZ.

  • *

    DATABASE_ENGINE - The Amazon Relational Database Service database. Examples * are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • *

    INSTANCE_TYPE_FAMILY - A family of instance types optimized to fit different * use cases. Examples are Compute Optimized (for example, * C4, C5, C6g, and C7g), * Memory Optimization (for example, R4, * R5n, R5b, and R6g).

  • *

    INVOICING_ENTITY - The name of the entity that issues the Amazon Web Services * invoice.

  • LEGAL_ENTITY_NAME - The name of the organization that * sells you Amazon Web Services services, such as Amazon Web Services.

  • *
  • LINKED_ACCOUNT - The description in the attribute map that includes the * full name of the member account. The value field contains the Amazon Web * Services ID of the member account.

  • OPERATING_SYSTEM - The * operating system. Examples are Windows or Linux.

  • OPERATION - * The action performed. Examples include RunInstance and * CreateBucket.

  • PLATFORM - The Amazon EC2 operating * system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The * reservation type of the purchase that this usage is related to. Examples include * On-Demand Instances and Standard Reserved Instances.

  • *

    RESERVATION_ID - The unique identifier for an Amazon Web Services Reservation * Instance.

  • SAVINGS_PLAN_ARN - The unique identifier for your * Savings Plans.

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute).

  • SERVICE - The Amazon Web Services * service such as Amazon DynamoDB.

  • TENANCY - The tenancy of a * resource. Examples are shared or dedicated.

  • USAGE_TYPE - The * type of usage. An example is DataTransfer-In-Bytes. The response for the * GetDimensionValues operation includes a unit attribute. Examples * include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common * usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for * this operation includes a unit attribute.

  • REGION - The Amazon * Web Services Region.

  • RECORD_TYPE - The different types of * charges such as Reserved Instance (RI) fees, usage costs, tax refunds, and * credits.

  • RESOURCE_ID - The unique identifier of the resource. * ResourceId is an opt-in feature only available for last 14 days for EC2-Compute * Service.

If you set the context to RESERVATIONS, * you can use the following dimensions for searching:

  • AZ - The * Availability Zone. An example is us-east-1a.

  • *

    CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows * or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational * Database Service deployments. Valid values are SingleAZ and * MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 * instance. An example is m4.xlarge.

  • LINKED_ACCOUNT * - The description in the attribute map that includes the full name of the member * account. The value field contains the Amazon Web Services ID of the member * account.

  • PLATFORM - The Amazon EC2 operating system. Examples * are Windows or Linux.

  • REGION - The Amazon Web Services * Region.

  • SCOPE (Utilization only) - The scope of a Reserved * Instance (RI). Values are regional or a single Availability Zone.

  • *

    TAG (Coverage only) - The tags that are associated with a Reserved Instance * (RI).

  • TENANCY - The tenancy of a resource. Examples are shared * or dedicated.

If you set the context to * SAVINGS_PLANS, you can use the following dimensions for * searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 * Instance or Compute)

  • PAYMENT_OPTION - The payment option for * the given Savings Plans (for example, All Upfront)

  • REGION - * The Amazon Web Services Region.

  • INSTANCE_TYPE_FAMILY - The * family of instances (For example, m5)

  • *

    LINKED_ACCOUNT - The description in the attribute map that includes the full * name of the member account. The value field contains the Amazon Web Services ID * of the member account.

  • SAVINGS_PLAN_ARN - The unique * identifier for your Savings Plans.

*/ inline GetDimensionValuesRequest& WithContext(Context&& value) { SetContext(std::move(value)); return *this;} inline const Expression& GetFilter() const{ return m_filter; } inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } inline void SetFilter(const Expression& value) { m_filterHasBeenSet = true; m_filter = value; } inline void SetFilter(Expression&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } inline GetDimensionValuesRequest& WithFilter(const Expression& value) { SetFilter(value); return *this;} inline GetDimensionValuesRequest& WithFilter(Expression&& value) { SetFilter(std::move(value)); return *this;} /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline const Aws::Vector& GetSortBy() const{ return m_sortBy; } /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline void SetSortBy(const Aws::Vector& value) { m_sortByHasBeenSet = true; m_sortBy = value; } /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline void SetSortBy(Aws::Vector&& value) { m_sortByHasBeenSet = true; m_sortBy = std::move(value); } /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline GetDimensionValuesRequest& WithSortBy(const Aws::Vector& value) { SetSortBy(value); return *this;} /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline GetDimensionValuesRequest& WithSortBy(Aws::Vector&& value) { SetSortBy(std::move(value)); return *this;} /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline GetDimensionValuesRequest& AddSortBy(const SortDefinition& value) { m_sortByHasBeenSet = true; m_sortBy.push_back(value); return *this; } /** *

The value that you want to sort the data by.

The key represents cost * and usage metrics. The following values are supported:

  • * BlendedCost

  • UnblendedCost

    *
  • AmortizedCost

  • * NetAmortizedCost

  • NetUnblendedCost *

  • UsageQuantity

  • * NormalizedUsageAmount

The supported values for * the SortOrder key are ASCENDING or * DESCENDING.

When you specify a SortBy * paramater, the context must be COST_AND_USAGE. Further, when using * SortBy, NextPageToken and SearchString * aren't supported.

*/ inline GetDimensionValuesRequest& AddSortBy(SortDefinition&& value) { m_sortByHasBeenSet = true; m_sortBy.push_back(std::move(value)); return *this; } /** *

This field is only used when SortBy is provided in the request. The maximum * number of objects that are returned for this request. If MaxResults isn't * specified with SortBy, the request returns 1000 results as the default value for * this parameter.

For GetDimensionValues, MaxResults has an * upper limit of 1000.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

This field is only used when SortBy is provided in the request. The maximum * number of objects that are returned for this request. If MaxResults isn't * specified with SortBy, the request returns 1000 results as the default value for * this parameter.

For GetDimensionValues, MaxResults has an * upper limit of 1000.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

This field is only used when SortBy is provided in the request. The maximum * number of objects that are returned for this request. If MaxResults isn't * specified with SortBy, the request returns 1000 results as the default value for * this parameter.

For GetDimensionValues, MaxResults has an * upper limit of 1000.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

This field is only used when SortBy is provided in the request. The maximum * number of objects that are returned for this request. If MaxResults isn't * specified with SortBy, the request returns 1000 results as the default value for * this parameter.

For GetDimensionValues, MaxResults has an * upper limit of 1000.

*/ inline GetDimensionValuesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline const Aws::String& GetNextPageToken() const{ return m_nextPageToken; } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline bool NextPageTokenHasBeenSet() const { return m_nextPageTokenHasBeenSet; } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline void SetNextPageToken(const Aws::String& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = value; } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline void SetNextPageToken(Aws::String&& value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken = std::move(value); } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline void SetNextPageToken(const char* value) { m_nextPageTokenHasBeenSet = true; m_nextPageToken.assign(value); } /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline GetDimensionValuesRequest& WithNextPageToken(const Aws::String& value) { SetNextPageToken(value); return *this;} /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline GetDimensionValuesRequest& WithNextPageToken(Aws::String&& value) { SetNextPageToken(std::move(value)); return *this;} /** *

The token to retrieve the next set of results. Amazon Web Services provides * the token when the response from a previous call has more results than the * maximum page size.

*/ inline GetDimensionValuesRequest& WithNextPageToken(const char* value) { SetNextPageToken(value); return *this;} private: Aws::String m_searchString; bool m_searchStringHasBeenSet = false; DateInterval m_timePeriod; bool m_timePeriodHasBeenSet = false; Dimension m_dimension; bool m_dimensionHasBeenSet = false; Context m_context; bool m_contextHasBeenSet = false; Expression m_filter; bool m_filterHasBeenSet = false; Aws::Vector m_sortBy; bool m_sortByHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextPageToken; bool m_nextPageTokenHasBeenSet = false; }; } // namespace Model } // namespace CostExplorer } // namespace Aws