PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` # Generated by default/object.tt package Paws::CostExplorer::Expression; use Moose; has And => (is => 'ro', isa => 'ArrayRef[Paws::CostExplorer::Expression]'); has CostCategories => (is => 'ro', isa => 'Paws::CostExplorer::CostCategoryValues'); has Dimensions => (is => 'ro', isa => 'Paws::CostExplorer::DimensionValues'); has Not => (is => 'ro', isa => 'Paws::CostExplorer::Expression'); has Or => (is => 'ro', isa => 'ArrayRef[Paws::CostExplorer::Expression]'); has Tags => (is => 'ro', isa => 'Paws::CostExplorer::TagValues'); 1; ### main pod documentation begin ### =head1 NAME Paws::CostExplorer::Expression =head1 USAGE This class represents one of two things: =head3 Arguments in a call to a service Use the attributes of this class as arguments to methods. You shouldn't make instances of this class. Each attribute should be used as a named argument in the calls that expect this type of object. As an example, if Att1 is expected to be a Paws::CostExplorer::Expression object: $service_obj->Method(Att1 => { And => $value, ..., Tags => $value }); =head3 Results returned from an API call Use accessors for each attribute. If Att1 is expected to be an Paws::CostExplorer::Expression object: $result = $service_obj->Method(...); $result->Att1->And =head1 DESCRIPTION Use C to filter by cost or by usage. There are two patterns: =over =item * 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 C. For C, the Region is a full name (for example, C. The C example looks like: C<{ "Dimensions": { "Key": "REGION", "Values": [ "us-east-1", Eus-west-1E ] } }> The list of dimension values are OR'd together to retrieve cost or usage data. You can create C and C objects using either C methods or C methods in multiple lines. =item * Compound dimension values with logical operations - You can use multiple C types and the logical operators C to create a list of one or more C objects. This allows you to filter on more advanced options. For example, you can filter on C<((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)>. The C for that looks like this: C<{ "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 C can have only one operator, the service returns an error if more than one is specified. The following example shows an C object that creates an error. C<{ "And": [ ... ], "DimensionValues": { "Dimension": "USAGE_TYPE", "Values": [ "DataTransfer" ] } }> =back For the C 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 C, C, or C. For the C action, only NOT is supported. AND and OR are not supported. Dimensions are limited to C. =head1 ATTRIBUTES =head2 And => ArrayRef[L] Return results that match both C objects. =head2 CostCategories => L The filter based on C values. =head2 Dimensions => L The specific C to use for C. =head2 Not => L Return results that don't match a C object. =head2 Or => ArrayRef[L] Return results that match either C object. =head2 Tags => L The specific C to use for C. =head1 SEE ALSO This class forms part of L, describing an object used in L =head1 BUGS and CONTRIBUTIONS The source code is located here: L Please report bugs to: L =cut