【问题标题】:How to upload a parameter with all tags included?如何上传包含所有标签的参数?
【发布时间】:2021-11-24 09:40:10
【问题描述】:

例如。我正在使用 Terraform 创建一个 AMI-ID 参数,并且我想将它的值上传到 AWS Parameter store。但这个 AMI 也有一堆标签,在这些标签中,我希望这个标签的一个特定值也作为参数上传。我们如何为标签创建参数?

resource "aws_ssm_parameter" "ami_id" {
 name  = ami_id
 type  = "String"
 value = data.aws_ami.centos_ami.id
 provide = aws.us-west-2
 overwrite = true
}

【问题讨论】:

  • 你的问题标题说你想包含所有的标签。你的问题内容说你想找到一个特定的标签值,并从中创建一个新参数。

标签: amazon-web-services terraform terraform-provider-aws


【解决方案1】:

你的问题标题和问题内容不一样。


如果您想在 AMI 上找到特定标签,并从中创建一个新的 SSM 参数,则如下所示:

resource "aws_ssm_parameter" "ami_tag_value" {
 name  = "ami_tag_value"
 type  = "String"
 value = data.aws_ami.centos_ami.tags[index(data.aws_ami.centos_ami.tags.*.key, "tag_name")].value
 provide = aws.us-west-2
 overwrite = true
}

其中"tag_name" 是您想要其值的标签的名称。


如果您想将所有标签从 AMI 复制到 SSM 参数,它看起来像这样:

resource "aws_ssm_parameter" "ami_id" {
 name  = ami_id
 type  = "String"
 value = data.aws_ami.centos_ami.id
 provide = aws.us-west-2
 overwrite = true
 tags = data.aws_ami.centos_ami.tags
}

【讨论】:

  • 谢谢。这正是我想要的。
猜你喜欢
  • 2011-12-16
  • 1970-01-01
  • 2021-03-15
  • 2023-03-17
  • 1970-01-01
  • 2021-08-30
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多