amazon-web-services - 获取 Cloudformation 模板中所有 AWS 资源的输出参数

标签 amazon-web-services aws-cloudformation

我有一个 AWS Cloudformation 模板,用于创建 N 个 SQS 队列。该模板不包含任何其他类型的资源。

每个 SQS 队列格式如下所示:

"logical-name-of-queue": {
  "Type": "AWS::SQS::Queue",
  "Properties": {
    "QueueName": "queue-name",
    "DelaySeconds": "0",
    "MaximumMessageSize": "262144",
    "MessageRetentionPeriod": "345600",
    "ReceiveMessageWaitTimeSeconds": "20",
    "VisibilityTimeout": "300"
  }
}

模板应输出所有队列的“QueueName”。我可以在输出中包含每个队列的名称,例如:

"Outputs" : {
    "name-of-queue-" : {
      "Value" : { "Fn::GetAtt" : [ "logical-name-of-queue", "QueueName" ]}
    }
}

但是,由于N可能很大,有没有办法指定输出 block ,这样就不需要为每个队列编写这样的输出 block ?

最佳答案

没有。截至目前,cloudformation 不支持任何类型的 for 循环

你可以做的是在其他地方创建一个 JSON(python、ruby、java...)。然后将结果加载到 CloudFormation API。

这是一个用 python 编写的非常方便的库: troposphere

关于amazon-web-services - 获取 Cloudformation 模板中所有 AWS 资源的输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130063/

相关文章:

amazon-ec2 - 如何使用 Cloud Formation 或 AWS CLI 将扩展策略添加到自动扩展组

amazon-web-services - 我们可以更新 cloudformation 堆栈以将 kinesis 传输流目标配置从 s3 更改为 elasticsearch 吗?

amazon-web-services - 在从 centos 7 创建的自定义 EC2 AMI 上运行用户数据

amazon-web-services - 如何在 IAM 策略文档中使用 AWS CloudFormation 伪参数

amazon-web-services - 用于 go 的 Elastic Beanstalk Procfile

apache - 在 Amazon ubuntu 托管中安装替换 SSL 证书的最简单方法

amazon-web-services - 模板资源属性无效 "Tags"

amazon-web-services - 选择从cloudformation创建的VPC

amazon-web-services - 如何在 serverless.yml 默认值运算符中使用 `!GetAtt`?

amazon-web-services - AWS上的Docker容器