[英]Cloudformation Stack Template Conditions
如何使用带有条件子句的Cloudformation模板创建10个实例作为参数。
我已将以下示例用于最多5个实例。 但是我怎么能使用超过5次呢? 这取决于我们如何创建条件子句。
Conditions:
Launch1: !Equals [1, 1]
Launch2: !Not [!Equals [1, !Ref InstanceCount]]
Launch3: !Or
- !Not [!Equals [1, !Ref InstanceCount]]
- !Not [!Equals [2, !Ref InstanceCount]]
Launch4: !Or
- !Equals [4, !Ref InstanceCount]
- !Equals [5, !Ref InstanceCount]
Launch5: !Equals [5, !Ref InstanceCount]
您能否帮助我将此示例扩展到10个实例?
我强烈建议您依靠AutoScaling组( AWS :: AutoScaling :: AutoScalingGroup )。 这样,您将能够使用DesiredCapacity
属性引用实例计数。 这样做还可以带来很多其他好处。
编辑:但是,如果您仍然想使用条件来执行此操作,则需要执行以下操作:
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
InstanceCount:
Type: Number
Conditions:
Launch10: !Equals [10, !Ref InstanceCount]
Launch9: !Or
- !Equals [9, !Ref InstanceCount]
- !Condition Launch10
Launch8: !Or
- !Equals [8, !Ref InstanceCount]
- !Condition Launch9
Launch7: !Or
- !Equals [7, !Ref InstanceCount]
- !Condition Launch8
Launch6: !Or
- !Equals [6, !Ref InstanceCount]
- !Condition Launch7
Launch5: !Or
- !Equals [5, !Ref InstanceCount]
- !Condition Launch6
Launch4: !Or
- !Equals [4, !Ref InstanceCount]
- !Condition Launch5
Launch3: !Or
- !Equals [3, !Ref InstanceCount]
- !Condition Launch4
Launch2: !Or
- !Equals [2, !Ref InstanceCount]
- !Condition Launch3
Launch1: !Or
- !Equals [1, !Ref InstanceCount]
- !Condition Launch2
Resources:
Bucket1:
Condition: Launch1
Type: AWS::S3::Bucket
Bucket2:
Condition: Launch2
Type: AWS::S3::Bucket
Bucket3:
Condition: Launch3
Type: AWS::S3::Bucket
Bucket4:
Condition: Launch4
Type: AWS::S3::Bucket
Bucket5:
Condition: Launch5
Type: AWS::S3::Bucket
Bucket6:
Condition: Launch6
Type: AWS::S3::Bucket
Bucket7:
Condition: Launch7
Type: AWS::S3::Bucket
Bucket8:
Condition: Launch8
Type: AWS::S3::Bucket
Bucket9:
Condition: Launch9
Type: AWS::S3::Bucket
Bucket10:
Condition: Launch10
Type: AWS::S3::Bucket
我用过水桶,所以测试起来会更快
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.