CostCategory
The CostCategory resource lets you manage AWS Cost Categories for organizing your AWS cost allocation according to your business needs.
Minimal Example
Section titled “Minimal Example”Create a basic cost category with a default value and a set of rules.
import AWS from "alchemy/aws/control";
const costCategory = await AWS.CE.CostCategory("basicCostCategory", { name: "Basic Cost Category", ruleVersion: "CostCategoryExpression.v1", rules: JSON.stringify({ "Rule1": { "RuleType": "Service", "MatchOptions": ["Include"], "Values": ["AmazonEC2"] } }), defaultValue: "Unallocated"});
Advanced Configuration
Section titled “Advanced Configuration”Configure a cost category with split charge rules to distribute costs across different services.
const advancedCostCategory = await AWS.CE.CostCategory("advancedCostCategory", { name: "Advanced Cost Category", ruleVersion: "CostCategoryExpression.v1", rules: JSON.stringify({ "Rule1": { "RuleType": "Service", "MatchOptions": ["Include"], "Values": ["AmazonS3"] }, "Rule2": { "RuleType": "LinkedAccount", "MatchOptions": ["Include"], "Values": ["123456789012"] } }), splitChargeRules: JSON.stringify({ "SplitRule1": { "Percentage": 50, "ChargeType": "Service" }, "SplitRule2": { "Percentage": 50, "ChargeType": "LinkedAccount" } })});
Example with Tags
Section titled “Example with Tags”Create a cost category that includes tags for additional categorization.
const taggedCostCategory = await AWS.CE.CostCategory("taggedCostCategory", { name: "Tagged Cost Category", ruleVersion: "CostCategoryExpression.v1", rules: JSON.stringify({ "Rule1": { "RuleType": "Tag", "MatchOptions": ["Include"], "Values": ["Environment"] } }), tags: [ { Key: "Project", Value: "ProjectAlpha" }, { Key: "Department", Value: "Engineering" } ]});