| Copyright | (c) 2013-2023 Brendan Hay |
|---|---|
| License | Mozilla Public License, v. 2.0. |
| Maintainer | Brendan Hay |
| Stability | auto-generated |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Amazonka.CostExplorer.GetCostAndUsage
Description
Retrieves cost and usage metrics for your account. You can specify which
cost and usage-related metric that you want the request to return. For
example, you can specify BlendedCosts or UsageQuantity. You can also
filter and group your data by various dimensions, such as SERVICE or
AZ, in a specific time range. For a complete list of valid dimensions,
see the
GetDimensionValues
operation. Management account in an organization in Organizations have
access to all member accounts.
For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.
Synopsis
- data GetCostAndUsage = GetCostAndUsage' {}
- newGetCostAndUsage :: DateInterval -> Granularity -> GetCostAndUsage
- getCostAndUsage_filter :: Lens' GetCostAndUsage (Maybe Expression)
- getCostAndUsage_groupBy :: Lens' GetCostAndUsage (Maybe [GroupDefinition])
- getCostAndUsage_nextPageToken :: Lens' GetCostAndUsage (Maybe Text)
- getCostAndUsage_timePeriod :: Lens' GetCostAndUsage DateInterval
- getCostAndUsage_granularity :: Lens' GetCostAndUsage Granularity
- getCostAndUsage_metrics :: Lens' GetCostAndUsage [Text]
- data GetCostAndUsageResponse = GetCostAndUsageResponse' {}
- newGetCostAndUsageResponse :: Int -> GetCostAndUsageResponse
- getCostAndUsageResponse_dimensionValueAttributes :: Lens' GetCostAndUsageResponse (Maybe [DimensionValuesWithAttributes])
- getCostAndUsageResponse_groupDefinitions :: Lens' GetCostAndUsageResponse (Maybe [GroupDefinition])
- getCostAndUsageResponse_nextPageToken :: Lens' GetCostAndUsageResponse (Maybe Text)
- getCostAndUsageResponse_resultsByTime :: Lens' GetCostAndUsageResponse (Maybe [ResultByTime])
- getCostAndUsageResponse_httpStatus :: Lens' GetCostAndUsageResponse Int
Creating a Request
data GetCostAndUsage Source #
See: newGetCostAndUsage smart constructor.
Constructors
| GetCostAndUsage' | |
Fields
| |
Instances
Arguments
| :: DateInterval | |
| -> Granularity | |
| -> GetCostAndUsage |
Create a value of GetCostAndUsage with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:filter':GetCostAndUsage', getCostAndUsage_filter - Filters Amazon Web Services costs by different dimensions. For example,
you can specify SERVICE and LINKED_ACCOUNT and get the costs that
are associated with that account's usage of that service. You can nest
Expression objects to define any combination of dimension filters. For
more information, see
Expression.
Valid values for MatchOptions for Dimensions are EQUALS and
CASE_SENSITIVE.
Valid values for MatchOptions for CostCategories and Tags are
EQUALS, ABSENT, and CASE_SENSITIVE. Default values are EQUALS
and CASE_SENSITIVE.
$sel:groupBy:GetCostAndUsage', getCostAndUsage_groupBy - You can group Amazon Web Services costs using up to two different
groups, either dimensions, tag keys, cost categories, or any two group
by types.
Valid values for the DIMENSION type are AZ, INSTANCE_TYPE,
LEGAL_ENTITY_NAME, INVOICING_ENTITY, LINKED_ACCOUNT, OPERATION,
PLATFORM, PURCHASE_TYPE, SERVICE, TENANCY, RECORD_TYPE, and
USAGE_TYPE.
When you group by the TAG type and include a valid tag key, you get
all tag values, including empty strings.
GetCostAndUsage, getCostAndUsage_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.
GetCostAndUsage, getCostAndUsage_timePeriod - Sets the start date and end date for retrieving Amazon Web Services
costs. 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.
$sel:granularity:GetCostAndUsage', getCostAndUsage_granularity - Sets the Amazon Web Services cost granularity to MONTHLY or DAILY,
or HOURLY. If Granularity isn't set, the response object doesn't
include the Granularity, either MONTHLY or DAILY, or HOURLY.
GetCostAndUsage, getCostAndUsage_metrics - Which metrics are returned in the query. For more information about
blended and unblended rates, see
Why does the "blended" annotation appear on some line items in my bill?.
Valid values are AmortizedCost, BlendedCost, NetAmortizedCost,
NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and
UsageQuantity.
If you return the UsageQuantity metric, the service aggregates all
usage numbers without taking into account the units. For example, if you
aggregate usageQuantity across all of Amazon EC2, the results aren't
meaningful because Amazon EC2 compute hours and data transfer are
measured in different units (for example, hours and GB). To get more
meaningful UsageQuantity metrics, filter by UsageType or
UsageTypeGroups.
Metrics is required for GetCostAndUsage requests.
Request Lenses
getCostAndUsage_filter :: Lens' GetCostAndUsage (Maybe Expression) Source #
Filters Amazon Web Services costs by different dimensions. For example,
you can specify SERVICE and LINKED_ACCOUNT and get the costs that
are associated with that account's usage of that service. You can nest
Expression objects to define any combination of dimension filters. For
more information, see
Expression.
Valid values for MatchOptions for Dimensions are EQUALS and
CASE_SENSITIVE.
Valid values for MatchOptions for CostCategories and Tags are
EQUALS, ABSENT, and CASE_SENSITIVE. Default values are EQUALS
and CASE_SENSITIVE.
getCostAndUsage_groupBy :: Lens' GetCostAndUsage (Maybe [GroupDefinition]) Source #
You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys, cost categories, or any two group by types.
Valid values for the DIMENSION type are AZ, INSTANCE_TYPE,
LEGAL_ENTITY_NAME, INVOICING_ENTITY, LINKED_ACCOUNT, OPERATION,
PLATFORM, PURCHASE_TYPE, SERVICE, TENANCY, RECORD_TYPE, and
USAGE_TYPE.
When you group by the TAG type and include a valid tag key, you get
all tag values, including empty strings.
getCostAndUsage_nextPageToken :: Lens' GetCostAndUsage (Maybe Text) Source #
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.
getCostAndUsage_timePeriod :: Lens' GetCostAndUsage DateInterval Source #
Sets the start date and end date for retrieving Amazon Web Services
costs. 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.
getCostAndUsage_granularity :: Lens' GetCostAndUsage Granularity Source #
Sets the Amazon Web Services cost granularity to MONTHLY or DAILY,
or HOURLY. If Granularity isn't set, the response object doesn't
include the Granularity, either MONTHLY or DAILY, or HOURLY.
getCostAndUsage_metrics :: Lens' GetCostAndUsage [Text] Source #
Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the "blended" annotation appear on some line items in my bill?.
Valid values are AmortizedCost, BlendedCost, NetAmortizedCost,
NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and
UsageQuantity.
If you return the UsageQuantity metric, the service aggregates all
usage numbers without taking into account the units. For example, if you
aggregate usageQuantity across all of Amazon EC2, the results aren't
meaningful because Amazon EC2 compute hours and data transfer are
measured in different units (for example, hours and GB). To get more
meaningful UsageQuantity metrics, filter by UsageType or
UsageTypeGroups.
Metrics is required for GetCostAndUsage requests.
Destructuring the Response
data GetCostAndUsageResponse Source #
See: newGetCostAndUsageResponse smart constructor.
Constructors
| GetCostAndUsageResponse' | |
Fields
| |
Instances
newGetCostAndUsageResponse Source #
Create a value of GetCostAndUsageResponse with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:dimensionValueAttributes:GetCostAndUsageResponse', getCostAndUsageResponse_dimensionValueAttributes - The attributes that apply to a specific dimension value. For example, if
the value is a linked account, the attribute is that account name.
$sel:groupDefinitions:GetCostAndUsageResponse', getCostAndUsageResponse_groupDefinitions - The groups that are specified by the Filter or GroupBy parameters in
the request.
GetCostAndUsage, getCostAndUsageResponse_nextPageToken - The token for the next set of retrievable results. Amazon Web Services
provides the token when the response from a previous call has more
results than the maximum page size.
$sel:resultsByTime:GetCostAndUsageResponse', getCostAndUsageResponse_resultsByTime - The time period that's covered by the results in the response.
$sel:httpStatus:GetCostAndUsageResponse', getCostAndUsageResponse_httpStatus - The response's http status code.
Response Lenses
getCostAndUsageResponse_dimensionValueAttributes :: Lens' GetCostAndUsageResponse (Maybe [DimensionValuesWithAttributes]) Source #
The attributes that apply to a specific dimension value. For example, if the value is a linked account, the attribute is that account name.
getCostAndUsageResponse_groupDefinitions :: Lens' GetCostAndUsageResponse (Maybe [GroupDefinition]) Source #
The groups that are specified by the Filter or GroupBy parameters in
the request.
getCostAndUsageResponse_nextPageToken :: Lens' GetCostAndUsageResponse (Maybe Text) Source #
The token for the next set of retrievable results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.
getCostAndUsageResponse_resultsByTime :: Lens' GetCostAndUsageResponse (Maybe [ResultByTime]) Source #
The time period that's covered by the results in the response.
getCostAndUsageResponse_httpStatus :: Lens' GetCostAndUsageResponse Int Source #
The response's http status code.