UpdateCostCategoryDefinitionCommand

Updates an existing Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { CostExplorerClient, UpdateCostCategoryDefinitionCommand } from "@aws-sdk/client-cost-explorer"; // ES Modules import
// const { CostExplorerClient, UpdateCostCategoryDefinitionCommand } = require("@aws-sdk/client-cost-explorer"); // CommonJS import
const client = new CostExplorerClient(config);
const input = { // UpdateCostCategoryDefinitionRequest
  CostCategoryArn: "STRING_VALUE", // required
  EffectiveStart: "STRING_VALUE",
  RuleVersion: "CostCategoryExpression.v1", // required
  Rules: [ // CostCategoryRulesList // required
    { // CostCategoryRule
      Value: "STRING_VALUE",
      Rule: { // Expression
        Or: [ // Expressions
          {
            Or: [
              "<Expression>",
            ],
            And: [
              "<Expression>",
            ],
            Not: "<Expression>",
            Dimensions: { // DimensionValues
              Key: "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" || "ANOMALY_TOTAL_IMPACT_ABSOLUTE" || "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
              Values: [ // Values
                "STRING_VALUE",
              ],
              MatchOptions: [ // MatchOptions
                "EQUALS" || "ABSENT" || "STARTS_WITH" || "ENDS_WITH" || "CONTAINS" || "CASE_SENSITIVE" || "CASE_INSENSITIVE" || "GREATER_THAN_OR_EQUAL",
              ],
            },
            Tags: { // TagValues
              Key: "STRING_VALUE",
              Values: [
                "STRING_VALUE",
              ],
              MatchOptions: [
                "EQUALS" || "ABSENT" || "STARTS_WITH" || "ENDS_WITH" || "CONTAINS" || "CASE_SENSITIVE" || "CASE_INSENSITIVE" || "GREATER_THAN_OR_EQUAL",
              ],
            },
            CostCategories: { // CostCategoryValues
              Key: "STRING_VALUE",
              Values: [
                "STRING_VALUE",
              ],
              MatchOptions: [
                "EQUALS" || "ABSENT" || "STARTS_WITH" || "ENDS_WITH" || "CONTAINS" || "CASE_SENSITIVE" || "CASE_INSENSITIVE" || "GREATER_THAN_OR_EQUAL",
              ],
            },
          },
        ],
        And: [
          "<Expression>",
        ],
        Not: "<Expression>",
        Dimensions: {
          Key: "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" || "ANOMALY_TOTAL_IMPACT_ABSOLUTE" || "ANOMALY_TOTAL_IMPACT_PERCENTAGE",
          Values: [
            "STRING_VALUE",
          ],
          MatchOptions: [
            "EQUALS" || "ABSENT" || "STARTS_WITH" || "ENDS_WITH" || "CONTAINS" || "CASE_SENSITIVE" || "CASE_INSENSITIVE" || "GREATER_THAN_OR_EQUAL",
          ],
        },
        Tags: {
          Key: "STRING_VALUE",
          Values: [
            "STRING_VALUE",
          ],
          MatchOptions: [
            "EQUALS" || "ABSENT" || "STARTS_WITH" || "ENDS_WITH" || "CONTAINS" || "CASE_SENSITIVE" || "CASE_INSENSITIVE" || "GREATER_THAN_OR_EQUAL",
          ],
        },
        CostCategories: {
          Key: "STRING_VALUE",
          Values: "<Values>",
          MatchOptions: "<MatchOptions>",
        },
      },
      InheritedValue: { // CostCategoryInheritedValueDimension
        DimensionName: "LINKED_ACCOUNT_NAME" || "TAG",
        DimensionKey: "STRING_VALUE",
      },
      Type: "REGULAR" || "INHERITED_VALUE",
    },
  ],
  DefaultValue: "STRING_VALUE",
  SplitChargeRules: [ // CostCategorySplitChargeRulesList
    { // CostCategorySplitChargeRule
      Source: "STRING_VALUE", // required
      Targets: [ // CostCategorySplitChargeRuleTargetsList // required
        "STRING_VALUE",
      ],
      Method: "FIXED" || "PROPORTIONAL" || "EVEN", // required
      Parameters: [ // CostCategorySplitChargeRuleParametersList
        { // CostCategorySplitChargeRuleParameter
          Type: "ALLOCATION_PERCENTAGES", // required
          Values: [ // CostCategorySplitChargeRuleParameterValuesList // required
            "STRING_VALUE",
          ],
        },
      ],
    },
  ],
};
const command = new UpdateCostCategoryDefinitionCommand(input);
const response = await client.send(command);
// { // UpdateCostCategoryDefinitionResponse
//   CostCategoryArn: "STRING_VALUE",
//   EffectiveStart: "STRING_VALUE",
// };

UpdateCostCategoryDefinitionCommand Input

Parameter
Type
Description
CostCategoryArn
Required
string | undefined

The unique identifier for your Cost Category.

RuleVersion
Required
CostCategoryRuleVersion | undefined

The rule schema version in this particular Cost Category.

Rules
Required
CostCategoryRule[] | undefined

The Expression object used to categorize costs. For more information, see CostCategoryRule  .

DefaultValue
string | undefined

The default value for the cost category.

EffectiveStart
string | undefined

The Cost Category's effective start date. It can only be a billing start date (first day of the month). If the date isn't provided, it's the first day of the current month. Dates can't be before the previous twelve months, or in the future.

SplitChargeRules
CostCategorySplitChargeRule[] | undefined

The split charge rules used to allocate your charges between your Cost Category values.

UpdateCostCategoryDefinitionCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
CostCategoryArn
string | undefined

The unique identifier for your Cost Category.

EffectiveStart
string | undefined

The Cost Category's effective start date. It can only be a billing start date (first day of the month).

Throws

Name
Fault
Details
LimitExceededException
client

You made too many calls in a short period of time. Try again later.

ResourceNotFoundException
client

The specified ARN in the request doesn't exist.

ServiceQuotaExceededException
client

You've reached the limit on the number of resources you can create, or exceeded the size of an individual resource.

CostExplorerServiceException
Base exception class for all service exceptions from CostExplorer service.