Transformação - AWS CloudFormation

Transformação

A seção Transform opcional especifica uma ou mais macros que o AWS CloudFormation usa para processar seu modelo. A seção Transform baseia-se na linguagem simples e declarativa do AWS CloudFormation com um poderoso sistema de macros.

Você pode declarar um ou mais macros em um modelo. O AWS CloudFormation executa macros na ordem em que elas são especificadas. Quando você cria um conjunto de alterações, o AWS CloudFormation gera um conjunto de alterações que inclui o conteúdo do modelo processado. Em seguida, você pode revisar as alterações e executar o conjunto de alterações. Para obter mais informações, consulte Usar macros do AWS CloudFormation para realizar processamento personalizado em modelos.

O AWS CloudFormation também oferece suporte a transformações, que são macros hospedadas pelo AWS CloudFormation. O AWS CloudFormation trata essas transformações como qualquer macro que você cria em termos de escopo e ordem de execução. Para obter informações detalhadas sobre transformações específicas, consulte Referência de transformação.

Para declarar várias macros, use um formato de lista e especifique uma ou mais macros.

Por exemplo, no modelo de exemplo abaixo, o AWS CloudFormation avalia MyMacro e, em seguida, AWS::Serverless, que pode processar o conteúdo de todo o modelo devido à sua inclusão na seção 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