我有一个 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/