CloudFormation esempi utilizzando AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CloudFormation esempi utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with CloudFormation.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareactivate-type.

AWS CLI

Come attivare un tipo

L’esempio activate-type seguente attiva un’estensione pubblica di terze parti, rendendola disponibile per l’uso nei modelli di stack.

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

Output:

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

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

  • Per i dettagli sull'API, vedere ActivateTypein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarebatch-describe-type-configurations.

AWS CLI

Come descrivere in batch una configurazione del tipo

L’esempio batch-describe-type-configurations seguente configura i dati per il 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"

Output:

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

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

Il seguente esempio di codice mostra come utilizzarecancel-update-stack.

AWS CLI

Come annullare un aggiornamento di stack in corso

Il comando cancel-update-stack seguente annulla un aggiornamento di stack nello stack myteststack.

aws cloudformation cancel-update-stack --stack-name myteststack

Il seguente esempio di codice mostra come utilizzarecontinue-update-rollback.

AWS CLI

Come riprovare il rollback dell’aggiornamento

L’esempio continue-update-rollback seguente riprende un’operazione di rollback da un aggiornamento dello stack precedentemente non riuscito.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzarecreate-change-set.

AWS CLI

Come creare un set di modifiche

L’esempio create-change-set seguente crea un set di modifiche con la capacità CAPABILITY_IAM. Il file template.yaml è un AWS CloudFormation modello nella cartella corrente che definisce uno stack che include risorse IAM.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarecreate-generated-template.

AWS CLI

Per creare un modello generato da risorse scansionate

L'create-generated-templateesempio seguente crea un modello generato denominato MyTemplate dalle risorse scansionate.

aws cloudformation create-generated-template \ --generated-template-name MyTemplate \ --resources file://resources.json

Contenuto di resources.json:

[ { "ResourceType": "AWS::EKS::Cluster", "LogicalResourceId":"MyCluster", "ResourceIdentifier": { "ClusterName": "MyAppClusterName" } }, { "ResourceType": "AWS::AutoScaling::AutoScalingGroup", "LogicalResourceId":"MyASG", "ResourceIdentifier": { "AutoScalingGroupName": "MyAppASGName" } }, { "ResourceType": "AWS::EKS::Nodegroup", "LogicalResourceId":"MyNodegroup", "ResourceIdentifier": { "NodegroupName": "MyAppNodegroupName" } }, { "ResourceType": "AWS::IAM::Role", "LogicalResourceId":"MyRole", "ResourceIdentifier": { "RoleId": "arn:aws::iam::123456789012:role/MyAppIAMRole" } } ]

Output:

{ "Arn": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/7fc8512c-d8cb-4e02-b266-d39c48344e48", "Name": "MyTemplate" }

Per ulteriori informazioni, consulta Creare un CloudFormation modello da risorse scansionate con il generatore IAc nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzarecreate-stack-instances.

AWS CLI

Come creare istanze di stack

L’esempio create-stack-instances seguente crea istanze di uno stack impostato in due account e quattro Regioni. L’impostazione della tolleranza ai guasti garantisce che l’aggiornamento venga tentato in tutti gli account e le Regioni, anche se non è possibile creare alcuni stack.

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

Output:

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

Per creare uno stack, utilizza il comando create-stack-set.

Il seguente esempio di codice mostra come utilizzarecreate-stack-refactor.

AWS CLI

Per creare la definizione dello stack per un'operazione di rifattorizzazione dello stack

L'create-stack-refactoresempio seguente crea la definizione dello stack per il refactoring dello stack.

aws cloudformation create-stack-refactor \ --stack-definitions \ StackName=Stack1,TemplateBody@=file://template1-updated.yaml \ StackName=Stack2,TemplateBody@=file://template2-updated.yaml

Output:

{ "StackRefactorId": "9c384f70-4e07-4ed7-a65d-fee5eb430841" }

Per ulteriori informazioni, consulta Stack refactoring nella Guida per l'utente.AWS CloudFormation

Il seguente esempio di codice mostra come utilizzarecreate-stack-set.

AWS CLI

Come creare un set di stack

L'create-stack-setesempio seguente crea un set di stack utilizzando il modello di file YAML specificato. template.yamlè un AWS CloudFormation modello nella cartella corrente che definisce uno stack.

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

Output:

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

Per aggiungere istanze di stack al set di stack, utilizza il comando create-stack-instances.

  • Per i dettagli sull'API, vedere CreateStackSetin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecreate-stack.

AWS CLI

Per creare una AWS CloudFormation pila

Il comando create-stacks seguente crea uno stack denominato myteststack utilizzando il modello sampletemplate.json:

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

Output:

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

Per ulteriori informazioni, consulta Stacks nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzaredeactivate-type.

AWS CLI

Come disattivare un tipo

L’esempio deactivate-type seguente disattiva un’estensione pubblica precedentemente attivata in questo account e Regione.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

  • Per i dettagli sull'API, vedere DeactivateTypein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredelete-change-set.

AWS CLI

Come eliminare un set di modifiche

L’esempio delete-change-set seguente elimina un set di modifiche specificando il nome del set di modifiche e il nome dello stack.

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

Questo comando non produce alcun output.

L’esempio delete-change-set seguente elimina un set di modifiche specificando l’ARN completo del set di modifiche.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredelete-generated-template.

AWS CLI

Per eliminare un modello generato

L'delete-generated-templateesempio seguente elimina il modello specificato.

aws cloudformation delete-generated-template \ --generated-template-name MyTemplate

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Generazione di modelli da risorse esistenti nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzaredelete-stack-instances.

AWS CLI

Come eliminare istanze di stack

L’esempio delete-stack-instances seguente elimina le istanze di uno stack impostato in due account in due Regioni e termina gli stack.

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

Output:

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

Per eliminare un set di stack vuoto, utilizza il comando delete-stack-set.

Il seguente esempio di codice mostra come utilizzaredelete-stack-set.

AWS CLI

Come eliminare un set di stack

Il comando seguente elimina il set di stack vuoto specificato. Il set di stack deve essere vuoto.

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

Questo comando non produce alcun output.

Per eliminare le istanze dal set di stack, utilizza il comando delete-stack-instances.

Il seguente esempio di codice mostra come utilizzaredelete-stack.

AWS CLI

Come eliminare uno stack

L’esempio delete-stack seguente elimina lo stack specificato.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaredeploy.

AWS CLI

Il comando seguente implementa il modello denominato template.json in uno stack denominato my-new-stack:

aws cloudformation deploy --template-file /path_to_template/template.json --stack-name my-new-stack --parameter-overrides Key1=Value1 Key2=Value2 --tags Key1=Value1 Key2=Value2
  • Per informazioni dettagliate sull’API, consulta Deploy in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarederegister-type.

AWS CLI

Come annullare la registrazione di una versione del tipo

L'deregister-typeesempio seguente rimuove la versione del tipo specificato dall'uso attivo nel CloudFormation registro, in modo che non possa più essere utilizzata nelle CloudFormation operazioni.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Using the CloudFormation Registry in the AWS CloudFormation Users Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-account-limits.

AWS CLI

Come ottenere informazioni sui limiti dell’account

Il comando seguente recupera un elenco di limiti regionali per l’account corrente.

aws cloudformation describe-account-limits

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-change-set.

AWS CLI

Come ottenere informazioni su un set di modifiche

L’esempio describe-change-set seguente visualizza i dettagli del set di modifiche specificato tramite il nome del set di modifiche e il nome dello stack.

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

L’esempio describe-change-set seguente visualizza i dettagli del set di modifiche specificato tramite l’ARN completo del set di modifiche:

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-generated-template.

AWS CLI

Per descrivere un modello generato

L'describe-generated-templateesempio seguente descrive il modello specificato.

aws cloudformation describe-generated-template \ --generated-template-name MyTemplate

Output:

{ "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedTemplate/7d881acf-f307-4ded-910e-f8fb49b96894", "GeneratedTemplateName": "MyTemplate", "Resources": [ { "ResourceType": "AWS::EC2::SecurityGroup", "LogicalResourceId": "EC2SecurityGroup", "ResourceIdentifier": { "Id": "sg-1234567890abcdef0" }, "ResourceStatus": "COMPLETE", "ResourceStatusReason": "Resource Template complete", "Warnings": [] }, { "ResourceType": "AWS::EC2::Instance", "LogicalResourceId": "EC2Instance", "ResourceIdentifier": { "InstanceId": "i-1234567890abcdef0" }, "ResourceStatus": "COMPLETE", "ResourceStatusReason": "Resource Template complete", "Warnings": [] }, { "ResourceType": "AWS::EC2::KeyPair", "LogicalResourceId": "EC2KeyPairSshkeypair", "ResourceIdentifier": { "KeyName": "sshkeypair" }, "ResourceStatus": "COMPLETE", "ResourceStatusReason": "Resource Template complete", "Warnings": [] } ], "Status": "COMPLETE", "StatusReason": "All resources complete", "CreationTime": "2025-09-23T19:38:06.435000+00:00", "LastUpdatedTime": "2025-09-23T19:38:10.798000+00:00", "Progress": { "ResourcesSucceeded": 3, "ResourcesFailed": 0, "ResourcesProcessing": 0, "ResourcesPending": 0 }, "TemplateConfiguration": { "DeletionPolicy": "RETAIN", "UpdateReplacePolicy": "RETAIN" }, "TotalWarnings": 0 }

Per ulteriori informazioni, vedere Generazione di modelli da risorse esistenti nella Guida AWS CloudFormation per l'utente.

Il seguente esempio di codice mostra come utilizzaredescribe-publisher.

AWS CLI

Come descrivere un publisher

L’esempio describe-publisher seguente configura le informazioni per un publisher.

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

Output:

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

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-resource-scan.

AWS CLI

Per descrivere una scansione delle risorse

L'describe-resource-scanesempio seguente descrive la scansione delle risorse con l'ID di scansione specificato.

aws cloudformation describe-resource-scan --region \ --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60

Output:

{ "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60", "Status": "COMPLETE", "StartTime": "2025-08-21T03:10:38.485000+00:00", "EndTime": "2025-08-21T03:20:28.485000+00:00", "PercentageCompleted": 100.0, "ResourceTypes": [ "AWS::CloudFront::CachePolicy", "AWS::CloudFront::OriginRequestPolicy", "AWS::EC2::DHCPOptions", "AWS::EC2::InternetGateway", "AWS::EC2::KeyPair", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInsightsPath", "AWS::EC2::NetworkInterface", "AWS::EC2::PlacementGroup", "AWS::EC2::Route", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::EC2::SubnetCidrBlock", "AWS::EC2::SubnetNetworkAclAssociation", "AWS::EC2::SubnetRouteTableAssociation", ... ], "ResourcesRead": 676 }

Per ulteriori informazioni, consulta Generazione di modelli da risorse esistenti nella Guida AWS CloudFormation per l'utente.

Il seguente esempio di codice mostra come utilizzaredescribe-stack-drift-detection-status.

AWS CLI

Come controllare lo stato di un’operazione di rilevamento delle deviazioni

L’esempio describe-stack-drift-detection-status seguente mostra lo stato di un’operazione di rilevamento delle deviazioni. Per ottenere l’ID, esegui il comando detect-stack-drift.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-stack-events.

AWS CLI

Come descrivere gli eventi dello stack

L’esempio describe-stack-events seguente visualizza i 2 eventi più recenti per lo stack specificato.

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

Il seguente esempio di codice mostra come utilizzaredescribe-stack-instance.

AWS CLI

Come descrivere un’istanza di stack

Il comando seguente descrive un’istanza dello stack specificato impostato nell’account e nella Regione specificati. Il set di stack si trova nella Regione e nell’account correnti e l’istanza si trova nella Regione us-west-2 dell’account 123456789012:

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-stack-refactor.

AWS CLI

Per descrivere un'operazione di rifattorizzazione dello stack

L'describe-stack-refactoresempio seguente descrive l'operazione di rifattorizzazione dello stack con l'ID di rifattore dello stack specificato.

aws cloudformation describe-stack-refactor \ --stack-refactor-id 9c384f70-4e07-4ed7-a65d-fee5eb430841

Output:

{ "StackRefactorId": "9c384f70-4e07-4ed7-a65d-fee5eb430841", "StackIds": [ "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack1/3e6a1ff0-94b1-11f0-aa6f-0a88d2e03acf", "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b" ], "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE" }

Per ulteriori informazioni, consulta Stack refactoring nella Guida per l'utente.AWS CloudFormation

Il seguente esempio di codice mostra come utilizzaredescribe-stack-resource-drifts.

AWS CLI

Come ottenere informazioni sulle risorse con deviazioni rispetto alla definizione dello stack

Il comando seguente visualizza informazioni sulle risorse con deviazioni per lo stack specificato. Per avviare il rilevamento delle deviazioni, utilizza il comando detect-stack-drift:

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

L'output mostra una funzione AWS Lambda che è stata modificata: 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" } ] }

Il seguente esempio di codice mostra come utilizzaredescribe-stack-resource.

AWS CLI

Come ottenere informazioni su una risorsa dello stack

L’esempio describe-stack-resource seguente visualizza i dettagli della risorsa denominata MyFunction nello stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-stack-resources.

AWS CLI

Come ottenere informazioni su una risorsa dello stack

L’esempio describe-stack-resources seguente visualizza i dettagli delle risorse nello stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-stack-set-operation.

AWS CLI

Come ottenere informazioni su un’operazione di set di stack

Il seguente describe-stack-set-operation `esempio mostra i dettagli di un'operazione di aggiornamento sul set di stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-stack-set.

AWS CLI

Come ottenere informazioni su un set di stack

Il seguente describe-stack-set `esempio mostra i dettagli sul set di stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzaredescribe-stacks.

AWS CLI

Per descrivere le AWS CloudFormation pile

Il comando describe-stacks seguente mostra le informazioni di riepilogo per lo stack myteststack:

aws cloudformation describe-stacks --stack-name myteststack

Output:

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

Per ulteriori informazioni, consulta Stacks nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzaredescribe-type-registration.

AWS CLI

Come visualizzare le informazioni di registrazione del tipo

L’esempio describe-type-registration seguente visualizza informazioni sulla registrazione del tipo specificato, inclusi lo stato, il tipo e la versione correnti del tipo.

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

Output:

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

Per ulteriori informazioni, vedere Using the CloudFormation Registry in the AWS CloudFormation Users Guide.

Il seguente esempio di codice mostra come utilizzaredescribe-type.

AWS CLI

Come visualizzare le informazioni sul tipo

L’esempio describe-type seguente visualizza le informazioni sul tipo specificato.

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

Output:

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

Per ulteriori informazioni, vedere Using the CloudFormation Registry in the AWS CloudFormation Users Guide.

Il seguente esempio di codice mostra come utilizzaredetect-stack-drift.

AWS CLI

Come rilevare risorse con deviazioni

L’esempio detect-stack-drift seguente avvia il rilevamento delle deviazioni per lo stack specificato.

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

Output:

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

È quindi possibile utilizzare questo ID con il comando describe-stack-resource-drifts per descrivere le risorse con deviazioni.

Il seguente esempio di codice mostra come utilizzaredetect-stack-resource-drift.

AWS CLI

Come rilevare la deviazione di una risorsa

L’esempio detect-stack-resource-drift seguente verifica la presenza di deviazione per una risorsa denominata MyFunction in uno stack denominato MyStack:

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

L'output mostra una funzione AWS Lambda che è stata modificata: 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" } }

Il seguente esempio di codice mostra come utilizzaredetect-stack-set-drift.

AWS CLI

Come rilevare la deviazione su un set di stack e su tutte le istanze di stack associate

L’esempio detect-stack-set-drift seguente avvia le operazioni di rilevamento delle deviazioni sul set di stack specificato, incluse tutte le istanze di stack associate al set di stack, e restituisce un ID di operazione che può essere utilizzato per tenere traccia dello stato dell’operazione di deviazione.

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

Output:

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

Per ulteriori informazioni, vedere Rilevamento delle modifiche di configurazione non gestite negli stack set nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzareestimate-template-cost.

AWS CLI

Come stimare il costo del modello

L’esempio estimate-template-cost seguente genera una stima dei costi per un modello denominato template.yaml nella cartella corrente.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareexecute-change-set.

AWS CLI

Come eseguire un set di modifiche

L’esempio execute-change-set seguente esegue un set di modifiche specificato tramite il nome del set di modifiche e il nome dello stack.

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

L’esempio execute-change-set seguente esegue un set di modifiche specificato tramite l’ARN completo del set di modifiche.

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

Il seguente esempio di codice mostra come utilizzareexecute-stack-refactor.

AWS CLI

Per completare un'operazione di rifattorizzazione dello stack

L'execute-stack-refactoresempio seguente completa l'operazione di rifattorizzazione dello stack con l'ID di rifattore dello stack specificato.

aws cloudformation execute-stack-refactor \ --stack-refactor-id 9c384f70-4e07-4ed7-a65d-fee5eb430841

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Stack refactoring nella Guida per l'utente.AWS CloudFormation

Il seguente esempio di codice mostra come utilizzareget-stack-policy.

AWS CLI

Come visualizzare una policy di stack

L’esempio get-stack-policy seguente visualizza la policy di stack per lo stack specificato. Per collegare una policy a uno stack, utilizza il comando set-stack-policy.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareget-template-summary.

AWS CLI

Come visualizzare un riepilogo del modello

Il comando seguente visualizza informazioni di riepilogo sulle risorse e sui metadati per il file modello specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareget-template.

AWS CLI

Per visualizzare il corpo del modello per uno AWS CloudFormation stack

Il comando get-template seguente mostra il modello per lo stack myteststack:

aws cloudformation get-template --stack-name myteststack

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-change-sets.

AWS CLI

Come elencare i set di modifiche

L’esempio list-change-sets seguente visualizza un elenco dei set di modifiche in sospeso per lo stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-exports.

AWS CLI

Come elencare le esportazioni

L’esempio list-exports seguente visualizza un elenco delle esportazioni dagli stack nella Regione corrente.

aws cloudformation list-exports

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-generated-templates.

AWS CLI

Per elencare i modelli generati

L'list-generated-templatesesempio seguente elenca tutti i modelli generati.

aws cloudformation list-generated-templates

Output:

{ "Summaries": [ { "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedtemplate/7fc8512c-d8cb-4e02-b266-d39c48344e48", "GeneratedTemplateName": "MyTemplate", "Status": "COMPLETE", "StatusReason": "All resources complete", "CreationTime": "2025-09-23T20:13:24.283000+00:00", "LastUpdatedTime": "2025-09-23T20:13:28.610000+00:00", "NumberOfResources": 4 }, { "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedTemplate/f10dd1c4-edc6-4823-8153-ab6112b8d051", "GeneratedTemplateName": "MyEC2InstanceTemplate", "Status": "COMPLETE", "StatusReason": "All resources complete", "CreationTime": "2024-08-08T19:35:49.790000+00:00", "LastUpdatedTime": "2024-08-08T19:35:52.207000+00:00", "NumberOfResources": 3 }, { "GeneratedTemplateId": "arn:aws:cloudformation:us-east-1:123456789012:generatedTemplate/e5a1c89f-7ce2-41bd-9bdf-75b7c852e3ca", "GeneratedTemplateName": "MyEKSNodeGroupTemplate", "Status": "COMPLETE", "StatusReason": "All resources complete", "CreationTime": "2024-07-16T20:39:27.883000+00:00", "LastUpdatedTime": "2024-07-16T20:39:35.766000+00:00", "NumberOfResources": 4 } ] }

Per ulteriori informazioni, vedere Generazione di modelli da risorse esistenti nella Guida AWS CloudFormation per l'utente.

Il seguente esempio di codice mostra come utilizzarelist-imports.

AWS CLI

Come elencare le importazioni

L’esempio list-imports seguente elenca gli stack che importano l’esportazione specificata. Per ottenere l’elenco delle esportazioni disponibili, utilizza il comando list-exports.

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

Output:

{ "Imports": [ "my-database-stack" ] }

Il seguente esempio di codice mostra come utilizzarelist-resource-scan-related-resources.

AWS CLI

Per elencare le risorse correlate da una scansione delle risorse

L'list-resource-scan-related-resourcesesempio seguente elenca le risorse della scansione delle risorse specificata che sono correlate alle risorse inresources.json.

aws cloudformation list-resource-scan-related-resources \ --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 \ --resources file://resources.json

Contenuto di resources.json:

[ { "ResourceType": "AWS::EKS::Cluster", "ResourceIdentifier": { "ClusterName": "MyAppClusterName" } }, { "ResourceType": "AWS::AutoScaling::AutoScalingGroup", "ResourceIdentifier": { "AutoScalingGroupName": "MyAppASGName" } } ]

Output:

{ "RelatedResources": [ { "ResourceType": "AWS::EKS::Nodegroup", "ResourceIdentifier": { "NodegroupName": "MyAppNodegroupName" }, "ManagedByStack": false }, { "ResourceType": "AWS::IAM::Role", "ResourceIdentifier": { "RoleId": "arn:aws::iam::123456789012:role/MyAppIAMRole" }, "ManagedByStack": false } ] }

Per ulteriori informazioni, consulta Creare un CloudFormation modello da risorse scansionate con il generatore IAc nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzarelist-resource-scan-resources.

AWS CLI

Per elencare le risorse da una scansione delle risorse

L'list-resource-scan-resourcesesempio seguente elenca le risorse della scansione delle risorse specificata, filtrate per identificatore di risorsa.

aws cloudformation list-resource-scan-resources \ --resource-scan-id arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60 \ --resource-identifier MyApp

Output:

{ "Resources": [ { "ResourceType": "AWS::EKS::Cluster", "ResourceIdentifier": { "ClusterName": "MyAppClusterName" }, "ManagedByStack": false }, { "ResourceType": "AWS::AutoScaling::AutoScalingGroup", "ResourceIdentifier": { "AutoScalingGroupName": "MyAppASGName" }, "ManagedByStack": false } ] }

Per ulteriori informazioni, consulta Creare un CloudFormation modello da risorse scansionate con il generatore IAc nella Guida per l'utente.AWS CloudFormation

Il seguente esempio di codice mostra come utilizzarelist-stack-instances.

AWS CLI

Come elencare le istanze di uno stack

L’esempio list-stack-instances seguente elenca le istanze create dal set di stack specificato.

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

L’output di esempio include i dettagli su uno stack che non è stato aggiornato a causa di un errore:

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

Il seguente esempio di codice mostra come utilizzarelist-stack-refactor-actions.

AWS CLI

Per elencare le azioni per un'operazione di rifattorizzazione dello stack

L'list-stack-refactor-actionsesempio seguente elenca le azioni per l'operazione di rifattorizzazione dello stack con l'ID di rifattore dello stack specificato.

aws cloudformation list-stack-refactor-actions \ --stack-refactor-id 9c384f70-4e07-4ed7-a65d-fee5eb430841

Output:

{ "StackRefactorActions": [ { "Action": "MOVE", "Entity": "RESOURCE", "PhysicalResourceId": "MyTestLambdaRole", "Description": "No configuration changes detected.", "Detection": "AUTO", "TagResources": [], "UntagResources": [], "ResourceMapping": { "Source": { "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack1/3e6a1ff0-94b1-11f0-aa6f-0a88d2e03acf", "LogicalResourceId": "MyLambdaRole" }, "Destination": { "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b", "LogicalResourceId": "MyLambdaRole" } } }, { "Action": "MOVE", "Entity": "RESOURCE", "PhysicalResourceId": "MyTestFunction", "Description": "Resource configuration changes will be validated during refactor execution.", "Detection": "AUTO", "TagResources": [ { "Key": "aws:cloudformation:stack-name", "Value": "Stack2" }, { "Key": "aws:cloudformation:logical-id", "Value": "MyFunction" }, { "Key": "aws:cloudformation:stack-id", "Value": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b" } ], "UntagResources": [ "aws:cloudformation:stack-name", "aws:cloudformation:logical-id", "aws:cloudformation:stack-id" ], "ResourceMapping": { "Source": { "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack1/3e6a1ff0-94b1-11f0-aa6f-0a88d2e03acf", "LogicalResourceId": "MyFunction" }, "Destination": { "StackName": "arn:aws:cloudformation:us-east-1:123456789012:stack/Stack2/5da91650-94b1-11f0-81cf-0a23500e151b", "LogicalResourceId": "MyFunction" } } } ] }

Per ulteriori informazioni, consulta Stack refactoring nella Guida per l'utente.AWS CloudFormation

Il seguente esempio di codice mostra come utilizzarelist-stack-resources.

AWS CLI

Come elencare le risorse in uno stack

Il comando seguente visualizza l’elenco delle risorse nello stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-stack-set-operation-results.

AWS CLI

Come elencare i risultati dell’operazione sul set di stack

Il comando seguente visualizza i risultati di un’operazione di aggiornamento sulle istanze del set di stack specificato.

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

Output:

{ "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: lo stato SKIPPED di AccountGateResult è previsto per le operazioni con esito positivo, a meno che non si crei una funzione di controllo dell’account.

Il seguente esempio di codice mostra come utilizzarelist-stack-set-operations.

AWS CLI

Come elencare le operazioni sul set di stack

L’esempio list-stack-set-operations seguente visualizza l’elenco delle operazioni più recenti sul set di stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-stack-sets.

AWS CLI

Come elencare i set di stack

L’esempio list-stack-sets seguente visualizza l’elenco dei set di stack nella Regione e nell’account correnti.

aws cloudformation list-stack-sets

Output:

{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }

Il seguente esempio di codice mostra come utilizzarelist-stacks.

AWS CLI

Per elencare le AWS CloudFormation pile

Il comando list-stacks seguente mostra un riepilogo di tutti gli stack con stato CREATE_COMPLETE:

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

Output:

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

Il seguente esempio di codice mostra come utilizzarelist-type-registrations.

AWS CLI

Come elencare le registrazioni completate di un tipo

L’esempio list-type-registrations seguente visualizza un elenco delle registrazioni di tipo completate per il tipo specificato.

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

Output:

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

Per ulteriori informazioni, vedere Using the CloudFormation Registry in the AWS CloudFormation Users Guide.

Il seguente esempio di codice mostra come utilizzarelist-type-versions.

AWS CLI

Come elencare la versione di un’estensione

L’esempio list-type-versions seguente restituisce informazioni di riepilogo sulle versioni di un’estensione.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

Il seguente esempio di codice mostra come utilizzarelist-types.

AWS CLI

Come elencare i tipi di risorsa privata di un account

L'list-typesesempio seguente visualizza un elenco dei tipi di risorse private attualmente registrati nell' AWS account corrente.

aws cloudformation list-types

Output:

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

Per ulteriori informazioni, vedere Using the CloudFormation Registry nella AWS CloudFormation Users Guide.

Il seguente esempio di codice mostra come utilizzarepackage.

AWS CLI

Il comando seguente esporta un modello denominato template.json caricando gli artefatti locali nel bucket S3 bucket-name e scrive il modello esportato in 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
  • Per informazioni dettagliate sull’API, consulta Package in AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarepublish-type.

AWS CLI

Come pubblicare un’estensione

L'publish-typeesempio seguente pubblica l'estensione specificata nel CloudFormation registro come estensione pubblica in questa regione.

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

Output:

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

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

  • Per i dettagli sull'API, vedere PublishTypein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareregister-publisher.

AWS CLI

Come registrare un publisher

L’esempio register-publisher seguente registra un publisher e accetta il parametro dei termini e delle condizioni.

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

Output:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }

Per ulteriori informazioni, vedere Using the AWS CloudFormation registry in the AWS CloudFormation User Guide.

Il seguente esempio di codice mostra come utilizzareregister-type.

AWS CLI

Come registrare un tipo di risorsa

L’esempio register-type seguente registra il tipo di risorsa specificato come tipo di risorsa privata nell’account dell’utente.

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

Output:

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

Per ulteriori informazioni, vedere Registrazione dei provider di risorse nella Guida utente dell'interfaccia a riga di CloudFormation comando per lo sviluppo dei tipi.

Il seguente esempio di codice mostra come utilizzareset-stack-policy.

AWS CLI

Come applicare una policy di stack

L’esempio set-stack-policy seguente disabilita gli aggiornamenti per la risorsa specificata nello stack specificato. stack-policy.json è un documento JSON che definisce le operazioni consentite sulle risorse nello stack.

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

Output:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }

Il seguente esempio di codice mostra come utilizzareset-type-configuration.

AWS CLI

Come configurare i dati

L'set-type-configurationesempio seguente specifica i dati di configurazione per un' CloudFormation estensione registrata, nell'account e nella regione specificati.

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

Output:

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

Per ulteriori informazioni, vedere Uso del AWS CloudFormation registro nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzareset-type-default-version.

AWS CLI

Come impostare una versione predefinita del tipo

L’esempio set-type-default-version seguente imposta la versione del tipo specificata da utilizzare come predefinita per questo tipo.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Using the CloudFormation Registry in the AWS CloudFormation Users Guide.

Il seguente esempio di codice mostra come utilizzaresignal-resource.

AWS CLI

Come segnalare una risorsa

L’esempio signal-resource seguente segnala success per soddisfare la condizione di attesa denominata MyWaitCondition nello stack denominato my-stack.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzarestart-resource-scan.

AWS CLI

Per avviare una scansione delle risorse

L'start-resource-scanesempio seguente avvia una scansione delle risorse che analizza tutte le risorse esistenti nell'account e nella regione correnti.

aws cloudformation start-resource-scan

Output:

{ "ResourceScanId": "arn:aws:cloudformation:us-east-1:123456789012:resourceScan/0a699f15-489c-43ca-a3ef-3e6ecfa5da60" }

Per ulteriori informazioni, vedere Avvio di una scansione delle risorse con il generatore CloudFormation IAc nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzarestop-stack-set-operation.

AWS CLI

Come arrestare un’operazione del set di stack

L’esempio stop-stack-set-operation seguente arresta un’operazione di aggiornamento in corso sul set di stack specificato.

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

Questo comando non produce alcun output.

Il seguente esempio di codice mostra come utilizzaretest-type.

AWS CLI

Come testare un’estensione

L'test-typeesempio seguente verifica un'estensione registrata per assicurarsi che soddisfi tutti i requisiti necessari per la pubblicazione nel CloudFormation registro.

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

Output:

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

Per ulteriori informazioni, vedere Uso del AWS CloudFormation registro nella Guida per l'AWS CloudFormation utente.

  • Per i dettagli sull'API, vedere TestTypein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareupdate-stack-instances.

AWS CLI

Come aggiornare le istanze di stack

L’esempio update-stack-instances seguente riprova a eseguire un aggiornamento sulle istanze di stack in due account presenti in due Regioni con le impostazioni più recenti. L’impostazione della tolleranza ai guasti specificata garantisce che l’aggiornamento venga tentato in tutti gli account e le Regioni, anche se non è possibile aggiornare alcuni stack.

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

Output:

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

Il seguente esempio di codice mostra come utilizzareupdate-stack-set.

AWS CLI

Come aggiornare un set di stack

L’esempio update-stack-set seguente aggiunge un tag con il nome della chiave Owner e il valore IT alle istanze di stack nel set di stack specificato.

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

Output:

{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }

Il seguente esempio di codice mostra come utilizzareupdate-stack.

AWS CLI

Per aggiornare gli AWS CloudFormation stack

Il comando update-stack seguente aggiorna il modello e i parametri di input per lo stack 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

Il comando update-stack seguente aggiorna solo il valore del parametro SubnetIDs per lo stack mystack: Se non specifichi un valore di parametro, viene utilizzato il valore predefinito specificato nel modello:

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

Il comando update-stack seguente aggiunge due argomenti di notifica per stack allo stack 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"

Per ulteriori informazioni, consulta gli aggiornamenti AWS CloudFormation dello stack nella Guida per l'AWS CloudFormation utente.

Il seguente esempio di codice mostra come utilizzareupdate-termination-protection.

AWS CLI

Come abilitare la protezione da terminazione

L’esempio update-termination-protection seguente abilita la protezione da terminazione nello stack specificato.

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

Output:

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

Il seguente esempio di codice mostra come utilizzarevalidate-template.

AWS CLI

Per convalidare un modello AWS CloudFormation

Il comando validate-template seguente convalida il modello sampletemplate.json.

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

Output:

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

Per ulteriori informazioni, consulta Lavorare con i AWS CloudFormation modelli nella Guida per l'AWS CloudFormation utente.