Cloud Formation AWS::EC2::SecurityGroup VpcId 取一个字符串?
Cloud Formation AWS::EC2::SecurityGroup VpcId takes a string?
我正在尝试编写一个云形成模板,为负载均衡器设置一个安全组。我有以下 select 安全组的 VPC:
"Parameters" : {
"VpcId" : {
"Description" : "VPC associated with the provided subnets",
"Type" : "List<AWS::EC2::VPC::Id>"
},
},
然后创建我拥有的负载均衡器安全组:
"LbSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Stack LBs",
"VpcId" : { "Ref" : "VpcId" }
}
},
当我启动堆栈时它失败了:
CREATE_FAILED AWS::EC2::SecurityGroup LbSecurityGroup
Value of property VpcId must be of type String
首先,为什么 AWS::EC2::SecurityGroup.VpcId 不是 AWS::EC2::VPC::Id 类型?其次,我如何将其按摩成字符串?
提前致谢!
额外的、更具体的类型(如 AWS::EC2::SecurityGroup
而不仅仅是 String
)是新的,并且仅用于参数 - 目的是在尝试创建之前验证资源是否存在堆。有关详细信息,请参阅 Using the New CloudFormation Parameter Types。
在你的情况下,我认为问题是 VpcId
参数的类型是 AWS::EC2::SecurityGroup
值的列表,而不是单个 AWS::EC2::SecurityGroup
值? AWS::EC2::SecurityGroup
资源的 VpcId
属性 只接受单个字符串,而不是字符串列表 - 请参阅 VpcId。
如果您希望用户从下拉列表中选择一个 VPC,则使用AWS::EC2::VPC::Id。
如果您希望用户从复选框列表中select一个或多个 VPC,则使用列表。
我正在尝试编写一个云形成模板,为负载均衡器设置一个安全组。我有以下 select 安全组的 VPC:
"Parameters" : {
"VpcId" : {
"Description" : "VPC associated with the provided subnets",
"Type" : "List<AWS::EC2::VPC::Id>"
},
},
然后创建我拥有的负载均衡器安全组:
"LbSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Stack LBs",
"VpcId" : { "Ref" : "VpcId" }
}
},
当我启动堆栈时它失败了:
CREATE_FAILED AWS::EC2::SecurityGroup LbSecurityGroup
Value of property VpcId must be of type String
首先,为什么 AWS::EC2::SecurityGroup.VpcId 不是 AWS::EC2::VPC::Id 类型?其次,我如何将其按摩成字符串?
提前致谢!
额外的、更具体的类型(如 AWS::EC2::SecurityGroup
而不仅仅是 String
)是新的,并且仅用于参数 - 目的是在尝试创建之前验证资源是否存在堆。有关详细信息,请参阅 Using the New CloudFormation Parameter Types。
在你的情况下,我认为问题是 VpcId
参数的类型是 AWS::EC2::SecurityGroup
值的列表,而不是单个 AWS::EC2::SecurityGroup
值? AWS::EC2::SecurityGroup
资源的 VpcId
属性 只接受单个字符串,而不是字符串列表 - 请参阅 VpcId。
如果您希望用户从下拉列表中选择一个 VPC,则使用AWS::EC2::VPC::Id。
如果您希望用户从复选框列表中select一个或多个 VPC,则使用列表