@Generated(value="software.amazon.awssdk:codegen") public final class Expression extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Expression.Builder,Expression>
Use Expression to filter by cost or by usage. There are two patterns:
Simple dimension values - You can set the dimension name and values for the filters that you plan to use. For
example, you can filter for REGION==us-east-1 OR REGION==us-west-1. For
GetRightsizingRecommendation, the Region is a full name (for example,
REGION==US East (N. Virginia). The Expression example is as follows:
{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", “us-west-1” ] } }
The list of dimension values are OR'd together to retrieve cost or usage data. You can create Expression
and DimensionValues objects using either with* methods or set* methods in
multiple lines.
Compound dimension values with logical operations - You can use multiple Expression types and the
logical operators AND/OR/NOT to create a list of one or more Expression objects. By doing
this, you can filter on more advanced options. For example, you can filter on
((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer).
The Expression for that is as follows:
{ "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] }
Because each Expression can have only one operator, the service returns an error if more than one is
specified. The following example shows an Expression object that creates an error.
{ "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", "Values": [ "DataTransfer" ] } }
For the GetRightsizingRecommendation action, a combination of OR and NOT isn't supported. OR isn't
supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also
limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.
For the GetReservationPurchaseRecommendation action, only NOT is supported. AND and OR aren't supported.
Dimensions are limited to LINKED_ACCOUNT.
| Modifier and Type | Class and Description |
|---|---|
static interface |
Expression.Builder |
| Modifier and Type | Method and Description |
|---|---|
List<Expression> |
and()
Return results that match both
Dimension objects. |
static Expression.Builder |
builder() |
CostCategoryValues |
costCategories()
The filter that's based on
CostCategory values. |
DimensionValues |
dimensions()
The specific
Dimension to use for Expression. |
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
boolean |
hasAnd()
For responses, this returns true if the service returned a value for the And property.
|
int |
hashCode() |
boolean |
hasOr()
For responses, this returns true if the service returned a value for the Or property.
|
Expression |
not()
Return results that don't match a
Dimension object. |
List<Expression> |
or()
Return results that match either
Dimension object. |
List<SdkField<?>> |
sdkFields() |
static Class<? extends Expression.Builder> |
serializableBuilderClass() |
TagValues |
tags()
The specific
Tag to use for Expression. |
Expression.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcopypublic final boolean hasOr()
isEmpty() 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.public final List<Expression> or()
Return results that match either Dimension object.
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 hasOr() method.
Dimension object.public final boolean hasAnd()
isEmpty() 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.public final List<Expression> and()
Return results that match both Dimension objects.
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 hasAnd() method.
Dimension objects.public final Expression not()
Return results that don't match a Dimension object.
Dimension object.public final DimensionValues dimensions()
The specific Dimension to use for Expression.
Dimension to use for Expression.public final TagValues tags()
The specific Tag to use for Expression.
Tag to use for Expression.public final CostCategoryValues costCategories()
The filter that's based on CostCategory values.
CostCategory values.public Expression.Builder toBuilder()
toBuilder in interface ToCopyableBuilder<Expression.Builder,Expression>public static Expression.Builder builder()
public static Class<? extends Expression.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields in interface SdkPojopublic final String toString()
Copyright © 2022. All rights reserved.