Beispiele für die Verwendung der AWS CLI mit CloudFormation - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit CloudFormation

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit CloudFormation nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie activate-type verwendet wird.

AWS CLI

So aktivieren Sie einen Typ

Im folgenden Beispiel für activate-type wird eine öffentliche Erweiterung eines Drittanbieters aktiviert und für die Verwendung in Stack-Vorlagen zur Verfügung gestellt.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter ActivateType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie batch-describe-type-configurations verwendet wird.

AWS CLI

So beschreiben Sie eine Typkonfiguration stapelweise

Im folgenden Beispiel für batch-describe-type-configurations werden die Daten für den Typ konfiguriert.

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"

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie cancel-update-stack verwendet wird.

AWS CLI

So brechen Sie eine laufende Stack-Aktualisierung ab

Mit dem folgenden cancel-update-stack-Befehl wird eine Stack-Aktualisierung auf dem myteststack-Stack abgebrochen:

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

Das folgende Codebeispiel zeigt, wie continue-update-rollback verwendet wird.

AWS CLI

So wiederholen Sie ein Aktualisierungs-Rollback

Im folgenden Beispiel für continue-update-rollback wird ein Rollback-Vorgang einer zuvor fehlgeschlagenen Stack-Aktualisierung fortgesetzt.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie create-change-set verwendet wird.

AWS CLI

So erstellen Sie einen Änderungssatz

Im folgenden Beispiel für create-change-set wird ein Änderungssatz mit der CAPABILITY_IAM-Fähigkeit erstellt. Die Datei template.yaml ist eine AWS-CloudFormation-Vorlage im aktuellen Ordner, die einen Stack definiert, der IAM-Ressourcen enthält.

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

Ausgabe:

{ "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" }
  • API-Details finden Sie unter CreateChangeSet in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-stack-instances verwendet wird.

AWS CLI

So erstellen Sie Stack-Instances

Im folgenden Beispiel für create-stack-instances werden Instances eines Stack-Sets in zwei Konten und vier Regionen erstellt. Die Einstellung für die Fehlertoleranz stellt sicher, dass die Aktualisierung in allen Konten und Regionen versucht wird, auch wenn einige Stacks nicht erstellt werden können.

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

Ausgabe:

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

Verwenden Sie den Befehl create-stack-set, um einen Stack zu erstellen.

Das folgende Codebeispiel zeigt, wie create-stack-set verwendet wird.

AWS CLI

So erstellen Sie ein Stack-Set

Im folgenden Beispiel für create-stack-set wird ein Stack-Set unter Verwendung der angegebenen YAML-Dateivorlage erstellt. template.yaml ist eine AWS-CloudFormation-Vorlage im aktuellen Ordner, die einen Stack definiert.

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

Ausgabe:

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

Führen Sie den create-stack-instances-Befehl aus, um dem Stack-Set Stack-Instances hinzuzufügen.

  • API-Details finden Sie unter CreateStackSet in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie create-stack verwendet wird.

AWS CLI

So erstellen Sie einen AWS-CloudFormation-Stack

Im folgenden Beispiel für create-stacks wird ein Stack mit dem Namen sampletemplate.json mithilfe der Vorlage myteststack erstellt:

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

Ausgabe:

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

Weitere Informationen finden Sie unter „Stacks“ im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter CreateStack in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie deactivate-type verwendet wird.

AWS CLI

So deaktivieren Sie einen Typ

Im folgenden Beispiel für deactivate-type wird eine öffentliche Erweiterung deaktiviert, die zuvor in diesem Konto und in dieser Region aktiviert war.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter DeactivateType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-change-set verwendet wird.

AWS CLI

So löschen Sie einen Änderungssatz

Im folgenden Beispiel für delete-change-set wird ein Änderungssatz gelöscht, indem der Name des Änderungssatzes und der Name des Stacks angegeben werden.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Im folgenden Beispiel für delete-change-set wird ein Änderungssatz gelöscht, indem der vollständige ARN des Änderungssatzes angegeben wird.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • API-Details finden Sie unter DeleteChangeSet in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-stack-instances verwendet wird.

AWS CLI

So löschen Sie Stack-Instances

Im folgenden Beispiel für delete-stack-instances werden Instances eines Stack-Sets in zwei Konten und vier Regionen gelöscht und die Stack beendet.

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

Ausgabe:

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

Verwenden Sie den Befehl delete-stack-set, um ein leeres Stack-Set zu löschen.

Das folgende Codebeispiel zeigt, wie delete-stack-set verwendet wird.

AWS CLI

So löschen Sie ein Stack-Set

Mit dem folgenden Befehl wird der angegebene leere Stack-Satz gelöscht. Das Stack-Set muss leer sein.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Führen Sie den delete-stack-instances-Befehl aus, um Instances auf dem Stack-Set zu löschen.

  • API-Details finden Sie unter DeleteStackSet in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-stack verwendet wird.

AWS CLI

So löschen Sie einen Stack

Im folgenden Beispiel für delete-stack wird der angegebene Stack gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • API-Details finden Sie unter DeleteStack in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie deploy verwendet wird.

AWS CLI

Mit dem folgenden Befehl wird eine Vorlage namens template.json für einen Stack mit dem Namen my-new-stack bereitgestellt:

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
  • API-Details finden Sie unter Deploy in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie deregister-type verwendet wird.

AWS CLI

So heben Sie die Registrierung einer Typversion auf

Im folgenden Beispiel für deregister-type wird die angegebene Typversion aus der aktiven Verwendung in der CloudFormation-Registrierung entfernt, sodass sie nicht mehr in CloudFormation-Operationen verwendet werden kann.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden der CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter DeregisterType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie describe-account-limits verwendet wird.

AWS CLI

So rufen Sie Informationen über Ihre Kontolimits ab

Mit dem folgenden Befehl wird eine Liste der regionalen Limits für das aktuelle Konto abgerufen.

aws cloudformation describe-account-limits

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-change-set verwendet wird.

AWS CLI

So rufen Sie Informationen über einen Änderungssatz ab

Im folgenden Beispiel für describe-change-set werden die Details des Änderungssatzes angezeigt, der mit dem Namen des Änderungssatzes und dem Namen des Stacks angegeben wird.

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

Im folgenden Beispiel für describe-change-set werden die Details des Änderungssatzes angezeigt, der mit dem vollständigen ARN des Änderungssatzes angegeben wird:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-publisher verwendet wird.

AWS CLI

So beschreiben Sie einen Herausgeber

Im folgenden Beispiel für describe-publisher werden die Informationen für einen Herausgeber konfiguriert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie describe-stack-drift-detection-status verwendet wird.

AWS CLI

So überprüfen Sie den Status einer Operation zur Abweichungserkennung

Im folgenden Beispiel für describe-stack-drift-detection-status wird der Status einer Operation zur Abweichungserkennung angezeigt. Führen Sie den Befehl detect-stack-drift aus, um die ID abzurufen.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-stack-events verwendet wird.

AWS CLI

So beschreiben Sie Stack-Ereignisse

Im folgenden Beispiel für describe-stack-events werden die 2 neuesten Ereignisse für den angegebenen Stack angezeigt.

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

Das folgende Codebeispiel zeigt, wie describe-stack-instance verwendet wird.

AWS CLI

So beschreiben Sie eine Stack-Instance

Der folgende Befehl beschreibt eine Instance des angegebenen Stack-Sets im spezifizierten Konto und der angegebenen Region. Das Stack-Set befindet sich in der aktuellen Region und dem aktuellen Konto, während sich die Instance in der us-west-2 Region im Konto123456789012 befindet.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-stack-resource-drifts verwendet wird.

AWS CLI

So rufen Sie Informationen über Ressourcen ab, die von der Stack-Definition abweichen

Der folgende Befehl zeigt Informationen zu den angegebenen Stack an. Verwenden Sie den detect-stack-drift Befehl, um die Abweichungserkennung zu initiieren.

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

Die Ausgabe zeigt eine AWS-Lambda-Funktion, die bandunabhängig geändert wurde:

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

Das folgende Codebeispiel zeigt, wie describe-stack-resource verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Stack-Ressource ab

Im folgenden Beispiel für describe-stack-resource werden Details für die Ressource namens MyFunction im angegebenen Stack angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-stack-resources verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Stack-Ressource ab

Im folgenden Beispiel für describe-stack-resources werden Details für die Ressourcen im angegebenen Stack angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-stack-set-operation verwendet wird.

AWS CLI

So rufen Sie Informationen über eine Stack-Set-Operation ab

Im folgenden Beispiel für „describe-stack-set-operation“ werden Details für eine Aktualisierungsoperation auf dem angegebenen Stack-Set angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-stack-set verwendet wird.

AWS CLI

So rufen Sie Informationen über ein Stack-Set ab

Im folgenden Beispiel für „describe-stack-set“ werden Details über das angegebene Stack-Set angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie describe-stacks verwendet wird.

AWS CLI

So beschreiben Sie AWS-CloudFormation-Stacks

Mit dem folgenden describe-stacks-Befehl werden zusammenfassende Informationen für den myteststack-Stack angezeigt:

aws cloudformation describe-stacks --stack-name myteststack

Ausgabe:

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

Weitere Informationen finden Sie unter „Stacks“ im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter DescribeStacks in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie describe-type-registration verwendet wird.

AWS CLI

So zeigen Sie Informationen zur Typregistrierung an

Im folgenden Beispiel für describe-type-registration werden Informationen zur angegebenen Typregistrierung angezeigt, einschließlich des aktuellen Status, des Typs und der Version des Typs.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie describe-type verwendet wird.

AWS CLI

So zeigen Sie Typinformationen an

Im folgenden Beispiel für describe-type werden Informationen für den angegebenen Typ angezeigt.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter DescribeType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie detect-stack-drift verwendet wird.

AWS CLI

So erkennen Sie abweichende Ressourcen

Im folgenden Beispiel für detect-stack-drift wird die Abweichungserkennung für den angegebenen Stack initiiert.

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

Ausgabe:

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

Sie können diese ID dann zusammen mit dem Befehl describe-stack-resource-drifts verwenden, um abweichende Ressourcen zu beschreiben.

Das folgende Codebeispiel zeigt, wie detect-stack-resource-drift verwendet wird.

AWS CLI

So erkennen Sie eine Abweichung für eine Ressource

Im folgenden Beispiel für detect-stack-resource-drift wird eine Ressource namens MyFunction in einem Stack mit dem Namen MyStack auf Abweichungen überprüft:

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

Die Ausgabe zeigt eine AWS-Lambda-Funktion, die bandunabhängig geändert wurde:

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

Das folgende Codebeispiel zeigt, wie detect-stack-set-drift verwendet wird.

AWS CLI

So erkennen Sie eine Abweichung in einem Stack-Set und allen zugehörigen Stack-Instances

Im folgenden Beispiel für detect-stack-set-drift werden Operationen zur Abweichungserkennung für das angegebene Stack-Set initiiert, einschließlich aller diesem Stack-Set zugeordneter Stack-Instances. Außerdem wird eine Operations-ID zurückgegeben, mit der der Status der Abweichungsoperation verfolgt werden kann.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Erkennen von nicht verwalteten Konfigurationsänderungen in Stack-Sets im Benutzerhandbuch zu CloudFormation.

Das folgende Codebeispiel zeigt, wie estimate-template-cost verwendet wird.

AWS CLI

So schätzen Sie die Kosten der Vorlage

Im folgenden Beispiel für estimate-template-cost wird ein Kostenvoranschlag für eine Vorlage namens template.yaml im aktuellen Ordner generiert.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie execute-change-set verwendet wird.

AWS CLI

So führen Sie einen Änderungssatz aus

Im folgenden Beispiel für execute-change-set wird ein Änderungssatz ausgeführt, der durch den Namen des Änderungssatzes und den Namen des Stacks angegeben wird.

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

Im folgenden Beispiel für execute-change-set wird ein Änderungssatz ausgeführt, der durch den vollständigen ARN des Änderungssatzes angegeben wird.

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

Das folgende Codebeispiel zeigt, wie get-stack-policy verwendet wird.

AWS CLI

So zeigen Sie eine Stack-Richtlinie an

Im folgenden Beispiel für get-stack-policy wird die Stack-Richtlinie für den angegebenen Stack angezeigt. Verwenden Sie den set-stack-policy-Befehl, um einen Stack eine Richtlinie anzufügen.

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

Ausgabe:

{ "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" }
  • API-Details finden Sie unter GetStackPolicy in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-template-summary verwendet wird.

AWS CLI

So zeigen Sie eine Vorlagenzusammenfassung an

Mit dem folgenden Befehl werden zusammenfassende Informationen über die Ressourcen und Metadaten für die angegebene Vorlagendatei angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie get-template verwendet wird.

AWS CLI

So zeigen Sie den Vorlagentext für einen AWS-CloudFormation-Stack an

Mit dem folgenden get-template-Befehl wird die Vorlage für den myteststack-Stack angezeigt:

aws cloudformation get-template --stack-name myteststack

Ausgabe:

{ "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" } } } } }
  • API-Details finden Sie unter GetTemplate in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-change-sets verwendet wird.

AWS CLI

So listen Sie Änderungssätze auf

Im folgenden Beispiel für list-change-sets wird eine Liste der ausstehenden Änderungssätze für den angegebenen Stack angezeigt.

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

Ausgabe:

{ "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" } ] }
  • API-Details finden Sie unter ListChangeSets in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-exports verwendet wird.

AWS CLI

So listen Sie Exporte auf

Im folgenden Beispiel für list-exports wird eine Liste der Exporte aus Stacks in der aktuellen Region angezeigt.

aws cloudformation list-exports

Ausgabe:

{ "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" } ] }
  • API-Details finden Sie unter ListExports in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-imports verwendet wird.

AWS CLI

So listen Sie Importe auf

Das folgende list-imports Beispiel listet die Stapel auf, die den angegebenen Export importieren. Verwenden Sie den Befehl list-exports, um die Liste der verfügbaren Exporte abzurufen.

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

Ausgabe:

{ "Imports": [ "my-database-stack" ] }
  • API-Details finden Sie unter ListImports in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-stack-instances verwendet wird.

AWS CLI

So listen Sie Instances für einen Stack auf

Im folgenden Beispiel für list-stack-instanceswerden die Instances aufgelistet, die aus dem angegebenen Stack-Set erstellt wurden.

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

Die Beispielausgabe enthält Details zu einem Stack, der aufgrund eines Fehlers nicht aktualisiert werden konnte:

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

Das folgende Codebeispiel zeigt, wie list-stack-resources verwendet wird.

AWS CLI

So listen Sie Ressourcen in einem Stack auf

Mit dem folgenden Beispiel wird die Liste der Ressourcen im angegebenen Stack angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-stack-set-operation-results verwendet wird.

AWS CLI

So listen Sie die Ergebnisse von Stack-Set-Operationen auf

Mit dem folgenden Befehl werden die Ergebnisse einer Aktualisierungsoperation für Instances im angegebenen Stack-Set angezeigt.

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

Ausgabe:

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

Hinweis: Der Status SKIPPED für AccountGateResult wird für erfolgreiche Operationen erwartet, sofern Sie keine Konto-Gate-Funktion erstellen.

Das folgende Codebeispiel zeigt, wie list-stack-set-operations verwendet wird.

AWS CLI

So listen Sie Stack-Set-Operationen auf

Im folgenden Beispiel für list-stack-set-operations wird die Liste der letzten Operationen im angegebenen Stack-Set angezeigt.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-stack-sets verwendet wird.

AWS CLI

So listen Sie Stack-Sets auf

Im folgenden Beispiel für list-stack-sets wird die Liste der Stack-Sets in der aktuellen Region und im aktuellen Konto angezeigt.

aws cloudformation list-stack-sets

Ausgabe:

{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }
  • API-Details finden Sie unter ListStackSets in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-stacks verwendet wird.

AWS CLI

So listen Sie AWS-CloudFormation-Stacks auf

Mit dem folgenden list-stacks-Befehl wird eine Übersicht aller Stacks mit dem Status CREATE_COMPLETE angezeigt:

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

Ausgabe:

[ { "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" } ]
  • API-Details finden Sie unter ListStacks in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-type-registrations verwendet wird.

AWS CLI

So listen Sie die abgeschlossenen Registrierungen eines Typs auf

Im folgenden Beispiel für list-type-registrations wird eine Liste der abgeschlossenen Typregistrierungen für den angegebenen Typ angezeigt.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie list-type-versions verwendet wird.

AWS CLI

So listen Sie die Version einer Erweiterung auf

Im folgenden Beispiel für list-type-versions werden zusammenfassende Informationen zu den Versionen einer Erweiterung zurückgegeben.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie list-types verwendet wird.

AWS CLI

So listen Sie die privaten Ressourcentypen in einem Konto auf

Im folgenden Beispiel für list-types wird eine Liste der privaten Ressourcentypen angezeigt, die derzeit im aktuellen AWS-Konto registriert sind.

aws cloudformation list-types

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter ListTypes in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie package verwendet wird.

AWS CLI

Mit dem folgenden Befehl wird eine Vorlage namens template.json exportiert, indem lokale Artefakte in den S3-Bucket bucket-name hochgeladen werden und die exportierte Vorlage in packaged-template.json geschrieben wird:

aws cloudformation package --template-file /path_to_template/template.json --s3-bucket bucket-name --output-template-file packaged-template.json --use-json
  • API-Details finden Sie unter Package in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie publish-type verwendet wird.

AWS CLI

So veröffentlichen Sie eine Erweiterung

Im folgenden Beispiel für publish-type wird die angegebene Erweiterung in der CloudFormation-Registrierung als eine öffentliche Erweiterung in dieser Region veröffentlicht.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter PublishType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie register-publisher verwendet wird.

AWS CLI

So registrieren Sie einen Herausgeber

Im folgenden Beispiel für register-publisher wird ein Herausgeber registriert und der Parameter „terms and condition“ akzeptiert.

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

Ausgabe:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie register-type verwendet wird.

AWS CLI

So registrieren Sie einen Ressourcentyp

Im folgenden Beispiel für register-type wird der angegebene Ressourcentyp als privater Ressourcentyp im Benutzerkonto registriert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Registrieren von Ressourcenanbietern im Benutzerhandbuch zur Typentwicklung in der CloudFormation-Befehlszeilenschnittstelle.

  • API-Details finden Sie unter RegisterType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie set-stack-policy verwendet wird.

AWS CLI

So wenden Sie eine Stack-Richtlinie an

Im folgenden Beispiel für set-stack-policy werden Aktualisierungen für die angegebene Ressource im spezifizierten Stack aktualisiert. stack-policy.json ist ein JSON-Dokument, in dem die Operationen definiert werden, die für Ressourcen im Stack zulässig sind.

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

Ausgabe:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }
  • API-Details finden Sie unter SetStackPolicy in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie set-type-configuration verwendet wird.

AWS CLI

So konfigurieren Sie Daten

Im folgenden Beispiel für set-type-configuration werden die Konfigurationsdaten für eine registrierte CloudFormation-Erweiterung im angegebenen Konto und in der jeweiligen Region angegeben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie set-type-default-version verwendet wird.

AWS CLI

So legen Sie die Standardversion eines Typs fest

Im folgenden Beispiel für set-type-default-version wird die angegebene Typversion festgelegt, die als Standard für diesen Typ verwendet werden soll.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden der CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

Das folgende Codebeispiel zeigt, wie signal-resource verwendet wird.

AWS CLI

So signalisieren Sie eine Ressource

Im folgenden Beispiel für signal-resource wird success signalisiert, die Wartebedingung namens MyWaitCondition im Stack mit dem Namen my-stack zu erfüllen.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • API-Details finden Sie unter SignalResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie stop-stack-set-operation verwendet wird.

AWS CLI

So beenden Sie eine Stack-Set-Operation

Im folgenden Beispiel für stop-stack-set-operation wird eine laufende Aktualisierungsoperation für das angegebene Stack-Set beendet.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt, wie test-type verwendet wird.

AWS CLI

So testen Sie eine Erweiterung

Im folgenden Beispiel für test-type wird eine registrierte Erweiterung getestet, um sicherzustellen, dass sie alle erforderlichen Anforderungen erfüllt, um in der CloudFormation-Registry veröffentlicht zu werden.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verwenden der AWS-CloudFormation-Registry im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter TestType in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-stack-instances verwendet wird.

AWS CLI

So erstellen Sie Stack-Instances

Im folgenden Beispiel für update-stack-instances wird erneut versucht, Stack-Instances in zwei Konten in zwei Regionen mit den neuesten Einstellungen zu aktualisieren. Die angegebene Einstellung für die Fehlertoleranz stellt sicher, dass die Aktualisierung in allen Konten und Regionen versucht wird, auch wenn einige Stacks nicht aktualisiert werden können.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie update-stack-set verwendet wird.

AWS CLI

So aktualisieren Sie ein Stack-Set

Im folgenden Beispiel für update-stack-set wird ein Tag mit dem Schlüsselnamen Owner und einem Wert von IT zu den Stack-Instances im angegebenen Stack-Set hinzugefügt.

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

Ausgabe:

{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }
  • API-Details finden Sie unter UpdateStackSet in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-stack verwendet wird.

AWS CLI

So aktualisieren Sie AWS-CloudFormation-Stacks

Im folgenden Beispiel für update-stack werden die Vorlage und die Eingabeparameter für den mystack-Stack aktualisiert:

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

Mit dem folgenden update-stack-Befehl werden nur die SubnetIDs-Parameterwerte für den mystack-Stack aktualisiert. Wenn Sie keinen Parameterwert angeben, wird der in der Vorlage angegebene Standardwert verwendet:

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

Mit dem folgenden update-stack-Befehl werden zwei Stack-Benachrichtigungsthemen zum mystack-Stack hinzugefügt:

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"

Weitere Informationen finden Sie unter Aktualisierungen des AWS-CloudFormation-Stacks im Benutzerhandbuch zu AWS CloudFormation.

  • API-Details finden Sie unter UpdateStack in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-termination-protection verwendet wird.

AWS CLI

So aktivieren Sie den Beendigungsschutz

Im folgenden Beispiel für update-termination-protection wird der Beendigungsschutz für den angegebenen Stack aktiviert.

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie validate-template verwendet wird.

AWS CLI

So validieren Sie eine AWS-CloudFormation-Vorlage

Mit dem folgenden validate-template-Befehl wird die sampletemplate.json-Vorlage validiert:

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

Ausgabe:

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

Weitere Informationen finden Sie unter „Arbeiten mit AWS-CloudFormation-Vorlagen“ im Benutzerhandbuch zu AWS CloudFormation.