

# Exemplos de comandos de operação de pilha do CloudFormation para o AWS CLI e o PowerShell
<a name="service_code_examples"></a>

Os exemplos de linha de comando a seguir demonstram como realizar ações individuais do CloudFormation com a AWS CLI e o PowerShell. Estes exemplos incluem apenas as ações mais usadas. Para obter uma lista completa, consulte [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/) na *AWS CLI Command Reference*.

Os exemplos deste guia usam a convenção de uma barra invertida (\\) para indicar que uma linha de comando longa continua na próxima linha. 

**Topics**
+ [Cancelar uma atualização de pilha](#cancel-update-stack-sdk)
+ [Continuar revertendo uma atualização](#continue-update-rollback-sdk)
+ [Criar uma pilha](#create-stack-sdk)
+ [Criar uma pilha que inclua transformações](#deploy-sdk)
+ [Excluir uma pilha](#delete-stack-sdk)
+ [Descrever os eventos da pilha](#describe-stack-events-sdk)
+ [Descrever um recurso de pilha](#describe-stack-resource-sdk)
+ [Descrever recurso de pilha](#describe-stack-resources-sdk)
+ [Descrever pilhas](#describe-stacks-sdk)
+ [Obter um modelo](#get-template-sdk)
+ [Listar recursos de pilha](#list-stack-resources-sdk)
+ [Listar pilhas](#list-stacks-sdk)
+ [Atualizar um stack](#update-stack-sdk)
+ [Validar seu modelo](#validate-template-sdk)
+ [Fazer upload de artefatos locais em um bucket do S3 com a AWS CLI](using-cfn-cli-package.md)

## Cancelar uma atualização de pilha
<a name="cancel-update-stack-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/cancel-update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/cancel-update-stack.html) para cancelar uma atualização de pilha. Para obter mais informações, consulte [Cancelar uma atualização de pilha](using-cfn-stack-update-cancel.md).

------
#### [ CLI ]

**AWS CLI**  
**Para cancelar uma atualização de pilha que está em andamento**  
O comando `cancel-update-stack` a seguir cancela uma atualização de pilha na pilha `myteststack`:  

```
aws cloudformation cancel-update-stack --stack-name {{myteststack}}
```
+  Consulte detalhes da API em [CancelUpdateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/cancel-update-stack.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: cancela uma atualização na pilha especificada.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  Consulte detalhes da API em [CancelUpdateStack](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: cancela uma atualização na pilha especificada.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  Para obter detalhes da API, consulte [CancelUpdateStack](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Continuar revertendo uma atualização
<a name="continue-update-rollback-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html) para continuar revertendo uma atualização. Para obter mais informações, consulte [Continuar revertendo uma atualização](using-cfn-updating-stacks-continueupdaterollback.md).

------
#### [ CLI ]

**AWS CLI**  
**Para fazer nova tentativa de reversão de atualização**  
O exemplo `continue-update-rollback` a seguir retoma uma operação de reversão de uma atualização de pilha anterior em que houve falha.  

```
aws cloudformation continue-update-rollback \
    --stack-name {{my-stack}}
```
Este comando não produz saída.  
+  Consulte detalhes da API em [ContinueUpdateRollback](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/continue-update-rollback.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: continua a reversão da pilha nomeada, que deve estar no estado "UPDATE\_ROLLBACK\_FAILED'. Se a reversão contínua for bem-sucedida, a pilha entrará no estado "UPDATE\_ROLLBACK\_COMPLETE'.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  Consulte detalhes da API em [ContinueUpdateRollback](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: continua a reversão da pilha nomeada, que deve estar no estado "UPDATE\_ROLLBACK\_FAILED'. Se a reversão contínua for bem-sucedida, a pilha entrará no estado "UPDATE\_ROLLBACK\_COMPLETE'.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  Para obter detalhes da API, consulte [ContinueUpdateRollback](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Criar uma pilha
<a name="create-stack-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html) para criar uma pilha. Você deve fornecer o nome da pilha, a localização de um modelo válido e quaisquer parâmetros de entrada. Os nomes das chaves dos parâmetros diferenciam maiúsculas de minúsculas. Se você digitar incorretamente o nome de uma chave de parâmetro, o CloudFormation não criará a pilha e relatará que o modelo não contém esse parâmetro.

Os exemplos a seguir mostram como criar uma nova pilha com o nome, o modelo e os parâmetros de entrada especificados. 

------
#### [ CLI ]

**AWS CLI**  
**Para criar uma pilha do AWS CloudFormation**  
O exemplo de `create-stacks` a seguir cria uma pilha com o nome de `myteststack` usando o arquivo de modelo `sampletemplate.json`:  

```
aws cloudformation create-stack --stack-name {{myteststack}} --template-body {{file://sampletemplate.json}} --parameters {{ParameterKey=KeyPairName,ParameterValue=TestKey}} ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2
```
Resultado:  

```
{
    "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
```
Para obter mais informações, consulte Pilhas no *Guia do usuário do AWS CloudFormation*.  
+  Consulte detalhes da API em [CreateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: cria uma nova pilha com o nome especificado. O modelo é analisado a partir do conteúdo fornecido com parâmetros de personalização ("PK1" e "PK2" representam os nomes dos parâmetros declarados no conteúdo do modelo, "PV1" e "PV2" representam os valores desses parâmetros. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela não será revertida.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**Exemplo 2: cria uma nova pilha com o nome especificado. O modelo é analisado a partir do conteúdo fornecido com parâmetros de personalização ("PK1" e "PK2" representam os nomes dos parâmetros declarados no conteúdo do modelo, "PV1" e "PV2" representam os valores desses parâmetros. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela será revertida.**  

```
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p1.ParameterKey = "PK1"
$p1.ParameterValue = "PV1"

$p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p2.ParameterKey = "PK2"
$p2.ParameterValue = "PV2"

New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( $p1, $p2 ) `
             -OnFailure "ROLLBACK"
```
**Exemplo 3: cria uma nova pilha com o nome especificado. O modelo é obtido da URL do Amazon S3 com parâmetros de personalização ("PK1" representa o nome de um parâmetro declarado no conteúdo do modelo, "PV1" representa o valor do parâmetro. Os parâmetros de personalização também podem ser especificados usando "Key" e 'Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela será revertida (o mesmo que especificar -DisableRollback $false).**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Exemplo 4: cria uma nova pilha com o nome especificado. O modelo é obtido da URL do Amazon S3 com parâmetros de personalização ("PK1" representa o nome de um parâmetro declarado no conteúdo do modelo, "PV1" representa o valor do parâmetro. Os parâmetros de personalização também podem ser especificados usando "Key" e 'Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela será revertida (o mesmo que especificar -DisableRollback $false). Os AENs de notificação especificados receberão os eventos relacionados à pilha publicados.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  Consulte detalhes da API em [CreateStack](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: cria uma nova pilha com o nome especificado. O modelo é analisado a partir do conteúdo fornecido com parâmetros de personalização ("PK1" e "PK2" representam os nomes dos parâmetros declarados no conteúdo do modelo, "PV1" e "PV2" representam os valores desses parâmetros. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela não será revertida.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**Exemplo 2: cria uma nova pilha com o nome especificado. O modelo é analisado a partir do conteúdo fornecido com parâmetros de personalização ("PK1" e "PK2" representam os nomes dos parâmetros declarados no conteúdo do modelo, "PV1" e "PV2" representam os valores desses parâmetros. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela será revertida.**  

```
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p1.ParameterKey = "PK1"
$p1.ParameterValue = "PV1"

$p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p2.ParameterKey = "PK2"
$p2.ParameterValue = "PV2"

New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( $p1, $p2 ) `
             -OnFailure "ROLLBACK"
```
**Exemplo 3: cria uma nova pilha com o nome especificado. O modelo é obtido da URL do Amazon S3 com parâmetros de personalização ("PK1" representa o nome de um parâmetro declarado no conteúdo do modelo, "PV1" representa o valor do parâmetro. Os parâmetros de personalização também podem ser especificados usando "Key" e 'Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela será revertida (o mesmo que especificar -DisableRollback $false).**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Exemplo 4: cria uma nova pilha com o nome especificado. O modelo é obtido da URL do Amazon S3 com parâmetros de personalização ("PK1" representa o nome de um parâmetro declarado no conteúdo do modelo, "PV1" representa o valor do parâmetro. Os parâmetros de personalização também podem ser especificados usando "Key" e 'Value" em vez de "ParameterKey" e "ParameterValue". Se houver falha na criação da pilha, ela será revertida (o mesmo que especificar -DisableRollback $false). Os AENs de notificação especificados receberão os eventos relacionados à pilha publicados.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  Para obter detalhes da API, consulte [CreateStack](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

**nota**  
É possível usar a opção `--template-url` da AWS CLI para especificar a localização de um arquivo de modelo no Amazon S3 ou AWS Systems Manager.  
Para o Amazon S3, o URL deve começar com `https://`. URLs de sites estáticos do S3 não são compatíveis.  

```
--template-url {{https://s3.region-code.amazonaws.com/bucket-name/template-name}}
```
Use o seguinte formato para o AWS Systems Manager:  

```
--template-url {{"ssm-doc://arn:aws:ssm:region-code:account-id:document/document-name"}}
```

## Criar uma pilha que inclua transformações
<a name="deploy-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/) para criar uma pilha que inclua transformações. Ao criar uma pilha com base em um modelo que inclui transformações, você deve usar um conjunto de alterações. O comando `deploy` combina duas etapas (criar um conjunto de alterações e executá-lo) em um único comando.

------
#### [ AWS CLI ]

O comando `deploy` a seguir cria uma pilha com o nome, o modelo e os parâmetros de entrada especificados.

```
aws cloudformation deploy --stack-name {{myteststack}} \
  --template {{/path_to_template/my-template.json}} \
  --parameter-overrides {{Key1=Value1 Key2=Value2}}
```

------

## Excluir uma pilha
<a name="delete-stack-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html) para excluir uma pilha. Para obter mais informações, consulte [Excluir uma pilha](cfn-console-delete-stack.md).

------
#### [ CLI ]

**AWS CLI**  
**Para excluir uma pilha**  
O exemplo de `delete-stack` a seguir exclui a pilha especificada.  

```
aws cloudformation delete-stack \
    --stack-name {{my-stack}}
```
Este comando não produz saída.  
+  Consulte detalhes da API em [DeleteStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/delete-stack.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: exclui a pilha especificada.**  

```
Remove-CFNStack -StackName "myStack"
```
+  Consulte detalhes da API em [DeleteStack](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: exclui a pilha especificada.**  

```
Remove-CFNStack -StackName "myStack"
```
+  Para obter detalhes da API, consulte [DeleteStack](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

Se a exclusão apresentar falhas e retornar um estado de `DELETE_FAILED`, você poderá optar por excluir a pilha de forma forçada usando a opção `--deletion-mode`. Estes são os seguintes valores que podem ser usados ​​com `deletion-mode`:
+ `STANDARD`: exclui a pilha normalmente. Este é o modo de exclusão padrão.
+ `FORCE_DELETE_STACK`: exclui a pilha e ignora todos os recursos que não estão sendo excluídos.

------
#### [ AWS CLI ]

O seguinte comando `delete-stack` força a exclusão da pilha `{{myteststack}}` usando o valor `FORCE_DELETE_STACK` com o parâmetro `deletion-mode`:

```
aws cloudformation delete-stack --stack-name {{myteststack}} \
    --deletion-mode FORCE_DELETE_STACK
```

Este comando não produz saída.

------

Depois de usar `FORCE_DELETE_STACK`, você pode usar o comando `list-stack-resources` para listar os recursos que foram ignorados durante o processo de exclusão da pilha. Os recursos retidos mostrarão o status DELETE\_SKIPPED. Para obter mais informações, consulte [Listar recursos de pilha](#list-stack-resources-sdk).

## Descrever os eventos da pilha
<a name="describe-stack-events-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html) para descrever os eventos da pilha. Para obter mais informações, consulte [Monitorar o progresso da pilha](monitor-stack-progress.md).

------
#### [ CLI ]

**AWS CLI**  
**Para descrever os eventos da pilha**  
O exemplo `describe-stack-events` a seguir exibe os dois eventos mais recentes da pilha especificada.  

```
aws cloudformation describe-stack-events \
    --stack-name {{my-stack}} \
    --max-items {{2}}

{{{}}
    "StackEvents": {{[}}
        {{{}}
            "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "EventId": "4e1516d0-e4d6-xmpl-b94f-0a51958a168c",
            "StackName": "my-stack",
            "LogicalResourceId": "my-stack",
            "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2019-10-02T05:34:29.556Z",
            "ResourceStatus": {{"UPDATE_COMPLETE"}}
        {{},}}
        {{{}}
            "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "EventId": "4dd3c810-e4d6-xmpl-bade-0aaf8b31ab7a",
            "StackName": "my-stack",
            "LogicalResourceId": "my-stack",
            "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2019-10-02T05:34:29.127Z",
            "ResourceStatus": {{"UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"}}
        {{}}}
    {{],}}
    "NextToken": {{"eyJOZXh0VG9XMPLiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="}}
{{}}}
```
+  Consulte detalhes da API em [DescribeStackEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-events.html) na*AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna todos os eventos relacionados à pilha especificada.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  Consulte detalhes da API em [DescribeStackEvents](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna todos os eventos relacionados à pilha especificada.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  Para obter detalhes da API, consulte [DescribeStackEvents](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Descrever um recurso de pilha
<a name="describe-stack-resource-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Para obter informações detalhadas sobre o recurso de uma pilha**  
O exemplo de `describe-stack-resource` a seguir exibe os detalhes do recurso denominado `MyFunction` da pilha especificada.  

```
aws cloudformation describe-stack-resource \
    --stack-name {{MyStack}} \
    --logical-resource-id {{MyFunction}}
```
Resultado:  

```
{
    "StackResourceDetail": {
        "StackName": "MyStack",
        "StackId": "arn:aws:cloudformation:us-east-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
        "LogicalResourceId": "MyFunction",
        "PhysicalResourceId": "my-function-SEZV4XMPL4S5",
        "ResourceType": "AWS::Lambda::Function",
        "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z",
        "ResourceStatus": "UPDATE_COMPLETE",
        "Metadata": "{}",
        "DriftInformation": {
            "StackResourceDriftStatus": "IN_SYNC"
        }
    }
}
```
+  Consulte detalhes da API em [DescribeStackResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-resource.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna a descrição de um recurso identificado no modelo associado à pilha especificada pelo ID lógico "MyDBInstance".**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  Consulte detalhes da API em [DescribeStackResource](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna a descrição de um recurso identificado no modelo associado à pilha especificada pelo ID lógico "MyDBInstance".**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  Para obter detalhes da API, consulte [DescribeStackResource](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Descrever recurso de pilha
<a name="describe-stack-resources-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Para obter informações detalhadas sobre o recurso de uma pilha**  
O exemplo de `describe-stack-resources` a seguir exibe os detalhes dos recursos na pilha especificada.  

```
aws cloudformation describe-stack-resources \
    --stack-name {{my-stack}}
```
Resultado:  

```
{
    "StackResources": [
        {
            "StackName": "my-stack",
            "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "LogicalResourceId": "bucket",
            "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf",
            "ResourceType": "AWS::S3::Bucket",
            "Timestamp": "2019-10-02T04:34:11.345Z",
            "ResourceStatus": "CREATE_COMPLETE",
            "DriftInformation": {
                "StackResourceDriftStatus": "IN_SYNC"
            }
        },
        {
            "StackName": "my-stack",
            "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "LogicalResourceId": "function",
            "PhysicalResourceId": "my-function-SEZV4XMPL4S5",
            "ResourceType": "AWS::Lambda::Function",
            "Timestamp": "2019-10-02T05:34:27.989Z",
            "ResourceStatus": "UPDATE_COMPLETE",
            "DriftInformation": {
                "StackResourceDriftStatus": "IN_SYNC"
            }
        },
        {
            "StackName": "my-stack",
            "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204",
            "LogicalResourceId": "functionRole",
            "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E",
            "ResourceType": "AWS::IAM::Role",
            "Timestamp": "2019-10-02T04:34:06.350Z",
            "ResourceStatus": "CREATE_COMPLETE",
            "DriftInformation": {
                "StackResourceDriftStatus": "IN_SYNC"
            }
        }
    ]
}
```
+  Consulte detalhes da API em [DescribeStackResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-resources.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna descrições dos recursos da AWS, para até 100 recursos associados à pilha especificada. Para obter os detalhes de todos os recursos associados a uma pilha, use o Get-CFNStackResourceSummary, que também é compatível com a paginação manual dos resultados.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**Exemplo 2: retorna a descrição da instância do Amazon EC2 identificada no modelo associado à pilha especificada pelo ID lógico "Ec2Instance".**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**Exemplo 3: retorna a descrição de até 100 recursos associados à pilha contendo uma instância do Amazon EC2 identificada pelo ID de instância "i-123456". Para obter os detalhes de todos os recursos associados a uma pilha, use o Get-CFNStackResourceSummary, que também é compatível com a paginação manual dos resultados.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**Exemplo 4: retorna a descrição da instância do Amazon EC2 identificada pelo ID lógico "Ec2Instance" no modelo de uma pilha. A pilha é identificada usando o ID de recurso físico de um recurso que ela contém; nesse caso, também uma instância do Amazon EC2 com o ID de instância "i-123456". Um outro recurso físico também poderia ser usado para identificar a pilha, dependendo do conteúdo do modelo, por exemplo, um bucket do Amazon S.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  Consulte detalhes da API em [DescribeStackResources](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna descrições dos recursos da AWS, para até 100 recursos associados à pilha especificada. Para obter os detalhes de todos os recursos associados a uma pilha, use o Get-CFNStackResourceSummary, que também é compatível com a paginação manual dos resultados.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**Exemplo 2: retorna a descrição da instância do Amazon EC2 identificada no modelo associado à pilha especificada pelo ID lógico "Ec2Instance".**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**Exemplo 3: retorna a descrição de até 100 recursos associados à pilha contendo uma instância do Amazon EC2 identificada pelo ID de instância "i-123456". Para obter os detalhes de todos os recursos associados a uma pilha, use o Get-CFNStackResourceSummary, que também é compatível com a paginação manual dos resultados.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**Exemplo 4: retorna a descrição da instância do Amazon EC2 identificada pelo ID lógico "Ec2Instance" no modelo de uma pilha. A pilha é identificada usando o ID de recurso físico de um recurso que ela contém; nesse caso, também uma instância do Amazon EC2 com o ID de instância "i-123456". Um outro recurso físico também poderia ser usado para identificar a pilha, dependendo do conteúdo do modelo, por exemplo, um bucket do Amazon S.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  Para obter detalhes da API, consulte [DescribeStackResources](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Descrever pilhas
<a name="describe-stacks-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Para descrever as pilhas do AWS CloudFormation**  
O comando `describe-stacks` a seguir mostra informações resumidas da pilha `myteststack`:  

```
aws cloudformation describe-stacks --stack-name {{myteststack}}
```
Resultado:  

```
{
    "Stacks":  [
        {
            "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
            "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
            "Tags": [],
            "Outputs": [
                {
                    "Description": "Name of S3 bucket to hold website content",
                    "OutputKey": "BucketName",
                    "OutputValue": "myteststack-s3bucket-jssofi1zie2w"
                }
            ],
            "StackStatusReason": null,
            "CreationTime": "2013-08-23T01:02:15.422Z",
            "Capabilities": [],
            "StackName": "myteststack",
            "StackStatus": "CREATE_COMPLETE",
            "DisableRollback": false
        }
    ]
}
```
Para obter mais informações, consulte Pilhas no *Guia do usuário do AWS CloudFormation*.  
+  Consulte detalhes da API em [DescribeStacks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stacks.html) na *AWS CLI Command Reference*. 

------
#### [ Go ]

**SDK para Go V2**  
 Há mais no GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2/workflows/user_pools_and_lambda_triggers#code-examples). 

```
import (
	"context"
	"log"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation"
)

// StackOutputs defines a map of outputs from a specific stack.
type StackOutputs map[string]string

type CloudFormationActions struct {
	CfnClient *cloudformation.Client
}

// GetOutputs gets the outputs from a CloudFormation stack and puts them into a structured format.
func (actor CloudFormationActions) GetOutputs(ctx context.Context, stackName string) StackOutputs {
	output, err := actor.CfnClient.DescribeStacks(ctx, &cloudformation.DescribeStacksInput{
		StackName: aws.String(stackName),
	})
	if err != nil || len(output.Stacks) == 0 {
		log.Panicf("Couldn't find a CloudFormation stack named %v. Here's why: %v\n", stackName, err)
	}
	stackOutputs := StackOutputs{}
	for _, out := range output.Stacks[0].Outputs {
		stackOutputs[*out.OutputKey] = *out.OutputValue
	}
	return stackOutputs
}
```
+  Consulte detalhes da API em [DescribeStacks](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/cloudformation#Client.DescribeStacks) na *AWS SDK para Go API Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna um conjunto de instâncias de pilha descrevendo todas as pilhas do usuário.**  

```
Get-CFNStack
```
**Exemplo 2: retorna uma instância de pilha descrevendo a pilha especificada**  

```
Get-CFNStack -StackName "myStack"
```
+  Para obter detalhes da API, consulte [DescribeStacks](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna um conjunto de instâncias de pilha descrevendo todas as pilhas do usuário.**  

```
Get-CFNStack
```
**Exemplo 2: retorna uma instância de pilha descrevendo a pilha especificada**  

```
Get-CFNStack -StackName "myStack"
```
+  Para obter detalhes da API, consulte [DescribeStacks](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

Por padrão, o comando `describe-stacks` retorna valores de parâmetros. Para impedir que valores confidenciais de parâmetros, como senhas, sejam retornados, inclua uma propriedade `NoEcho` definida como `TRUE` nos modelos do CloudFormation.

**Importante**  
O uso do atributo `NoEcho` não mascara informações armazenadas no seguinte:  
A seção de modelo de `Metadata`. O CloudFormation não transforma, modifica nem edita nenhuma informação incluída na seção `Metadata`. Para obter mais informações, consulte [Metadados](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html).
A seção de modelo de `Outputs`. Para obter mais informações, consulte [Saídas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html).
O atributo `Metadata` de uma definição de recurso. Para obter mais informações, consulte o atributo [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-metadata.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-metadata.html).
É altamente recomendável não usar esses mecanismos para incluir informações confidenciais, como senhas ou segredos.

**Importante**  
Em vez de incorporar informações confidenciais diretamente em modelos do CloudFormation, recomendamos usar os parâmetros dinâmicos no modelo da pilha para fazer referência a informações confidenciais que são armazenadas e gerenciadas de forma externa ao CloudFormation, como no AWS Systems Manager Parameter Store ou no AWS Secrets Manager.  
Para obter mais informações, consulte a prática recomendada [Não incorporar credenciais nos seus modelos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security-best-practices.html#creds).

## Obter um modelo
<a name="get-template-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Para visualizar o corpo do modelo de uma pilha do AWS CloudFormation**  
O comando `get-template` a seguir mostra o modelo da pilha `myteststack`:  

```
aws cloudformation get-template --stack-name {{myteststack}}
```
Resultado:  

```
{
    "TemplateBody": {
        "AWSTemplateFormatVersion": "2010-09-09",
        "Outputs": {
            "BucketName": {
                "Description": "Name of S3 bucket to hold website content",
                "Value": {
                    "Ref": "S3Bucket"
                }
            }
        },
        "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
        "Resources": {
            "S3Bucket": {
                "Type": "AWS::S3::Bucket",
                "Properties": {
                    "AccessControl": "PublicRead"
                }
            }
        }
    }
}
```
+  Consulte detalhes da API em [GetTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/get-template.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna o modelo associado à pilha especificada.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  Consulte detalhes da API em [GetTemplate](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna o modelo associado à pilha especificada.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  Para obter detalhes da API, consulte [GetTemplate](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Listar recursos de pilha
<a name="list-stack-resources-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Para listar os recursos de uma pilha**  
O comando a seguir exibe a lista dos recursos da pilha especificada.  

```
aws cloudformation list-stack-resources \
    --stack-name {{my-stack}}
```
Resultado:  

```
{
    "StackResourceSummaries": [
        {
            "LogicalResourceId": "bucket",
            "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf",
            "ResourceType": "AWS::S3::Bucket",
            "LastUpdatedTimestamp": "2019-10-02T04:34:11.345Z",
            "ResourceStatus": "CREATE_COMPLETE",
            "DriftInformation": {
                "StackResourceDriftStatus": "IN_SYNC"
            }
        },
        {
            "LogicalResourceId": "function",
            "PhysicalResourceId": "my-function-SEZV4XMPL4S5",
            "ResourceType": "AWS::Lambda::Function",
            "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z",
            "ResourceStatus": "UPDATE_COMPLETE",
            "DriftInformation": {
                "StackResourceDriftStatus": "IN_SYNC"
            }
        },
        {
            "LogicalResourceId": "functionRole",
            "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E",
            "ResourceType": "AWS::IAM::Role",
            "LastUpdatedTimestamp": "2019-10-02T04:34:06.350Z",
            "ResourceStatus": "CREATE_COMPLETE",
            "DriftInformation": {
                "StackResourceDriftStatus": "IN_SYNC"
            }
        }
    ]
}
```
+  Consulte detalhes da API em [ListStackResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/list-stack-resources.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna as descrições de todos os recursos associados à pilha especificada.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  Consulte detalhes da API em [ListStackResources](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna as descrições de todos os recursos associados à pilha especificada.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  Para obter detalhes da API, consulte [ListStackResources](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Listar pilhas
<a name="list-stacks-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stacks.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stacks.html) para listar pilhas. Para listar apenas pilhas com os códigos de status especificados, inclua a opção `--stack-status-filter`. Você pode especificar um ou mais códigos de status da pilha para a opção `--stack-status-filter`. Para obter mais informações, consulte [Códigos de status da pilha](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes).

------
#### [ CLI ]

**AWS CLI**  
**Para listar as pilhas do AWS CloudFormation**  
O comando `list-stacks` a seguir mostra um resumo de todas as pilhas que têm um status de `CREATE_COMPLETE`:  

```
aws cloudformation list-stacks --stack-status-filter {{CREATE_COMPLETE}}
```
Resultado:  

```
[
    {
        "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
        "TemplateDescription": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
        "StackStatusReason": null,
        "CreationTime": "2013-08-26T03:27:10.190Z",
        "StackName": "myteststack",
        "StackStatus": "CREATE_COMPLETE"
    }
]
```
+  Consulte detalhes da API em [ListStacks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/list-stacks.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: retorna informações resumidas de todas as pilhas.**  

```
Get-CFNStackSummary
```
**Exemplo 2: retorna informações resumidas de todas as pilhas que estão sendo criadas no momento.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**Exemplo 3: retorna informações resumidas de todas as pilhas que estão sendo criadas ou atualizadas no momento.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  Consulte detalhes da API em [ListStacks](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: retorna informações resumidas de todas as pilhas.**  

```
Get-CFNStackSummary
```
**Exemplo 2: retorna informações resumidas de todas as pilhas que estão sendo criadas no momento.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**Exemplo 3: retorna informações resumidas de todas as pilhas que estão sendo criadas ou atualizadas no momento.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  Para obter detalhes da API, consulte [ListStacks](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

## Atualizar um stack
<a name="update-stack-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html) para atualizar diretamente uma pilha. Você especifica a pilha, os recursos e os valores de parâmetro que você deseja atualizar e, se quiser usar um modelo atualizado, o nome do modelo. Para obter mais informações, consulte [Atualizar pilhas diretamente](using-cfn-updating-stacks-direct.md).

------
#### [ CLI ]

**AWS CLI**  
**Para atualizar as pilhas do AWS CloudFormation**  
O comando `update-stack` a seguir atualiza o modelo e os parâmetros de entrada para a pilha `mystack`:  

```
aws cloudformation update-stack --stack-name {{mystack}} --template-url {{https://s3.amazonaws.com/sample/updated.template}} --parameters {{ParameterKey=KeyPairName,ParameterValue=SampleKeyPair}} ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2
```
O comando `update-stack` a seguir atualiza apenas o valor do parâmetro `SubnetIDs` da pilha `mystack`. Se você não especificar um valor para o parâmetro, o valor padrão especificado no modelo será usado:  

```
aws cloudformation update-stack --stack-name {{mystack}} --template-url {{https://s3.amazonaws.com/sample/updated.template}} --parameters {{ParameterKey=KeyPairName,UsePreviousValue=true}} ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2
```
O comando `update-stack` a seguir adiciona à pilha `mystack` dois tópicos de notificação de pilha:  

```
aws cloudformation update-stack --stack-name {{mystack}} --use-previous-template --notification-arns {{"arn:aws:sns:use-east-1:123456789012:mytopic1"}} {{"arn:aws:sns:us-east-1:123456789012:mytopic2"}}
```
Para obter mais informações, consulte [Atualizações de pilhas do AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) no *Guia do usuário do AWS CloudFormation*.  
+  Consulte detalhes da API em [UpdateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/update-stack.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: atualiza a pilha "myStack" com o modelo e os parâmetros de personalização especificados. "PK1" representa o nome de um parâmetro declarado no modelo e "PV1" representa seu valor. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Exemplo 2: atualiza a pilha "myStack" com o modelo e os parâmetros de personalização especificados. "K1" e "PK2" representam os nomes dos parâmetros declarados no modelo, "PV1" e "PV2" representam os valores solicitados. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Exemplo 3: atualiza a pilha "myStack" com o modelo e os parâmetros de personalização especificados. "PK1" representa o nome de um parâmetro declarado no modelo e "PV2" representa seu valor. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Exemplo 4: atualiza a pilha "myStack" com o modelo obtido no Amazon S3 e os parâmetros de personalização especificados. "K1" e "PK2" representam os nomes dos parâmetros declarados no modelo, "PV1" e "PV2" representam os valores solicitados. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Exemplo 5: atualiza a pilha "myStack" que, este exemplo pressupõe conter recursos do IAM, com o modelo obtido do Amazon S3 e os parâmetros de personalização especificados. "K1" e "PK2" representam os nomes dos parâmetros declarados no modelo, "PV1" e "PV2" representam os valores solicitados. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue". As pilhas que contêm recursos do IAM exigem que você especifique o parâmetro -Capabilities "CAPABILITY\_IAM", senão haverá falha na atualização com o erro “InsufficientCapabilities.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) `
                -Capabilities "CAPABILITY_IAM"
```
+  Consulte detalhes da API em [UpdateStack](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: atualiza a pilha "myStack" com o modelo e os parâmetros de personalização especificados. "PK1" representa o nome de um parâmetro declarado no modelo e "PV1" representa seu valor. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Exemplo 2: atualiza a pilha "myStack" com o modelo e os parâmetros de personalização especificados. "K1" e "PK2" representam os nomes dos parâmetros declarados no modelo, "PV1" e "PV2" representam os valores solicitados. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Exemplo 3: atualiza a pilha "myStack" com o modelo e os parâmetros de personalização especificados. "PK1" representa o nome de um parâmetro declarado no modelo e "PV2" representa seu valor. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Exemplo 4: atualiza a pilha "myStack" com o modelo obtido no Amazon S3 e os parâmetros de personalização especificados. "K1" e "PK2" representam os nomes dos parâmetros declarados no modelo, "PV1" e "PV2" representam os valores solicitados. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Exemplo 5: atualiza a pilha "myStack" que, este exemplo pressupõe conter recursos do IAM, com o modelo obtido do Amazon S3 e os parâmetros de personalização especificados. "K1" e "PK2" representam os nomes dos parâmetros declarados no modelo, "PV1" e "PV2" representam os valores solicitados. Os parâmetros de personalização também podem ser especificados usando "Key" e "Value" em vez de "ParameterKey" e "ParameterValue". As pilhas que contêm recursos do IAM exigem que você especifique o parâmetro -Capabilities "CAPABILITY\_IAM", senão haverá falha na atualização com o erro “InsufficientCapabilities.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) `
                -Capabilities "CAPABILITY_IAM"
```
+  Para obter detalhes da API, consulte [UpdateStack](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

**nota**  
Para remover todas as notificações, especifique `[]` para a opção `--notification-arns`.

## Validar seu modelo
<a name="validate-template-sdk"></a>

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.html) para verificar se há erros de sintaxe em seu arquivo de modelo.

Durante a validação, o CloudFormation primeiro verifica se o modelo é JSON válido. Caso não seja, o CloudFormation verifica se o modelo é YAML válido. Se as duas verificações falharem, o CloudFormation retornará um erro de validação de modelo.

------
#### [ CLI ]

**AWS CLI**  
**Para validar um modelo do AWS CloudFormation**  
O comando `validate-template` a seguir valida o modelo `sampletemplate.json`:  

```
aws cloudformation validate-template --template-body {{file://sampletemplate.json}}
```
Resultado:  

```
{
    "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.",
    "Parameters": [],
    "Capabilities": []
}
```
Para obter mais informações, consulte Trabalhar com modelos do AWS CloudFormation no *Guia do usuário do AWS CloudFormation*.  
+  Consulte detalhes da API em [ValidateTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/validate-template.html) na *AWS CLI Command Reference*. 

------
#### [ PowerShell ]

**Ferramentas para PowerShell V4**  
**Exemplo 1: valida o conteúdo do modelo especificado. A saída detalha os recursos, a descrição e os parâmetros do modelo.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**Exemplo 2: valida o modelo especificado acessado por meio de uma URL do Amazon S. A saída detalha os recursos, a descrição e os parâmetros do modelo.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  Consulte detalhes da API em [ValidateTemplate](https://docs.aws.amazon.com/powershell/v4/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V4)*. 

**Ferramentas para o PowerShell V5**  
**Exemplo 1: valida o conteúdo do modelo especificado. A saída detalha os recursos, a descrição e os parâmetros do modelo.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**Exemplo 2: valida o modelo especificado acessado por meio de uma URL do Amazon S. A saída detalha os recursos, a descrição e os parâmetros do modelo.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  Para obter detalhes da API, consulte [ValidateTemplate](https://docs.aws.amazon.com/powershell/v5/reference) na *Referência de cmdlets do Ferramentas da AWS para PowerShell (V5)*. 

------

Esta é uma resposta de exemplo que produz um erro de validação.

```
{
    "ResponseMetadata": {
        "RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd"
    },
    "Errors": [
        {
            "Message": "Template format error: JSON not well-formed. (line 11, column 8)",
            "Code": "ValidationError",
            "Type": "Sender"
        }
    ],
    "Capabilities": [],
    "Parameters": []
}
A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)
```

**nota**  
O comando `validate-template` tem o objetivo de verificar apenas a sintaxe do modelo. Ele não garante que valores de propriedades especificados para um recurso sejam válidos para este último. Ele também não determina o número de recursos existentes quando a pilha for criada.  
Para verificar a validade operacional, é necessário tentar criar a pilha. Não há uma sandbox ou uma área de teste para pilhas do CloudFormation. Por isso, haverá cobranças pelos recursos que você criar durante os testes.

**Exemplo de disponibilidade**  
Não consegue encontrar o que precisa? Solicite um novo exemplo usando o link **Fornecer feedback** na parte inferior desta página.