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

Amazon web services 获取Cloudformation模板中所有AWS资源的输出参数,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有一个AWS Cloudformation模板,用于创建N个SQS队列。模板不包含任何其他类型的资源 每个SQS队列格式如下所示: "logical-name-of-queue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": "queue-name", "DelaySeconds": "0", "MaximumMessageSize": "262144", "MessageReten

我有一个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可能很大,是否有任何方法可以指定输出块,即不需要为每个队列写入这样的输出块?

否。到目前为止,cloudformation不支持任何类型的
for循环

您可以在其他地方(python、ruby、java…)创建JSON。然后将结果加载到CloudFormation API

下面是一个非常方便的用python编写的库: