Amazon web services 云形成AWS::EC2::SecurityGroup VpcId接受字符串?

Amazon web services 云形成AWS::EC2::SecurityGroup VpcId接受字符串?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我正在尝试编写一个云形成模板,为负载平衡器设置一个安全组。我需要为SecurityGroup选择以下专有网络: "Parameters" : { "VpcId" : { "Description" : "VPC associated with the provided subnets", "Type" : "List<AWS::EC2::VPC::Id>" }, }, 当我启动堆栈时,它会出现以下故障: CREATE_FAILED AWS::EC2::S

我正在尝试编写一个云形成模板,为负载平衡器设置一个安全组。我需要为SecurityGroup选择以下专有网络:

"Parameters" : {
  "VpcId" : {
    "Description" : "VPC associated with the provided subnets",
    "Type" : "List<AWS::EC2::VPC::Id>"
  },
},
当我启动堆栈时,它会出现以下故障:

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,而不仅仅是字符串)是新的,并且仅用于参数-目的是在尝试创建堆栈之前验证资源是否存在。有关更多信息,请参阅


在您的例子中,我认为问题在于VpcId参数的类型是AWS::EC2::SecurityGroup值的列表,而不是单个AWS::EC2::SecurityGroup值?AWS::EC2::SecurityGroup resources的VpcId属性只接受单个字符串,而不接受字符串列表-请参阅。

其他更具体的类型,如AWS::EC2::SecurityGroup,而不仅仅是字符串,是新类型,仅用于参数-目的是在尝试创建堆栈之前验证资源是否存在。有关更多信息,请参阅


在您的例子中,我认为问题在于VpcId参数的类型是AWS::EC2::SecurityGroup值的列表,而不是单个AWS::EC2::SecurityGroup值?AWS::EC2::SecurityGroup resources的VpcId属性只接受单个字符串,而不接受字符串列表-请参阅。

如果希望用户从下拉列表中选择一个VPC,请使用AWS::EC2::VPC::Id


如果希望用户从复选框列表中选择一个或多个VPC,请使用列表。

如果希望用户从下拉列表中选择一个VPC,请使用AWS::EC2::VPC::Id


如果希望用户从复选框列表中选择一个或多个VPC,请使用列表。

是,AWS::EC2::VPC::Id是我尝试用于参数选择的较新的特定类型。AWS::EC2::SecurityGroup中的VpcId参数的类型为string,但当我通过Ref使用该参数时,我没有得到字符串,而是得到了一个错误。因为您已将参数定义为List而不是AWS::EC2::VPC::Id。是的,AWS::EC2::VPC::Id是我尝试用于参数选择的较新的特定类型。AWS::EC2::SecurityGroup中的VpcId参数的类型为string,但当我通过Ref使用该参数时,我不会得到字符串,而是会得到错误。因为您已将参数定义为List而不是AWS::EC2::VPC::Id。AWS::EC2::SecurityGroup的VpcId属性只接受单个字符串,而不是字符串列表,所以后者在这种情况下不起作用。@bsvingen是的,他在Vpcid参数中使用了错误的类型,因为在本例中,他需要一个VPC id。我想我们说的是相同的,但我只是指出在更一般的情况下,使用一种类型比使用另一种类型更合适。AWS::EC2::SecurityGroup的Vpcid属性只使用一个字符串,而不是字符串列表,所以后者在这种情况下不起作用。@bsvingen是的,他在他的Vpcid参数中使用了错误的类型,因为在这种情况下他需要一个VPC id。我想我们说的是相同的,但我只是在更一般的情况下指出,什么时候使用一种类型比使用另一种类型更合适。
CREATE_FAILED   AWS::EC2::SecurityGroup LbSecurityGroup
Value of property VpcId must be of type String