Class: Aws::CostExplorer::Types::GetReservationCoverageRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-costexplorer/types.rb

Overview

Note:

When making an API call, you may pass GetReservationCoverageRequest 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
    },
  },
  metrics: ["MetricName"],
  next_page_token: "NextPageToken",
  sort_by: {
    key: "SortDefinitionKey", # required
    sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  },
  max_results: 1,
}

You can use the following request parameters to query for how much of your instance usage a reservation covered.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#filterTypes::Expression

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

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

‘GetReservationCoverage` uses the same [Expression] object as the other operations, but only `AND` is supported among each dimension. You can nest only one level deep. If there are multiple values for a dimension, they are OR’d together.

If you don’t provide a ‘SERVICE` filter, Cost Explorer defaults to EC2.

Cost category is also supported.

[1]: docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html

Returns:



3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#granularityString

The granularity of the AWS cost data for the reservation. Valid values are ‘MONTHLY` and `DAILY`.

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`.

The ‘GetReservationCoverage` operation supports only `DAILY` and `MONTHLY` granularities.

Returns:

  • (String)


3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#group_byArray<Types::GroupDefinition>

You can group the data by the following attributes:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • TENANCY

Returns:



3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#max_resultsInteger

The maximum number of objects that you returned for this request. If more objects are available, in the response, AWS provides a NextPageToken value that you can use in a subsequent call to get the next batch of objects.

Returns:

  • (Integer)


3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#metricsArray<String>

The measurement that you want your reservation coverage reported in.

Valid values are ‘Hour`, `Unit`, and `Cost`. You can use multiple values in a request.

Returns:

  • (Array<String>)


3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#next_page_tokenString

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

Returns:

  • (String)


3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#sort_byTypes::SortDefinition

The value by which you want to sort the data.

The following values are supported for ‘Key`:

  • ‘OnDemandCost`

  • ‘CoverageHoursPercentage`

  • ‘OnDemandHours`

  • ‘ReservedHours`

  • ‘TotalRunningHours`

  • ‘CoverageNormalizedUnitsPercentage`

  • ‘OnDemandNormalizedUnits`

  • ‘ReservedNormalizedUnits`

  • ‘TotalRunningNormalizedUnits`

  • ‘Time`

Supported values for ‘SortOrder` are `ASCENDING` or `DESCENDING`.



3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end

#time_periodTypes::DateInterval

The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data for a maximum of 13 months: the last 12 months and the current month. 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`.

Returns:



3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
# File 'lib/aws-sdk-costexplorer/types.rb', line 3335

class GetReservationCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_page_token,
  :sort_by,
  :max_results)
  SENSITIVE = []
  include Aws::Structure
end