Class: Aws::CostExplorer::Types::GetSavingsPlansCoverageRequest

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 GetSavingsPlansCoverageRequest 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_token: "NextPageToken",
  max_results: 1,
  sort_by: {
    key: "SortDefinitionKey", # required
    sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#filterTypes::Expression

Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

  • ‘LINKED_ACCOUNT`

  • ‘REGION`

  • ‘SERVICE`

  • ‘INSTANCE_FAMILY`

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

Cost category is also supported.

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

Returns:



4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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

#granularityString

The granularity of the Amazon Web Services cost data for your Savings Plans. ‘Granularity` can’t be set if ‘GroupBy` is set.

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

Returns:

  • (String)


4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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

#group_byArray<Types::GroupDefinition>

You can group the data using the attributes ‘INSTANCE_FAMILY`, `REGION`, or `SERVICE`.

Returns:



4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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

#max_resultsInteger

The number of items to be returned in a response. The default is ‘20`, with a minimum value of `1`.

Returns:

  • (Integer)


4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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

#metricsArray<String>

The measurement that you want your Savings Plans coverage reported in. The only valid value is ‘SpendCoveredBySavingsPlans`.

Returns:

  • (Array<String>)


4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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

#next_tokenString

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.

Returns:

  • (String)


4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

class GetSavingsPlansCoverageRequest < Struct.new(
  :time_period,
  :group_by,
  :granularity,
  :filter,
  :metrics,
  :next_token,
  :max_results,
  :sort_by)
  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`:

  • ‘SpendCoveredBySavingsPlan`

  • ‘OnDemandCost`

  • ‘CoveragePercentage`

  • ‘TotalCost`

  • ‘InstanceFamily`

  • ‘Region`

  • ‘Service`

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



4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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

#time_periodTypes::DateInterval

The time period that you want the usage and costs for. The ‘Start` date must be within 13 months. The `End` date must be after the `Start` date, and before the current date. Future dates can’t be used as an ‘End` date.

Returns:



4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
# File 'lib/aws-sdk-costexplorer/types.rb', line 4074

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