🍣
aws_ce_cost_categoryで複数ディメンションを設定する
TL;DR
locals {
project_tag_key = "Project"
env_tag_key = "Env"
}
resource "aws_ce_cost_category" "project" {
name = var.app_name
rule_version = "CostCategoryExpression.v1"
rule {
value = "production"
type = "REGULAR"
rule {
and {
tags {
key = local.env_tag_key
match_options = ["EQUALS"]
values = ["production"]
}
}
and {
tags {
key = local.project_tag_key
match_options = ["EQUALS"]
values = [var.app_name]
}
}
}
}
}
補足
ruleが複数出てきたり、比較演算子の場所が意外とわかりにくいところにあったりで困ったので備忘録として残す。
1つのルールに複数のディメンションを作りたい時は、比較演算子でオブジェクトを作ってあげてその中で、tagsなど好きな条件を決めれば良い。
terraformのドキュメントだとtype(Optional)となっていたが、入れないとエラーが出たのでREGULARとして設定した。
Discussion