Amazon cloudformation 将自定义AMI添加到参数列表中
cloudformation模板的这一部分按预期工作:Amazon cloudformation 将自定义AMI添加到参数列表中,amazon-cloudformation,Amazon Cloudformation,cloudformation模板的这一部分按预期工作: Parameters: LatestAmiId: Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Default: /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs 如果我只保留1个SSM参数值(如上图所示),则此操作有效。但是如何允许自定义AMI和默认AMI一起使用呢?很
Parameters:
LatestAmiId:
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs
如果我只保留1个SSM参数值(如上图所示),则此操作有效。但是如何允许自定义AMI和默认AMI一起使用呢?很遗憾,您不能这样做,因为
AMI-XXadfa6e17bbca4XX
不是AWS::SSM::Parameter::Value
的类型
您需要有两个独立的参数,例如LatestAmiId
和LatestAmiId2
,以及它们各自的类型。然后使用模板中的条件在用户选择的模板之间进行选择
Parameters:
LatestAmiId:
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs
AllowedValues:
- /aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs
- ami-XXadfa6e17bbca4XX
MySpotFleet:
Type: 'AWS::EC2::SpotFleet'
Properties:
SpotFleetRequestConfigData:
LaunchSpecifications:
- ImageId: !Ref LatestAmiId