AWS CloudFormation ejemplos que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS CloudFormation ejemplos que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS Command Line Interface with AWS CloudFormation.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar activate-type.

AWS CLI

Para activar un tipo

El siguiente activate-type ejemplo activa una extensión pública de terceros y la pone a disposición para su uso en plantillas de pila.

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

Salida:

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

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte ActivateTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar batch-describe-type-configurations.

AWS CLI

Para describir por lotes una configuración de tipos

En el siguiente batch-describe-type-configurations ejemplo, se configuran los datos del 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"

Salida:

{ "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 obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

En el siguiente ejemplo de código se muestra cómo usar cancel-update-stack.

AWS CLI

Cancelación de una actualización de pila en progreso

El comando cancel-update-stack a continuación cancela una actualización de pila en la pila myteststack:

aws cloudformation cancel-update-stack --stack-name myteststack
  • Para API obtener más información, consulte CancelUpdateStackla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar continue-update-rollback.

AWS CLI

Nuevo intento de reversión de actualizaciones

El ejemplo de continue-update-rollback a continuación reanuda una operación de reversión a partir de un intento fallido previo de una actualización de pila.

aws cloudformation continue-update-rollback \ --stack-name my-stack

Este comando no genera ninguna salida.

En el siguiente ejemplo de código se muestra cómo usar create-change-set.

AWS CLI

Para crear un conjunto de cambios

En el siguiente create-change-set ejemplo, se crea un conjunto de cambios con CAPABILITY_IAM esta capacidad. El archivo template.yaml es una AWS CloudFormation plantilla de la carpeta actual que define una pila que incluye 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

Salida:

{ "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 obtener más información, consulte CreateChangeSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-stack-instances.

AWS CLI

Para crear instancias de pila

En el siguiente create-stack-instances ejemplo, se crean instancias de un conjunto de pilas en dos cuentas y cuatro regiones. La configuración de tolerancia a errores garantiza que se intente la actualización en todas las cuentas y regiones, incluso si no se pueden crear algunas pilas.

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

Salida:

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

Para crear un conjunto de pilas, utilice el create-stack-set comando.

  • Para API obtener más información, consulte CreateStackInstancesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-stack-set.

AWS CLI

Para crear un conjunto de pilas

En el siguiente create-stack-set ejemplo, se crea un conjunto de pilas mediante la plantilla de YAML archivo especificada. template.yamles una AWS CloudFormation plantilla de la carpeta actual que define una pila.

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

Salida:

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

Para añadir instancias de pila al conjunto de pilas, usa el create-stack-instances comando.

  • Para API obtener más información, consulte CreateStackSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-stack.

AWS CLI

Para crear una AWS CloudFormation pila

En el siguiente ejemplo de create-stacks, se crea una pila con el nombre myteststack mediante la plantilla sampletemplate.json:

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

Salida:

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

Para obtener más información, consulte Stacks en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte CreateStackla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar deactivate-type.

AWS CLI

Para desactivar un tipo

En el siguiente deactivate-type ejemplo, se desactiva una extensión pública que se había activado anteriormente en esta cuenta y región.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte DeactivateTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-change-set.

AWS CLI

Para eliminar un conjunto de cambios

En el siguiente delete-change-set ejemplo, se elimina un conjunto de cambios especificando el nombre del conjunto de cambios y el nombre de la pila.

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

Este comando no genera ninguna salida.

En el siguiente delete-change-set ejemplo, se elimina un conjunto de cambios especificando el conjunto ARN de cambios completo.

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 no genera ninguna salida.

  • Para API obtener más información, consulte DeleteChangeSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-stack-instances.

AWS CLI

Para eliminar instancias de pila

En el siguiente delete-stack-instances ejemplo, se eliminan las instancias de un conjunto de pilas en dos cuentas de dos regiones y se cierran las pilas.

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

Salida:

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

Para eliminar un conjunto de pilas vacío, usa el comando. delete-stack-set

  • Para API obtener más información, consulte DeleteStackInstancesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-stack-set.

AWS CLI

Para eliminar un conjunto de pilas

El siguiente comando elimina el conjunto de pilas vacío especificado. El conjunto de pilas debe estar vacío.

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

Este comando no genera ninguna salida.

Para eliminar instancias del conjunto de pilas, usa el delete-stack-instances comando.

  • Para API obtener más información, consulte DeleteStackSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-stack.

AWS CLI

Eliminación de una pila

En el siguiente ejemplo de delete-stack, se elimina la pila especificada.

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

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte DeleteStackla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar deploy.

AWS CLI

El siguiente comando despliega la plantilla nombrada template.json en una pila llamadamy-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 obtener más información, consulte Deploy in AWS CLI Command Reference.

En el siguiente ejemplo de código se muestra cómo usar deregister-type.

AWS CLI

Para anular el registro de una versión de tipo

En el siguiente deregister-type ejemplo, se quita la versión de tipo especificada del uso activo en el CloudFormation registro, de modo que ya no se puede utilizar en CloudFormation las operaciones.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Uso del CloudFormation registro en la AWS CloudFormation Guía del usuario.

  • Para API obtener más información, consulte DeregisterTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-account-limits.

AWS CLI

Para obtener información sobre los límites de su cuenta

El siguiente comando recupera una lista de los límites regionales de la cuenta corriente.

aws cloudformation describe-account-limits

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar describe-change-set.

AWS CLI

Para obtener información sobre un conjunto de cambios

En el siguiente describe-change-set ejemplo, se muestran los detalles del conjunto de cambios especificados por el nombre del conjunto de cambios y el nombre de la pila.

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

En el siguiente describe-change-set ejemplo, se muestran los detalles del conjunto de cambios especificados por el conjunto ARN de cambios completo:

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

Salida:

{ "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 obtener más información, consulte DescribeChangeSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-publisher.

AWS CLI

Para describir un editor

El siguiente describe-publisher ejemplo configura la información de un editor.

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

Salida:

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

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte DescribePublisherla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-stack-drift-detection-status.

AWS CLI

Para comprobar el estado de una operación de detección de desviaciones

El siguiente describe-stack-drift-detection-status ejemplo muestra el estado de una operación de detección de desviaciones. Obtenga el by ID al ejecutar el detect-stack-drift comando.

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

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar describe-stack-events.

AWS CLI

Descripción de los eventos de la pila

En el siguiente ejemplo de describe-stack-events, se muestran los dos eventos más recientes de la pila 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==" }
  • Para API obtener más información, consulte DescribeStackEventsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-stack-instance.

AWS CLI

Para describir una instancia de pila

El siguiente comando describe una instancia del conjunto de pilas especificado en la cuenta y la región especificadas. El conjunto de pilas se encuentra en la región y la cuenta actuales, y la instancia se encuentra en la us-west-2 región de la cuenta123456789012. :

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

Salida:

{ "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=)." } }

En el siguiente ejemplo de código se muestra cómo usar describe-stack-resource-drifts.

AWS CLI

Para obtener información sobre los recursos que se derivaron de la definición de pila

El siguiente comando muestra información sobre los recursos desviados de la pila especificada. Para iniciar la detección de desviaciones, utilice el detect-stack-drift comando. :

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

El resultado muestra una función AWS Lambda que se modificó: 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" } ] }

En el siguiente ejemplo de código se muestra cómo usar describe-stack-resource.

AWS CLI

Obtención de información sobre un recurso de pila

En el siguiente ejemplo de describe-stack-resource, se muestran los detalles del recurso con el nombre MyFunction en la pila especificada.

aws cloudformation describe-stack-resource \ --stack-name MyStack \ --logical-resource-id MyFunction

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar describe-stack-resources.

AWS CLI

Obtención de información sobre un recurso de pila

En el siguiente ejemplo de describe-stack-resources, se muestran los detalles de los recursos en la pila especificada.

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

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar describe-stack-set-operation.

AWS CLI

Para obtener información sobre una operación de conjunto de pilas

El siguiente describe-stack-set-operation ejemplo muestra los detalles de una operación de actualización en el conjunto de pilas especificado.

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

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar describe-stack-set.

AWS CLI

Para obtener información sobre un conjunto de pilas

El siguiente describe-stack-set ejemplo muestra detalles sobre el conjunto de pilas especificado.

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

Salida:

{ "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 obtener más información, consulte DescribeStackSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-stacks.

AWS CLI

Para describir las AWS CloudFormation pilas

En el siguiente ejemplo de describe-stacks, se muestra la información del resumen para la pila myteststack:

aws cloudformation describe-stacks --stack-name myteststack

Salida:

{ "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 obtener más información, consulte Stacks en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte DescribeStacksla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-type-registration.

AWS CLI

Para mostrar la información de registro de tipos

En el siguiente describe-type-registration ejemplo, se muestra información sobre el registro del tipo especificado, incluidos el estado actual, el tipo y la versión del tipo.

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

Salida:

{ "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 obtener más información, consulte Uso del CloudFormation registro en la AWS CloudFormation Guía del usuario.

En el siguiente ejemplo de código se muestra cómo usar describe-type.

AWS CLI

Para mostrar la información de tipos

En el siguiente describe-type ejemplo, se muestra la información del tipo especificado.

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

Salida:

{ "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 obtener más información, consulte Uso del CloudFormation registro en la AWS CloudFormation Guía del usuario.

  • Para API obtener más información, consulte DescribeTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar detect-stack-drift.

AWS CLI

Para detectar recursos desviados

El siguiente detect-stack-drift ejemplo inicia la detección de desviaciones para la pila especificada.

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

Salida:

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

A continuación, puede utilizar este identificador con el describe-stack-resource-drifts comando para describir los recursos desviados.

  • Para API obtener más información, consulte DetectStackDriftla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar detect-stack-resource-drift.

AWS CLI

Para detectar la desviación de un recurso

En el siguiente detect-stack-resource-drift ejemplo, se comprueba un recurso cuyo nombre figura MyFunction en una pila denominada MyStack deriva:

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

El resultado muestra una función AWS Lambda que se modificó: 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" } }

En el siguiente ejemplo de código se muestra cómo usar detect-stack-set-drift.

AWS CLI

Para detectar una desviación en un conjunto de pilas y en todas las instancias de pilas asociadas

El siguiente detect-stack-set-drift ejemplo inicia las operaciones de detección de desviaciones en el conjunto de pilas especificado, incluidas todas las instancias de apilamiento asociadas a ese conjunto de pilas, y devuelve un identificador de operación que se puede utilizar para realizar un seguimiento del estado de la operación de desviación.

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

Salida:

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

Para obtener más información, consulte Detección de cambios de configuración no gestionados en conjuntos de pilas en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte DetectStackSetDriftla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar estimate-template-cost.

AWS CLI

Cálculo del costo de una plantilla

En el siguiente ejemplo de estimate-template-cost, se genera un cálculo del costo para una plantilla con el nombre template.yaml en la carpeta actual.

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

Salida:

{ "Url": "http://calculator.s3.amazonaws.com/calc5.html?key=cloudformation/7870825a-xmpl-4def-92e7-c4f8dd360cca" }
  • Para API obtener más información, consulte EstimateTemplateCostla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar execute-change-set.

AWS CLI

Para ejecutar un conjunto de cambios

En el siguiente execute-change-set ejemplo, se ejecuta un conjunto de cambios especificado por el nombre del conjunto de cambios y el nombre de la pila.

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

En el siguiente execute-change-set ejemplo, se ejecuta un conjunto de cambios especificado por el conjunto ARN de cambios completo.

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 obtener más información, consulte ExecuteChangeSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-stack-policy.

AWS CLI

Para ver una política de apilamiento

En el siguiente get-stack-policy ejemplo, se muestra la política de apilamiento de la pila especificada. Para adjuntar una política a una pila, utilice el set-stack-policy comando.

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

Salida:

{ "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 obtener más información, consulte GetStackPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-template-summary.

AWS CLI

Para mostrar un resumen de la plantilla

El siguiente comando muestra información resumida sobre los recursos y los metadatos del archivo de plantilla especificado.

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

Salida:

{ "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" }
  • Para API obtener más información, consulte GetTemplateSummaryla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-template.

AWS CLI

Para ver el cuerpo de la plantilla de una AWS CloudFormation pila

En el siguiente ejemplo de get-template, se muestra la plantilla para la pila myteststack:

aws cloudformation get-template --stack-name myteststack

Salida:

{ "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 obtener más información, consulte GetTemplatela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-change-sets.

AWS CLI

Para enumerar los conjuntos de cambios

En el siguiente list-change-sets ejemplo, se muestra una lista de los conjuntos de cambios pendientes de la pila especificada.

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

Salida:

{ "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 obtener más información, consulte ListChangeSetsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-exports.

AWS CLI

Para enumerar las exportaciones

En el siguiente list-exports ejemplo, se muestra una lista de las exportaciones de las pilas de la región actual.

aws cloudformation list-exports

Salida:

{ "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 obtener más información, consulte ListExportsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-imports.

AWS CLI

Para enumerar las importaciones

En el siguiente list-imports ejemplo, se enumeran las pilas que importan la exportación especificada. Para obtener la lista de exportaciones disponibles, utilice el list-exports comando.

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

Salida:

{ "Imports": [ "my-database-stack" ] }
  • Para API obtener más información, consulte ListImportsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-stack-instances.

AWS CLI

Para enumerar las instancias de una pila

En el siguiente list-stack-instances ejemplo, se enumeran las instancias creadas a partir del conjunto de pilas especificado.

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

El resultado del ejemplo incluye detalles sobre una pila que no se pudo actualizar debido a un error:

{ "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)." } ] }
  • Para API obtener más información, consulte ListStackInstancesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-stack-resources.

AWS CLI

Enumeración de los recursos de una pila

En el siguiente comando, se muestra la lista de los recursos en la pila especificada.

aws cloudformation list-stack-resources \ --stack-name my-stack

Salida:

{ "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" } } ] }
  • Para API obtener más información, consulte ListStackResourcesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-stack-set-operation-results.

AWS CLI

Para enumerar los resultados de las operaciones del conjunto de pilas

El siguiente comando muestra los resultados de una operación de actualización en las instancias del conjunto de pilas especificado.

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

Salida:

{ "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: El SKIPPED estado AccountGateResult es el esperado para que las operaciones se realicen correctamente, a menos que se cree una función de puerta de cuenta.

En el siguiente ejemplo de código se muestra cómo usar list-stack-set-operations.

AWS CLI

Para enumerar las operaciones de conjuntos de pilas

En el siguiente list-stack-set-operations ejemplo, se muestra la lista de las operaciones más recientes del conjunto de pilas especificado.

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

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar list-stack-sets.

AWS CLI

Para enumerar conjuntos de pilas

En el siguiente list-stack-sets ejemplo, se muestra la lista de conjuntos de pilas de la región y la cuenta actuales.

aws cloudformation list-stack-sets

Salida:

{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }
  • Para API obtener más información, consulte ListStackSetsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-stacks.

AWS CLI

Para enumerar AWS CloudFormation pilas

En el siguiente ejemplo de list-stacks, se muestra un resumen de todas las pilas que tienen el estado CREATE_COMPLETE:

aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE

Salida:

[ { "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 obtener más información, consulte ListStacksla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-type-registrations.

AWS CLI

Para enumerar los registros completados de un tipo

En el siguiente list-type-registrations ejemplo, se muestra una lista de los registros de tipo completados para el tipo especificado.

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

Salida:

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

Para obtener más información, consulte Uso del CloudFormation registro en la Guía del AWS CloudFormation usuario.

En el siguiente ejemplo de código se muestra cómo usar list-type-versions.

AWS CLI

Para enumerar la versión de una extensión

El siguiente list-type-versions ejemplo devuelve información resumida sobre las versiones de una extensión.

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 no genera ninguna salida.

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte ListTypeVersionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-types.

AWS CLI

Para enumerar los tipos de recursos privados de una cuenta

En el siguiente list-types ejemplo, se muestra una lista de los tipos de recursos privados actualmente registrados en la AWS cuenta actual.

aws cloudformation list-types

Salida:

{ "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 obtener más información, consulte Uso del CloudFormation registro en la AWS CloudFormation Guía del usuario.

  • Para API obtener más información, consulte ListTypesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar package.

AWS CLI

El siguiente comando exporta una plantilla nombrada template.json al cargar artefactos locales en un bucket de S3 bucket-name y escribe la plantilla exportada en: 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 obtener más información, consulte Package in AWS CLI Command Reference.

En el siguiente ejemplo de código se muestra cómo usar publish-type.

AWS CLI

Para publicar una extensión

En el siguiente publish-type ejemplo, se publica la extensión especificada en el CloudFormation registro como extensión pública en esta región.

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

Salida:

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

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte PublishTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar register-publisher.

AWS CLI

Para registrar un editor

En el siguiente register-publisher ejemplo, se registra un editor y se acepta el parámetro de términos y condiciones.

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

Salida:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte RegisterPublisherla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar register-type.

AWS CLI

Para registrar un tipo de recurso

El siguiente register-type ejemplo registra el tipo de recurso especificado como un tipo de recurso privado en la cuenta del usuario.

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

Salida:

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

Para obtener más información, consulte Registro de proveedores de recursos en la Guía del usuario de la interfaz de línea de CloudFormation comandos para el desarrollo de tipos.

  • Para API obtener más información, consulte RegisterTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar set-stack-policy.

AWS CLI

Para aplicar una política de apilamiento

El siguiente set-stack-policy ejemplo deshabilita las actualizaciones del recurso especificado en la pila especificada. stack-policy.jsones un JSON documento que define las operaciones permitidas en los recursos de la pila.

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

Salida:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }
  • Para API obtener más información, consulte SetStackPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar set-type-configuration.

AWS CLI

Para configurar los datos

En el siguiente set-type-configuration ejemplo, se especifican los datos de configuración de una CloudFormation extensión registrada en la cuenta y región determinadas.

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

Salida:

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

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte SetTypeConfigurationla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar set-type-default-version.

AWS CLI

Para establecer la versión por defecto de un tipo

En el siguiente set-type-default-version ejemplo, se establece la versión de tipo especificada que se utilizará como predeterminada para este tipo.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Uso del CloudFormation registro en la AWS CloudFormation Guía del usuario.

En el siguiente ejemplo de código se muestra cómo usar signal-resource.

AWS CLI

Para señalizar un recurso

En el siguiente signal-resource ejemplo, success se indica que se debe cumplir la condición de espera MyWaitCondition indicada en la pila denominadamy-stack.

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

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte SignalResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar stop-stack-set-operation.

AWS CLI

Para detener una operación de conjunto de pilas

El siguiente stop-stack-set-operation ejemplo detiene una operación de actualización en curso en el conjunto de pilas especificado.

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

Este comando no genera ninguna salida.

En el siguiente ejemplo de código se muestra cómo usar test-type.

AWS CLI

Para probar una extensión

En el siguiente test-type ejemplo, se comprueba una extensión registrada para asegurarse de que cumple todos los requisitos necesarios para su publicación en el CloudFormation registro.

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

Salida:

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

Para obtener más información, consulte Uso del AWS CloudFormation registro en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte TestTypela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-stack-instances.

AWS CLI

Para actualizar las instancias de pila

En el siguiente update-stack-instances ejemplo, se vuelve a intentar actualizar las instancias de pila de dos cuentas de dos regiones con la configuración más reciente. La configuración de tolerancia a errores especificada garantiza que la actualización se intente realizar en todas las cuentas y regiones, incluso si algunas pilas no se pueden actualizar.

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

Salida:

{ "OperationId": "103ebdf2-21ea-xmpl-8892-de5e30733132" }
  • Para API obtener más información, consulte UpdateStackInstancesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-stack-set.

AWS CLI

Para actualizar un conjunto de pilas

En el siguiente update-stack-set ejemplo, se agrega una etiqueta con el nombre de la clave Owner y un valor de IT a las instancias de pila del conjunto de pilas especificado.

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

Salida:

{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }
  • Para API obtener más información, consulte UpdateStackSetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-stack.

AWS CLI

Para actualizar las AWS CloudFormation pilas

En el siguiente ejemplo de update-stack, se actualiza la plantilla y los parámetros de entrada de la pila 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

En el siguiente ejemplo de update-stack, se actualiza únicamente el valor de parámetro SubnetIDs para la pila mystack. Si no se especifica un valor de parámetro, se utilizará el valor predeterminado que esté especificado en la plantilla:

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

En el siguiente ejemplo de update-stack, se agregan dos temas de notificaciones de pila en la pila mystack:

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 obtener más información, consulta las actualizaciones de las AWS CloudFormation pilas en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte UpdateStackla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-termination-protection.

AWS CLI

Para habilitar la protección de terminación

El siguiente update-termination-protection ejemplo habilita la protección de terminación en la pila especificada.

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

Salida:

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

En el siguiente ejemplo de código se muestra cómo usar validate-template.

AWS CLI

Para validar una AWS CloudFormation plantilla

En el siguiente ejemplo de validate-template, se valida la plantilla sampletemplate.json:

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

Salida:

{ "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 obtener más información, consulte Trabajar con AWS CloudFormation plantillas en la Guía del AWS CloudFormation usuario.

  • Para API obtener más información, consulte ValidateTemplatela Referencia de AWS CLI comandos.