EC2 cloudformation模板使用条件添加ebs卷。

问题描述 投票:0回答:1

我正试图根据EBS卷是否需要的条件将EBS卷添加到我的EC2资源中。我如何才能使条件工作?这里是代码的片段。

Conditions:
  EbsVolumeTrue: !Equals [!Ref EBS, true]
Resources:
  Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-xxxxxx
      !If [EbsVolumeTrue, !Ref BlockDeviceMappings, !Ref "AWS::NoValue"]
      BlockDeviceMappings: 
       - DeviceName: !Ref VolumeName
         Ebs: 
           VolumeType: !Ref VolumeType
           DeleteOnTermination: false
           VolumeSize: !Ref VolumeSize
amazon-ec2 amazon-cloudformation
1个回答
0
投票

这是条件中多行的方法。

Conditions:
  EbsVolumeTrue: !Equals [!Ref EBS, true]
Resources:
  Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-xxxxxx
      Fn::If:
        - EbsVolumeTrue
        - 
          BlockDeviceMappings: 
          - DeviceName: !Ref VolumeName
            Ebs: 
              VolumeType: !Ref VolumeType
              DeleteOnTermination: false
              VolumeSize: !Ref VolumeSize
        - Ref: AWS::NoValue
© www.soinside.com 2019 - 2024. All rights reserved.