[英]How to set default value to aws_iam_policy with terraform?
我想動態設置 aws 政策。 設置變量以調用aws_iam_policy
資源。 變量文件為
變量.tf
variable "name" {
default = ""
type = string
}
variable "policy" {
default = ""
type = string
}
在 main.tf
resource "aws_iam_policy" "my_policy" {
name = var.name
policy = var.policy
}
運行tflint
時
名稱 var 得到:
Error: name must be 1 characters or higher (aws_iam_policy_invalid_name)
Error: "" does not match valid pattern ^[\w+=,.@-]+$ (aws_iam_policy_invalid_name)
政策變量得到:
Error: policy must be 1 characters or higher (aws_iam_policy_invalid_policy)
Error: "" does not match valid pattern ^[\x{0009}\x{000A}\x{000D}\x{0020}-\x{00FF}]+$ (aws_iam_policy_invalid_policy)
如果默認不設置策略,它不能設置為“”字符串嗎?
托管策略名稱不能為空字符串。 [\w+=,.@-]+
模式后至少需要 1 個字符。
但是如果您有空字符串,要自動生成名稱,您可以嘗試以下操作:
resource "aws_iam_policy" "my_policy" {
count = var.policy != "" ? 1 : 0
name = var.name != "" ? var.name : null
policy = var.policy
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.