AWS CloudFormation exemplos usando AWS CLI - AWS Command Line Interface

Esta documentação é para a AWS CLI única versão 1. Para obter a documentação relacionada à versão 2 do AWS CLI, consulte o Guia do usuário da versão 2.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS CloudFormation exemplos usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with AWS CloudFormation.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar activate-type.

AWS CLI

Para ativar um tipo

O activate-type exemplo a seguir ativa uma extensão pública de terceiros, disponibilizando-a para uso em modelos de pilha.

aws cloudformation activate-type \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::1234567890abcdef0 \ --type-name-alias Example::Test::Alias

Saída:

{ "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Alias" }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte ActivateTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar batch-describe-type-configurations.

AWS CLI

Para descrever em lote uma configuração de tipo

O batch-describe-type-configurations exemplo a seguir configura os dados para o tipo.

aws cloudformation batch-describe-type-configurations \ --region us-west-2 \ --type-configuration-identifiers TypeArn="arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Type,TypeConfigurationAlias=MyConfiguration"

Saída:

{ "Errors": [], "UnprocessedTypeConfigurations": [], "TypeConfigurations": [ { "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Type", "Alias": "MyConfiguration", "Configuration": "{\n \"Example\": {\n \"ApiKey\": \"examplekey\",\n \"ApplicationKey\": \"examplekey1\",\n \"ApiURL\": \"exampleurl\"\n }\n}", "LastUpdated": "2021-10-01T15:25:46.210000+00:00", "TypeArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Example-Test-Type" } ] }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

O código de exemplo a seguir mostra como usar cancel-update-stack.

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
  • Para API obter detalhes, consulte CancelUpdateStackna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar continue-update-rollback.

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.

O código de exemplo a seguir mostra como usar create-change-set.

AWS CLI

Para criar um conjunto de alterações

O create-change-set exemplo a seguir cria um conjunto de alterações com o CAPABILITY_IAM recurso. O arquivo template.yaml é um AWS CloudFormation modelo na pasta atual que define uma pilha que inclui IAM recursos.

aws cloudformation create-change-set \ --stack-name my-application \ --change-set-name my-change-set \ --template-body file://template.yaml \ --capabilities CAPABILITY_IAM

Saída:

{ "Id": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-application/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }
  • Para API obter detalhes, consulte CreateChangeSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar create-stack-instances.

AWS CLI

Para criar instâncias de pilha

O create-stack-instances exemplo a seguir cria instâncias de um conjunto de pilhas em duas contas e em quatro regiões. A configuração de tolerância a falhas garante que a atualização seja tentada em todas as contas e regiões, mesmo que algumas pilhas não possam ser criadas.

aws cloudformation create-stack-instances \ --stack-set-name my-stack-set \ --accounts 123456789012 223456789012 \ --regions us-east-1 us-east-2 us-west-1 us-west-2 \ --operation-preferences FailureToleranceCount=7

Saída:

{ "OperationId": "d7995c31-83c2-xmpl-a3d4-e9ca2811563f" }

Para criar um conjunto de pilhas, use o create-stack-set comando.

O código de exemplo a seguir mostra como usar create-stack-set.

AWS CLI

Para criar um conjunto de pilhas

O create-stack-set exemplo a seguir cria um conjunto de pilhas usando o modelo de YAML arquivo especificado. template.yamlé um AWS CloudFormation modelo na pasta atual que define uma pilha.

aws cloudformation create-stack-set \ --stack-set-name my-stack-set \ --template-body file://template.yaml \ --description "SNS topic"

Saída:

{ "StackSetId": "my-stack-set:8d0f160b-d157-xmpl-a8e6-c0ce8e5d8cc1" }

Para adicionar instâncias de pilha ao conjunto de pilhas, use o create-stack-instances comando.

  • Para API obter detalhes, consulte CreateStackSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar create-stack.

AWS CLI

Para criar uma AWS CloudFormation pilha

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

Saída:

{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }

Para obter mais informações, consulte Stacks no Guia do AWS CloudFormation usuário.

  • Para API obter detalhes, consulte CreateStackna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar deactivate-type.

AWS CLI

Para desativar um tipo

O deactivate-type exemplo a seguir desativa uma extensão pública que foi ativada anteriormente nessa conta e região.

aws cloudformation deactivate-type \ --region us-west-2 \ --type MODULE \ --type-name Example::Test::Type::MODULE

Este comando não produz saída.

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte DeactivateTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-change-set.

AWS CLI

Para excluir um conjunto de alterações

O delete-change-set exemplo a seguir exclui um conjunto de alterações especificando o nome do conjunto de alterações e o nome da pilha.

aws cloudformation delete-change-set \ --stack-name my-stack \ --change-set-name my-change-set

Este comando não produz saída.

O delete-change-set exemplo a seguir exclui um conjunto de alterações especificando a totalidade ARN do conjunto de alterações.

aws cloudformation delete-change-set \ --change-set-name arn:aws:cloudformation:us-east-2:123456789012:changeSet/my-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0

Este comando não produz saída.

  • Para API obter detalhes, consulte DeleteChangeSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-stack-instances.

AWS CLI

Para excluir instâncias de pilha

O delete-stack-instances exemplo a seguir exclui instâncias de um conjunto de pilhas em duas contas em duas regiões e encerra as pilhas.

aws cloudformation delete-stack-instances \ --stack-set-name my-stack-set \ --accounts 123456789012 567890123456 \ --regions us-east-1 us-west-1 \ --no-retain-stacks

Saída:

{ "OperationId": "ad49f10c-fd1d-413f-a20a-8de6e2fa8f27" }

Para excluir um conjunto de pilhas vazio, use o delete-stack-set comando.

O código de exemplo a seguir mostra como usar delete-stack-set.

AWS CLI

Para excluir um conjunto de pilhas

O comando a seguir exclui o conjunto de pilhas vazio especificado. O conjunto de pilhas deve estar vazio.

aws cloudformation delete-stack-set \ --stack-set-name my-stack-set

Este comando não produz saída.

Para excluir instâncias do conjunto de pilhas, use o delete-stack-instances comando.

  • Para API obter detalhes, consulte DeleteStackSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-stack.

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.

  • Para API obter detalhes, consulte DeleteStackna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar deploy.

AWS CLI

O comando a seguir implanta o modelo nomeado template.json em uma pilha chamada: my-new-stack

aws cloudformation deploy --template-file /path_to_template/template.json --stack-name my-new-stack --parameter-overrides Key1=Value1 Key2=Value2 --tags Key1=Value1 Key2=Value2
  • Para API obter detalhes, consulte Implantar na Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar deregister-type.

AWS CLI

Para cancelar o registro de uma versão de texto

O deregister-type exemplo a seguir remove a versão do tipo especificado do uso ativo no CloudFormation registro, para que ela não possa mais ser usada em CloudFormation operações.

aws cloudformation deregister-type \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --version-id 00000002

Este comando não produz saída.

Para obter mais informações, consulte Usando o CloudFormation Registro no Guia do AWS CloudFormation Usuário.

  • Para API obter detalhes, consulte DeregisterTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-account-limits.

AWS CLI

Para obter informações sobre os limites da sua conta

O comando a seguir recupera uma lista de limites regionais para a conta atual.

aws cloudformation describe-account-limits

Saída:

{ "AccountLimits": [ { "Name": "StackLimit", "Value": 200 }, { "Name": "StackOutputsLimit", "Value": 60 }, { "Name": "ConcurrentResourcesLimit", "Value": 2500 } ] }

O código de exemplo a seguir mostra como usar describe-change-set.

AWS CLI

Para obter informações sobre um conjunto de alterações

O describe-change-set exemplo a seguir exibe os detalhes do conjunto de alterações especificado pelo nome do conjunto de alterações e nome da pilha.

aws cloudformation describe-change-set \ --change-set-name my-change-set \ --stack-name my-stack

O describe-change-set exemplo a seguir exibe os detalhes do conjunto de alterações especificado pela totalidade ARN do conjunto de alterações:

aws cloudformation describe-change-set \ --change-set-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784

Saída:

{ "Changes": [ { "Type": "Resource", "ResourceChange": { "Action": "Modify", "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "Replacement": "False", "Scope": [ "Properties" ], "Details": [ { "Target": { "Attribute": "Properties", "Name": "Timeout", "RequiresRecreation": "Never" }, "Evaluation": "Static", "ChangeSource": "DirectModification" } ] } } ], "ChangeSetName": "my-change-set", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackName": "my-stack", "Description": null, "Parameters": null, "CreationTime": "2019-10-02T05:20:56.651Z", "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE", "StatusReason": null, "NotificationARNs": [], "RollbackConfiguration": {}, "Capabilities": [ "CAPABILITY_IAM" ], "Tags": null }
  • Para API obter detalhes, consulte DescribeChangeSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-publisher.

AWS CLI

Para descrever um editor

O describe-publisher exemplo a seguir configura as informações de um editor.

aws cloudformation describe-publisher \ --region us-west-2 \ --publisher-id 000q6TfUovXsEMmgKowxDZLlwqr2QUsh

Saída:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c", "PublisherStatus": "VERIFIED", "IdentityProvider": "AWS_Marketplace", "PublisherProfile": "https://aws.amazon.com/marketplace/seller-profile?id=2c5dc1f0-17cd-4259-8e46-822a83gdtegd" }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte DescribePublisherna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-stack-drift-detection-status.

AWS CLI

Para verificar o status de uma operação de detecção de desvio

O describe-stack-drift-detection-status exemplo a seguir exibe o status de uma operação de detecção de desvio. Obtenha o by ID executando o detect-stack-drift comando.

aws cloudformation describe-stack-drift-detection-status \ --stack-drift-detection-id 1a229160-e4d9-xmpl-ab67-0a4f93df83d4

Saída:

{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackDriftDetectionId": "1a229160-e4d9-xmpl-ab67-0a4f93df83d4", "StackDriftStatus": "DRIFTED", "DetectionStatus": "DETECTION_COMPLETE", "DriftedStackResourceCount": 1, "Timestamp": "2019-10-02T05:54:30.902Z" }

O código de exemplo a seguir mostra como usar describe-stack-events.

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==" }

O código de exemplo a seguir mostra como usar describe-stack-instance.

AWS CLI

Para descrever uma instância de pilha

O comando a seguir descreve uma instância do conjunto de pilhas especificado na conta e na região especificadas. O conjunto de pilhas está na região e na conta atuais, e a instância está na us-west-2 região da conta123456789012. :

aws cloudformation describe-stack-instance \ --stack-set-name my-stack-set \ --stack-instance-account 123456789012 \ --stack-instance-region us-west-2

Saída:

{ "StackInstance": { "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Region": "us-west-2", "Account": "123456789012", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/StackSet-enable-config-e6cac20f-xmpl-46e9-8314-53e0d4591532/4287f9a0-e615-xmpl-894a-12b31d3117be", "ParameterOverrides": [], "Status": "OUTDATED", "StatusReason": "ResourceLogicalId:ConfigBucket, ResourceType:AWS::S3::Bucket, ResourceStatusReason:You have attempted to create more buckets than allowed (Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: F7F21CXMPL580224; S3 Extended Request ID: egd/Fdt89BXMPLyiqbMNljVk55Yqqvi3NYW2nKLUVWhUGEhNfCmZdyj967lhriaG/dWMobSO40o=)." } }

O código de exemplo a seguir mostra como usar describe-stack-resource-drifts.

AWS CLI

Para obter informações sobre recursos que derivaram da definição da pilha

O comando a seguir exibe informações sobre recursos desviados para a pilha especificada. Para iniciar a detecção de desvios, use o detect-stack-drift comando. :

aws cloudformation describe-stack-resource-drifts \ --stack-name my-stack

A saída mostra uma função AWS Lambda que foi modificada: out-of-band

{ "StackResourceDrifts": [ { "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", "ExpectedProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":128,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":900,\"TracingConfig\":{\"Mode\":\"Active\"}}", "ActualProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":256,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":22,\"TracingConfig\":{\"Mode\":\"Active\"}}", "PropertyDifferences": [ { "PropertyPath": "/MemorySize", "ExpectedValue": "128", "ActualValue": "256", "DifferenceType": "NOT_EQUAL" }, { "PropertyPath": "/Timeout", "ExpectedValue": "900", "ActualValue": "22", "DifferenceType": "NOT_EQUAL" } ], "StackResourceDriftStatus": "MODIFIED", "Timestamp": "2019-10-02T05:54:44.064Z" } ] }

O código de exemplo a seguir mostra como usar describe-stack-resource.

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

Saída:

{ "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" } } }

O código de exemplo a seguir mostra como usar describe-stack-resources.

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

Saída:

{ "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" } } ] }

O código de exemplo a seguir mostra como usar describe-stack-set-operation.

AWS CLI

Para obter informações sobre uma operação de conjunto de pilhas

O exemplo describe-stack-set-operation `a seguir exibe detalhes de uma operação de atualização no conjunto de pilhas especificado.

aws cloudformation describe-stack-set-operation \ --stack-set-name enable-config \ --operation-id 35d45ebc-ed88-xmpl-ab59-0197a1fc83a0

Saída:

{ "StackSetOperation": { "OperationId": "35d45ebc-ed88-xmpl-ab59-0197a1fc83a0", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Action": "UPDATE", "Status": "SUCCEEDED", "OperationPreferences": { "RegionOrder": [ "us-east-1", "us-west-2", "eu-west-1", "us-west-1" ], "FailureToleranceCount": 7, "MaxConcurrentCount": 2 }, "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole", "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole", "CreationTimestamp": "2019-10-03T16:28:44.377Z", "EndTimestamp": "2019-10-03T16:42:08.607Z" } }

O código de exemplo a seguir mostra como usar describe-stack-set.

AWS CLI

Para obter informações sobre um conjunto de pilhas

O exemplo describe-stack-set `a seguir exibe detalhes sobre o conjunto de pilhas especificado.

aws cloudformation describe-stack-set \ --stack-set-name my-stack-set

Saída:

{ "StackSet": { "StackSetName": "my-stack-set", "StackSetId": "my-stack-set:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Create an Amazon SNS topic", "Status": "ACTIVE", "TemplateBody": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: An AWS SNS topic\nResources:\n topic:\n Type: AWS::SNS::Topic", "Parameters": [], "Capabilities": [], "Tags": [], "StackSetARN": "arn:aws:cloudformation:us-west-2:123456789012:stackset/enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole", "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole" } }
  • Para API obter detalhes, consulte DescribeStackSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-stacks.

AWS CLI

Para descrever AWS CloudFormation pilhas

O comando describe-stacks a seguir mostra informações resumidas da pilha myteststack:

aws cloudformation describe-stacks --stack-name myteststack

Saída:

{ "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 Stacks no Guia do AWS CloudFormation usuário.

  • Para API obter detalhes, consulte DescribeStacksna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-type-registration.

AWS CLI

Para exibir as informações de registro do tipo

O describe-type-registration exemplo a seguir exibe informações sobre o registro de tipo especificado, incluindo o status atual, o tipo e a versão do tipo.

aws cloudformation describe-type-registration \ --registration-token a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Saída:

{ "ProgressStatus": "COMPLETE", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup", "Description": "Deployment is currently in DEPLOY_STAGE of status COMPLETED; ", "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup/00000001" }

Para obter mais informações, consulte Usando o CloudFormation Registro no Guia do AWS CloudFormation Usuário.

O código de exemplo a seguir mostra como usar describe-type.

AWS CLI

Para exibir informações de tipo

O describe-type exemplo a seguir exibe informações para o tipo especificado.

aws cloudformation describe-type \ --type-name My::Logs::LogGroup \ --type RESOURCE

Saída:

{ "SourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "Description": "Customized resource derived from AWS::Logs::LogGroup", "TimeCreated": "2019-12-03T23:29:33.321Z", "Visibility": "PRIVATE", "TypeName": "My::Logs::LogGroup", "LastUpdated": "2019-12-03T23:29:33.321Z", "DeprecatedStatus": "LIVE", "ProvisioningType": "FULLY_MUTABLE", "Type": "RESOURCE", "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup/00000001", "Schema": "[details omitted]" }

Para obter mais informações, consulte Usando o CloudFormation Registro no Guia do AWS CloudFormation Usuário.

  • Para API obter detalhes, consulte DescribeTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar detect-stack-drift.

AWS CLI

Para detectar recursos desviados

O detect-stack-drift exemplo a seguir inicia a detecção de desvio para a pilha especificada.

aws cloudformation detect-stack-drift \ --stack-name my-stack

Saída:

{ "StackDriftDetectionId": "1a229160-e4d9-xmpl-ab67-0a4f93df83d4" }

Em seguida, você pode usar esse ID com o describe-stack-resource-drifts comando para descrever recursos desviados.

  • Para API obter detalhes, consulte DetectStackDriftna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar detect-stack-resource-drift.

AWS CLI

Para detectar o desvio de um recurso

O detect-stack-resource-drift exemplo a seguir verifica um recurso nomeado MyFunction em uma pilha chamada MyStack de drift:

aws cloudformation detect-stack-resource-drift \ --stack-name MyStack \ --logical-resource-id MyFunction

A saída mostra uma função AWS Lambda que foi modificada: out-of-band

{ "StackResourceDrift": { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "MyFunction", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "ExpectedProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":128,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":900,\"TracingConfig\":{\"Mode\":\"Active\"}}", "ActualProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":256,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":22,\"TracingConfig\":{\"Mode\":\"Active\"}}", "PropertyDifferences": [ { "PropertyPath": "/MemorySize", "ExpectedValue": "128", "ActualValue": "256", "DifferenceType": "NOT_EQUAL" }, { "PropertyPath": "/Timeout", "ExpectedValue": "900", "ActualValue": "22", "DifferenceType": "NOT_EQUAL" } ], "StackResourceDriftStatus": "MODIFIED", "Timestamp": "2019-10-02T05:58:47.433Z" } }

O código de exemplo a seguir mostra como usar detect-stack-set-drift.

AWS CLI

Para detectar desvios em um conjunto de pilhas e em todas as instâncias de pilha associadas

O detect-stack-set-drift exemplo a seguir inicia as operações de detecção de desvio no conjunto de pilhas especificado, incluindo todas as instâncias de pilha associadas a esse conjunto de pilhas, e retorna um ID de operação que pode ser usado para rastrear o status da operação de desvio.

aws cloudformation detect-stack-set-drift \ --stack-set-name stack-set-drift-example

Saída:

{ "OperationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Para obter mais informações, consulte Detectando alterações de configuração não gerenciadas em conjuntos de pilhas no Guia do AWS CloudFormation usuário.

O código de exemplo a seguir mostra como usar estimate-template-cost.

AWS CLI

Para estimar o custo do modelo

O exemplo de estimate-template-cost a seguir gera uma estimativa de custo para um modelo denominado template.yaml na pasta atual.

aws cloudformation estimate-template-cost \ --template-body file://template.yaml

Saída:

{ "Url": "http://calculator.s3.amazonaws.com/calc5.html?key=cloudformation/7870825a-xmpl-4def-92e7-c4f8dd360cca" }

O código de exemplo a seguir mostra como usar execute-change-set.

AWS CLI

Para executar um conjunto de alterações

O execute-change-set exemplo a seguir executa um conjunto de alterações especificado pelo nome do conjunto de alterações e nome da pilha.

aws cloudformation execute-change-set \ --change-set-name my-change-set \ --stack-name my-stack

O execute-change-set exemplo a seguir executa um conjunto de alterações especificado pela totalidade ARN do conjunto de alterações.

aws cloudformation execute-change-set \ --change-set-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784
  • Para API obter detalhes, consulte ExecuteChangeSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-stack-policy.

AWS CLI

Para ver uma política de pilha

O get-stack-policy exemplo a seguir exibe a política de pilha para a pilha especificada. Para anexar uma política a uma pilha, use o set-stack-policy comando.

aws cloudformation get-stack-policy \ --stack-name my-stack

Saída:

{ "StackPolicyBody": "{\n \"Statement\" : [\n {\n \"Effect\" : \"Allow\",\n \"Action\" : \"Update:*\",\n \"Principal\": \"*\",\n \"Resource\" : \"*\"\n },\n {\n \"Effect\" : \"Deny\",\n \"Action\" : \"Update:*\",\n \"Principal\": \"*\",\n \"Resource\" : \"LogicalResourceId/bucket\"\n }\n ]\n}\n" }
  • Para API obter detalhes, consulte GetStackPolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-template-summary.

AWS CLI

Para exibir um resumo do modelo

O comando a seguir exibe informações resumidas sobre os recursos e metadados do arquivo de modelo especificado.

aws cloudformation get-template-summary \ --template-body file://template.yaml

Saída:

{ "Parameters": [], "Description": "A VPC and subnets.", "ResourceTypes": [ "AWS::EC2::VPC", "AWS::EC2::Subnet", "AWS::EC2::Subnet", "AWS::EC2::RouteTable", "AWS::EC2::VPCEndpoint", "AWS::EC2::SubnetRouteTableAssociation", "AWS::EC2::SubnetRouteTableAssociation", "AWS::EC2::VPCEndpoint" ], "Version": "2010-09-09" }

O código de exemplo a seguir mostra como usar get-template.

AWS CLI

Para visualizar o corpo do modelo de uma AWS CloudFormation pilha

O comando get-template a seguir mostra o modelo da pilha myteststack:

aws cloudformation get-template --stack-name myteststack

Saída:

{ "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" } } } } }
  • Para API obter detalhes, consulte GetTemplatena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-change-sets.

AWS CLI

Para listar conjuntos de alterações

O list-change-sets exemplo a seguir exibe uma lista dos conjuntos de alterações pendentes para a pilha especificada.

aws cloudformation list-change-sets \ --stack-name my-stack

Saída:

{ "Summaries": [ { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackName": "my-stack", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/70160340-7914-xmpl-bcbf-128a1fa78b5d", "ChangeSetName": "my-change-set", "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE", "CreationTime": "2019-10-02T05:38:54.297Z" } ] }
  • Para API obter detalhes, consulte ListChangeSetsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-exports.

AWS CLI

Para listar as exportações

O list-exports exemplo a seguir exibe uma lista das exportações das pilhas na região atual.

aws cloudformation list-exports

Saída:

{ "Exports": [ { "ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800", "Name": "private-vpc-subnet-a", "Value": "subnet-07b410xmplddcfa03" }, { "ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800", "Name": "private-vpc-subnet-b", "Value": "subnet-075ed3xmplebd2fb1" }, { "ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800", "Name": "private-vpc-vpcid", "Value": "vpc-011d7xmpl100e9841" } ] }
  • Para API obter detalhes, consulte ListExportsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-imports.

AWS CLI

Para listar as importações

O list-imports exemplo a seguir lista as pilhas que importam a exportação especificada. Para obter a lista de exportações disponíveis, use o list-exports comando.

aws cloudformation list-imports \ --export-name private-vpc-vpcid

Saída:

{ "Imports": [ "my-database-stack" ] }
  • Para API obter detalhes, consulte ListImportsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-stack-instances.

AWS CLI

Para listar instâncias de uma pilha

O list-stack-instances exemplo a seguir lista as instâncias criadas a partir do conjunto de pilhas especificado.

aws cloudformation list-stack-instances \ --stack-set-name enable-config

O exemplo de saída inclui detalhes sobre uma pilha que falhou na atualização devido a um erro:

{ "Summaries": [ { "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Region": "us-west-2", "Account": "123456789012", "StackId": "arn:aws:cloudformation:ap-northeast-1:123456789012:stack/StackSet-enable-config-35a6ac50-d9f8-4084-86e4-7da34d5de4c4/a1631cd0-e5fb-xmpl-b474-0aa20f14f06e", "Status": "CURRENT" }, { "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Region": "us-west-2", "Account": "123456789012", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/StackSet-enable-config-e6cac20f-xmpl-46e9-8314-53e0d4591532/eab53680-e5fa-xmpl-ba14-0a522351f81e", "Status": "OUTDATED", "StatusReason": "ResourceLogicalId:ConfigDeliveryChannel, ResourceType:AWS::Config::DeliveryChannel, ResourceStatusReason:Failed to put delivery channel 'StackSet-enable-config-e6cac20f-xmpl-46e9-8314-53e0d4591532-ConfigDeliveryChannel-1OJWJ7XD59WR0' because the maximum number of delivery channels: 1 is reached. (Service: AmazonConfig; Status Code: 400; Error Code: MaxNumberOfDeliveryChannelsExceededException; Request ID: d14b34a0-ef7c-xmpl-acf8-8a864370ae56)." } ] }

O código de exemplo a seguir mostra como usar list-stack-resources.

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

Saída:

{ "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" } } ] }

O código de exemplo a seguir mostra como usar list-stack-set-operation-results.

AWS CLI

Para listar os resultados da operação do conjunto de pilhas

O comando a seguir exibe os resultados de uma operação de atualização em instâncias no conjunto de pilhas especificado.

aws cloudformation list-stack-set-operation-results \ --stack-set-name enable-config \ --operation-id 35d45ebc-ed88-xmpl-ab59-0197a1fc83a0

Saída:

{ "Summaries": [ { "Account": "223456789012", "Region": "us-west-2", "Status": "SUCCEEDED", "AccountGateResult": { "Status": "SKIPPED", "StatusReason": "Function not found: arn:aws:lambda:eu-west-1:223456789012:function:AWSCloudFormationStackSetAccountGate" } }, { "Account": "223456789012", "Region": "ap-south-1", "Status": "CANCELLED", "StatusReason": "Cancelled since failure tolerance has exceeded" } ] }

Nota: O SKIPPED status de AccountGateResult é esperado para operações bem-sucedidas, a menos que você crie uma função de bloqueio de conta.

O código de exemplo a seguir mostra como usar list-stack-set-operations.

AWS CLI

Para listar as operações do conjunto de pilhas

O list-stack-set-operations exemplo a seguir exibe a lista das operações mais recentes no conjunto de pilhas especificado.

aws cloudformation list-stack-set-operations \ --stack-set-name my-stack-set

Saída:

{ "Summaries": [ { "OperationId": "35d45ebc-ed88-xmpl-ab59-0197a1fc83a0", "Action": "UPDATE", "Status": "SUCCEEDED", "CreationTimestamp": "2019-10-03T16:28:44.377Z", "EndTimestamp": "2019-10-03T16:42:08.607Z" }, { "OperationId": "891aa98f-7118-xmpl-00b2-00954d1dd0d6", "Action": "UPDATE", "Status": "FAILED", "CreationTimestamp": "2019-10-03T15:43:53.916Z", "EndTimestamp": "2019-10-03T15:45:58.925Z" } ] }

O código de exemplo a seguir mostra como usar list-stack-sets.

AWS CLI

Para listar conjuntos de pilhas

O list-stack-sets exemplo a seguir exibe a lista de conjuntos de pilhas na região e na conta atuais.

aws cloudformation list-stack-sets

Saída:

{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }
  • Para API obter detalhes, consulte ListStackSetsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-stacks.

AWS CLI

Para listar AWS CloudFormation pilhas

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

Saída:

[ { "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" } ]
  • Para API obter detalhes, consulte ListStacksna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-type-registrations.

AWS CLI

Para listar os registros concluídos de um tipo

O list-type-registrations exemplo a seguir exibe uma lista dos registros de tipo concluídos para o tipo especificado.

aws cloudformation list-type-registrations \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --registration-status-filter COMPLETE

Saída:

{ "RegistrationTokenList": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }

Para obter mais informações, consulte Usando o CloudFormation Registro no Guia do AWS CloudFormation Usuário.

O código de exemplo a seguir mostra como usar list-type-versions.

AWS CLI

Para listar a versão de uma extensão

O list-type-versions exemplo a seguir retorna informações resumidas sobre as versões de uma extensão.

aws cloudformation list-type-versions \ --endpoint https://example.com \ --region us-west-2 \ --type RESOURCE \ --type-name My::Resource::Example \ --publisher-id 123456789012

Este comando não produz saída.

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte ListTypeVersionsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-types.

AWS CLI

Para listar os tipos de recursos privados em uma conta

O list-types exemplo a seguir exibe uma lista dos tipos de recursos privados atualmente registrados na AWS conta atual.

aws cloudformation list-types

Saída:

{ "TypeSummaries": [ { "Description": "WordPress blog resource for internal use", "LastUpdated": "2019-12-04T18:28:15.059Z", "TypeName": "My::WordPress::BlogExample", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-WordPress-BlogExample", "DefaultVersionId": "00000005", "Type": "RESOURCE" }, { "Description": "Customized resource derived from AWS::Logs::LogGroup", "LastUpdated": "2019-12-04T18:28:15.059Z", "TypeName": "My::Logs::LogGroup", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup", "DefaultVersionId": "00000003", "Type": "RESOURCE" } ] }

Para obter mais informações, consulte Usando o CloudFormation Registro no Guia do AWS CloudFormation Usuário.

  • Para API obter detalhes, consulte ListTypesna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar package.

AWS CLI

O comando a seguir exporta um modelo chamado template.json carregando artefatos locais para o bucket do S3 bucket-name e grava o modelo exportado em: packaged-template.json

aws cloudformation package --template-file /path_to_template/template.json --s3-bucket bucket-name --output-template-file packaged-template.json --use-json
  • Para API obter detalhes, consulte Package in AWS CLI Command Reference.

O código de exemplo a seguir mostra como usar publish-type.

AWS CLI

Para publicar uma extensão

O publish-type exemplo a seguir publica a extensão especificada no CloudFormation registro como uma extensão pública nessa região.

aws cloudformation publish-type \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::1234567890abcdef0

Saída:

{ "PublicTypeArn":"arn:aws:cloudformation:us-west-2::type/resource/000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c/Example-Test-1234567890abcdef0/1.0.0" }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte PublishTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar register-publisher.

AWS CLI

Para registrar um editor

O register-publisher exemplo a seguir registra um editor e aceita o parâmetro de termos e condições.

aws cloudformation register-publisher \ --region us-west-2 \ --accept-terms-and-conditions

Saída:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte RegisterPublisherna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar register-type.

AWS CLI

Para registrar um tipo de recurso

O register-type exemplo a seguir registra o tipo de recurso especificado como um tipo de recurso privado na conta do usuário.

aws cloudformation register-type \ --type-name My::Organization::ResourceName \ --schema-handler-package s3://bucket_name/my-organization-resource_name.zip \ --type RESOURCE

Saída:

{ "RegistrationToken": "f5525280-104e-4d35-bef5-8f1f1example" }

Para obter mais informações, consulte Registrando provedores de recursos no Guia do usuário da interface de linha de CloudFormation comando para desenvolvimento de tipos.

  • Para API obter detalhes, consulte RegisterTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar set-stack-policy.

AWS CLI

Para aplicar uma política de pilha

O set-stack-policy exemplo a seguir desativa as atualizações para o recurso especificado na pilha especificada. stack-policy.jsoné um JSON documento que define as operações permitidas nos recursos na pilha.

aws cloudformation set-stack-policy \ --stack-name my-stack \ --stack-policy-body file://stack-policy.json

Saída:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }
  • Para API obter detalhes, consulte SetStackPolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar set-type-configuration.

AWS CLI

Para configurar dados

O set-type-configuration exemplo a seguir especifica os dados de configuração de uma CloudFormation extensão registrada, em determinada conta e região.

aws cloudformation set-type-configuration \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::Type \ --configuration-alias default \ --configuration "{\"CredentialKey\": \"testUserCredential\"}"

Saída:

{ "ConfigurationArn": "arn:aws:cloudformation:us-west-2:123456789012:type-configuration/resource/Example-Test-Type/default" }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

O código de exemplo a seguir mostra como usar set-type-default-version.

AWS CLI

Para definir a versão padrão de um tipo

O set-type-default-version exemplo a seguir define a versão do tipo especificado a ser usada como padrão para esse tipo.

aws cloudformation set-type-default-version \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --version-id 00000003

Este comando não produz saída.

Para obter mais informações, consulte Usando o CloudFormation Registro no Guia do AWS CloudFormation Usuário.

O código de exemplo a seguir mostra como usar signal-resource.

AWS CLI

Para sinalizar um recurso

O signal-resource exemplo a seguir indica success o cumprimento da condição de espera nomeada MyWaitCondition na pilha chamadamy-stack.

aws cloudformation signal-resource \ --stack-name my-stack \ --logical-resource-id MyWaitCondition \ --unique-id 1234 \ --status SUCCESS

Este comando não produz saída.

  • Para API obter detalhes, consulte SignalResourcena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar stop-stack-set-operation.

AWS CLI

Para interromper uma operação de conjunto de pilhas

O stop-stack-set-operation exemplo a seguir interrompe uma operação de atualização em andamento no conjunto de pilhas especificado.

aws cloudformation stop-stack-set-operation \ --stack-set-name my-stack-set \ --operation-id 1261cd27-490b-xmpl-ab42-793a896c69e6

Este comando não produz saída.

O código de exemplo a seguir mostra como usar test-type.

AWS CLI

Para testar uma extensão

O test-type exemplo a seguir testa uma extensão registrada para garantir que ela atenda a todos os requisitos necessários para ser publicada no CloudFormation registro.

aws cloudformation test-type \ --arn arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001

Saída:

{ "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001" }

Para obter mais informações, consulte Usando o AWS CloudFormation registro no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte TestTypena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-stack-instances.

AWS CLI

Para atualizar instâncias de pilha

O update-stack-instances exemplo a seguir repete uma atualização nas instâncias de pilha em duas contas em duas regiões com as configurações mais recentes. A configuração de tolerância a falhas especificada garante que a atualização seja tentada em todas as contas e regiões, mesmo que algumas pilhas não possam ser atualizadas.

aws cloudformation update-stack-instances \ --stack-set-name my-stack-set \ --accounts 123456789012 567890123456 \ --regions us-east-1 us-west-2 \ --operation-preferences FailureToleranceCount=3

Saída:

{ "OperationId": "103ebdf2-21ea-xmpl-8892-de5e30733132" }

O código de exemplo a seguir mostra como usar update-stack-set.

AWS CLI

Para atualizar um conjunto de pilhas

O update-stack-set exemplo a seguir adiciona uma tag com o nome da chave Owner e um valor de IT às instâncias da pilha no conjunto de pilhas especificado.

aws cloudformation update-stack-set \ --stack-set-name my-stack-set \ --use-previous-template \ --tags Key=Owner,Value=IT

Saída:

{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }
  • Para API obter detalhes, consulte UpdateStackSetna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-stack.

AWS CLI

Para atualizar as AWS CloudFormation pilhas

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 AWS CloudFormation pilha no Guia do AWS CloudFormation usuário.

  • Para API obter detalhes, consulte UpdateStackna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-termination-protection.

AWS CLI

Para ativar a proteção contra rescisão

O update-termination-protection exemplo a seguir ativa a proteção contra encerramento na pilha especificada.

aws cloudformation update-termination-protection \ --stack-name my-stack \ --enable-termination-protection

Saída:

{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }

O código de exemplo a seguir mostra como usar validate-template.

AWS CLI

Para validar um modelo AWS CloudFormation

O comando validate-template a seguir valida o modelo sampletemplate.json:

aws cloudformation validate-template --template-body file://sampletemplate.json

Saída:

{ "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 Trabalhando com AWS CloudFormation modelos no Guia AWS CloudFormation do usuário.

  • Para API obter detalhes, consulte ValidateTemplatena Referência de AWS CLI Comandos.