

# Visualizar um conjunto de alterações para uma pilha do CloudFormation
<a name="using-cfn-updating-stacks-changesets-view"></a>

Depois de criar um conjunto de alterações, você pode visualizar as alterações propostas antes da execução. Você pode usar o console do CloudFormation, a AWS CLI ou a API do CloudFormation para visualizar conjuntos de alterações. O console do CloudFormation fornece um resumo das alterações e uma lista detalhada delas no formato JSON. A AWS CLI e a API do AWS CloudFormation retornam uma lista detalhada das alterações em formato JSON.

------
#### [ View a change set (console) ]

**Para visualizar um conjunto de alterações**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha sua Região da AWS.

1. Na página **Pilhas**, escolha o nome da pilha que contém o conjunto de alterações que você deseja visualizar.

1. No painel de navegação, escolha **Change Sets** (Conjuntos de alterações) para visualizar uma lista dos conjuntos de alterações da pilha.

1. Escolha o nome do conjunto de alterações que deseja visualizar.

   O console do CloudFormation direcionará você para a página de detalhes do conjunto de alterações, onde poderá ver o horário em que o conjunto de alterações foi criado, o status, a entrada usada para gerá-lo e um resumo das alterações.

   Na seção **Alterações**, cada linha representa um recurso que o CloudFormation vai adicionar, modificar ou remover.
   + **Adicionar** – O CloudFormation cria um recurso quando você adicionar um recurso ao modelo da pilha.
   + **Modificar** – O CloudFormationmodifica um recurso quando você altera as propriedades de um recurso no modelo da pilha.
   + **Remover** – O CloudFormation exclui um recurso quando você exclui um recurso ao modelo da pilha.
**nota**  
Uma modificação pode fazer com que o recurso seja interrompido ou substituído (recriado). Para obter mais informações sobre os comportamentos de atualização de recursos, consulte [Compreender atualização de comportamentos de recursos da pilha](using-cfn-updating-stacks-update-behaviors.md).

   Para se concentrar em alterações específicas, use a visualização com filtro. Por exemplo, filtre por um determinado tipo de recurso, como `AWS::EC2::Instance`. Para filtrar por um recurso específico, especifique o ID lógico ou físico, como `myWebServer` ou `i-123abcd4`.

1. Na seção **Alterações**, escolha **Visualizar detalhes** na coluna **Alterações no nível da propriedade** para visualizar as alterações feitas nos valores das propriedades do recurso.

1. O console do CloudFormation direciona você para a página das alterações no nível de propriedade de um recurso, onde é possível ver a configuração do modelo do recurso antes da execução de um conjunto de alterações e como ficará a configuração do modelo depois que o conjunto de alterações for executado.

   A tabela da seção **Alterações no nível da propriedade** mostra o **Caminho**, o **Tipo de alteração**, o **Valor antes** e o **Valor depois** das propriedades afetadas. Na tabela, escolha a caixa de seleção de cada alteração que você desejar realçar nas visualizações **Antes** e **Depois** do seu modelo para ver quais alterações serão feitas no nível da propriedade.
   + **Adicionar**: as propriedades adicionadas são realçadas em verde.
   + **Modificar**: as propriedades modificadas são realçadas em azul.
   + **Remover**: as propriedades removidas são realçadas em vermelho.

------
#### [ View a change set for nested stack (console) ]

**Para visualizar um conjunto de alterações para pilhas aninhadas (console)**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha sua Região da AWS.

1. Na página **Pilhas**, escolha o nome da pilha que contém o conjunto de alterações que você deseja visualizar.

1. No painel de navegação, escolha **Conjuntos de alterações** para visualizar uma lista dos conjuntos de alterações da pilha.

1. Escolha o nome do conjunto de alterações que deseja visualizar.

   O console do CloudFormation direcionará você para a página de detalhes do conjunto de alterações, onde poderá ver o horário em que o conjunto de alterações foi criado, o status, a entrada usada para gerá-lo e um resumo das alterações.

   Na seção **Changes** (Alterações), cada linha representa um recurso para o qual o CloudFormation vai adicionar, modificar, remover ou mostrar o status de dinâmico.
   + **Adicionar** – O CloudFormation cria um recurso quando você adicionar um recurso ao modelo da pilha.
   + **Modificar** – O CloudFormationmodifica um recurso quando você altera as propriedades de um recurso no modelo da pilha.
   + **Remover** – O CloudFormation exclui um recurso quando você exclui um recurso ao modelo da pilha.
   + **Dinâmico** – O CloudFormation não pode determinar a ação exata de alteração de recurso com base no modelo da pilha aninhada.
**nota**  
Uma modificação pode fazer com que o recurso seja interrompido ou substituído (recriado). Para obter mais informações sobre os comportamentos de atualização de recursos, consulte [Compreender atualização de comportamentos de recursos da pilha](using-cfn-updating-stacks-update-behaviors.md).

   Para se concentrar em alterações específicas, use a visualização com filtro. Por exemplo, filtre por um determinado tipo de recurso, como **AWS::CloudFormation::Stack**. Para filtrar por um recurso específico, especifique o ID lógico ou físico, como **DeadLetterQueue** ou **NestedStack**.

1. Na seção **Changes** (Alterações), escolha **View nested change set** (Exibir conjunto de alterações aninhadas) do conjunto de alterações aninhadas que deseja visualizar.

   O console do CloudFormation direciona você para a página de detalhes do conjunto de alterações aninhadas. Você pode escolher **Go to root change set** (Acessar o conjunto raiz de alterações) para visualizar o conjunto raiz de alterações ou escolher **View parent change set** (Exibir conjunto pai de alterações) para visualizar o conjunto pai de alterações. Para obter mais informações, consulte [Conjuntos de alteração para pilhas aninhadas](change-sets-for-nested-stacks.md).
**nota**  
Os conjuntos de alterações no nível da propriedade do CloudFormation não resolvem referências entre pilhas quando você cria conjuntos de alterações para pilhas aninhadas. Os conjuntos de alterações poderão marcar recursos em uma pilha subordinada para substituição condicional se eles referenciarem a saída de uma pilha superior e ela tiver sido modificada

------

**Para visualizar um conjunto de alterações (AWS CLI)**

1. Para obter o ID do conjunto de alterações, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-change-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-change-sets.html).

   Especifique o nome da pilha que contém o conjunto de alterações que você deseja visualizar, como mostrado no seguinte exemplo:

   ```
   aws cloudformation list-change-sets --stack-name {{MyStack}}
   ```

   O CloudFormation retorna uma lista de conjuntos de alterações, semelhante a esta:

   ```
   {
       "Summaries": [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/1a2345b6-0000-00a0-a123-00abc0abc000",
               "Status": "CREATE_COMPLETE",
               "ChangeSetName": "SampleChangeSet",
               "CreationTime": "2020-11-18T20:44:05.889Z",
               "StackName": "MyStack",
               "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet/1a2345b6-0000-00a0-a123-00abc0abc000"
           },
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/1a2345b6-0000-00a0-a123-00abc0abc000",
               "Status": "CREATE_COMPLETE",
               "ChangeSetName": "SampleChangeSet-conditional",
               "CreationTime": "2020-11-18T21:15:56.398Z",
               "StackName": "MyStack",
               "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-conditional/1a2345b6-0000-00a0-a123-00abc0abc000"
           },
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/1a2345b6-0000-00a0-a123-00abc0abc000",
               "Status": "CREATE_COMPLETE",
               "ChangeSetName": "SampleChangeSet-replacement",
               "CreationTime": "2020-11-18T21:03:37.706Z",
               "StackName": "MyStack",
               "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-replacement/1a2345b6-0000-00a0-a123-00abc0abc000"
           }
       ]
   }
   ```

1. Execute o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-change-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-change-set.html), especificando o ID do conjunto de alterações que você deseja visualizar. Por exemplo:

   ```
   aws cloudformation describe-change-set \
     --change-set-name {{arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet/1a2345b6-0000-00a0-a123-00abc0abc000}}
   ```

   O CloudFormation retorna informações sobre o conjunto de alterações especificado.

   ```
   {
       "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyStack/1a2345b6-0000-00a0-a123-00abc0abc000",
       "Status": "CREATE_COMPLETE",
       "ChangeSetName": "SampleChangeSet-direct",
       "Parameters": [
           {
               "ParameterValue": "testing",
               "ParameterKey": "Purpose"
           },
           {
               "ParameterValue": "ellioty-useast1",
               "ParameterKey": "KeyPairName"
           },
           {
               "ParameterValue": "t2.micro",
               "ParameterKey": "InstanceType"
           }
       ],
       "Changes": [
           {
               "ResourceChange": {
                   "ResourceType": "AWS::EC2::Instance",
                   "PhysicalResourceId": "i-1abc23d4",
                   "Details": [
                       {
                           "ChangeSource": "DirectModification",
                           "Evaluation": "Static",
                           "Target": {
                               "Attribute": "Tags",
                               "RequiresRecreation": "Never"
                           }
                       }
                   ],
                   "Action": "Modify",
                   "Scope": [
                       "Tags"
                   ],
                   "LogicalResourceId": "MyEC2Instance",
                   "Replacement": "False"
               },
               "Type": "Resource"
           }
       ],
       "CreationTime": "2020-11-18T23:35:25.813Z",
       "Capabilities": [],
       "StackName": "MyStack",
       "NotificationARNs": [],
       "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/SampleChangeSet-direct/9edde307-960d-4e6e-ad66-b09ea2f20255"
   }
   ```

   Use `--include-property-values` com **describe-change-set** para listar as alterações no nível da propriedade.

   A chave `Changes` relaciona as alterações nos recursos. Se você executar esse conjunto de alterações, o CloudFormation poderá atualizar as tags da instância do EC2 `i-1abc23d4`. Para obter uma descrição de cada campo, consulte o tipo de dados [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Change.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Change.html), na *Referência de APIs do AWS CloudFormation*.

   Para obter mais exemplos de conjuntos de alterações, consulte [Exemplos de conjuntos de alterações para pilhas do CloudFormation](using-cfn-updating-stacks-changesets-samples.md).

**Para visualizar as alterações no nível da propriedade em um conjunto de alterações (AWS CLI)**
+ O comando a seguir lista as alterações no nível da propriedade relacionadas a um conjunto de alterações de um recurso `AWS::EC2::NetworkInterface` que removerá a propriedade `Ipv4Prefixes`, modificará a `Description` do recurso e adicionará uma `Tag`:

  ```
  aws cloudformation describe-change-set --include-property-values \
    --change-set-name {{arn:aws:cloudformation:us-east-1:123456789012:changeSet/ExampleChangeSet/9f7b541b-126b-44f7-998e-932174557841}}
  ```

  O seguinte é um exemplo de saída.

  ```
  "ChangeSetName": "ExampleChangeSet",
      "ChangeSetId": "arn:aws:cloudformation:us-east-1:803642222207:changeSet/ExampleChangeSet/9f7b541b-126b-44f7-998e-932174557841",
      "StackId": "arn:aws:cloudformation:us-east-1:803642222207:stack/ExampleStack/ab664180-f686-11ee-9e29-12cd92393671",
      "StackName": "ExampleStack",
      "Description": null,
      "Parameters": null,
      "CreationTime": "2024-04-09T18:04:59.935000+00:00",
      "ExecutionStatus": "AVAILABLE",
      "Status": "CREATE_COMPLETE",
      "StatusReason": null,
      "NotificationARNs": [],
      "RollbackConfiguration": {
          "RollbackTriggers": []
      },
      "Capabilities": [],
      "Tags": null,
      "ParentChangeSetId": null,
      "IncludeNestedStacks": true,
      "RootChangeSetId": null,
      "OnStackFailure": null,
   {
      "Changes": [
          {
              "Type": "Resource",
              "ResourceChange": {
                  "Action": "Modify",
                  "LogicalResourceId": "EC2NetworkInterface00eni067fd35b649a05b7100Tpyls",
                  "PhysicalResourceId": "eni-067fd35b649a05b71",
                  "ResourceType": "AWS::EC2::NetworkInterface",
                  "Replacement": "False",
                  "Scope": [
                      "Properties",
                      "Tags"
                  ],
                  "Details": [
                      {
                          "Target": {
                              "Attribute": "Properties",
                              "Name": "Ipv4Prefixes",
                              "RequiresRecreation": "Never",
                              "Path": "/Properties/Ipv4Prefixes",
                              "BeforeValue": "[]",
                              "AttributeChangeType": "Remove"
                          },
                          "Evaluation": "Static",
                          "ChangeSource": "DirectModification"
                      },
                      {
                          "Target": {
                              "Attribute": "Properties",
                              "Name": "Description",
                              "RequiresRecreation": "Never",
                              "Path": "/Properties/Description",
                              "BeforeValue": "",
                              "AfterValue": "Description",
                              "AttributeChangeType": "Modify"
                          },
                          "Evaluation": "Static",
                          "ChangeSource": "DirectModification"
                      },
                      {
                          "Target": {
                              "Attribute": "Tags",
                              "RequiresRecreation": "Never",
                              "Path": "/Properties/Tags/0",
                              "AfterValue": "{\"Key\":\"Test\",\"Value\":\"Test\"}",
                              "AttributeChangeType": "Add"
                          },
                          "Evaluation": "Static",
                          "ChangeSource": "DirectModification"
                      }
                  ],
                  "BeforeContext": "{\"Properties\":{\"Description\":\"\",\"PrivateIpAddress\":\"172.31.76.2\",\"PrivateIpAddresses\":[{\"PrivateIpAddress\":\"172.31.76.2\",\"Primary\":\"true\"}],\"SecondaryPrivateIpAddressCount\":\"0\",\"Ipv6PrefixCount\":\"0\",\"Ipv4Prefixes\":[],\"Ipv4PrefixCount\":\"0\",\"GroupSet\":[\"sg-05a45689b1059e82d\"],\"Ipv6Prefixes\":[],\"SubnetId\":\"subnet-455e8969\",\"SourceDestCheck\":\"true\",\"InterfaceType\":\"interface\",\"Tags\":[]},\"UpdateReplacePolicy\":\"Retain\",\"DeletionPolicy\":\"Retain\"}",
                  "AfterContext": "{\"Properties\":{\"Description\":\"Description\",\"PrivateIpAddress\":\"172.31.76.2\",\"PrivateIpAddresses\":[{\"PrivateIpAddress\":\"172.31.76.2\",\"Primary\":\"true\"}],\"SecondaryPrivateIpAddressCount\":\"0\",\"Ipv6PrefixCount\":\"0\",\"Ipv4PrefixCount\":\"0\",\"GroupSet\":[\"sg-05a45689b1059e82d\"],\"Ipv6Prefixes\":[],\"SubnetId\":\"subnet-455e8969\",\"SourceDestCheck\":\"true\",\"InterfaceType\":\"interface\",\"Tags\":[{\"Value\":\"Test\",\"Key\":\"Test\"}]},\"UpdateReplacePolicy\":\"Retain\",\"DeletionPolicy\":\"Retain\"}"
              }
          }
      ],
      "ChangeSetName": "ExampleChangeSet",
      "ChangeSetId": "arn:aws:cloudformation:us-east-1:123456789012:changeSet/ExampleChangeSet/9f7b541b-126b-44f7-998e-932174557841",
      "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/ExampleStack/ab664180-f686-11ee-9e29-12cd92393671",
  ```