Ejemplos de AWS CloudFormation que utilizan la AWS CLI
En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con 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 distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar activate-type.
- AWS CLI
-
Activación de un tipo
En el siguiente ejemplo de
activate-type, se 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 \ --regionus-west-2\ --typeRESOURCE\ --type-nameExample::Test::1234567890abcdef0\ --type-name-aliasExample::Test::AliasSalida:
{ "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Alias" }Para obtener más información, consulte Uso del registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte ActivateType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar batch-describe-type-configurations.
- AWS CLI
-
Descripción por lotes de una configuración de tipo
En el siguiente ejemplo de
batch-describe-type-configurations, se configuran los datos del tipo.aws cloudformation batch-describe-type-configurations \ --regionus-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 registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte BatchDescribeTypeConfigurations
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar cancel-update-stack.
- AWS CLI
-
Cancelación de una actualización de pila en progreso
El comando
cancel-update-stacka continuación cancela una actualización de pila en la pilamyteststack:aws cloudformation cancel-update-stack --stack-namemyteststack-
Para ver detalles de la API, consulte CancelUpdateStack
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar continue-update-rollback.
- AWS CLI
-
Nuevo intento de reversión de actualizaciones
El ejemplo de
continue-update-rollbacka 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-namemy-stackEste comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte ContinueUpdateRollback
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-change-set.
- AWS CLI
-
Creación de un conjunto de cambios
En el siguiente ejemplo de
create-change-set, se crea un conjunto de cambios con la capacidadCAPABILITY_IAM. El archivotemplate.yamles una plantilla de AWS CloudFormation en la carpeta actual que define una pila con recursos de IAM.aws cloudformation create-change-set \ --stack-namemy-application\ --change-set-namemy-change-set\ --template-bodyfile://template.yaml\ --capabilitiesCAPABILITY_IAMSalida:
{ "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 obtener información sobre la API, consulte CreateChangeSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-stack-instances.
- AWS CLI
-
Creación de instancias de pila
En el siguiente ejemplo de
create-stack-instances, se crean instancias de un conjunto de pilas en dos cuentas y en 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-namemy-stack-set\ --accounts123456789012223456789012\ --regionsus-east-1us-east-2us-west-1us-west-2\ --operation-preferencesFailureToleranceCount=7Salida:
{ "OperationId": "d7995c31-83c2-xmpl-a3d4-e9ca2811563f" }Para crear un conjunto de pilas, utilice el comando
create-stack-set.-
Para obtener información sobre la API, consulte CreateStackInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-stack-set.
- AWS CLI
-
Creación de un conjunto de pilas
En el siguiente ejemplo de
create-stack-set, se crea un conjunto de pilas con la plantilla de archivo YAML especificada.template.yamles una plantilla de AWS CloudFormation en la carpeta actual que define una pila.aws cloudformation create-stack-set \ --stack-set-namemy-stack-set\ --template-bodyfile://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, utilice el comando
create-stack-instances.-
Para obtener información sobre la API, consulte CreateStackSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-stack.
- AWS CLI
-
Creación de una pila de AWS CloudFormation
En el siguiente ejemplo de
create-stacks, se crea una pila con el nombremyteststackmediante la plantillasampletemplate.json:aws cloudformation create-stack --stack-namemyteststack--template-bodyfile://sampletemplate.json--parametersParameterKey=KeyPairName,ParameterValue=TestKeyParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2Salida:
{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }Para obtener más información, consulte Pilas en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte CreateStack
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar deactivate-type.
- AWS CLI
-
Desactivación de un tipo
En el siguiente ejemplo de
deactivate-type, se desactiva una extensión pública previamente activada en dicha cuenta y región.aws cloudformation deactivate-type \ --regionus-west-2\ --typeMODULE\ --type-nameExample::Test::Type::MODULEEste comando no genera ninguna salida.
Para obtener más información, consulte Uso del registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DeactivateType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-change-set.
- AWS CLI
-
Eliminación de un conjunto de cambios
En el siguiente ejemplo de
delete-change-set, 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-namemy-stack\ --change-set-namemy-change-setEste comando no genera ninguna salida.
En el siguiente ejemplo de
delete-change-set, se elimina un conjunto de cambios especificando el ARN completo del conjunto de cambios.aws cloudformation delete-change-set \ --change-set-namearn:aws:cloudformation:us-east-2:123456789012:changeSet/my-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0Este comando no genera ninguna salida.
-
Para obtener más información sobre la API, consulte DeleteChangeSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-stack-instances.
- AWS CLI
-
Eliminación de instancias de pila
En el siguiente ejemplo de
delete-stack-instances, se eliminan instancias de un conjunto de pilas en dos cuentas y en dos regiones, y se terminan las pilas.aws cloudformation delete-stack-instances \ --stack-set-namemy-stack-set\ --accounts123456789012567890123456\ --regionsus-east-1us-west-1\ --no-retain-stacksSalida:
{ "OperationId": "ad49f10c-fd1d-413f-a20a-8de6e2fa8f27" }Para eliminar un conjunto de pilas vacío, utilice el comando
delete-stack-set.-
Para obtener información sobre la API, consulte DeleteStackInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-stack-set.
- AWS CLI
-
Eliminación de un conjunto de pilas
Con el siguiente comando se elimina el conjunto de pilas vacío especificado. El conjunto de pilas debe estar vacío.
aws cloudformation delete-stack-set \ --stack-set-namemy-stack-setEste comando no genera ninguna salida.
Para eliminar instancias del conjunto de pilas, utilice el comando
delete-stack-instances.-
Para obtener información sobre la API, consulte DeleteStackSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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-namemy-stackEste comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte DeleteStack
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar deploy.
- AWS CLI
-
Con el siguiente comando, se despliega la plantilla denominada
template.jsonen una pila llamadamy-new-stack:aws cloudformation deploy --template-file/path_to_template/template.json--stack-namemy-new-stack--parameter-overridesKey1=Value1Key2=Value2--tagsKey1=Value1Key2=Value2-
Para obtener información sobre la API, consulte Deploy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar deregister-type.
- AWS CLI
-
Anulación del registro de una versión de tipo
En el siguiente ejemplo de
deregister-type, se elimina la versión de tipo especificada del uso activo en el registro de CloudFormation, de manera que ya no se pueda utilizar en las operaciones de CloudFormation.aws cloudformation deregister-type \ --typeRESOURCE\ --type-nameMy::Logs::LogGroup\ --version-id00000002Este comando no genera ninguna salida.
Para obtener más información, consulte Uso del registro de CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DeregisterType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-account-limits.
- AWS CLI
-
Obtención de información sobre los límites de la cuenta
Con el siguiente comando, se genera una lista de los límites regionales de la cuenta actual.
aws cloudformation describe-account-limitsSalida:
{ "AccountLimits": [ { "Name": "StackLimit", "Value": 200 }, { "Name": "StackOutputsLimit", "Value": 60 }, { "Name": "ConcurrentResourcesLimit", "Value": 2500 } ] }-
Para obtener información sobre la API, consulte DescribeAccountLimits
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-change-set.
- AWS CLI
-
Obtención de información sobre un conjunto de cambios
En el siguiente ejemplo de
describe-change-set, se muestran los detalles del conjunto de cambios especificado por el nombre del conjunto de cambios y el nombre de la pila.aws cloudformation describe-change-set \ --change-set-namemy-change-set\ --stack-namemy-stackEn el siguiente ejemplo de
describe-change-set, se muestran los detalles del conjunto de cambios especificando por el ARN completo del conjunto de cambios:aws cloudformation describe-change-set \ --change-set-namearn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784Salida:
{ "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 obtener información sobre la API, consulte DescribeChangeSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-publisher.
- AWS CLI
-
Descripción de un publicador
En el siguiente ejemplo de
describe-publisher, se configura la información de un publicador.aws cloudformation describe-publisher \ --regionus-west-2\ --publisher-id000q6TfUovXsEMmgKowxDZLlwqr2QUshSalida:
{ "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 registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DescribePublisher
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-stack-drift-detection-status.
- AWS CLI
-
Comprobación del estado de una operación de detección de desviaciones
En el siguiente ejemplo de
describe-stack-drift-detection-status, se muestra el estado de una operación de detección de desviaciones. Se puede obtener el ID ejecutando el comandodetect-stack-drift.aws cloudformation describe-stack-drift-detection-status \ --stack-drift-detection-id1a229160-e4d9-xmpl-ab67-0a4f93df83d4Salida:
{ "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" }-
Para obtener información sobre la API, consulte DescribeStackDriftDetectionStatus
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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-namemy-stack\ --max-items2{"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 obtener información sobre la API, consulte DescribeStackEvents
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-stack-instance.
- AWS CLI
-
Descripción de una instancia de pila
Con el siguiente comando se 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 región
us-west-2de la cuenta123456789012.aws cloudformation describe-stack-instance \ --stack-set-namemy-stack-set\ --stack-instance-account123456789012\ --stack-instance-regionus-west-2Salida:
{ "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=)." } }-
Para obtener información sobre la API, consulte DescribeStackInstance
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-stack-resource-drifts.
- AWS CLI
-
Obtención de información sobre los recursos desviados de la definición de pila
En el siguiente comando, se muestra información acerca de los recursos desviados de la pila especificada. Para iniciar la detección de desviaciones, utilice el comando
detect-stack-drift:aws cloudformation describe-stack-resource-drifts \ --stack-namemy-stackEl resultado muestra una función de AWS Lambda que se ha modificado fuera de banda:
{ "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" } ] }-
Para obtener información sobre la API, consulte DescribeStackResourceDrifts
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 nombreMyFunctionen la pila especificada.aws cloudformation describe-stack-resource \ --stack-nameMyStack\ --logical-resource-idMyFunctionSalida:
{ "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" } } }-
Para obtener información sobre la API, consulte DescribeStackResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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-namemy-stackSalida:
{ "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" } } ] }-
Para obtener información sobre la API, consulte DescribeStackResources
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-stack-set-operation.
- AWS CLI
-
Obtención de información sobre una operación de conjunto de pilas
En el siguiente ejemplo de describe-stack-set-operation, se muestran los detalles de una operación de actualización en el conjunto de pilas especificado.
aws cloudformation describe-stack-set-operation \ --stack-set-nameenable-config\ --operation-id35d45ebc-ed88-xmpl-ab59-0197a1fc83a0Salida:
{ "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" } }-
Para obtener información sobre la API, consulte DescribeStackSetOperation
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-stack-set.
- AWS CLI
-
Obtención de información sobre un conjunto de pilas
En el siguiente ejemplo de describe-stack-set, se muestran los detalles del conjunto de pilas especificado.
aws cloudformation describe-stack-set \ --stack-set-namemy-stack-setSalida:
{ "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 obtener información sobre la API, consulte DescribeStackSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-stacks.
- AWS CLI
-
Descripción de las pilas de AWS CloudFormation
En el siguiente ejemplo de
describe-stacks, se muestra la información del resumen para la pilamyteststack:aws cloudformation describe-stacks --stack-namemyteststackSalida:
{ "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 Pilas en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DescribeStacks
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-type-registration.
- AWS CLI
-
Obtención de información del registro de tipo
En el siguiente ejemplo de
describe-type-registration, se muestra información sobre el registro del tipo especificado, incluidos el estado, el tipo y la versión actuales de dicho tipo.aws cloudformation describe-type-registration \ --registration-tokena1b2c3d4-5678-90ab-cdef-EXAMPLE11111Salida:
{ "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 registro de CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DescribeTypeRegistration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-type.
- AWS CLI
-
Obtención de información de tipo
En el siguiente ejemplo de
describe-type, se muestra información del tipo especificado.aws cloudformation describe-type \ --type-nameMy::Logs::LogGroup\ --typeRESOURCESalida:
{ "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 registro de CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DescribeType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar detect-stack-drift.
- AWS CLI
-
Detección de recursos desviados
En el siguiente ejemplo de
detect-stack-drift, se inicia la detección de desviación en la pila especificada.aws cloudformation detect-stack-drift \ --stack-namemy-stackSalida:
{ "StackDriftDetectionId": "1a229160-e4d9-xmpl-ab67-0a4f93df83d4" }A continuación, puede utilizar este ID con el comando
describe-stack-resource-driftspara describir los recursos desviados.-
Para obtener información sobre la API, consulte DetectStackDrift
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar detect-stack-resource-drift.
- AWS CLI
-
Detección de la desviación de un recurso
En el siguiente ejemplo de
detect-stack-resource-drift, se comprueba la desviación un recurso denominadoMyFunctionen una pila llamadaMyStack:aws cloudformation detect-stack-resource-drift \ --stack-nameMyStack\ --logical-resource-idMyFunctionEl resultado muestra una función de AWS Lambda que se ha modificado fuera de banda:
{ "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" } }-
Para obtener información sobre la API, consulte DetectStackResourceDrift
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar detect-stack-set-drift.
- AWS CLI
-
Detección de la desviación en un conjunto de pilas y en todas las instancias de pila asociadas
En el siguiente ejemplo de
detect-stack-set-drift, se inician las operaciones de detección de desviaciones en el conjunto de pilas especificado, incluidas todas las instancias de pila asociadas a dicho conjunto de pilas, y se indica un ID 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-namestack-set-drift-exampleSalida:
{ "OperationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }Para obtener más información, consulte Detección de cambios de configuración no administrados en conjuntos de pilas en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte DetectStackSetDrift
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 nombretemplate.yamlen la carpeta actual.aws cloudformation estimate-template-cost \ --template-bodyfile://template.yamlSalida:
{ "Url": "http://calculator.s3.amazonaws.com/calc5.html?key=cloudformation/7870825a-xmpl-4def-92e7-c4f8dd360cca" }-
Para obtener información sobre la API, consulte EstimateTemplateCost
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar execute-change-set.
- AWS CLI
-
Ejecución de un conjunto de cambios
En el siguiente ejemplo de
execute-change-set, 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-namemy-change-set\ --stack-namemy-stackEn el siguiente ejemplo de
execute-change-set, se ejecuta un conjunto de cambios especificado por el ARN completo del conjunto de cambios.aws cloudformation execute-change-set \ --change-set-namearn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784-
Para obtener información sobre la API, consulte ExecuteChangeSet
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-stack-policy.
- AWS CLI
-
Visualización de una política de pilas
En el siguiente ejemplo de
get-stack-policy, se muestra la política de pilas de la pila especificada. Para adjuntar una política a una pila, utilice el comandoset-stack-policy.aws cloudformation get-stack-policy \ --stack-namemy-stackSalida:
{ "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 obtener información sobre la API, consulte GetStackPolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-template-summary.
- AWS CLI
-
Visualización de un resumen de plantilla
Con el siguiente comando, se muestra información resumida sobre los recursos y los metadatos del archivo de plantilla especificado.
aws cloudformation get-template-summary \ --template-bodyfile://template.yamlSalida:
{ "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 obtener información sobre la API, consulte GetTemplateSummary
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-template.
- AWS CLI
-
Visualización del cuerpo de la plantilla de una pila de AWS CloudFormation
En el siguiente ejemplo de
get-template, se muestra la plantilla para la pilamyteststack:aws cloudformation get-template --stack-namemyteststackSalida:
{ "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 obtener información sobre la API, consulte GetTemplate
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-change-sets.
- AWS CLI
-
Generación de una lista de conjuntos de cambios
En el siguiente ejemplo de
list-change-sets, se genera una lista de los conjuntos de cambios pendientes de la pila especificada.aws cloudformation list-change-sets \ --stack-namemy-stackSalida:
{ "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 obtener detalles de la API, consulte ListChangeSets
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-exports.
- AWS CLI
-
Generación de una lista de exportaciones
En el siguiente ejemplo de
list-exports, se muestra una lista de las exportaciones de las pilas de la región actual.aws cloudformation list-exportsSalida:
{ "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 obtener información sobre la API, consulte ListExports
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-imports.
- AWS CLI
-
Generación de una lista de importaciones
En el siguiente
list-importsejemplo, se genera una lista de las pilas que importan la exportación especificada. Para obtener la lista de las exportaciones disponibles, utilice el comandolist-exports.aws cloudformation list-imports \ --export-nameprivate-vpc-vpcidSalida:
{ "Imports": [ "my-database-stack" ] }-
Para obtener información sobre la API, consulte ListImports
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-stack-instances.
- AWS CLI
-
Generación de una lista de las instancias de una pila
En el siguiente ejemplo de
list-stack-instances, se genera una lista de las instancias creadas a partir del conjunto de pilas especificado.aws cloudformation list-stack-instances \ --stack-set-nameenable-configLa salida del ejemplo incluye detalles sobre una pila que no se ha podido 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 obtener información sobre la API, consulte ListStackInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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-namemy-stackSalida:
{ "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 obtener información sobre la API, consulte ListStackResources
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-stack-set-operation-results.
- AWS CLI
-
Generación de una lista de los resultados de la operación del conjunto de pilas
Con el siguiente comando, se muestran 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-nameenable-config\ --operation-id35d45ebc-ed88-xmpl-ab59-0197a1fc83a0Salida:
{ "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 estado
SKIPPEDdeAccountGateResultes el esperado para las operaciones que se realizan correctamente, a menos que se cree una función de puerta de cuenta.-
Para obtener información sobre la API, consulte ListStackSetOperationResults
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-stack-set-operations.
- AWS CLI
-
Generación de una lista de las operaciones de conjuntos de pilas
En el siguiente ejemplo de
list-stack-set-operations, se muestra la lista de las operaciones más recientes del conjunto de pilas especificado.aws cloudformation list-stack-set-operations \ --stack-set-namemy-stack-setSalida:
{ "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" } ] }-
Para obtener información sobre la API, consulte ListStackSetOperations
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-stack-sets.
- AWS CLI
-
Generación de una lista de conjuntos de pilas
En el siguiente ejemplo de
list-stack-sets, se muestra la lista de los conjuntos de pilas en la región y la cuenta actuales.aws cloudformation list-stack-setsSalida:
{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }-
Para obtener información sobre la API, consulte ListStackSets
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-stacks.
- AWS CLI
-
Enumeración de las pilas de AWS CloudFormation
En el siguiente ejemplo de
list-stacks, se muestra un resumen de todas las pilas que tienen el estadoCREATE_COMPLETE:aws cloudformation list-stacks --stack-status-filterCREATE_COMPLETESalida:
[ { "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 obtener información sobre la API, consulte ListStacks
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-type-registrations.
- AWS CLI
-
Generación de una lista de los registros completados de un tipo
En el siguiente ejemplo de
list-type-registrations, se muestra una lista de los registros de tipo completados para el tipo especificado.aws cloudformation list-type-registrations \ --typeRESOURCE\ --type-nameMy::Logs::LogGroup\ --registration-status-filterCOMPLETESalida:
{ "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 registro de CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte ListTypeRegistrations
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-type-versions.
- AWS CLI
-
Generación de una lista de versiones de una extensión
En el siguiente ejemplo de
list-type-versions, se muestra información resumida sobre las versiones de una extensión.aws cloudformation list-type-versions \ --endpointhttps://example.com\ --regionus-west-2\ --typeRESOURCE\ --type-nameMy::Resource::Example\ --publisher-id123456789012Este comando no genera ninguna salida.
Para obtener más información, consulte Uso del registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte ListTypeVersions
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-types.
- AWS CLI
-
Generación de una lista de los tipos de recursos privados de una cuenta
En el siguiente ejemplo de
list-types, se muestra una lista de los tipos de recursos privados registrados en ese momento en la cuenta de AWS actual.aws cloudformation list-typesSalida:
{ "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 registro de CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener más información sobre la API, consulte ListTypes
en Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar package.
- AWS CLI
-
Con el siguiente comando, se exporta una plantilla denominada
template.jsoncargando los artefactos locales en el bucket de S3bucket-name, y se escribe la plantilla exportada enpackaged-template.json:aws cloudformation package --template-file/path_to_template/template.json--s3-bucketbucket-name--output-template-filepackaged-template.json--use-json-
Para obtener información sobre la API, consulte Package
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar publish-type.
- AWS CLI
-
Publicación de una extensión
En el siguiente ejemplo de
publish-type, se publica la extensión especificada en el registro de CloudFormation como extensión pública de esta región.aws cloudformation publish-type \ --regionus-west-2\ --typeRESOURCE\ --type-nameExample::Test::1234567890abcdef0Salida:
{ "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 registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte PublishType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar register-publisher.
- AWS CLI
-
Registro de un publicador
En el siguiente ejemplo de
register-publisher, se registra un publicador y se acepta el parámetro de términos y condiciones.aws cloudformation register-publisher \ --regionus-west-2\ --accept-terms-and-conditionsSalida:
{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }Para obtener más información, consulte Uso del registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte RegisterPublisher
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar register-type.
- AWS CLI
-
Registro un tipo de recurso
En el siguiente ejemplo de
register-type, se registra el tipo de recurso especificado como un tipo de recurso privado en la cuenta del usuario.aws cloudformation register-type \ --type-nameMy::Organization::ResourceName\ --schema-handler-packages3://bucket_name/my-organization-resource_name.zip\ --typeRESOURCESalida:
{ "RegistrationToken": "f5525280-104e-4d35-bef5-8f1f1example" }Para obtener más información, consulte Registering Resource Providers en la Guía del usuario de CloudFormation Command Line Interface para desarrollo de tipos.
-
Para obtener información sobre la API, consulte RegisterType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar set-stack-policy.
- AWS CLI
-
Aplicación de una política de pila
En el siguiente ejemplo de
set-stack-policy, se deshabilitan las actualizaciones del recurso especificado en la pila especificada.stack-policy.jsones un documento de JSON que describe las operaciones permitidas en los recursos de la pila.aws cloudformation set-stack-policy \ --stack-namemy-stack\ --stack-policy-bodyfile://stack-policy.jsonSalida:
{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }-
Para obtener información sobre la API, consulte SetStackPolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar set-type-configuration.
- AWS CLI
-
Configuración de datos
En el siguiente ejemplo de
set-type-configuration, se especifican los datos de configuración de una extensión de CloudFormation registrada en la cuenta y región especificadas.aws cloudformation set-type-configuration \ --regionus-west-2\ --typeRESOURCE\ --type-nameExample::Test::Type\ --configuration-aliasdefault\ --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 registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte SetTypeConfiguration
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar set-type-default-version.
- AWS CLI
-
Definición de la versión predeterminada del tipo
En el siguiente ejemplo de
set-type-default-version, se establece que la versión de tipo especificada se utilice como predeterminada para dicho tipo.aws cloudformation set-type-default-version \ --typeRESOURCE\ --type-nameMy::Logs::LogGroup\ --version-id00000003Este comando no genera ninguna salida.
Para obtener más información, consulte Uso del registro de CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte SetTypeDefaultVersion
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar signal-resource.
- AWS CLI
-
Indicación de un recurso
En el siguiente ejemplo de
signal-resource, se indicasuccesspara cumplir la condición de espera denominadaMyWaitConditionen la pila llamadamy-stack.aws cloudformation signal-resource \ --stack-namemy-stack\ --logical-resource-idMyWaitCondition\ --unique-id1234\ --statusSUCCESSEste comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte SignalResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar stop-stack-set-operation.
- AWS CLI
-
Detención de una operación de conjunto de pilas
En el siguiente ejemplo de
stop-stack-set-operation, se detiene una operación de actualización en curso en el conjunto de pilas especificado.aws cloudformation stop-stack-set-operation \ --stack-set-namemy-stack-set\ --operation-id1261cd27-490b-xmpl-ab42-793a896c69e6Este comando no genera ninguna salida.
-
Para obtener información sobre la API, consulte StopStackSetOperation
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar test-type.
- AWS CLI
-
Prueba de una extensión
En el siguiente ejemplo de
test-type, se prueba una extensión registrada a fin de asegurarse de que cumple con todos los requisitos necesarios para publicarse en el registro de CloudFormation.aws cloudformation test-type \ --arnarn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001Salida:
{ "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001" }Para obtener más información, consulte Uso del registro de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte TestType
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-stack-instances.
- AWS CLI
-
Actualización de instancias de pila
En el siguiente ejemplo de
update-stack-instances, se vuelve a intentar actualizar las instancias de pila de dos cuentas en dos regiones con la configuración más reciente. La configuración de tolerancia a errores especificada garantiza que se intente la actualización en todas las cuentas y regiones, incluso si no se pueden actualizar algunas pilas.aws cloudformation update-stack-instances \ --stack-set-namemy-stack-set\ --accounts123456789012567890123456\ --regionsus-east-1us-west-2\ --operation-preferencesFailureToleranceCount=3Salida:
{ "OperationId": "103ebdf2-21ea-xmpl-8892-de5e30733132" }-
Para obtener información sobre la API, consulte UpdateStackInstances
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-stack-set.
- AWS CLI
-
Actualización de un conjunto de pilas
En el siguiente ejemplo de
update-stack-set, se añade una etiqueta con el nombre de claveOwnery un valor deITa las instancias de pila en el conjunto de pilas especificado.aws cloudformation update-stack-set \ --stack-set-namemy-stack-set\ --use-previous-template \ --tagsKey=Owner,Value=ITSalida:
{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }-
Para obtener información sobre la API, consulte UpdateStackSet
en la Referencia de la API de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-stack.
- AWS CLI
-
Actualización de las pilas de AWS CloudFormation
En el siguiente ejemplo de
update-stack, se actualiza la plantilla y los parámetros de entrada de la pilamystack:aws cloudformation update-stack --stack-namemystack--template-urlhttps://s3.amazonaws.com/sample/updated.template--parametersParameterKey=KeyPairName,ParameterValue=SampleKeyPairParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2En el siguiente ejemplo de
update-stack, se actualiza únicamente el valor de parámetroSubnetIDspara la pilamystack. 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-namemystack--template-urlhttps://s3.amazonaws.com/sample/updated.template--parametersParameterKey=KeyPairName,UsePreviousValue=trueParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2En el siguiente ejemplo de
update-stack, se agregan dos temas de notificaciones de pila en la pilamystack:aws cloudformation update-stack --stack-namemystack--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, consulte Actualizaciones de pila de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte UpdateStack
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-termination-protection.
- AWS CLI
-
Activación de la protección contra terminación
En el siguiente ejemplo de
update-termination-protection, se habilita la protección contra terminación en la pila especificada.aws cloudformation update-termination-protection \ --stack-namemy-stack\ --enable-termination-protectionSalida:
{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }-
Para obtener información sobre la API, consulte UpdateTerminationProtection
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar validate-template.
- AWS CLI
-
Validación de una plantilla de AWS CloudFormation
En el siguiente ejemplo de
validate-template, se valida la plantillasampletemplate.json:aws cloudformation validate-template --template-bodyfile://sampletemplate.jsonSalida:
{ "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 Trabajo con plantillas de AWS CloudFormation en la Guía del usuario de AWS CloudFormation.
-
Para obtener información sobre la API, consulte ValidateTemplate
en la Referencia de comandos de la AWS CLI.
-