class Aws::CostExplorer::Types::GetReservationUtilizationRequest

@note When making an API call, you may pass GetReservationUtilizationRequest

data as a hash:

    {
      time_period: { # required
        start: "YearMonthDay", # required
        end: "YearMonthDay", # required
      },
      group_by: [
        {
          type: "DIMENSION", # accepts DIMENSION, TAG, COST_CATEGORY
          key: "GroupDefinitionKey",
        },
      ],
      granularity: "DAILY", # accepts DAILY, MONTHLY, HOURLY
      filter: {
        or: [
          {
            # recursive Expression
          },
        ],
        and: [
          {
            # recursive Expression
          },
        ],
        not: {
          # recursive Expression
        },
        dimensions: {
          key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE
          values: ["Value"],
          match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
        },
        tags: {
          key: "TagKey",
          values: ["Value"],
          match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
        },
        cost_categories: {
          key: "CostCategoryName",
          values: ["Value"],
          match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
        },
      },
      sort_by: {
        key: "SortDefinitionKey", # required
        sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
      },
      next_page_token: "NextPageToken",
      max_results: 1,
    }

@!attribute [rw] time_period

Sets the start and end dates for retrieving RI utilization. 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`.
@return [Types::DateInterval]

@!attribute [rw] group_by

Groups only by `SUBSCRIPTION_ID`. Metadata is included.
@return [Array<Types::GroupDefinition>]

@!attribute [rw] granularity

If `GroupBy` is set, `Granularity` can't be set. If `Granularity`
isn't set, the response object doesn't include `Granularity`,
either `MONTHLY` or `DAILY`. If both `GroupBy` and `Granularity`
aren't set, `GetReservationUtilization` defaults to `DAILY`.

The `GetReservationUtilization` operation supports only `DAILY` and
`MONTHLY` granularities.
@return [String]

@!attribute [rw] filter

Filters utilization data by dimensions. You can filter by the
following dimensions:

* AZ

* CACHE\_ENGINE

* DEPLOYMENT\_OPTION

* INSTANCE\_TYPE

* LINKED\_ACCOUNT

* OPERATING\_SYSTEM

* PLATFORM

* REGION

* SERVICE

* SCOPE

* TENANCY

`GetReservationUtilization` uses the same [Expression][1] object as
the other operations, but only `AND` is supported among each
dimension, and nesting is supported up to only one level deep. If
there are multiple values for a dimension, they are OR'd together.

[1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
@return [Types::Expression]

@!attribute [rw] sort_by

The value by which you want to sort the data.

The following values are supported for `Key`\:

* `UtilizationPercentage`

* `UtilizationPercentageInUnits`

* `PurchasedHours`

* `PurchasedUnits`

* `TotalActualHours`

* `TotalActualUnits`

* `UnusedHours`

* `UnusedUnits`

* `OnDemandCostOfRIHoursUsed`

* `NetRISavings`

* `TotalPotentialRISavings`

* `AmortizedUpfrontFee`

* `AmortizedRecurringFee`

* `TotalAmortizedFee`

* `RICostForUnusedHours`

* `RealizedSavings`

* `UnrealizedSavings`

Supported values for `SortOrder` are `ASCENDING` or `DESCENDING`.
@return [Types::SortDefinition]

@!attribute [rw] next_page_token

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.
@return [String]

@!attribute [rw] max_results

The maximum number of objects that you returned for this request. If
more objects are available, in the response, Amazon Web Services
provides a NextPageToken value that you can use in a subsequent call
to get the next batch of objects.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilizationRequest AWS API Documentation

Constants

SENSITIVE