Class: Aws::CostExplorer::Types::CostCategoryRule

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb

Overview

Note:

When making an API call, you may pass CostCategoryRule data as a hash:

{
  value: "CostCategoryValue",
  rule: {
    or: [
      {
        # recursive Expression
      },
    ],
    and: [
      {
        # recursive Expression
      },
    ],
    not: {
      # recursive Expression
    },
    dimensions: {
      key: "AZ", # accepts 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, INVOICING_ENTITY
      values: ["Value"],
      match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
    },
    tags: {
      key: "TagKey",
      values: ["Value"],
      match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
    },
    cost_categories: {
      key: "CostCategoryName",
      values: ["Value"],
      match_options: ["EQUALS"], # accepts EQUALS, ABSENT, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
    },
  },
  inherited_value: {
    dimension_name: "LINKED_ACCOUNT_NAME", # accepts LINKED_ACCOUNT_NAME, TAG
    dimension_key: "GenericString",
  },
  type: "REGULAR", # accepts REGULAR, INHERITED_VALUE
}

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#inherited_valueTypes::CostCategoryInheritedValueDimension

The value the line item is categorized as if the line item contains the matched dimension.



668
669
670
671
672
673
674
675
# File 'gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb', line 668

class CostCategoryRule < Struct.new(
  :value,
  :rule,
  :inherited_value,
  :type)
  SENSITIVE = []
  include Aws::Structure
end

#ruleTypes::Expression

An Expression object used to categorize costs. This supports dimensions, tags, and nested expressions. Currently the only dimensions supported are LINKED_ACCOUNT, SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME.

Root level OR isn't supported. We recommend that you create a separate rule instead.

RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also supported for Cost Category expressions. This dimension uses different terms, depending on whether you're using the console or API/JSON editor. For a detailed comparison, see Term Comparisons in the Billing and Cost Management User Guide.

Returns:



668
669
670
671
672
673
674
675
# File 'gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb', line 668

class CostCategoryRule < Struct.new(
  :value,
  :rule,
  :inherited_value,
  :type)
  SENSITIVE = []
  include Aws::Structure
end

#typeString

You can define the CostCategoryRule rule type as either REGULAR or INHERITED_VALUE. The INHERITED_VALUE rule type adds the flexibility to define a rule that dynamically inherits the cost category value. This value is from the dimension value that's defined by CostCategoryInheritedValueDimension. For example, suppose that you want to costs to be dynamically grouped based on the value of a specific tag key. First, choose an inherited value rule type, and then choose the tag dimension and specify the tag key to use.

Returns:

  • (String)


668
669
670
671
672
673
674
675
# File 'gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb', line 668

class CostCategoryRule < Struct.new(
  :value,
  :rule,
  :inherited_value,
  :type)
  SENSITIVE = []
  include Aws::Structure
end

#valueString

The default value for the cost category.

Returns:

  • (String)


668
669
670
671
672
673
674
675
# File 'gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb', line 668

class CostCategoryRule < Struct.new(
  :value,
  :rule,
  :inherited_value,
  :type)
  SENSITIVE = []
  include Aws::Structure
end