NAME

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

DESCRIPTION

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

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

SYNOPSIS

my $ce = Paws->service('CostExplorer');
my $GetCostAndUsageResponse = $ce->GetCostAndUsage(
  Granularity => 'DAILY',
  Metrics     => [
    'MyMetricName', ...    # max: 1024
  ],
  TimePeriod => {
    End   => 'MyYearMonthDay',    # max: 40
    Start => 'MyYearMonthDay',    # max: 40

  },
  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
  },    # OPTIONAL
  GroupBy => [
    {
      Key  => 'MyGroupDefinitionKey',    # max: 1024; OPTIONAL
      Type => 'DIMENSION', # values: DIMENSION, TAG, COST_CATEGORY; OPTIONAL
    },
    ...
  ],    # OPTIONAL
  NextPageToken => 'MyNextPageToken',    # OPTIONAL
);

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

# Returns a L<Paws::CostExplorer::GetCostAndUsageResponse> 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/GetCostAndUsage

ATTRIBUTES

Filter => Paws::CostExplorer::Expression

Filters AWS 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).

REQUIRED Granularity => Str

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

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

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

You can group AWS costs using up to two different groups, either dimensions, tag keys, cost categories, or any two group by types.

When you group by tag key, you get all tag values, including empty strings.

Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, TENANCY, RECORD_TYPE, and USAGE_TYPE.

REQUIRED 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 into account the units. 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 GetCostAndUsage 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 AWS costs. 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 GetCostAndUsage 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