NAME

Paws::CostExplorer::GetCostAndUsageWithResources - Arguments for method GetCostAndUsageWithResources on Paws::CostExplorer

DESCRIPTION

This class represents the parameters used for calling the method GetCostAndUsageWithResources on the AWS Cost Explorer Service service. Use the attributes of this class as arguments to method GetCostAndUsageWithResources.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to GetCostAndUsageWithResources.

SYNOPSIS

   my $ce = Paws->service('CostExplorer');
   my $GetCostAndUsageWithResourcesResponse =
     $ce->GetCostAndUsageWithResources(
     Filter => {
       And            => [ <Expression>, ... ],    # OPTIONAL
       CostCategories => {
         Key          => 'MyCostCategoryName',     # min: 1, max: 50; OPTIONAL
         MatchOptions => [
           'EQUALS',
           ... # values: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
         ],    # OPTIONAL
         Values => [
           'MyValue', ...    # max: 1024
         ],    # OPTIONAL
       },    # OPTIONAL
       Dimensions => {
         Key => 'AZ'
         , # values: AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION, AGREEMENT_END_DATE_TIME_AFTER, AGREEMENT_END_DATE_TIME_BEFORE; OPTIONAL
         MatchOptions => [
           'EQUALS',
           ... # values: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
         ],    # OPTIONAL
         Values => [
           'MyValue', ...    # max: 1024
         ],    # OPTIONAL
       },    # OPTIONAL
       Not  => <Expression>,
       Or   => [ <Expression>, ... ],    # OPTIONAL
       Tags => {
         Key          => 'MyTagKey',     # max: 1024; OPTIONAL
         MatchOptions => [
           'EQUALS',
           ... # values: EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
         ],    # OPTIONAL
         Values => [
           'MyValue', ...    # max: 1024
         ],    # OPTIONAL
       },    # OPTIONAL
     },
     Granularity => 'DAILY',
     TimePeriod  => {
       End   => 'MyYearMonthDay',    # max: 40
       Start => 'MyYearMonthDay',    # max: 40

     },
     GroupBy => [
       {
         Key  => 'MyGroupDefinitionKey',    # max: 1024; OPTIONAL
         Type => 'DIMENSION', # values: DIMENSION, TAG, COST_CATEGORY; OPTIONAL
       },
       ...
     ],    # OPTIONAL
     Metrics => [
       'MyMetricName', ...    # max: 1024
     ],    # OPTIONAL
     NextPageToken => 'MyNextPageToken',    # OPTIONAL
     );

   # Results:
   my $DimensionValueAttributes =
     $GetCostAndUsageWithResourcesResponse->DimensionValueAttributes;
   my $GroupDefinitions =
     $GetCostAndUsageWithResourcesResponse->GroupDefinitions;
   my $NextPageToken = $GetCostAndUsageWithResourcesResponse->NextPageToken;
   my $ResultsByTime = $GetCostAndUsageWithResourcesResponse->ResultsByTime;

# Returns a L<Paws::CostExplorer::GetCostAndUsageWithResourcesResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/ce/GetCostAndUsageWithResources

ATTRIBUTES

REQUIRED Filter => Paws::CostExplorer::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 (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html).

The GetCostAndUsageWithResources operation requires that you either group by or filter by a ResourceId. It requires the Expression (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) "SERVICE = Amazon Elastic Compute Cloud - Compute" in the filter.

REQUIRED Granularity => Str

Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If Granularity isn't set, the response object doesn't include the Granularity, MONTHLY, DAILY, or HOURLY.

Valid values are: "DAILY", "MONTHLY", "HOURLY"

GroupBy => ArrayRef[Paws::CostExplorer::GroupDefinition]

You can group Amazon Web Services costs using up to two different groups: DIMENSION, TAG, COST_CATEGORY.

Metrics => ArrayRef[Str|Undef]

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? (http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/).

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 the units into account. 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 vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or UsageTypeGroups.

Metrics is required for GetCostAndUsageWithResources requests.

NextPageToken => Str

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

REQUIRED TimePeriod => Paws::CostExplorer::DateInterval

Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). 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.

SEE ALSO

This class forms part of Paws, documenting arguments for method GetCostAndUsageWithResources in Paws::CostExplorer

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues