web-dev-qa-db-fra.com

Comment boucler les valeurs dans un modèle de cloudformation

J'essaie de transmettre une liste de paramètres séparés par des virgules dans un modèle de cloudformation AWS et de créer plusieurs godets Amazon S3 en fonction de ces valeurs.

J'ai une exigence dans laquelle je vais passer une virgule séparée - une liste des noms de pays, puis le modèle de cloudformation construirait que de nombreux godets S3 (basés sur les noms des pays passés dans des paramètres).

Par exemple, si je passe fr,us,gb Dans un paramètre, la pile devrait créer fr_myprod_bucket, us_myprod_bucket, gb_myprod_bucket.

Je sais qu'il n'y a pas de boucle dans Cloudformation, alors je ne sais pas comment je peux y parvenir?

7
Njoi

Utilisez le comptez la macro !

La macro de comptage fournit une propriété de comptage à l'échelle de modèle pour les ressources de cloudformation. Il vous permet de spécifier plusieurs ressources du même type sans avoir à couper et coller.

Ainsi, les éléments suivants:

AWSTemplateFormatVersion: "2010-09-09"
Transform: Count
Resources:
  Bucket:
    Type: AWS::S3::Bucket
    Properties:
      Tags:
        - Key: TestKey
          Value: my bucket %d
    Count: 3

Serait équivalent à:

AWSTemplateFormatVersion: "2010-09-09"
Resources:
  Bucket1:
    Type: AWS::S3::Bucket
    Properties:
      Tags:
        - Key: TestKey
          Value: my bucket 1
  Bucket2:
    Type: AWS::S3::Bucket
    Properties:
      Tags:
        - Key: TestKey
          Value: my bucket 2
  Bucket3:
    Type: AWS::S3::Bucket
    Properties:
      Tags:
        - Key: TestKey
          Value: my bucket 3
1
Fernando Espinosa