@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 looks like:
{ "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. This
allows you to 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 looks like this:
{ "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 is not supported. OR is not
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 are not
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 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()
Returns true if the And property was specified by the sender (it may be empty), or false if the sender did not
specify the value (it will be empty).
|
int |
hashCode() |
boolean |
hasOr()
Returns true if the Or property was specified by the sender (it may be empty), or false if the sender did not
specify the value (it will be empty).
|
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()
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.
You can use hasOr() to see if a value was sent in this field.
Dimension object.public final boolean hasAnd()
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.
You can use hasAnd() to see if a value was sent in this field.
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 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 © 2021. All rights reserved.