

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.

# Beispiele für CloudFormation Stack-Operationsbefehle für AWS CLI und PowerShell
<a name="service_code_examples"></a>

Die folgenden Befehlszeilenbeispiele zeigen, wie einzelne CloudFormation Aktionen mit dem AWS CLI und PowerShell ausgeführt werden. Diese Beispiele umfassen nur die am häufigsten verwendeten Aktionen. Eine vollständige Liste finden Sie unter [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/) in der *AWS CLI Befehlsreferenz*.

Die Beispiele in diesem Handbuch verwenden die Konvention eines Backslash (\$1), um anzuzeigen, dass eine lange Befehlszeile in der nächsten Zeile fortgesetzt wird. 

**Topics**
+ [Eine Stapelaktualisierung abbrechen](#cancel-update-stack-sdk)
+ [Rollback einer Aktualisierung fortsetzen](#continue-update-rollback-sdk)
+ [Erstellen eines Stacks](#create-stack-sdk)
+ [Erstellen Sie einen Stapel, der Transformationen enthält](#deploy-sdk)
+ [Löschen eines Stacks](#delete-stack-sdk)
+ [Beschreiben Sie Stack-Ereignisse](#describe-stack-events-sdk)
+ [Beschreiben Sie eine Stapelressource](#describe-stack-resource-sdk)
+ [Beschreiben Sie Stack-Ressourcen](#describe-stack-resources-sdk)
+ [Beschreiben Sie Stapel](#describe-stacks-sdk)
+ [Eine Vorlage erhalten](#get-template-sdk)
+ [Stack-Ressourcen auflisten](#list-stack-resources-sdk)
+ [Stapel auflisten](#list-stacks-sdk)
+ [Einen Stack aktualisieren](#update-stack-sdk)
+ [Validieren Sie Ihre Vorlage](#validate-template-sdk)
+ [Laden Sie lokale Artefakte in einen S3-Bucket hoch mit dem AWS CLI](using-cfn-cli-package.md)

## Eine Stapelaktualisierung abbrechen
<a name="cancel-update-stack-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/cancel-update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/cancel-update-stack.html), um eine Stack-Aktualisierung abzubrechen. Weitere Informationen finden Sie unter [Eine Stapelaktualisierung abbrechen](using-cfn-stack-update-cancel.md).

------
#### [ CLI ]

**AWS CLI**  
**So brechen Sie eine laufende Stapelaktualisierung ab**  
Der folgende `cancel-update-stack`-Befehl bricht eine Stackaktualisierung auf dem `myteststack`-Stack ab:  

```
aws cloudformation cancel-update-stack --stack-name myteststack
```
+  Einzelheiten zur API finden Sie [CancelUpdateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/cancel-update-stack.html)in der *AWS CLI Befehlsreferenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Bricht eine Aktualisierung auf dem angegebenen Stapel ab.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [CancelUpdateStack AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Bricht eine Aktualisierung auf dem angegebenen Stapel ab.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [CancelUpdateStack AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Rollback einer Aktualisierung fortsetzen
<a name="continue-update-rollback-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html), um ein Update zurückzusetzen. Weitere Informationen finden Sie unter [Rollback einer Aktualisierung fortsetzen](using-cfn-updating-stacks-continueupdaterollback.md).

------
#### [ CLI ]

**AWS CLI**  
**Wiederholung eines Update-Rollbacks**  
Das folgende `continue-update-rollback`-Beispiel setzt einen Rollback-Vorgang nach einer zuvor fehlgeschlagenen Stack-Aktualisierung fort.  

```
aws cloudformation continue-update-rollback \
    --stack-name my-stack
```
Mit diesem Befehl wird keine Ausgabe zurückgegeben.  
+  *Einzelheiten zur API finden Sie unter Befehlsreferenz [ContinueUpdateRollback](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/continue-update-rollback.html).AWS CLI * 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Setzt Rollback des benannten Stapels fort, der sich im Zustand 'UPDATE\$1ROLLBACK\$1FAILED' befinden sollte. Wenn das fortgesetzte Rollback erfolgreich ist, geht der Stack in den Zustand 'UPDATE\$1ROLLBACK\$1COMPLETE' über.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [ContinueUpdateRollback AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Setzt Rollback des benannten Stapels fort, der sich im Zustand 'UPDATE\$1ROLLBACK\$1FAILED' befinden sollte. Wenn das fortgesetzte Rollback erfolgreich ist, geht der Stack in den Zustand 'UPDATE\$1ROLLBACK\$1COMPLETE' über.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [ContinueUpdateRollback AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Erstellen eines Stacks
<a name="create-stack-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html), um einen Stack zu erstellen. Sie müssen den Stack-Namen, den Speicherort einer gültigen Vorlage und alle Eingabeparameter angeben. Bei den Namen der Parameterschlüssel wird zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie den Namen eines Parameterschlüssels falsch eingeben, erstellt es den Stack CloudFormation nicht und meldet, dass die Vorlage diesen Parameter nicht enthält.

Die folgenden Beispiele zeigen, wie Sie einen neuen Stapel mit dem angegebenen Namen, der Vorlage und den Eingabeparametern erstellen. 

------
#### [ CLI ]

**AWS CLI**  
**Um einen Stapel zu erstellen AWS CloudFormation **  
Der folgende Befehl `create-stacks` erstellt einen Stapel mit dem Namen `myteststack` unter Verwendung der Vorlage `sampletemplate.json` :  

```
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*.  
+  Einzelheiten zur API finden Sie [CreateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html)in der *AWS CLI Befehlsreferenz.* 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert ('PK1' und 'PK2' stehen für die Namen der im Vorlageninhalt deklarierten Parameter, 'PV1' und 'PV2' stehen für die Werte für diese Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue Wenn die Erstellung des Stapels fehlschlägt, wird er nicht zurückgesetzt.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**Beispiel 2: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert ('PK1' und 'PK2' stehen für die Namen der im Vorlageninhalt deklarierten Parameter, 'PV1' und 'PV2' stehen für die Werte für diese Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue Wenn die Erstellung des Stapels fehlschlägt, wird er zurückgerollt.**  

```
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p1.ParameterKey = "PK1"
$p1.ParameterValue = "PV1"

$p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p2.ParameterKey = "PK2"
$p2.ParameterValue = "PV2"

New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( $p1, $p2 ) `
             -OnFailure "ROLLBACK"
```
**Beispiel 3: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird von der Amazon S3 S3-URL mit Anpassungsparametern abgerufen ('PK1' steht für den Namen eines Parameters, der im Inhalt der Vorlage deklariert ist, PV1 '' steht für den Wert für den Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt (genauso wie bei der Angabe von - DisableRollback \$1false)**.  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Beispiel 4: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird von der Amazon S3 S3-URL mit Anpassungsparametern abgerufen ('PK1' steht für den Namen eines Parameters, der im Inhalt der Vorlage deklariert ist, PV1 '' steht für den Wert für den Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt (genauso wie bei der Angabe von - DisableRollback \$1false). Die angegebene Benachrichtigung AENs empfängt veröffentlichte Ereignisse im Zusammenhang mit dem Stack.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  Einzelheiten zur API finden Sie unter [CreateStack AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz* (V4). 

**Tools für V5 PowerShell **  
**Beispiel 1: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert ('PK1' und 'PK2' stehen für die Namen der im Vorlageninhalt deklarierten Parameter, '' und PV1 'PV2' stehen für die Werte für diese Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue Wenn die Erstellung des Stapels fehlschlägt, wird er nicht zurückgesetzt.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**Beispiel 2: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird anhand des bereitgestellten Inhalts mit Anpassungsparametern analysiert ('PK1' und 'PK2' stehen für die Namen der im Vorlageninhalt deklarierten Parameter, 'PV1' und 'PV2' stehen für die Werte für diese Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und 'ParameterKey' angegeben werden. ParameterValue Wenn die Erstellung des Stapels fehlschlägt, wird er zurückgerollt.**  

```
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p1.ParameterKey = "PK1"
$p1.ParameterValue = "PV1"

$p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p2.ParameterKey = "PK2"
$p2.ParameterValue = "PV2"

New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( $p1, $p2 ) `
             -OnFailure "ROLLBACK"
```
**Beispiel 3: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird von der Amazon S3 S3-URL mit Anpassungsparametern abgerufen ('PK1' steht für den Namen eines Parameters, der im Inhalt der Vorlage deklariert ist, PV1 '' steht für den Wert für den Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt (genauso wie bei der Angabe von - DisableRollback \$1false)**.  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Beispiel 4: Erzeugt einen neuen Stapel mit dem angegebenen Namen. Die Vorlage wird von der Amazon S3 S3-URL mit Anpassungsparametern abgerufen ('PK1' steht für den Namen eines Parameters, der im Inhalt der Vorlage deklariert ist, PV1 '' steht für den Wert für den Parameter. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Wenn die Erstellung des Stacks fehlschlägt, wird er zurückgesetzt (genauso wie bei der Angabe von - DisableRollback \$1false). Die angegebene Benachrichtigung AENs empfängt veröffentlichte Ereignisse im Zusammenhang mit dem Stack.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  Einzelheiten zur API finden Sie unter [CreateStack AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz* (V5). 

------

**Anmerkung**  
Sie können die AWS CLI `--template-url` Option verwenden, um einen Speicherort für die Vorlagendatei in Amazon S3 oder anzugeben AWS Systems Manager.  
Bei Amazon S3 muss die URL mit `https://`beginnen. Statische S3-Websites URLs werden nicht unterstützt.  

```
--template-url https://s3.region-code.amazonaws.com/bucket-name/template-name
```
Verwenden AWS Systems Manager Sie für das folgende Format:  

```
--template-url "ssm-doc://arn:aws:ssm:region-code:account-id:document/document-name"
```

## Erstellen Sie einen Stapel, der Transformationen enthält
<a name="deploy-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/), um einen Stack zu erstellen, der Transformationen enthält. Wenn Sie einen Stapel aus einer Vorlage erstellen, die Transformationen enthält, müssen Sie ein Änderungsset verwenden. Der Befehl `deploy` kombiniert zwei Schritte (Erstellung eines Änderungssatzes und dessen Ausführung) in einem einzigen Befehl.

------
#### [ AWS CLI ]

Der folgende Befehl `deploy` erstellt einen Stapel mit dem angegebenen Namen, der Vorlage und den Eingabeparametern.

```
aws cloudformation deploy --stack-name myteststack \
  --template /path_to_template/my-template.json \
  --parameter-overrides Key1=Value1 Key2=Value2
```

------

## Löschen eines Stacks
<a name="delete-stack-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html), um einen Stack zu löschen. Weitere Informationen finden Sie unter [Löschen eines Stacks](cfn-console-delete-stack.md).

------
#### [ CLI ]

**AWS CLI**  
**So löschen Sie einen Stack**  
Das folgende Beispiel `delete-stack` löscht den angegebenen Stapel.  

```
aws cloudformation delete-stack \
    --stack-name my-stack
```
Mit diesem Befehl wird keine Ausgabe zurückgegeben.  
+  Einzelheiten zur API finden Sie [DeleteStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/delete-stack.html)in der *AWS CLI Befehlsreferenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Löscht den angegebenen Stapel.**  

```
Remove-CFNStack -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [DeleteStack AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Löscht den angegebenen Stapel.**  

```
Remove-CFNStack -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [DeleteStack AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

Wenn der Löschvorgang fehlschlägt und den Status `DELETE_FAILED` zurückgibt, können Sie den Stapel mit der Option `--deletion-mode` zwangsweise löschen. Dies sind die folgenden Werte, die mit `deletion-mode`verwendet werden können:
+ `STANDARD`: Löscht den Stapel normal. Dies ist der Standard-Löschmodus.
+ `FORCE_DELETE_STACK`: Löscht den Stapel und überspringt alle Ressourcen, die nicht gelöscht werden können.

------
#### [ AWS CLI ]

Der folgende `delete-stack`-Befehl erzwingt das Löschen des `myteststack`-Stacks unter Verwendung des `FORCE_DELETE_STACK`-Werts mit dem `deletion-mode`-Parameter:

```
aws cloudformation delete-stack --stack-name myteststack \
    --deletion-mode FORCE_DELETE_STACK
```

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

------

Nachdem Sie `FORCE_DELETE_STACK`verwendet haben, können Sie den Befehl `list-stack-resources` verwenden, um die Ressourcen aufzulisten, die beim Löschen des Stapels übersprungen wurden. Die zurückbehaltenen Ressourcen erhalten den Status DELETE\$1SKIPPED. Weitere Informationen finden Sie unter [Stack-Ressourcen auflisten](#list-stack-resources-sdk).

## Beschreiben Sie Stack-Ereignisse
<a name="describe-stack-events-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html), um Stack-Ereignisse zu beschreiben. Weitere Informationen finden Sie unter [Fortschritt des Stapels überwachen](monitor-stack-progress.md).

------
#### [ CLI ]

**AWS CLI**  
**Zur Beschreibung von Stapelereignissen**  
Das folgende Beispiel `describe-stack-events` zeigt die 2 jüngsten Ereignisse für den angegebenen Stapel an.  

```
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=="
}
```
+  *Einzelheiten zur API finden Sie unter Befehlsreferenz [DescribeStackEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-events.html).AWS CLI * 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt alle stapelbezogenen Ereignisse für den angegebenen Stapel zurück.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [DescribeStackEvents AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt alle stapelbezogenen Ereignisse für den angegebenen Stapel zurück.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [DescribeStackEvents AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Beschreiben Sie eine Stapelressource
<a name="describe-stack-resource-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**So erhalten Sie Informationen zu einer Stack-Ressource**  
Das folgende Beispiel `describe-stack-resource` zeigt Details für die Ressource mit dem Namen `MyFunction` im angegebenen Stapel an.  

```
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"
        }
    }
}
```
+  *Einzelheiten zur API finden Sie unter Befehlsreferenz [DescribeStackResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-resource.html).AWS CLI * 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt die Beschreibung einer Ressource zurück, die in der Vorlage identifiziert wurde, die dem angegebenen Stack durch die logische ID DBInstance „My“ zugeordnet ist.**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  Einzelheiten zur API finden Sie unter [DescribeStackResource AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt die Beschreibung einer Ressource zurück, die in der Vorlage identifiziert wurde, die dem angegebenen Stack durch die logische ID DBInstance „My“ zugeordnet ist.**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  Einzelheiten zur API finden Sie unter [DescribeStackResource AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (V5*). 

------

## Beschreiben Sie Stack-Ressourcen
<a name="describe-stack-resources-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**So erhalten Sie Informationen zu einer Stack-Ressource**  
Das folgende Beispiel `describe-stack-resources` zeigt Details zu den Ressourcen im angegebenen Stapel an.  

```
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"
            }
        }
    ]
}
```
+  *Einzelheiten zur API finden Sie unter Befehlsreferenz [DescribeStackResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-resources.html).AWS CLI * 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt die AWS Ressourcenbeschreibungen für bis zu 100 Ressourcen zurück, die dem angegebenen Stack zugeordnet sind. Um Details zu allen Ressourcen zu erhalten, die einem Stack zugeordnet sind, verwenden Sie Get- CFNStackResourceSummary, das auch manuelles Paging der Ergebnisse unterstützt.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**Beispiel 2: Gibt die Beschreibung der Amazon EC2-Instance zurück, die in der Vorlage, die mit dem angegebenen Stack verbunden ist, durch die logische ID "Ec2Instance" identifiziert wurde.**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**Beispiel 3: Gibt die Beschreibung von bis zu 100 Ressourcen zurück, die mit dem Stack verbunden sind, der eine Amazon EC2-Instance enthält, die durch die Instance-ID "i-123456" identifiziert wird. Um Details zu allen Ressourcen zu erhalten, die einem Stack zugeordnet sind, verwenden Sie Get- CFNStackResourceSummary, das auch manuelles Paging der Ergebnisse unterstützt.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**Beispiel 4: Gibt die Beschreibung der Amazon EC2-Instance zurück, die durch die logische ID "Ec2Instance" in der Vorlage für einen Stack identifiziert wird. Der Stack wird anhand der physischen Ressourcen-ID einer darin enthaltenen Ressource identifiziert, in diesem Fall also einer Amazon EC2-Instance mit der Instance-ID "i-123456". Je nach Inhalt der Vorlage könnte auch eine andere physische Ressource zur Identifizierung des Stacks verwendet werden, zum Beispiel ein Amazon S3-Bucket.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  Einzelheiten zur API finden Sie unter [DescribeStackResources AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (*V4). 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt die AWS Ressourcenbeschreibungen für bis zu 100 Ressourcen zurück, die dem angegebenen Stack zugeordnet sind. Um Details zu allen Ressourcen zu erhalten, die einem Stack zugeordnet sind, verwenden Sie Get- CFNStackResourceSummary, das auch manuelles Paging der Ergebnisse unterstützt.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**Beispiel 2: Gibt die Beschreibung der Amazon EC2-Instance zurück, die in der Vorlage, die mit dem angegebenen Stack verbunden ist, durch die logische ID "Ec2Instance" identifiziert wurde.**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**Beispiel 3: Gibt die Beschreibung von bis zu 100 Ressourcen zurück, die mit dem Stack verbunden sind, der eine Amazon EC2-Instance enthält, die durch die Instance-ID "i-123456" identifiziert wird. Um Details zu allen Ressourcen zu erhalten, die einem Stack zugeordnet sind, verwenden Sie Get- CFNStackResourceSummary, das auch manuelles Paging der Ergebnisse unterstützt.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**Beispiel 4: Gibt die Beschreibung der Amazon EC2-Instance zurück, die durch die logische ID "Ec2Instance" in der Vorlage für einen Stack identifiziert wird. Der Stack wird anhand der physischen Ressourcen-ID einer darin enthaltenen Ressource identifiziert, in diesem Fall also einer Amazon EC2-Instance mit der Instance-ID "i-123456". Je nach Inhalt der Vorlage könnte auch eine andere physische Ressource zur Identifizierung des Stacks verwendet werden, zum Beispiel ein Amazon S3-Bucket.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  Einzelheiten zur API finden Sie unter [DescribeStackResources AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Beschreiben Sie Stapel
<a name="describe-stacks-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Um Stacks zu beschreiben AWS CloudFormation **  
Der folgende `describe-stacks`-Befehl zeigt eine Zusammenfassung der 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*.  
+  Einzelheiten zur API finden Sie [DescribeStacks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stacks.html)in der *AWS CLI Befehlsreferenz.* 

------
#### [ Go ]

**SDK für Go V2**  
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2/workflows/user_pools_and_lambda_triggers#code-examples) einrichten und ausführen. 

```
import (
	"context"
	"log"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation"
)

// StackOutputs defines a map of outputs from a specific stack.
type StackOutputs map[string]string

type CloudFormationActions struct {
	CfnClient *cloudformation.Client
}

// GetOutputs gets the outputs from a CloudFormation stack and puts them into a structured format.
func (actor CloudFormationActions) GetOutputs(ctx context.Context, stackName string) StackOutputs {
	output, err := actor.CfnClient.DescribeStacks(ctx, &cloudformation.DescribeStacksInput{
		StackName: aws.String(stackName),
	})
	if err != nil || len(output.Stacks) == 0 {
		log.Panicf("Couldn't find a CloudFormation stack named %v. Here's why: %v\n", stackName, err)
	}
	stackOutputs := StackOutputs{}
	for _, out := range output.Stacks[0].Outputs {
		stackOutputs[*out.OutputKey] = *out.OutputValue
	}
	return stackOutputs
}
```
+  Einzelheiten zur API finden Sie [DescribeStacks](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/cloudformation#Client.DescribeStacks)in der *AWS SDK für Go API-Referenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt eine Sammlung von Stack-Instances zurück, die alle Stacks des Benutzers beschreiben.**  

```
Get-CFNStack
```
**Beispiel 2: Gibt eine Stack-Instance zurück, die den angegebenen Stack beschreibt**  

```
Get-CFNStack -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [DescribeStacks AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt eine Sammlung von Stack-Instances zurück, die alle Stacks des Benutzers beschreiben.**  

```
Get-CFNStack
```
**Beispiel 2: Gibt eine Stack-Instance zurück, die den angegebenen Stack beschreibt**  

```
Get-CFNStack -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [DescribeStacks AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

Der Befehl `describe-stacks` gibt standardmäßig Parameterwerte zurück. Um zu verhindern, dass sensible Parameterwerte wie Passwörter zurückgegeben werden, fügen Sie `TRUE` in Ihre Vorlagen eine `NoEcho` Eigenschaft ein, die auf gesetzt ist. CloudFormation

**Wichtig**  
Durch die Verwendung des `NoEcho`-Attributs werden keine Informationen maskiert, die im Folgenden gespeichert sind:  
Der `Metadata` Vorlagenbereich. CloudFormation transformiert, modifiziert oder redigiert keine Informationen, die Sie in den `Metadata` Abschnitt aufnehmen. Weitere Informationen finden Sie unter [Metadaten](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html).
Der `Outputs`-Vorlagenabschnitt. Weitere Informationen finden Sie unter [Ausgaben](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html):
Das `Metadata`-Attribut einer Ressourcendefinition. Weitere Informationen finden Sie unter [`Metadata`-Attribut](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-metadata.html).
Es wird dringend empfohlen, diese Mechanismen nicht zu verwenden, um vertrauliche Informationen wie Passwörter oder Geheimnisse einzugeben.

**Wichtig**  
Anstatt vertrauliche Informationen direkt in Ihre CloudFormation Vorlagen einzubetten, empfehlen wir Ihnen, dynamische Parameter in der Stack-Vorlage zu verwenden, um auf vertrauliche Informationen zu verweisen, die außerhalb von gespeichert und verwaltet werden CloudFormation, z. B. im AWS Systems Manager Parameterspeicher oder. AWS Secrets Manager  
Weitere Informationen finden Sie in den bewährten Methoden zu [Keine Anmeldeinformationen in Ihre Vorlagen einbetten](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security-best-practices.html#creds).

## Eine Vorlage erhalten
<a name="get-template-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Um den Vorlagentext für einen AWS CloudFormation Stapel anzuzeigen**  
Der folgende Befehl `get-template` zeigt die Vorlage für den Stapel `myteststack` :  

```
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"
                }
            }
        }
    }
}
```
+  Einzelheiten zur API finden Sie [GetTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/get-template.html)in der *AWS CLI Befehlsreferenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt die Vorlage zurück, die mit dem angegebenen Stapel verbunden ist.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [GetTemplate AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt die Vorlage zurück, die mit dem angegebenen Stapel verbunden ist.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [GetTemplate AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Stack-Ressourcen auflisten
<a name="list-stack-resources-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**So listen Sie Ressourcen in einem Stack auf**  
Der folgende Befehl zeigt die Liste der Ressourcen im angegebenen Stapel 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"
            }
        }
    ]
}
```
+  *Einzelheiten zur API finden Sie unter Befehlsreferenz [ListStackResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/list-stack-resources.html).AWS CLI * 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt Beschreibungen aller Ressourcen zurück, die mit dem angegebenen Stapel verbunden sind.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [ListStackResources AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt Beschreibungen aller Ressourcen zurück, die mit dem angegebenen Stapel verbunden sind.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  Einzelheiten zur API finden Sie unter [ListStackResources AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Stapel auflisten
<a name="list-stacks-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stacks.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stacks.html), um Stack aufzulisten. Um nur Stapel mit den angegebenen Statuscodes aufzulisten, fügen Sie die Option `--stack-status-filter` hinzu. Sie können einen oder mehrere Stack-Statuscodes für die Option `--stack-status-filter` angeben. Weitere Informationen finden Sie unter [Stack-Statuscodes](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes).

------
#### [ CLI ]

**AWS CLI**  
**Um Stapel aufzulisten AWS CloudFormation **  
Der folgende `list-stacks`-Befehl zeigt eine Zusammenfassung aller Stack an, die den Status `CREATE_COMPLETE`haben:  

```
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"
    }
]
```
+  Einzelheiten zur API finden Sie [ListStacks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/list-stacks.html)in der *AWS CLI Befehlsreferenz.* 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Gibt zusammenfassende Informationen für alle Stapel zurück.**  

```
Get-CFNStackSummary
```
**Beispiel 2: Gibt zusammenfassende Informationen für alle Stapel zurück, die gerade erstellt werden.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**Beispiel 3: Gibt zusammenfassende Informationen für alle Stapel zurück, die gerade erstellt oder aktualisiert werden.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  Einzelheiten zur API finden Sie unter [ListStacks AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Gibt zusammenfassende Informationen für alle Stapel zurück.**  

```
Get-CFNStackSummary
```
**Beispiel 2: Gibt zusammenfassende Informationen für alle Stapel zurück, die gerade erstellt werden.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**Beispiel 3: Gibt zusammenfassende Informationen für alle Stapel zurück, die gerade erstellt oder aktualisiert werden.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  Einzelheiten zur API finden Sie unter [ListStacks AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

## Einen Stack aktualisieren
<a name="update-stack-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html), um einen Stack direkt zu aktualisieren. Sie geben den Stack und Parameterwerte und Funktionen an, die Sie aktualisieren möchten, sowie, falls Sie eine aktualisierte Vorlage verwenden möchten, den Namen der Vorlage. Weitere Informationen finden Sie unter [Stapel direkt aktualisieren](using-cfn-updating-stacks-direct.md).

------
#### [ CLI ]

**AWS CLI**  
**Um Stacks zu aktualisieren AWS CloudFormation **  
Der folgende Befehl `update-stack` aktualisiert die Vorlage und die Eingabeparameter für den Stapel `mystack` :  

```
aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,ParameterValue=SampleKeyPair ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2
```
Der folgende Befehl `update-stack` aktualisiert nur den Wert des Parameters `SubnetIDs` für den Stapel `mystack` . Wenn Sie keinen Parameterwert angeben, wird der Standardwert verwendet, der in der Vorlage angegeben ist:  

```
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
```
Der folgende `update-stack`-Befehl fügt dem `mystack`-Stack zwei Themen für Stackbenachrichtigungen hinzu:  

```
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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) im *AWS CloudFormation Benutzerhandbuch*.  
+  Einzelheiten zur API finden Sie [UpdateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/update-stack.html)in der *AWS CLI Befehlsreferenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Aktualisiert den Stack 'MyStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' steht für den Namen eines in der Vorlage deklarierten Parameters und 'PV1' für seinen Wert. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Beispiel 2: Aktualisiert den Stack 'MyStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, '' und PV1 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Beispiel 3: Aktualisiert den Stack 'MyStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' steht für den Namen eines in der Vorlage deklarierten Parameters und 'PV2' für seinen Wert. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Beispiel 4: Aktualisiert den Stack 'MyStack' mit der angegebenen Vorlage, die von Amazon S3 abgerufen wurde, und den Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, '' und PV1 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Beispiel 5: Aktualisiert den Stack 'MyStack', von dem in diesem Beispiel angenommen wird, dass er IAM-Ressourcen enthält, mit der angegebenen Vorlage, die von Amazon S3 abgerufen wurde, und den Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, '' und PV1 '' stehen für ihre angeforderten Werte. PV2 Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Bei Stacks, die IAM-Ressourcen enthalten, müssen Sie den Capability-Parameter „CAPABILITY\$1IAM“ angeben. Andernfalls schlägt das Update mit einem Fehler '' fehl. InsufficientCapabilities**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) `
                -Capabilities "CAPABILITY_IAM"
```
+  *Einzelheiten zur API finden Sie unter [UpdateStack](https://docs.aws.amazon.com/powershell/v4/reference)Cmdlet-Referenz (V4).AWS -Tools für PowerShell * 

**Tools für V5 PowerShell **  
**Beispiel 1: Aktualisiert den Stack 'MyStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' steht für den Namen eines in der Vorlage deklarierten Parameters und 'PV1' für seinen Wert. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Beispiel 2: Aktualisiert den Stack 'MyStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, '' und PV1 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Beispiel 3: Aktualisiert den Stack 'MyStack' mit den angegebenen Vorlagen- und Anpassungsparametern. 'PK1' steht für den Namen eines in der Vorlage deklarierten Parameters und 'PV2' für seinen Wert. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Beispiel 4: Aktualisiert den Stack 'MyStack' mit der angegebenen Vorlage, die von Amazon S3 abgerufen wurde, und den Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, '' und PV1 'PV2' stehen für ihre angeforderten Werte. Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Beispiel 5: Aktualisiert den Stack 'MyStack', von dem in diesem Beispiel angenommen wird, dass er IAM-Ressourcen enthält, mit der angegebenen Vorlage, die von Amazon S3 abgerufen wurde, und den Anpassungsparametern. 'PK1' und 'PK2' stehen für die Namen der in der Vorlage deklarierten Parameter, '' und PV1 '' stehen für ihre angeforderten Werte. PV2 Die Anpassungsparameter können auch mit 'Key' und 'Value' anstelle von '' und ParameterKey 'ParameterValue' angegeben werden. Bei Stacks, die IAM-Ressourcen enthalten, müssen Sie den Capability-Parameter „CAPABILITY\$1IAM“ angeben. Andernfalls schlägt das Update mit einem Fehler '' fehl. InsufficientCapabilities**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) `
                -Capabilities "CAPABILITY_IAM"
```
+  *Einzelheiten zur API finden Sie unter [UpdateStack](https://docs.aws.amazon.com/powershell/v5/reference)Cmdlet-Referenz (V5).AWS -Tools für PowerShell * 

------

**Anmerkung**  
Um alle Benachrichtigungen zu entfernen, geben Sie für `[]` die Option `--notification-arns` an.

## Validieren Sie Ihre Vorlage
<a name="validate-template-sdk"></a>

Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.html), um Ihre Vorlagendatei auf Syntaxfehler zu überprüfen.

Prüft bei der Validierung CloudFormation zunächst, ob es sich bei der Vorlage um ein gültiges JSON handelt. Wenn dies nicht der Fall ist, wird von CloudFormation geprüft, ob die Vorlage gültiger YAML-Code ist. Wenn beide Prüfungen fehlschlagen, wird ein Fehler bei der Vorlagenvalidierung CloudFormation zurückgegeben.

------
#### [ CLI ]

**AWS CLI**  
**Um eine AWS CloudFormation Vorlage zu validieren**  
Der folgende Befehl `validate-template` validiert die Vorlage `sampletemplate.json` :  

```
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.  
+  Einzelheiten zur API finden Sie [ValidateTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/validate-template.html)unter *AWS CLI Befehlsreferenz*. 

------
#### [ PowerShell ]

**Tools für PowerShell V4**  
**Beispiel 1: Validiert den angegebenen Vorlageninhalt. Die Ausgabe enthält die Fähigkeiten, Beschreibung und Parameter der Vorlage.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**Beispiel 2: Validiert die angegebene Vorlage, auf die über eine Amazon S3 URL zugegriffen wird. Die Ausgabe enthält die Fähigkeiten, Beschreibung und Parameter der Vorlage.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  Einzelheiten zur API finden Sie unter [ValidateTemplate AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v4/reference)*Cmdlet-Referenz (V4).* 

**Tools für V5 PowerShell **  
**Beispiel 1: Validiert den angegebenen Vorlageninhalt. Die Ausgabe enthält die Fähigkeiten, Beschreibung und Parameter der Vorlage.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**Beispiel 2: Validiert die angegebene Vorlage, auf die über eine Amazon S3 URL zugegriffen wird. Die Ausgabe enthält die Fähigkeiten, Beschreibung und Parameter der Vorlage.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  Einzelheiten zur API finden Sie unter [ValidateTemplate AWS -Tools für PowerShell](https://docs.aws.amazon.com/powershell/v5/reference)*Cmdlet-Referenz (*V5). 

------

Im Folgenden sehen Sie eine Beispielantwort, die einen Validierungsfehler erzeugt.

```
{
    "ResponseMetadata": {
        "RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd"
    },
    "Errors": [
        {
            "Message": "Template format error: JSON not well-formed. (line 11, column 8)",
            "Code": "ValidationError",
            "Type": "Sender"
        }
    ],
    "Capabilities": [],
    "Parameters": []
}
A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)
```

**Anmerkung**  
Der `validate-template`-Befehl wurde entwickelt, um nur die Syntax Ihrer Vorlage zu überprüfen. Er stellt nicht sicher, dass die Eigenschaftswerte, die Sie für eine Ressource angegeben haben, für diese Ressource gültig sind. Er bestimmt auch nicht die Anzahl der Ressourcen, die bei der Erstellung des Stacks vorhanden sein werden.  
Um die Betriebsgültigkeit zu überprüfen, müssen Sie versuchen, den Stack zu erstellen. Es gibt keine Sandbox oder keinen Testbereich für CloudFormation Stacks, sodass Ihnen die Ressourcen, die Sie beim Testen erstellen, in Rechnung gestellt werden.

**Beispiel für die Verfügbarkeit**  
Sie können nicht finden, was Sie brauchen? Fordern Sie ein neues Beispiel an, indem Sie den Link **Feedback geben** unten auf dieser Seite verwenden.

# Laden Sie lokale Artefakte in einen S3-Bucket hoch mit dem AWS CLI
<a name="using-cfn-cli-package"></a>

Sie können den verwenden AWS CLI , um lokale Artefakte, auf die von einer CloudFormation Vorlage verwiesen wird, in einen Amazon S3 S3-Bucket hochzuladen. Lokale Artefakte sind Dateien, auf die Sie in Ihrer Vorlage verweisen. Anstatt Dateien manuell in einen S3-Bucket hochzuladen und dann deren Speicherorte zu Ihrer Vorlage hinzuzufügen, können Sie lokale Artefakte in Ihrer Vorlage angeben und den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) verwenden, um sie schnell hochzuladen. 

Ein lokales Artefakt ist ein Pfad zu einer Datei oder einem Ordner, die bzw. der mit dem **package**-Befehl in Amazon S3 hochgeladen wird. Ein Artefakt kann beispielsweise ein lokaler Pfad zum Quellcode Ihrer AWS Lambda Funktion oder eine Amazon API Gateway OpenAPI Gateway-REST-API-Datei sein. 

Wenn Sie den Befehl **package** verwenden:
+ Wenn Sie eine Datei angeben, lädt der Befehl sie direkt in den S3-Bucket hoch. 
+ Wenn Sie einen Ordner angeben, erstellt der Befehl eine `.zip`-Datei für den Ordner und lädt dann die `.zip`-Datei hoch. 
+ Wenn Sie keinen Pfad angeben, erstellt der Befehl eine `.zip`-Datei für das Arbeitsverzeichnis und lädt sie hoch. 

Sie können einen absoluten oder relativen Pfad angeben, wobei der relative Pfad relativ zum Speicherort Ihrer Vorlage ist.

Nach dem Hochladen der Artefakte gibt der Befehl eine Kopie Ihrer Vorlage zurück, wobei Verweise auf lokale Artefakte durch den S3-Speicherort ersetzt werden, in den der Befehl die Artefakte hochgeladen hat. Sie können dann die zurückgegebene Vorlage verwenden, um einen Stapel zu erstellen oder zu aktualisieren.

**Anmerkung**  
Sie können lokale Artefakte nur für Ressourceneigenschaften verwenden, die der **package**-Befehl unterstützt. Weitere Informationen zu diesem Befehl und eine Liste der unterstützten Ressourceneigenschaften finden Sie in der [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) Dokumentation in der [AWS CLI Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/index.html).



## Voraussetzungen
<a name="using-cfn-cli-package-prerequisites"></a>

Bevor Sie beginnen, müssen Sie über einen Amazon S3 Bucket verfügen. 

## Paketieren und verteilen Sie eine Vorlage mit lokalen Artefakten
<a name="package-and-deploy-a-template-with-local-artifacts"></a>

Die folgende Vorlage gibt das lokale Artefakt für den Quellcode einer Lambda-Funktion an. Der Quellcode wird im Ordner `/home/user/code/lambdafunction` gespeichert.

**Originalvorlage**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Resources": {
    "MyFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "Handler": "index.handler",
        "Runtime": "nodejs18.x",
        "CodeUri": "/home/user/code/lambdafunction"
      }
    }
  }
}
```

Der folgende Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) erstellt und lädt eine `.zip`-Datei des Quellcode-Ordners der Funktion in das Stammverzeichnis des angegebenen Buckets hoch.

```
aws cloudformation package \
  --s3-bucket amzn-s3-demo-bucket \
  --template /path_to_template/template.json \
  --output-template-file packaged-template.json \
  --output json
```

Der Befehl erzeugt eine neue Vorlage unter dem durch `--output-template-file`angegebenen Pfad. Es ersetzt die Artefakt-Referenz durch den Amazon S3-Speicherort, wie unten gezeigt. Die `.zip` Datei wird anhand der MD5 Prüfsumme des Ordnerinhalts benannt und nicht anhand des Ordnernamens selbst.

**Resultierende Vorlage**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Resources": {
    "MyFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "Handler": "index.handler",
        "Runtime": "nodejs18.x",
        "CodeUri": "s3://amzn-s3-demo-bucket/md5 checksum"
      }
    }
  }
}
```

Nachdem Sie die Artefakte Ihrer Vorlage verpackt haben, stellen Sie die verarbeitete Vorlage mit dem Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/) bereit.

```
aws cloudformation deploy \
  --template-file packaged-template.json \
  --stack-name stack-name
```

Wenn Sie Vorlagen bereitstellen, die größer als 51.200 Bytes sind, verwenden Sie den Befehl **deploy** mit der Option `--s3-bucket`, um Ihre Vorlage in S3 hochzuladen, wie im folgenden Beispiel.

```
aws cloudformation deploy \
  --template-file packaged-template.json \
  --stack-name stack-name \
  --s3-bucket amzn-s3-demo-bucket
```

**Anmerkung**  
Ein weiteres Beispiel für die Verwendung des Befehls **package** zum Hochladen lokaler Artefakte finden Sie unter [Aufteilung einer Vorlage in wiederverwendbare Teile mit verschachtelten Stapeln](using-cfn-nested-stacks.md).