AWS CloudFormation Beispiele mit AWS CLI - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub verfügbar.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS CloudFormation Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface with Aktionen ausführen und allgemeine Szenarien implementieren AWS CloudFormation.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

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

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungactivate-type.

AWS CLI

Um einen Typ zu aktivieren

Im folgenden activate-type Beispiel wird eine öffentliche Erweiterung eines Drittanbieters aktiviert, sodass sie für die Verwendung in Stack-Vorlagen verfügbar ist.

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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

  • APIEinzelheiten finden Sie ActivateTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungbatch-describe-type-configurations.

AWS CLI

Um eine Typkonfiguration stapelweise zu beschreiben

Im folgenden batch-describe-type-configurations Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

Das folgende Codebeispiel zeigt die Verwendungcancel-update-stack.

AWS CLI

Um ein laufendes Stack-Update abzubrechen

Mit dem folgenden cancel-update-stack Befehl wird ein Stack-Update auf dem myteststack Stack abgebrochen:

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

Das folgende Codebeispiel zeigt die Verwendungcontinue-update-rollback.

AWS CLI

Um einen Update-Rollback erneut zu versuchen

Im folgenden continue-update-rollback Beispiel wird ein Rollback-Vorgang nach einem zuvor fehlgeschlagenen Stack-Update wieder aufgenommen.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Das folgende Codebeispiel zeigt die Verwendungcreate-change-set.

AWS CLI

Um einen Änderungssatz zu erstellen

Im folgenden create-change-set Beispiel wird ein Änderungssatz mit der CAPABILITY_IAM Fähigkeit erstellt. Die Datei template.yaml ist eine AWS CloudFormation Vorlage im aktuellen Ordner, die einen Stapel 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" }
  • APIEinzelheiten finden Sie CreateChangeSetin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-stack-instances.

AWS CLI

Um Stack-Instanzen zu erstellen

Im folgenden create-stack-instances Beispiel werden Instanzen eines Stack-Sets in zwei Konten und in vier Regionen erstellt. Die Einstellung für die Fehlertoleranz stellt sicher, dass das Update 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 create-stack-set Befehl, um ein Stack-Set zu erstellen.

Das folgende Codebeispiel zeigt die Verwendungcreate-stack-set.

AWS CLI

Um ein Stack-Set zu erstellen

Im folgenden create-stack-set Beispiel wird ein Stack-Set unter Verwendung der angegebenen YAML Dateivorlage erstellt. template.yamlist eine AWS CloudFormation Vorlage im aktuellen Ordner, die einen Stapel 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" }

Verwenden Sie den create-stack-instances Befehl, um dem Stack-Set Stack-Instanzen hinzuzufügen.

  • APIEinzelheiten finden Sie CreateStackSetin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-stack.

AWS CLI

Um einen AWS CloudFormation Stapel zu erstellen

Der folgende create-stacks Befehl erstellt myteststack mithilfe der sampletemplate.json Vorlage einen Stack mit dem Namen:

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 AWS CloudFormation Benutzerhandbuch.

  • APIEinzelheiten finden Sie CreateStackin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdeactivate-type.

AWS CLI

Um einen Typ zu deaktivieren

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

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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

  • APIEinzelheiten finden Sie DeactivateTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-change-set.

AWS CLI

Um einen Änderungssatz zu löschen

Im folgenden delete-change-set Beispiel wird ein Änderungssatz gelöscht, indem der Name des Änderungssatzes und der Stackname 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 delete-change-set Beispiel wird ein Änderungssatz gelöscht, indem der vollständige ARN Änderungssatz 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.

Das folgende Codebeispiel zeigt die Verwendungdelete-stack-instances.

AWS CLI

Um Stack-Instances zu löschen

Das folgende delete-stack-instances Beispiel löscht Instanzen eines Stack-Sets in zwei Konten in zwei Regionen und beendet die Stacks.

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, um ein leeres Stack-Set zu löschen. delete-stack-set

Das folgende Codebeispiel zeigt die Verwendungdelete-stack-set.

AWS CLI

Um ein Stack-Set zu löschen

Der folgende Befehl löscht das angegebene leere Stack-Set. 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.

Verwenden Sie den delete-stack-instances Befehl, um Instanzen aus dem Stack-Set zu löschen.

  • APIEinzelheiten finden Sie DeleteStackSetin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-stack.

AWS CLI

Um einen Stapel zu löschen

Im folgenden delete-stack Beispiel wird der angegebene Stapel gelöscht.

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

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • APIEinzelheiten finden Sie DeleteStackin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdeploy.

AWS CLI

Der folgende Befehl stellt eine benannte Vorlage template.json auf einem Stack mit dem Namen my-new-stack bereit:

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
  • APIEinzelheiten finden Sie unter Bereitstellen in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungderegister-type.

AWS CLI

Um die Registrierung einer Typversion aufzuheben

Im folgenden deregister-type Beispiel wird die angegebene Typversion aus der aktiven Verwendung in der CloudFormation Registrierung entfernt, sodass sie nicht mehr in CloudFormation Vorgängen 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der CloudFormation Registrierung.

  • APIEinzelheiten finden Sie DeregisterTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdescribe-account-limits.

AWS CLI

Um Informationen über Ihre Kontolimits zu erhalten

Mit dem folgenden Befehl wird eine Liste der regionalen Beschränkungen 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 die Verwendungdescribe-change-set.

AWS CLI

Um Informationen über einen Änderungssatz abzurufen

Im folgenden describe-change-set Beispiel werden die Details des Änderungssatzes angezeigt, der durch den Namen des Änderungssatzes und den Stacknamen angegeben ist.

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

Im folgenden describe-change-set Beispiel werden die Details des durch den gesamten Änderungssatz angegebenen ARN Änderungssatzes angezeigt:

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 die Verwendungdescribe-publisher.

AWS CLI

Um einen Herausgeber zu beschreiben

Im folgenden describe-publisher Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

Das folgende Codebeispiel zeigt die Verwendungdescribe-stack-drift-detection-status.

AWS CLI

Um den Status eines Vorgangs zur Drifterkennung zu überprüfen

Das folgende describe-stack-drift-detection-status Beispiel zeigt den Status eines Drifterkennungsvorgangs an. Ruft die BY-ID ab, wenn der detect-stack-drift Befehl ausgeführt wird.

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 die Verwendungdescribe-stack-events.

AWS CLI

Um Stack-Ereignisse zu beschreiben

Im folgenden describe-stack-events Beispiel 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 die Verwendungdescribe-stack-instance.

AWS CLI

Um eine Stack-Instance zu beschreiben

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

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 die Verwendungdescribe-stack-resource-drifts.

AWS CLI

Um Informationen über Ressourcen zu erhalten, die von der Stack-Definition abweichen

Mit dem folgenden Befehl werden Informationen zu den Ressourcen angezeigt, die für den angegebenen Stack verschoben wurden. Verwenden Sie den detect-stack-drift Befehl, um die Drifterkennung zu initiieren. :

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

Die Ausgabe zeigt eine AWS Lambda-Funktion, die geändert wurde: 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" } ] }

Das folgende Codebeispiel zeigt die Verwendungdescribe-stack-resource.

AWS CLI

Um Informationen über eine Stack-Ressource zu erhalten

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

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 die Verwendungdescribe-stack-resources.

AWS CLI

Um Informationen über eine Stack-Ressource zu erhalten

Im folgenden describe-stack-resources Beispiel werden Details zu den 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 die Verwendungdescribe-stack-set-operation.

AWS CLI

Um Informationen über einen Stack-Set-Vorgang zu erhalten

Das folgende describe-stack-set-operation `-Beispiel zeigt Details für einen Aktualisierungsvorgang auf dem angegebenen Stack-Set an.

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 die Verwendungdescribe-stack-set.

AWS CLI

Um Informationen über ein Stack-Set zu erhalten

Das folgende describe-stack-set `-Beispiel zeigt Details über das angegebene Stack-Set an.

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 die Verwendungdescribe-stacks.

AWS CLI

Um AWS CloudFormation Stapel zu beschreiben

Der folgende describe-stacks Befehl zeigt zusammenfassende Informationen für den myteststack Stack:

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 AWS CloudFormation Benutzerhandbuch.

  • APIEinzelheiten finden Sie DescribeStacksin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdescribe-type-registration.

AWS CLI

Geben Sie Registrierungsinformationen ein, um anzuzeigen

Im folgenden describe-type-registration Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der CloudFormation Registrierung.

Das folgende Codebeispiel zeigt die Verwendungdescribe-type.

AWS CLI

Um Typinformationen anzuzeigen

Im folgenden describe-type Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Using the CloudFormation Registry.

  • APIEinzelheiten finden Sie DescribeTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdetect-stack-drift.

AWS CLI

Um verschwendete Ressourcen zu erkennen

Das folgende detect-stack-drift Beispiel initiiert die Drifterkennung für den angegebenen Stack.

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 describe-stack-resource-drifts Befehl verwenden, um driftete Ressourcen zu beschreiben.

Das folgende Codebeispiel zeigt die Verwendungdetect-stack-resource-drift.

AWS CLI

Um Abweichungen bei einer Ressource zu erkennen

Im folgenden detect-stack-resource-drift Beispiel wird eine Ressource geprüft, die MyFunction in einem nach Drift benannten Stapel benannt MyStack ist:

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

Die Ausgabe zeigt eine AWS Lambda-Funktion, die geändert wurde: 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" } }

Das folgende Codebeispiel zeigt die Verwendungdetect-stack-set-drift.

AWS CLI

Um Drift auf einem Stack-Set und allen zugehörigen Stack-Instances zu erkennen

Das folgende detect-stack-set-drift Beispiel initiiert Drift-Erkennungsoperationen auf dem angegebenen Stack-Set, einschließlich aller Stack-Instances, die diesem Stack-Set zugeordnet sind, und gibt eine Operations-ID zurück, mit der der Status des Drift-Vorgangs 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 nicht verwalteter Konfigurationsänderungen in Stack-Sets im AWS CloudFormation Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungestimate-template-cost.

AWS CLI

Um die Kosten der Vorlage zu schätzen

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

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 die Verwendungexecute-change-set.

AWS CLI

Um einen Änderungssatz auszuführen

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

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

Im folgenden execute-change-set Beispiel wird ein durch den gesamten Änderungssatz spezifizierter ARN Änderungssatz ausgeführt.

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 die Verwendungget-stack-policy.

AWS CLI

Um eine Stack-Richtlinie anzuzeigen

Das folgende get-stack-policy Beispiel zeigt die Stack-Richtlinie für den angegebenen Stack. Verwenden Sie den set-stack-policy Befehl, um eine Richtlinie an einen Stack anzuhängen.

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" }
  • APIEinzelheiten finden Sie GetStackPolicyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-template-summary.

AWS CLI

Um eine Vorlagenzusammenfassung anzuzeigen

Der folgende Befehl zeigt zusammenfassende Informationen zu den Ressourcen und Metadaten für die angegebene Vorlagendatei an.

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 die Verwendungget-template.

AWS CLI

Um den Vorlagentext für einen AWS CloudFormation Stapel anzuzeigen

Der folgende get-template Befehl zeigt die Vorlage für den myteststack Stack:

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" } } } } }
  • APIEinzelheiten finden Sie GetTemplatein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-change-sets.

AWS CLI

Um Änderungssätze aufzulisten

Im folgenden list-change-sets Beispiel 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" } ] }
  • APIEinzelheiten finden Sie ListChangeSetsunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-exports.

AWS CLI

Um Exporte aufzulisten

Im folgenden list-exports Beispiel wird eine Liste der Exporte aus Stapeln 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" } ] }

Das folgende Codebeispiel zeigt die Verwendunglist-imports.

AWS CLI

Um Importe aufzulisten

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

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

Ausgabe:

{ "Imports": [ "my-database-stack" ] }
  • APIEinzelheiten finden Sie ListImportsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-stack-instances.

AWS CLI

Um Instanzen für einen Stack aufzulisten

Das folgende list-stack-instances Beispiel listet die Instanzen auf, 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 die Verwendunglist-stack-resources.

AWS CLI

Um Ressourcen in einem Stapel aufzulisten

Der folgende Befehl zeigt die Liste der Ressourcen im angegebenen Stack an.

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 die Verwendunglist-stack-set-operation-results.

AWS CLI

Um die Ergebnisse von Stack-Set-Operationen aufzulisten

Der folgende Befehl zeigt die Ergebnisse eines Aktualisierungsvorgangs für Instanzen im angegebenen Stack-Set an.

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 SKIPPED Status für AccountGateResult wird für erfolgreiche Operationen erwartet, sofern Sie keine Account-Gate-Funktion erstellen.

Das folgende Codebeispiel zeigt die Verwendunglist-stack-set-operations.

AWS CLI

Um Stack-Set-Operationen aufzulisten

Im folgenden list-stack-set-operations Beispiel wird die Liste der letzten Operationen auf dem 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 die Verwendunglist-stack-sets.

AWS CLI

Um Stack-Sets aufzulisten

Im folgenden list-stack-sets Beispiel 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" } ] }
  • APIEinzelheiten finden Sie ListStackSetsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-stacks.

AWS CLI

Um AWS CloudFormation Stapel aufzulisten

Der folgende list-stacks Befehl zeigt eine Zusammenfassung aller Stapel mit dem Status: CREATE_COMPLETE

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" } ]
  • APIEinzelheiten finden Sie ListStacksin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-type-registrations.

AWS CLI

Um die abgeschlossenen Registrierungen eines Typs aufzulisten

Im folgenden list-type-registrations Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Using the CloudFormation Registry.

Das folgende Codebeispiel zeigt die Verwendunglist-type-versions.

AWS CLI

Um die Version einer Erweiterung aufzulisten

Im folgenden list-type-versions Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

Das folgende Codebeispiel zeigt die Verwendunglist-types.

AWS CLI

Um die privaten Ressourcentypen in einem Konto aufzulisten

Im folgenden list-types Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der CloudFormation Registrierung.

  • APIEinzelheiten finden Sie ListTypesunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungpackage.

AWS CLI

Der folgende Befehl exportiert eine Vorlage, die template.json nach dem Hochladen lokaler Artefakte in den S3-Bucket benannt wurde, bucket-name und schreibt die exportierte Vorlage 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
  • APIEinzelheiten finden Sie unter Package in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungpublish-type.

AWS CLI

Um eine Erweiterung zu veröffentlichen

Im folgenden publish-type Beispiel wird die angegebene Erweiterung in der CloudFormation Registrierung als ö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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

  • APIEinzelheiten finden Sie PublishTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungregister-publisher.

AWS CLI

Um einen Herausgeber zu registrieren

Im folgenden register-publisher Beispiel 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

Das folgende Codebeispiel zeigt die Verwendungregister-type.

AWS CLI

Um einen Ressourcentyp zu registrieren

Im folgenden register-type Beispiel 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 Registrierung von Ressourcenanbietern im Benutzerhandbuch für die CloudFormation Befehlszeilenschnittstelle zur Typentwicklung.

  • APIEinzelheiten finden Sie RegisterTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungset-stack-policy.

AWS CLI

Um eine Stack-Richtlinie anzuwenden

Im folgenden set-stack-policy Beispiel werden Updates für die angegebene Ressource im angegebenen Stack deaktiviert. stack-policy.jsonist ein JSON Dokument, das die Operationen definiert, die für Ressourcen im Stapel 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" } ] }
  • APIEinzelheiten finden Sie SetStackPolicyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungset-type-configuration.

AWS CLI

Um Daten zu konfigurieren

Im folgenden set-type-configuration Beispiel werden die Konfigurationsdaten für eine registrierte CloudFormation Erweiterung im angegebenen Konto und in der angegebenen 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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

Das folgende Codebeispiel zeigt die Verwendungset-type-default-version.

AWS CLI

Um die Standardversion eines Typs festzulegen

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

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 im AWS CloudFormation Benutzerhandbuch unter Using the CloudFormation Registry.

Das folgende Codebeispiel zeigt die Verwendungsignal-resource.

AWS CLI

Um eine Ressource zu signalisieren

Das folgende signal-resource Beispiel signalisiertsuccess, dass die MyWaitCondition im genannten Stapel angegebene Wartebedingung erfüllt werden sollmy-stack.

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.

  • APIEinzelheiten finden Sie SignalResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungstop-stack-set-operation.

AWS CLI

Um einen Stack-Set-Vorgang zu beenden

Das folgende stop-stack-set-operation Beispiel stoppt einen laufenden Aktualisierungsvorgang für das angegebene Stack-Set.

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 die Verwendungtest-type.

AWS CLI

Um eine Erweiterung zu testen

Im folgenden test-type Beispiel wird eine registrierte Erweiterung getestet, um sicherzustellen, dass sie alle erforderlichen Anforderungen für die Veröffentlichung in der CloudFormation Registrierung erfüllt.

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 im AWS CloudFormation Benutzerhandbuch unter Verwenden der AWS CloudFormation Registrierung.

  • APIEinzelheiten finden Sie TestTypeunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-stack-instances.

AWS CLI

Um Stack-Instances zu aktualisieren

Im folgenden update-stack-instances Beispiel 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 das Update 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 die Verwendungupdate-stack-set.

AWS CLI

Um ein Stack-Set zu aktualisieren

Im folgenden update-stack-set Beispiel wird den Stack-Instances im angegebenen Stack-Set ein Tag mit IT dem Schlüsselnamen Owner und dem Wert von 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" }
  • APIEinzelheiten finden Sie UpdateStackSetin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-stack.

AWS CLI

Um AWS CloudFormation Stacks zu aktualisieren

Der folgende update-stack Befehl aktualisiert die Vorlage und die Eingabeparameter für den mystack Stack:

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

Der folgende update-stack Befehl aktualisiert nur den SubnetIDs Parameterwert für den mystack Stack. 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 dem Stack zwei Themen für mystack Stack-Benachrichtigungen 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 AWS CloudFormation Stack-Updates im AWS CloudFormation Benutzerhandbuch.

  • APIEinzelheiten finden Sie UpdateStackin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-termination-protection.

AWS CLI

Um den Kündigungsschutz zu aktivieren

Im folgenden update-termination-protection Beispiel wird der Terminierungsschutz 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 die Verwendungvalidate-template.

AWS CLI

Um eine AWS CloudFormation Vorlage zu validieren

Der folgende validate-template Befehl validiert die sampletemplate.json Vorlage:

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 im AWS CloudFormation Benutzerhandbuch unter Arbeiten mit AWS CloudFormation Vorlagen.