libZSservicesZSamazonka-cost-explorerZSamazonka-cost-explorer
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

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

Creating a Request

data GetCostAndUsage Source #

See: newGetCostAndUsage smart constructor.

Constructors

GetCostAndUsage' 

Fields

  • groupBy :: Maybe [GroupDefinition]

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

  • nextPageToken :: Maybe Text

    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.

  • filter' :: Maybe Expression

    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.

  • timePeriod :: DateInterval

    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.

  • granularity :: 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.

  • metrics :: [Text]

    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.

Instances

Instances details
Eq GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Read GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Show GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Generic GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Associated Types

type Rep GetCostAndUsage :: Type -> Type #

NFData GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Methods

rnf :: GetCostAndUsage -> () #

Hashable GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

ToJSON GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

AWSRequest GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Associated Types

type AWSResponse GetCostAndUsage #

ToHeaders GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

ToPath GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

ToQuery GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

type Rep GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

type Rep GetCostAndUsage = D1 ('MetaData "GetCostAndUsage" "Amazonka.CostExplorer.GetCostAndUsage" "libZSservicesZSamazonka-cost-explorerZSamazonka-cost-explorer" 'False) (C1 ('MetaCons "GetCostAndUsage'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "groupBy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [GroupDefinition])) :*: (S1 ('MetaSel ('Just "nextPageToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "filter'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Expression)))) :*: (S1 ('MetaSel ('Just "timePeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DateInterval) :*: (S1 ('MetaSel ('Just "granularity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Granularity) :*: S1 ('MetaSel ('Just "metrics") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Text])))))
type AWSResponse GetCostAndUsage Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

newGetCostAndUsage Source #

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: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, 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.

$sel:nextPageToken: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.

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

$sel:timePeriod: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.

$sel:metrics: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_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, 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_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.

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

Instances details
Eq GetCostAndUsageResponse Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Read GetCostAndUsageResponse Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Show GetCostAndUsageResponse Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Generic GetCostAndUsageResponse Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Associated Types

type Rep GetCostAndUsageResponse :: Type -> Type #

NFData GetCostAndUsageResponse Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

Methods

rnf :: GetCostAndUsageResponse -> () #

type Rep GetCostAndUsageResponse Source # 
Instance details

Defined in Amazonka.CostExplorer.GetCostAndUsage

type Rep GetCostAndUsageResponse = D1 ('MetaData "GetCostAndUsageResponse" "Amazonka.CostExplorer.GetCostAndUsage" "libZSservicesZSamazonka-cost-explorerZSamazonka-cost-explorer" 'False) (C1 ('MetaCons "GetCostAndUsageResponse'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "resultsByTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [ResultByTime])) :*: S1 ('MetaSel ('Just "nextPageToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "dimensionValueAttributes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [DimensionValuesWithAttributes])) :*: (S1 ('MetaSel ('Just "groupDefinitions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [GroupDefinition])) :*: S1 ('MetaSel ('Just "httpStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))))

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:resultsByTime:GetCostAndUsageResponse', getCostAndUsageResponse_resultsByTime - The time period that's covered by the results in the response.

$sel:nextPageToken: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: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.

$sel:httpStatus:GetCostAndUsageResponse', getCostAndUsageResponse_httpStatus - The response's http status code.

Response Lenses

getCostAndUsageResponse_resultsByTime :: Lens' GetCostAndUsageResponse (Maybe [ResultByTime]) Source #

The time period that's covered by the results in the response.

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