Class GetCostAndUsageRequest
- All Implemented Interfaces:
SdkPojo
,ToCopyableBuilder<GetCostAndUsageRequest.Builder,
GetCostAndUsageRequest>
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final Expression
filter()
Filters Amazon Web Services costs by different dimensions.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) Used to retrieve the value of a field from any class that extendsSdkRequest
.final Granularity
Sets the Amazon Web Services cost granularity toMONTHLY
orDAILY
, orHOURLY
.final String
Sets the Amazon Web Services cost granularity toMONTHLY
orDAILY
, orHOURLY
.final List
<GroupDefinition> 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.final boolean
For responses, this returns true if the service returned a value for the GroupBy property.final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the Metrics property.metrics()
Which metrics are returned in the query.final String
The token to retrieve the next set of results.static Class
<? extends GetCostAndUsageRequest.Builder> final DateInterval
Sets the start date and end date for retrieving Amazon Web Services costs.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from class software.amazon.awssdk.awscore.AwsRequest
overrideConfiguration
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
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
is2017-01-01
andend
is2017-05-01
, then the cost and usage data is retrieved from2017-01-01
up to and including2017-04-30
but not including2017-05-01
.- Returns:
- 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
is2017-01-01
andend
is2017-05-01
, then the cost and usage data is retrieved from2017-01-01
up to and including2017-04-30
but not including2017-05-01
.
-
granularity
Sets the Amazon Web Services cost granularity to
MONTHLY
orDAILY
, orHOURLY
. IfGranularity
isn't set, the response object doesn't include theGranularity
, eitherMONTHLY
orDAILY
, orHOURLY
.If the service returns an enum value that is not available in the current SDK version,
granularity
will returnGranularity.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromgranularityAsString()
.- Returns:
- Sets the Amazon Web Services cost granularity to
MONTHLY
orDAILY
, orHOURLY
. IfGranularity
isn't set, the response object doesn't include theGranularity
, eitherMONTHLY
orDAILY
, orHOURLY
. - See Also:
-
granularityAsString
Sets the Amazon Web Services cost granularity to
MONTHLY
orDAILY
, orHOURLY
. IfGranularity
isn't set, the response object doesn't include theGranularity
, eitherMONTHLY
orDAILY
, orHOURLY
.If the service returns an enum value that is not available in the current SDK version,
granularity
will returnGranularity.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromgranularityAsString()
.- Returns:
- Sets the Amazon Web Services cost granularity to
MONTHLY
orDAILY
, orHOURLY
. IfGranularity
isn't set, the response object doesn't include theGranularity
, eitherMONTHLY
orDAILY
, orHOURLY
. - See Also:
-
filter
Filters Amazon Web Services costs by different dimensions. For example, you can specify
SERVICE
andLINKED_ACCOUNT
and get the costs that are associated with that account's usage of that service. You can nestExpression
objects to define any combination of dimension filters. For more information, see Expression.Valid values for
MatchOptions
forDimensions
areEQUALS
andCASE_SENSITIVE
.Valid values for
MatchOptions
forCostCategories
andTags
areEQUALS
,ABSENT
, andCASE_SENSITIVE
. Default values areEQUALS
andCASE_SENSITIVE
.- Returns:
- Filters Amazon Web Services costs by different dimensions. For example, you can specify
SERVICE
andLINKED_ACCOUNT
and get the costs that are associated with that account's usage of that service. You can nestExpression
objects to define any combination of dimension filters. For more information, see Expression.Valid values for
MatchOptions
forDimensions
areEQUALS
andCASE_SENSITIVE
.Valid values for
MatchOptions
forCostCategories
andTags
areEQUALS
,ABSENT
, andCASE_SENSITIVE
. Default values areEQUALS
andCASE_SENSITIVE
.
-
hasMetrics
public final boolean hasMetrics()For responses, this returns true if the service returned a value for the Metrics property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
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
, andUsageQuantity
.If you return the
UsageQuantity
metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregateusageQuantity
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 meaningfulUsageQuantity
metrics, filter byUsageType
orUsageTypeGroups
.Metrics
is required forGetCostAndUsage
requests.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasMetrics()
method.- Returns:
- 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
, andUsageQuantity
.If you return the
UsageQuantity
metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregateusageQuantity
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 meaningfulUsageQuantity
metrics, filter byUsageType
orUsageTypeGroups
.Metrics
is required forGetCostAndUsage
requests.
-
hasGroupBy
public final boolean hasGroupBy()For responses, this returns true if the service returned a value for the GroupBy property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
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 areAZ
,INSTANCE_TYPE
,LEGAL_ENTITY_NAME
,INVOICING_ENTITY
,LINKED_ACCOUNT
,OPERATION
,PLATFORM
,PURCHASE_TYPE
,SERVICE
,TENANCY
,RECORD_TYPE
, andUSAGE_TYPE
.When you group by the
TAG
type and include a valid tag key, you get all tag values, including empty strings.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasGroupBy()
method.- Returns:
- 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 areAZ
,INSTANCE_TYPE
,LEGAL_ENTITY_NAME
,INVOICING_ENTITY
,LINKED_ACCOUNT
,OPERATION
,PLATFORM
,PURCHASE_TYPE
,SERVICE
,TENANCY
,RECORD_TYPE
, andUSAGE_TYPE
.When you group by the
TAG
type and include a valid tag key, you get all tag values, including empty strings.
-
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.
- Returns:
- 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.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<GetCostAndUsageRequest.Builder,
GetCostAndUsageRequest> - Specified by:
toBuilder
in classCostExplorerRequest
- Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode()- Overrides:
hashCode
in classAwsRequest
-
equals
- Overrides:
equals
in classAwsRequest
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
Description copied from class:SdkRequest
Used to retrieve the value of a field from any class that extendsSdkRequest
. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, theSdkRequest.getValueForField(String, Class)
method will again be available.- Overrides:
getValueForField
in classSdkRequest
- Parameters:
fieldName
- The name of the member to be retrieved.clazz
- The class to cast the returned object to.- Returns:
- Optional containing the casted return value
-
sdkFields
-