AWS Cloudformation conditions

0

I would like to have an IF-ELSE statement to assign subnets.

If 1 AZ is being used, assign privatesubnet1 to subnets

If 2 AZ is being used, assign privatesubnet1 and privatesubnet2 to subnets

If 3 AZ is being used, assign privatesubnet1, privatesubnet2 and privatesubnet3 to subnets

The IF function handles 1 and 2 AZ well, but I don’t know how to handle 3 AZ

Suggestions are welcome.

Conditions:
  SingleZone:
    !Equals [!Ref NumberOfZones, 1]
  TwoZones:
    !Equals [!Ref NumberOfZones, 2]
  ThreeZones:
    !Equals [!Ref NumberOfZones, 3]
Resources:
  Properties:
    Subnets:
      - !If [TwoZones, !Join [',', [!Ref PrivateSubnet1, !Ref PrivateSubnet2]], !Ref PrivateSubnet1]
      #How to handle ThreeZones
demandé il y a un an234 vues
1 réponse
0

Hi, Look at https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-if

"Fn::If": [condition_name, value_if_true, value_if_false]

You have to create second If in the value_if_false of your current if.

profile pictureAWS
EXPERT
répondu il y a un an

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions