AWS CloudFormation:“参数[subnetIds]无效”

时间:2019-04-09 16:52:57

标签: json amazon-web-services amazon-cloudformation aws-codepipeline

我有一个AWS CodePipeline,可使用YAML模板以及模板配置JSON文件在CloudFormation中部署堆栈。

相关模板代码段:

AWSTemplateFormatVersion: '2010-09-09'
...
Parameters:
  subnetIds:
    Type: List<AWS::EC2::Subnet::Id>
...

相关配置文件摘要:

{
    "Parameters": {
      ...
      "subnetIds": [
        "subnet-a",
        "subnet-b",
        "subnet-c"
      ]
    },
    ...
}

由于某种原因,部署阶段(CloudFormation)始终因Parameter [subnetIds] is invalid而失败,所以我的问题是如何将配置文件中的subnetId列表传递给模板?

1 个答案:

答案 0 :(得分:1)

文档here中对列表数据类型进行了解释,例如:

  

List<AWS::EC2::Subnet::Id>

     

一组子网ID,例如subnet-123a351e, subnet-456b351e

也就是说,CloudFormation中的所有List类型也是逗号分隔的字符串。

由于您使用的是CodePipeline Template Configuration File,因此您将得到类似的内容:

{
  "Parameters": {
    "subnetIds": "subnet-a,subnet-b,subnet-c"
  }
}