我有以下本地塊,觀察domain關鍵
locals {
organization = "xxxx"
domain = "cs"
env = {
prod = "prod"
stg = "stg"
dev = "dev"
}
}
locals {
s3_artifact_bucket_name = {
prod = join("-", [
local.s3_artifact_bucket_name_prefix,
local.env["prod"]
])
stg = join("-", [
local.s3_artifact_bucket_name_prefix,
local.env["stg"]
])
dev = join("-", [
local.s3_artifact_bucket_name_prefix,
local.env["dev"]
])
}
s3_artifact_bucket_name_prefix = join("-", [
local.organization,
local.domain,
local.s3_bucket_awsresource,
local.s3_artifact_bucket_purpose
])
s3_bucket_awsresource = join("-", [
"bucket",
var.cd_account_id
])
s3_artifact_bucket_purpose = "artifacts-iac"
}
local.domain (cs) 用于創建另一個本地名稱。
現在我想添加另一個具有相同域但值不同的本地塊(因為 domain 有 3 個值),并為 s3 存盤桶創建另一個本地名稱,其中包含commonas 值。
locals {
# placeholder for access logs bucket name
domain = "common"
s3_bucket_awsresource = join("-", [
"bucket",
var.cd_account_id
])
s3_bucket_purpose = "s3-access-logs"
access_logs_bucket_region = "us-east-1"
}
在下一步中,我想參考 local.domain 作為common而不是cs
locals {
s3_artifact_access_logs_bucket_name = join("-", [local.organization, local.domain, s3_bucket_awsresource, local.s3_bucket_purpose, local.access_logs_bucket_region])
}
恐怕local.domain會指出哪個域的鍵和值?有沒有辦法domain用作鍵但具有不同的價值。
uj5u.com熱心網友回復:
不,您不能local在同一個作業區中有重復項。
考慮制作一個地圖(就像您對 所做的那樣env)或者可能是一個包含三個值的串列,然后使用另一個控制變數來選擇要使用的值。
uj5u.com熱心網友回復:
感謝@Ben 和@Calin,我能夠解決它,
發布它以更好地理解,using a map for the same key解決了我的問題
locals {
organization = "xxx"
domain = {
customer_service = "cs"
common = "common"
}
env = {
prod = "prod"
stg = "stg"
dev = "dev"
}
}
locals {
s3_artifact_access_logs_bucket_name = join("-", [
local.organization,
local.domain["common"],
local.s3_bucket_awsresource,
local.s3_access_logs_bucket_suffix
])
s3_access_logs_bucket_suffix = join("-", [
local.s3_acess_logs_bucket_purpose,
local.s3_access_logs_bucket_region
])
s3_acess_logs_bucket_purpose = "s3-access-logs"
s3_access_logs_bucket_region = "us-east-1"
}
uj5u.com熱心網友回復:
它行不通。相反,您可以將 domain 定義為map,就像 一樣env,并使用三個不同的值創建三個不同的鍵。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/518671.html
標籤:亚马逊网络服务亚马逊-s3地形terraform-provider-aws
下一篇:低代碼平臺 - 危險的賭注
