我有一个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可能很大,有没有办法指定输出块,这样就不需要为每个队列写这样的输出块了?
答案 0 :(得分:1)
没有。截至目前,cloudformation并不支持任何类型的for loops
你可以做的是在其他地方创建一个JSON(python,ruby,java ...)。然后将结果加载到CloudFormation API。
这是一个用python编写的非常方便的库: troposphere