

# Seção Transform do modelo do CloudFormation
<a name="transform-section-structure"></a>

A seção `Transform` opcional especifica uma ou mais macros que o CloudFormation usa para processar o modelo de alguma forma. 

As macros podem realizar tarefas simples, como localizar e substituir texto, ou podem fazer transformações mais extensas em todo o modelo. O CloudFormation executa as macros na ordem em que elas são especificadas. Quando você cria um conjunto de alterações, o 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. Consulte mais informações sobre como as macros funcionam em [Executar processamento personalizado em modelos do CloudFormation com macros de modelo](template-macros.md).

O CloudFormation também é compatível com *transformações*, que são macros hospedadas pelo CloudFormation. O CloudFormation trata essas transformações da mesma forma que qualquer macro que você cria em termos de ordem de execução e escopo. Para obter mais informações, consulte a [Referência de transformações](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/transform-reference.html).

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

Por exemplo, no modelo de exemplo abaixo, o CloudFormation avalia `MyMacro` e, depois, `AWS::Serverless`, e ambas podem processar o conteúdo do modelo inteiro 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: amzn-s3-demo-bucket
      Tags: [{"key":"value"}]
      CorsConfiguration: []
  MyEc2Instance:
    Type: AWS::EC2::Instance 
    Properties:
      ImageId: ami-1234567890abcdef0
# End of processable content for MyMacro and AWS::Serverless
```