Transformation - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transformation

La section facultative Transform spécifie une ou plusieurs transformations qu'AWS CloudFormation utilise pour traiter votre modèle. La section Transform s'appuie sur le langage déclaratif simple d'AWS CloudFormation avec un système de macros puissant.

Vous pouvez déclarer une ou plusieurs macros au sein d'un modèle. AWS CloudFormation exécute les macros dans l'ordre où elles sont spécifiées. Lorsque vous créez un jeu de modifications, AWS CloudFormation génère un jeu de modifications qui inclut le contenu de modèle traité. Vous pouvez alors passer en revue les modifications et exécuter le jeu de modifications. Pour de plus amples informations, veuillez consulter Utilisation de AWS CloudFormation macros pour effectuer un traitement personnalisé sur les modèles.

AWS CloudFormation prend également en charge les transformations, qui sont des macros hébergées par AWS CloudFormation. AWS CloudFormation traite ces transformations de la même façon que toutes les macros que vous créez en termes de portée et d'ordre d'exécution. Pour plus d'informations sur des transformations spécifiques, consultez la section Référence sur les transformations.

Pour déclarer plusieurs macros, utilisez un format de liste et spécifiez une ou plusieurs macros.

Par exemple, dans l'exemple de modèle ci-dessous, AWS CloudFormation évalue MyMacro puis AWS::Serverless, qui peuvent toutes deux traiter le contenu du modèle complet, en raison de leur insertion dans la section Transform.

// Start of processable content for MyMacro and AWS::Serverless Transform: - MyMacro - 'AWS::Serverless' Resources: WaitCondition: Type: 'AWS::CloudFormation::WaitCondition' MyBucket: Type: 'AWS::S3::Bucket' Properties: BucketName: MyBucket Tags: [{"key":"value"}] CorsConfiguration:[] MyEc2Instance: Type: 'AWS::EC2::Instance' Properties: ImageID: "ami-123" // End of processable content for MyMacro and AWS::Serverless