

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.

# Referenz der Aktionsstruktur
<a name="action-reference"></a>

Dieser Abschnitt ist nur eine Referenz für die Aktionskonfiguration. Eine konzeptionelle Übersicht über die Pipeline-Struktur finden Sie unter [CodePipeline Referenz zur Pipeline-Struktur](reference-pipeline-structure.md).

Jeder Aktionsanbieter CodePipeline verwendet eine Reihe von erforderlichen und optionalen Konfigurationsfeldern in der Pipeline-Struktur. Dieser Abschnitt enthält die folgenden Referenzinformationen, geordnet nach Aktionsanbieter:
+ Gültige Werte für die `ActionType`-Felder, die im Pipeline-Struktur-Aktionsblock enthalten sind, z. B. `Owner` und `Provider`.
+ Beschreibungen und andere Referenzinformationen für die `Configuration`-Parameter (erforderliche und optionale), die im Abschnitt zur Pipeline-Strukturaktion enthalten sind.
+ Gültige JSON- und YAML-Beispielaktionsfelder.

Dieser Abschnitt wird regelmäßig mit weiteren Aktionsanbietern aktualisiert. Derzeit stehen Referenzinformationen für die folgenden Aktionsanbieter zur Verfügung:

**Topics**
+ [Amazon EC2 EC2-Aktionsreferenz](action-reference-EC2Deploy.md)
+ [Referenz zur Amazon ECR-Quellaktion](action-reference-ECR.md)
+ [`ECRBuildAndPublish`Aktionsreferenz erstellen](action-reference-ECRBuildAndPublish.md)
+ [Referenz für Amazon ECS und CodeDeploy Blue-Green Deploy Action](action-reference-ECSbluegreen.md)
+ [Referenz zur Bereitstellungsaktion von Amazon Elastic Container Service](action-reference-ECS.md)
+ [Referenz zur `EKS` Bereitstellungsaktion von Amazon Elastic Kubernetes Service](action-reference-EKS.md)
+ [AWS Lambda Aktionsreferenz bereitstellen](action-reference-LambdaDeploy.md)
+ [Referenz zur Amazon S3 S3-Bereitstellungsaktion](action-reference-S3Deploy.md)
+ [Referenz zur Amazon S3 S3-Quellaktion](action-reference-S3.md)
+ [AWS AppConfig Aktionsreferenz bereitstellen](action-reference-AppConfig.md)
+ [CloudFormation Aktionsreferenz bereitstellen](action-reference-CloudFormation.md)
+ [CloudFormation StackSets](action-reference-StackSets.md)
+ [AWS CodeBuild Aktionsreferenz zum Erstellen und Testen](action-reference-CodeBuild.md)
+ [AWS CodePipeline Aktionsreferenz aufrufen](action-reference-PipelineInvoke.md)
+ [AWS CodeCommit Referenz zur Quellaktion](action-reference-CodeCommit.md)
+ [AWS CodeDeploy Aktionsreferenz bereitstellen](action-reference-CodeDeploy.md)
+ [CodeStarSourceConnection für Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com und selbstverwaltete Aktionen GitLab](action-reference-CodestarConnectionSource.md)
+ [Referenz für Befehle und Aktionen](action-reference-Commands.md)
+ [AWS Device Farm Referenz zur Testaktion](action-reference-DeviceFarm.md)
+ [Elastic Beanstalk Deploy-Aktionsreferenz](action-reference-Beanstalk.md)
+ [Referenz zum `InspectorScan` Aufrufen der Aktion durch Amazon Inspector](action-reference-InspectorScan.md)
+ [AWS Lambda Aktionsreferenz aufrufen](action-reference-Lambda.md)
+ [AWS OpsWorks Aktionsreferenz bereitstellen](action-reference-OpsWorks.md)
+ [AWS Service Catalog Aktionsreferenz bereitstellen](action-reference-ServiceCatalog.md)
+ [AWS Step Functions](action-reference-StepFunctions.md)

# Amazon EC2 EC2-Aktionsreferenz
<a name="action-reference-EC2Deploy"></a>

Sie verwenden eine Amazon EC2 `EC2` EC2-Aktion, um Anwendungscode für Ihre Bereitstellungsflotte bereitzustellen. Ihre Bereitstellungsflotte kann aus Amazon EC2 EC2-Linux-Instances oder von Linux SSM verwalteten Knoten bestehen. Auf Ihren Instances muss der SSM-Agent installiert sein.

**Anmerkung**  
Diese Aktion unterstützt nur Linux-Instance-Typen. Die maximale unterstützte Flottengröße beträgt 500 Instances.

Die Aktion wählt eine Anzahl von Instanzen auf der Grundlage eines angegebenen Maximums aus. Die fehlgeschlagenen Instanzen früherer Instanzen werden zuerst ausgewählt. Die Aktion überspringt die Bereitstellung auf bestimmten Instances, wenn für die Instance bereits dasselbe Eingabeartefakt bereitgestellt wurde, z. B. in einem Fall, in dem die Aktion zuvor fehlgeschlagen ist.

**Anmerkung**  
Diese Aktion wird nur für Pipelines vom Typ V2 unterstützt.

**Topics**
+ [Aktionstyp](#action-reference-EC2Deploy-type)
+ [Konfigurationsparameter](#action-reference-EC2Deploy-parameters)
+ [Input artifacts (Eingabeartefakte)](#action-reference-EC2Deploy-input)
+ [Ausgabeartefakte](#action-reference-EC2Deploy-output)
+ [Richtlinienberechtigungen für Dienstrollen für die EC2-Bereitstellungsaktion](#action-reference-EC2Deploy-permissions-action)
+ [Referenz zur Deploy-Spezifikationsdatei](#action-reference-EC2Deploy-spec-reference)
+ [Aktionsdeklaration](#action-reference-EC2Deploy-example)
+ [Aktionserklärung mit Beispiel für die Deploy-Spezifikation](#action-reference-EC2Deploy-example-spec)
+ [Weitere Informationen finden Sie auch unter](#action-reference-EC2Deploy-links)

## Aktionstyp
<a name="action-reference-EC2Deploy-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `EC2`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-EC2Deploy-parameters"></a>

**InstanceTagKey**  
Erforderlich: Ja  
Der Tag-Schlüssel der Instances, die Sie in Amazon EC2 erstellt haben, z. B. `Name`

**InstanceTagValue**  
Erforderlich: Nein  
Der Tag-Wert der Instances, die Sie in Amazon EC2 erstellt haben, z. B. `my-instances`  
Wenn dieser Wert nicht angegeben ist, **InstanceTagKey**werden alle Instances mit zugeordnet.

**InstanceType**  
Erforderlich: Ja  
Der Typ der Instances oder SSM-Knoten, die in Amazon EC2 erstellt wurden. Die gültigen Werte sind `EC2` und `SSM_MANAGED_NODE`.  
Sie müssen den SSM-Agenten bereits auf allen Instances erstellt, markiert und installiert haben.  
Wenn Sie die Instanz erstellen, erstellen oder verwenden Sie eine vorhandene EC2-Instanzrolle. Um `Access Denied` Fehler zu vermeiden, müssen Sie der Instance-Rolle S3-Bucket-Berechtigungen hinzufügen, um die Instanzberechtigungen für den CodePipeline Artefakt-Bucket zu erteilen. Erstellen Sie eine Standardrolle oder aktualisieren Sie Ihre bestehende Rolle mit der `s3:GetObject` Berechtigung, die auf den Artefakt-Bucket für die Region Ihrer Pipeline beschränkt ist.

**TargetDirectory**  
Erforderlich: Ja (wenn das Skript angegeben ist)  
Das Verzeichnis, das auf Ihrer Amazon EC2 EC2-Instance zum Ausführen von Skripts verwendet werden soll.

**DeploySpec**  
Erforderlich: Ja (wenn die Bereitstellungsspezifikation angegeben ist)  
Die Datei, die zur Konfiguration von Installations- und Lebenszyklusereignissen für die Bereitstellung verwendet werden soll. Beschreibungen und Informationen zu Feldern mit Bereitstellungsspezifikationen finden Sie unter[Referenz zur Deploy-Spezifikationsdatei](#action-reference-EC2Deploy-spec-reference). Eine Aktionskonfiguration mit der angegebenen Deploy-Spezifikationsdatei finden Sie im Beispiel unter. [Aktionserklärung mit Beispiel für die Deploy-Spezifikation](#action-reference-EC2Deploy-example-spec)

**MaxBatch**  
Erforderlich: Nein  
Die maximale Anzahl von Instanzen, die parallel bereitgestellt werden dürfen.

**MaxError**  
Erforderlich: Nein  
Die maximale Anzahl von Instance-Fehlern, die während der Bereitstellung zulässig sind.

**TargetGroupNameList**  
Erforderlich: Nein  
Die Liste der Zielgruppennamen für die Bereitstellung. Sie müssen die Zielgruppen bereits erstellt haben.  
Zielgruppen stellen eine Reihe von Instanzen zur Bearbeitung bestimmter Anfragen bereit. Wenn die Zielgruppe angegeben ist, werden Instanzen vor der Bereitstellung aus der Zielgruppe entfernt und nach der Bereitstellung wieder der Zielgruppe hinzugefügt.

**PreScript**  
Erforderlich: Nein  
Das Skript, das vor der Bereitstellungsphase der Aktion ausgeführt werden soll.

**PostScript**  
Erforderlich: Ja  
Das Skript, das nach der Bereitstellungsphase der Aktion ausgeführt werden soll.

Die folgende Abbildung zeigt ein Beispiel für die Seite **„Bearbeiten“** für die Aktion, auf der „**Aktionskonfigurationen verwenden**“ ausgewählt ist.

![\[Die Seite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktion EC2 Bereitstellen, die die Verwendung der Aktionskonfiguration angibt\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/ec2deploy-action.png)


Die folgende Abbildung zeigt ein Beispiel für die **Bearbeitungsseite** für die Aktion, auf der „** DeploySpec Datei verwenden**“ ausgewählt ist.

![\[Die Aktionsseite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktionsoption EC2 Bereitstellen zur Verwendung einer Spezifikationsdatei\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/ec2deploy-action-spec.png)


## Input artifacts (Eingabeartefakte)
<a name="action-reference-EC2Deploy-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die bereitgestellten Dateien, falls vorhanden, um die Skriptaktionen während der Bereitstellung zu unterstützen.

## Ausgabeartefakte
<a name="action-reference-EC2Deploy-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Richtlinienberechtigungen für Dienstrollen für die EC2-Bereitstellungsaktion
<a name="action-reference-EC2Deploy-permissions-action"></a>

Wenn die Aktion CodePipeline ausgeführt wird, benötigt die CodePipeline Servicerolle die folgenden Berechtigungen, die entsprechend auf den Zugriff mit den geringsten Rechten beschränkt sind.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StatementWithAllResource",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "elasticloadbalancing:DescribeTargetGroupAttributes",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeTargetHealth",
                "ssm:CancelCommand",
                "ssm:DescribeInstanceInformation",
                "ssm:ListCommandInvocations"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "StatementForLogs",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:/aws/codepipeline/{{pipelineName}}:*"
            ]
        },
        {
            "Sid": "StatementForElasticloadbalancing",
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:DeregisterTargets",
                "elasticloadbalancing:RegisterTargets"
            ],
            "Resource": [
                "arn:aws:elasticloadbalancing:us-east-1:111122223333:targetgroup/[[targetGroupName]]/*"
            ]
        },
        {
            "Sid": "StatementForSsmOnTaggedInstances",
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/{{tagKey}}": "{{tagValue}}"
                }
            }
        },
        {
            "Sid": "StatementForSsmApprovedDocuments",
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1::document/AWS-RunPowerShellScript",
                "arn:aws:ssm:us-east-1::document/AWS-RunShellScript"
            ]
        }
    ]
}
```

------

### Protokollieren Sie Gruppen für Ihre Pipeline in Protokollen CloudWatch
<a name="action-reference-EC2Deploy-logs"></a>

Wenn die Aktion CodePipeline ausgeführt CodePipeline wird, wird eine Protokollgruppe mit dem Namen der Pipeline wie folgt erstellt. Auf diese Weise können Sie die Berechtigungen für die Protokollierung von Ressourcen mithilfe des Pipelinenamens einschränken.

```
/aws/codepipeline/MyPipelineName
```

Die folgenden Berechtigungen für die Protokollierung sind in den obigen Updates für die Servicerolle enthalten.
+ Protokolle: CreateLogGroup
+ Protokolle: CreateLogStream
+ Protokolle: PutLogEvents

Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzeigen zu können, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für die Richtlinie zu Konsolenberechtigungen unter[Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich](security-iam-permissions-console-logs.md).

### Richtlinienberechtigungen für CloudWatch Protokolle mit der Servicerolle
<a name="w2aac56c13c21c11"></a>

Wenn die Aktion CodePipeline ausgeführt CodePipeline wird, wird eine Protokollgruppe mit dem Namen der Pipeline wie folgt erstellt. Auf diese Weise können Sie die Berechtigungen für die Protokollierung von Ressourcen mithilfe des Pipelinenamens einschränken.

```
/aws/codepipeline/MyPipelineName
```

Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzeigen zu können, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für die Richtlinie zu Konsolenberechtigungen unter[Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich](security-iam-permissions-console-logs.md).

## Referenz zur Deploy-Spezifikationsdatei
<a name="action-reference-EC2Deploy-spec-reference"></a>

Wenn die Aktion CodePipeline ausgeführt wird, können Sie eine Spezifikationsdatei angeben, um die Bereitstellung auf Ihren Instanzen zu konfigurieren. Die Deploy-Spezifikationsdatei gibt an, was installiert werden soll und welche Lifecycle-Event-Hooks als Reaktion auf Ereignisse im Deployment-Lebenszyklus ausgeführt werden sollen. Die Deploy-Spezifikationsdatei ist immer YAML-formatiert. Die Deploy-Spezifikationsdatei wird verwendet, um:
+ Ordnen Sie die Quelldateien in Ihrer Anwendungsrevision den entsprechenden Zielen auf der Instance zu.
+ Geben Sie benutzerdefinierte Berechtigungen für bereitgestellte Dateien an.
+ Legen Sie Scripts fest, die auf jeder Instance in verschiedenen Phasen des Bereitstellungsprozesses ausgeführt werden.

Die Deploy-Spezifikationsdatei unterstützt bestimmte Bereitstellungskonfigurationsparameter, die von CodeDeploy mit der AppSpec Datei unterstützt werden. Sie können Ihre vorhandene AppSpec Datei direkt verwenden, und alle nicht unterstützten Parameter werden ignoriert. Weitere Informationen zu der AppSpec Datei in CodeDeploy finden Sie in der Referenz zur Anwendungsspezifikationsdatei im *[CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html)Benutzerhandbuch*.

Die Parameter für die Dateibereitstellung werden wie folgt angegeben. 
+ `files`— Die Bereitstellungsspezifikationsdatei bezeichnet die `source:` und `destination:` für die Bereitstellungsdateien. 
+ `scripts`- Die skriptbasierten Ereignisse für die Bereitstellung. Zwei Ereignisse werden unterstützt: `BeforeDeploy` und`AfterDeploy`.
+ `hooks`— Die Lifecycle-Hooks für das Ereignis. Die folgenden Hooks werden unterstützt: `ApplicationStop``BeforeInstall`,`AfterInstall`,`ApplicationStart`, und`ValidateService`.
**Anmerkung**  
Der Hooks-Parameter ist aus AppSpec Kompatibilitätsgründen verfügbar CodeDeploy und nur in Version 0.0 (AppSpec Format) verfügbar. Für dieses Format CodePipeline wird nach bestem Wissen und Gewissen eine Zuordnung der Ereignisse durchgeführt.

In der Spezifikationsdatei muss der richtige YAML-Abstand verwendet werden. Andernfalls wird ein Fehler ausgelöst, wenn die Speicherorte und die Anzahl der Leerzeichen in einer Bereitstellungsspezifikationsdatei nicht korrekt sind. Weitere Informationen über Leerzeichen finden Sie in der [YAML](http://www.yaml.org/)-Spezifikation.

Ein Beispiel für eine Deploy-Spezifikationsdatei finden Sie weiter unten. 

```
version: 0.1
files:
  - source: /index.html
    destination: /var/www/html/
scripts:
  BeforeDeploy:
    - location: scripts/install_dependencies
      timeout: 300
      runas: myuser
  AfterDeploy:
    - location: scripts/start_server
      timeout: 300
      runas: myuser
```

Eine Aktionskonfiguration mit der angegebenen Deploy-Spezifikationsdatei finden Sie im Beispiel unter. [Aktionserklärung mit Beispiel für die Deploy-Spezifikation](#action-reference-EC2Deploy-example-spec)

## Aktionsdeklaration
<a name="action-reference-EC2Deploy-example"></a>

------
#### [ YAML ]

```
name: DeployEC2
actions:
- name: EC2
  actionTypeId:
    category: Deploy
    owner: AWS
    provider: EC2
    version: '1'
  runOrder: 1
  configuration:
    InstanceTagKey: Name
    InstanceTagValue: my-instances
    InstanceType: EC2
    PostScript: "test/script.sh",
    TargetDirectory: "/home/ec2-user/deploy"
  outputArtifacts: []
  inputArtifacts:
  - name: SourceArtifact
  region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "DeployEC2",
    "actions": [
        {
            "name": "EC2Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "EC2",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "InstanceTagKey": "Name",
                "InstanceTagValue": "my-instances",
                "InstanceType": "EC2",
                "PostScript": "test/script.sh",
                "TargetDirectory": "/home/ec2-user/deploy"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-east-1"
        }
    ]
},
```

------

## Aktionserklärung mit Beispiel für die Deploy-Spezifikation
<a name="action-reference-EC2Deploy-example-spec"></a>

------
#### [ YAML ]

```
name: DeployEC2
actions:
- name: EC2
  actionTypeId:
    category: Deploy
    owner: AWS
    provider: EC2
    version: '1'
  runOrder: 1
  configuration:
    DeploySpec: "deployspec.yaml"
    InstanceTagKey: Name
    InstanceTagValue: my-instances
    InstanceType: EC2
  outputArtifacts: []
  inputArtifacts:
  - name: SourceArtifact
  region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "DeployEC2",
    "actions": [
        {
            "name": "EC2Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "EC2",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "DeploySpec": "deployspec.yaml",
                "InstanceTagKey": "Name",
                "InstanceTagValue": "my-instances",
                "InstanceType": "EC2"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-east-1"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-EC2Deploy-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+  [Tutorial: Bereitstellung auf Amazon EC2 EC2-Instances mit CodePipeline](tutorials-ec2-deploy.md)— Dieses Tutorial führt Sie durch die Erstellung einer EC2-Instanz, in der Sie eine Skriptdatei bereitstellen, sowie durch die Erstellung der Pipeline mithilfe der EC2-Aktion.
+ [Die EC2 Deploy-Aktion schlägt mit einer Fehlermeldung fehl `No such file`](troubleshooting.md#troubleshooting-ec2-deploy)— In diesem Thema wird die Fehlerbehebung für Fehler „Datei nicht gefunden“ mit der EC2-Aktion beschrieben.

# Referenz zur Amazon ECR-Quellaktion
<a name="action-reference-ECR"></a>

Löst die Pipeline aus, wenn ein neues Image in das Amazon ECR-Repository übertragen wird. Diese Aktion stellt eine Bilddefinitionsdatei bereit, die auf den URI für das Bild verweist, das an Amazon ECR übertragen wurde. Diese Quellaktion wird häufig in Verbindung mit einer anderen Quellaktion verwendet, z. B. CodeCommit, um einen Quellspeicherort für alle weiteren Quellartefakte zuzulassen. Weitere Informationen finden Sie unter [Tutorial: Eine Pipeline mit einer Amazon ECR-Quelle und ECS-to-CodeDeploy Bereitstellung erstellen](tutorials-ecs-ecr-codedeploy.md).

Wenn Sie die Konsole verwenden, um Ihre Pipeline zu erstellen oder zu bearbeiten, CodePipeline erstellt diese eine EventBridge Regel, die Ihre Pipeline startet, wenn eine Änderung im Repository erfolgt.

**Anmerkung**  
Für Amazon ECR, Amazon S3 oder CodeCommit Quellen können Sie auch eine Quellüberschreibung mithilfe des Eingabe-Transformationseintrags erstellen, um den `revisionValue` In EventBridge für Ihr Pipeline-Ereignis zu verwenden, wobei der von der Quellereignisvariablen für Ihren Objektschlüssel, Ihren Commit oder Ihre Image-ID abgeleitet `revisionValue` wird. Weitere Informationen finden Sie im optionalen Schritt für die Eingabe der Eingabetransformation, der in den Verfahren unter [Amazon ECR-Quellaktionen und Ressourcen EventBridge](create-cwe-ecr-source.md)[Verbindung zu Amazon S3 S3-Quellaktionen mit einer für Ereignisse aktivierten Quelle herstellen](create-S3-source-events.md), oder [CodeCommit Quellaktionen und EventBridge](triggering.md) enthalten ist.

Sie müssen bereits ein Amazon ECR-Repository erstellt und ein Image übertragen haben, bevor Sie die Pipeline über eine Amazon ECR-Aktion verbinden.

**Topics**
+ [Aktionstyp](#action-reference-ECR-type)
+ [Konfigurationsparameter](#action-reference-ECR-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-ECR-input)
+ [Ausgabeartefakte](#action-reference-ECR-output)
+ [Ausgabevariablen](#action-reference-ECR-variables)
+ [Berechtigungen für Servicerollen: Amazon ECR-Aktion](#edit-role-ecr)
+ [Aktionserklärung (Beispiel Amazon ECR)](#action-reference-ECR-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-ECR-links)

## Aktionstyp
<a name="action-reference-ECR-type"></a>
+ Kategorie: `Source`
+ Eigentümer: `AWS`
+ Anbieter: `ECR`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-ECR-config"></a>

**RepositoryName**  
Erforderlich: Ja  
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wurde.

**ImageTag**  
Erforderlich: Nein  
Das Tag, das für das Image verwendet wird.  
Wenn kein Wert für `ImageTag` angegeben ist, wird standardmäßig der Wert `latest` verwendet.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-ECR-input"></a>
+ **Anzahl der Artefakte:** `0`
+ **Beschreibung:** Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

## Ausgabeartefakte
<a name="action-reference-ECR-output"></a>
+ **Anzahl der Artefakte:** `1` 
+ **Beschreibung:** Diese Aktion erzeugt ein Artefakt, das die Datei `imageDetail.json` enthält. Diese Datei enthält den URI für das Image, durch das die Pipeline-Ausführung ausgelöst wurde. Informationen zur `imageDetail.json`-Datei finden Sie unter [ImageDetail.json-Datei für Amazon ECS-Bereitstellungsaktionen blue/green](file-reference.md#file-reference-ecs-bluegreen).

## Ausgabevariablen
<a name="action-reference-ECR-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

**RegistryId**  
Die AWS Konto-ID, die der Registrierung zugeordnet ist, die das Repository enthält.

**RepositoryName**  
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wurde.

**ImageTag**  
Das Tag, das für das Image verwendet wird.  
Die `ImageTag` Ausgabevariable wird nicht ausgegeben, wenn die Quellversion überschrieben wird

**ImageDigest**  
Der `sha256`-Digest des Image-Manifests.

**ImageURI**  
Der URI für das Image.

## Berechtigungen für Servicerollen: Amazon ECR-Aktion
<a name="edit-role-ecr"></a>

Für Amazon ECR-Support fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "ecr:DescribeImages"
    ],
    "Resource": "resource_ARN"
},
```

Weitere Informationen zu dieser Aktion finden Sie unter[Referenz zur Amazon ECR-Quellaktion](#action-reference-ECR).

## Aktionserklärung (Beispiel Amazon ECR)
<a name="action-reference-ECR-example"></a>

------
#### [ YAML ]

```
Name: Source
Actions:
  - InputArtifacts: []
    ActionTypeId:
      Version: '1'
      Owner: AWS
      Category: Source
      Provider: ECR
    OutputArtifacts:
      - Name: SourceArtifact
    RunOrder: 1
    Configuration:
      ImageTag: latest
      RepositoryName: my-image-repo

    Name: ImageSource
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "InputArtifacts": [],
            "ActionTypeId": {
                "Version": "1",
                "Owner": "AWS",
                "Category": "Source",
                "Provider": "ECR"
            },
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "RunOrder": 1,
            "Configuration": {
                "ImageTag": "latest",
                "RepositoryName": "my-image-repo"
            },
            "Name": "ImageSource"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-ECR-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Eine Pipeline mit einer Amazon ECR-Quelle und ECS-to-CodeDeploy Bereitstellung erstellen](tutorials-ecs-ecr-codedeploy.md)— Dieses Tutorial enthält eine Beispiel-App-Spezifikationsdatei sowie eine CodeDeploy Beispielanwendung und eine Bereitstellungsgruppe zum Erstellen einer Pipeline mit einer CodeCommit Amazon ECR-Quelle, die auf Amazon ECS-Instances bereitgestellt wird.

# `ECRBuildAndPublish`Aktionsreferenz erstellen
<a name="action-reference-ECRBuildAndPublish"></a>

Mit dieser Build-Aktion können Sie das Erstellen und Pushen eines neuen Images automatisieren, wenn eine Änderung an Ihrer Quelle vorgenommen wird. Diese Aktion basiert auf einem angegebenen Speicherort der Docker-Datei und überträgt das Image. Diese Build-Aktion ist nicht identisch mit der Amazon ECR-Quellaktion in CodePipeline, die eine Pipeline auslöst, wenn eine Änderung in Ihrem Amazon ECR-Quell-Repository erfolgt. Informationen zu dieser Aktion finden Sie unter. [Referenz zur Amazon ECR-Quellaktion](action-reference-ECR.md)

Dies ist keine Quellaktion, die die Pipeline auslöst. Diese Aktion erstellt ein Image und überträgt es in Ihr Amazon ECR-Image-Repository.

Sie müssen bereits ein Amazon ECR-Repository erstellt und Ihrem Quellcode-Repository eine Dockerfile hinzugefügt haben, z. B. GitHub bevor Sie die Aktion zu Ihrer Pipeline hinzufügen.

**Wichtig**  
Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.

**Anmerkung**  
Diese Aktion ist nur für Pipelines vom Typ V2 verfügbar.

**Topics**
+ [Aktionstyp](#action-reference-ECRBuildAndPublish-type)
+ [Konfigurationsparameter](#action-reference-ECRBuildAndPublish-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-ECRBuildAndPublish-input)
+ [Ausgabeartefakte](#action-reference-ECRBuildAndPublish-output)
+ [Ausgabevariablen](#action-reference-ECRBuildAndPublish-output-variables)
+ [Berechtigungen für Servicerollen: Aktion `ECRBuildAndPublish`](#edit-role-ECRBuildAndPublish)
+ [Aktionsdeklaration](#action-reference-ECRBuildAndPublish-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-ECRBuildAndPublish-links)

## Aktionstyp
<a name="action-reference-ECRBuildAndPublish-type"></a>
+ Kategorie: `Build`
+ Eigentümer: `AWS`
+ Anbieter: `ECRBuildAndPublish`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-ECRBuildAndPublish-config"></a>

**ECRRepositoryName**  
Erforderlich: Ja  
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wird.

**DockerFilePath**  
Erforderlich: Nein  
Der Speicherort der Docker-Datei, die zum Erstellen des Images verwendet wurde. Optional können Sie einen alternativen Speicherort für die Docker-Datei angeben, falls dies nicht auf der Root-Ebene der Fall ist.  
Wenn kein Wert für angegeben `DockerFilePath` ist, wird standardmäßig die Stammebene des Quell-Repositorys verwendet.

**ImageTags**  
Erforderlich: Nein  
Die für das Bild verwendeten Tags. Sie können mehrere Tags als eine durch Kommas getrennte Liste von Zeichenketten eingeben.  
Wenn kein Wert für `ImageTags` angegeben ist, wird standardmäßig der Wert `latest` verwendet.

**RegistryType**  
Erforderlich: Nein  
Gibt an, ob das Repository öffentlich oder privat ist. Gültige Werte sind `private | public`.  
Wenn kein Wert für `RegistryType` angegeben ist, wird standardmäßig der Wert `private` verwendet.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-ECRBuildAndPublish-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Das von der Quellaktion erzeugte Artefakt, das die zum Erstellen des Images benötigte Dockerfile enthält.

## Ausgabeartefakte
<a name="action-reference-ECRBuildAndPublish-output"></a>
+ **Anzahl der Artefakte:** `0` 

## Ausgabevariablen
<a name="action-reference-ECRBuildAndPublish-output-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen. 

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

**ECRImageDigestId **  
Der `sha256`-Digest des Image-Manifests.

**ECRRepositoryName **  
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wurde.

## Berechtigungen für Servicerollen: Aktion `ECRBuildAndPublish`
<a name="edit-role-ECRBuildAndPublish"></a>

Für die Unterstützung der `ECRBuildAndPublish` Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

```
{
    "Statement": [
         {
            "Sid": "ECRRepositoryAllResourcePolicy",
            "Effect": "Allow",
            "Action": [
                "ecr:DescribeRepositories",
                "ecr:GetAuthorizationToken",
                "ecr-public:DescribeRepositories",
                "ecr-public:GetAuthorizationToken"
            ],
        "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchCheckLayerAvailability"
            ],
            "Resource": "PrivateECR_Resource_ARN"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr-public:GetAuthorizationToken",
                "ecr-public:DescribeRepositories",
                "ecr-public:InitiateLayerUpload",
                "ecr-public:UploadLayerPart",
                "ecr-public:CompleteLayerUpload",
                "ecr-public:PutImage",
                "ecr-public:BatchCheckLayerAvailability",
                "sts:GetServiceBearerToken"
            ],
            "Resource": "PublicECR_Resource_ARN"
        },
        {
            "Effect": "Allow",
            "Action": [
                "sts:GetServiceBearerToken"
            ],
            "Resource": "*"
        }
    ]
}
```

Fügen Sie Ihrer Servicerolle außerdem die folgenden Berechtigungen hinzu, falls diese noch nicht für die `Commands` Aktion hinzugefügt wurden, um CloudWatch Protokolle einzusehen.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream", 
        "logs:PutLogEvents"
    ],
    "Resource": "resource_ARN"
},
```

**Anmerkung**  
Beschränken Sie die Berechtigungen auf die Ebene der Pipeline-Ressourcen, indem Sie die ressourcenbasierten Berechtigungen in der Richtlinienanweisung für die Servicerolle verwenden.

Weitere Informationen zu dieser Aktion finden Sie unter. [`ECRBuildAndPublish`Aktionsreferenz erstellen](#action-reference-ECRBuildAndPublish)

## Aktionsdeklaration
<a name="action-reference-ECRBuildAndPublish-example"></a>

------
#### [ YAML ]

```
name: ECRBuild
actionTypeId:
  category: Build
  owner: AWS
  provider: ECRBuildAndPublish
  version: '1'
runOrder: 1
configuration:
  ECRRepositoryName: actions/my-imagerepo
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: BuildVariables
```

------
#### [ JSON ]

```
{
    "name": "ECRBuild",
    "actionTypeId": {
        "category": "Build",
        "owner": "AWS",
        "provider": "ECRBuildAndPublish",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "ECRRepositoryName": "actions/my-imagerepo"
    },
    "outputArtifacts": [],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "region": "us-east-1",
    "namespace": "BuildVariables"
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-ECRBuildAndPublish-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Erstellen Sie ein Docker-Image und übertragen Sie es auf Amazon ECR mit CodePipeline (Typ V2)](tutorials-ecr-build-publish.md)— Dieses Tutorial enthält ein Dockerfile-Beispiel und Anweisungen zum Erstellen einer Pipeline, die Ihr Image bei einer Änderung an Ihrem Quell-Repository an ECR überträgt und dann in Amazon ECS bereitstellt.

# Referenz für Amazon Elastic Container Service und CodeDeploy blaugrüne Bereitstellungsaktionen
<a name="action-reference-ECSbluegreen"></a>

Sie können eine Pipeline konfigurieren AWS CodePipeline , in der Containeranwendungen mithilfe einer blue/green Bereitstellung bereitgestellt werden. In einer blue/green Bereitstellung können Sie neben der alten Version eine neue Version Ihrer Anwendung starten und die neue Version testen, bevor Sie den Datenverkehr dorthin umleiten. Sie können auch den Bereitstellungsprozess überwachen und bei Problemen schnell ein Rollback durchführen.

Die abgeschlossene Pipeline erkennt Änderungen an Ihren Images oder Ihrer Aufgabendefinitionsdatei und verwendet CodeDeploy sie, um den Datenverkehr an einen Amazon ECS-Cluster und Load Balancer weiterzuleiten und bereitzustellen. CodeDeploy erstellt einen neuen Listener auf Ihrem Load Balancer, der Ihre neue Aufgabe über einen speziellen Port ansprechen kann. Sie können die Pipeline auch so konfigurieren, dass sie einen Quellspeicherort verwendet, z. B. ein CodeCommit Repository, in dem Ihre Amazon ECS-Aufgabendefinition gespeichert ist.

Bevor Sie Ihre Pipeline erstellen, müssen Sie bereits die Amazon ECS-Ressourcen, die CodeDeploy Ressourcen sowie den Load Balancer und die Zielgruppe erstellt haben. Sie müssen das Bild bereits markiert und in Ihrem Image-Repository gespeichert und die Aufgabendefinition und die Datei in Ihr AppSpec Datei-Repository hochgeladen haben.

**Anmerkung**  
In diesem Thema wird die Bereitstellungsaktion von Amazon ECS auf CodeDeploy Blau/Grün für CodePipeline beschrieben. Referenzinformationen zu den standardmäßigen Bereitstellungsaktionen von Amazon ECS finden Sie unter[Referenz zur Bereitstellungsaktion von Amazon Elastic Container Service](action-reference-ECS.md). CodePipeline

**Topics**
+ [Aktionstyp](#action-reference-ECSbluegreen-type)
+ [Konfigurationsparameter](#action-reference-ECSbluegreen-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-ECSbluegreen-input)
+ [Ausgabeartefakte](#action-reference-ECSbluegreen-output)
+ [Berechtigungen für Servicerollen: `CodeDeployToECS` Aktion](#edit-role-codedeploy-ecs)
+ [Aktionsdeklaration](#action-reference-ECSbluegreen-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-ECSbluegreen-links)

## Aktionstyp
<a name="action-reference-ECSbluegreen-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `CodeDeployToECS`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-ECSbluegreen-config"></a>

**ApplicationName**  
Erforderlich: Ja  
Der Name der Anwendung in CodeDeploy. Bevor Sie Ihre Pipeline erstellen, müssen Sie die Anwendung bereits in erstellt haben CodeDeploy.

**DeploymentGroupName**  
Erforderlich: Ja  
Die für Amazon ECS-Aufgabensätze angegebene Bereitstellungsgruppe, die Sie für Ihre CodeDeploy Anwendung erstellt haben. Bevor Sie Ihre Pipeline erstellen, müssen Sie die Bereitstellungsgruppe bereits in erstellt haben CodeDeploy.

**TaskDefinitionTemplateArtifact**  
Erforderlich: Ja  
Der Name des Eingabeartefakts, das die Aufgabendefinitionsdatei für die Bereitstellungsaktion bereitstellt. Dies ist im Allgemeinen der Name des Ausgabeartefakts aus der Quellaktion. Wenn Sie die Konsole verwenden, lautet der Standardname für das Ausgabeartefakt der Quellaktion. `SourceArtifact`

**AppSpecTemplateArtifact**  
Erforderlich: Ja  
Der Name des Eingabeartefakts, das die AppSpec Datei für die Bereitstellungsaktion bereitstellt. Dieser Wert wird aktualisiert, wenn Ihre Pipeline ausgeführt wird. Dies ist im Allgemeinen der Name des Ausgabeartefakts aus der Quellaktion. Wenn Sie die Konsole verwenden, lautet der Standardname für das Ausgabeartefakt der Quellaktion. `SourceArtifact` [Für `TaskDefinition` AppSpec Dateien können Sie den `<TASK_DEFINITION>` Platzhaltertext wie hier gezeigt beibehalten.](tutorials-ecs-ecr-codedeploy.md#tutorials-ecs-ecr-codedeploy-taskdefinition)

**AppSpecTemplatePath**  
Erforderlich: Nein  
Der Dateiname der Datei, die am AppSpec Speicherort der Pipeline-Quelldatei gespeichert ist, z. B. das CodeCommit Repository Ihrer Pipeline. Der Standarddateiname ist `appspec.yaml`. Wenn Ihre AppSpec Datei denselben Namen hat und auf der Stammebene in Ihrem Datei-Repository gespeichert ist, müssen Sie den Dateinamen nicht angeben. Wenn der Pfad nicht der Standardpfad ist, geben Sie den Pfad und den Dateinamen ein.

**TaskDefinitionTemplatePath**  
Erforderlich: Nein  
Der Dateiname der Aufgabendefinition, die im Quellverzeichnis der Pipeline-Datei gespeichert ist, z. B. im CodeCommit Repository Ihrer Pipeline. Der Standarddateiname ist `taskdef.json`. Wenn Ihre Aufgabendefinitionsdatei denselben Namen hat und auf der Stammebene in Ihrem Datei-Repository gespeichert ist, müssen Sie den Dateinamen nicht angeben. Wenn der Pfad nicht der Standardpfad ist, geben Sie den Pfad und den Dateinamen ein.

**Bild <Number>ArtifactName**  
Erforderlich: Nein  
Der Name des Eingabeartefakts, das das Bild für die Bereitstellungsaktion bereitstellt. Dies ist im Allgemeinen das Ausgabeartefakt des Bild-Repositorys, z. B. die Ausgabe aus der Amazon ECR-Quellaktion.  
Verfügbare Werte für `<Number>` sind 1 bis 4.

**Bild <Number>ContainerName**  
Erforderlich: Nein  
Der Name des Bilds, das im Bild-Repository verfügbar ist, z. B. im Amazon ECR-Quell-Repository.  
Verfügbare Werte für `<Number>` sind 1 bis 4.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-ECSbluegreen-input"></a>
+ **Anzahl der Artefakte:** `1 to 5`
+ **Beschreibung:** Die `CodeDeployToECS` Aktion sucht zuerst nach der Aufgabendefinitionsdatei und der AppSpec Datei im Quelldatei-Repository, danach nach dem Bild im Image-Repository, generiert dann dynamisch eine neue Version der Aufgabendefinition und führt schließlich die AppSpec Befehle aus, um den Tasksatz und den Container im Cluster bereitzustellen.

  Die `CodeDeployToECS` Aktion sucht nach einer `imageDetail.json` Datei, die den Bild-URI dem Bild zuordnet. Wenn Sie eine Änderung an Ihrem Amazon ECR-Image-Repository festschreiben, erstellt die Pipeline-ECR-Quellaktion eine `imageDetail.json` Datei für diesen Commit. Sie können auch manuell eine `imageDetail.json` Datei für eine Pipeline hinzufügen, bei der die Aktion nicht automatisiert ist. Informationen zur `imageDetail.json`-Datei finden Sie unter [ImageDetail.json-Datei für Amazon ECS-Bereitstellungsaktionen blue/green](file-reference.md#file-reference-ecs-bluegreen).

  Die `CodeDeployToECS` Aktion generiert dynamisch eine neue Version der Aufgabendefinition. In dieser Phase ersetzt diese Aktion Platzhalter in der Aufgabendefinitionsdatei durch Bild-URI, die aus ImageDetail.json-Dateien abgerufen wurde. Wenn Sie beispielsweise *IMAGE1\$1NAME* als ContainerName Image1-Parameter festlegen, sollten Sie den Platzhalter *< IMAGE1 \$1NAME>* als Wert des Bildfeldes in Ihrer Aufgabendefinitionsdatei angeben. In diesem Fall ersetzt die CodeDeployTo ECS-Aktion den Platzhalter *< IMAGE1 \$1NAME> durch die tatsächliche Bild-URI, die aus ImageDetail.json* in dem Artefakt abgerufen wurde, das Sie als Image1 angeben. ArtifactName

  Bei Aktualisierungen der Aufgabendefinition enthält die Datei die Eigenschaft. CodeDeploy `AppSpec.yaml` `TaskDefinition` 

  ```
  TaskDefinition: <TASK_DEFINITION>
  ```

  Diese Eigenschaft wird durch die `CodeDeployToECS` Aktion aktualisiert, nachdem die neue Aufgabendefinition erstellt wurde.

  <TASK\$1DEFINITION>Für den Wert des `TaskDefinition` Felds muss der Platzhaltertext sein. Die `CodeDeployToECS` Aktion ersetzt diesen Platzhalter durch den tatsächlichen ARN der dynamisch generierten Aufgabendefinition.

## Ausgabeartefakte
<a name="action-reference-ECSbluegreen-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: `CodeDeployToECS` Aktion
<a name="edit-role-codedeploy-ecs"></a>

Für die `CodeDeployToECS` Aktion (blue/green deployments), the following are the minimum permissions needed to create pipelines with a CodeDeploy to Amazon ECS blue/greenBereitstellungsaktion).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCodeDeployDeploymentActions",
            "Action": [
                "codedeploy:CreateDeployment",
                "codedeploy:GetDeployment"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:deploymentgroup:[[ApplicationName]]/*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowCodeDeployApplicationActions",
            "Action": [
                "codedeploy:GetApplication",
                "codedeploy:GetApplicationRevision",
                "codedeploy:RegisterApplicationRevision"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:application:[[ApplicationName]]",
                "arn:aws:codedeploy:*:111122223333:application:[[ApplicationName]]/*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowCodeDeployDeploymentConfigAccess",
            "Action": [
                "codedeploy:GetDeploymentConfig"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:deploymentconfig:*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowECSRegisterTaskDefinition",
            "Action": [
                "ecs:RegisterTaskDefinition"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Sid": "AllowPassRoleToECS",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::111122223333:role/[[PassRoles]]"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ecs.amazonaws.com",
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Sie können sich für die Verwendung der Tagging-Autorisierung in Amazon ECS entscheiden. Wenn Sie sich anmelden, müssen Sie die folgenden Berechtigungen gewähren:. `ecs:TagResource` Weitere Informationen darüber, wie Sie sich anmelden und feststellen können, ob die Genehmigung erforderlich ist und die Tag-Autorisierung durchgesetzt wird, finden Sie unter [Zeitplan für die Tagging-Autorisierung](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) im Amazon Elastic Container Service Developer Guide.

Sie müssen auch die `iam:PassRole` Berechtigungen hinzufügen, um IAM-Rollen für Aufgaben verwenden zu können. Weitere Informationen finden Sie unter [IAM-Rolle für die Ausführung von Amazon ECS-Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) und [IAM-Rollen für Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

Sie können der Liste der Dienste unter der `iam:PassedToService` Bedingung auch etwas hinzufügen`ecs-tasks.amazonaws.com`, wie im obigen Beispiel gezeigt.

## Aktionsdeklaration
<a name="action-reference-ECSbluegreen-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: CodeDeployToECS
      Version: '1'
    RunOrder: 1
    Configuration:
      AppSpecTemplateArtifact: SourceArtifact
      ApplicationName: ecs-cd-application
      DeploymentGroupName: ecs-deployment-group
      Image1ArtifactName: MyImage
      Image1ContainerName: IMAGE1_NAME
      TaskDefinitionTemplatePath: taskdef.json
      AppSpecTemplatePath: appspec.yaml
      TaskDefinitionTemplateArtifact: SourceArtifact
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
      - Name: MyImage
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "CodeDeployToECS",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "AppSpecTemplateArtifact": "SourceArtifact",
                "ApplicationName": "ecs-cd-application",
                "DeploymentGroupName": "ecs-deployment-group",
                "Image1ArtifactName": "MyImage",
                "Image1ContainerName": "IMAGE1_NAME",
                "TaskDefinitionTemplatePath": "taskdef.json",
                "AppSpecTemplatePath": "appspec.yaml",
                "TaskDefinitionTemplateArtifact": "SourceArtifact"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                },
                {
                    "Name": "MyImage"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-ECSbluegreen-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Eine Pipeline mit einer Amazon ECR-Quelle und ECS-to-CodeDeploy Bereitstellung erstellen](tutorials-ecs-ecr-codedeploy.md)— Dieses Tutorial führt Sie durch die Erstellung der Ressourcen CodeDeploy und die Amazon ECS-Ressourcen, die Sie für eine blue/green Bereitstellung benötigen. Das Tutorial zeigt Ihnen, wie Sie ein Docker-Image an Amazon ECR übertragen und eine Amazon ECS-Aufgabendefinition erstellen, die Ihren Docker-Image-Namen, Container-Namen, Amazon ECS-Servicenamen und Load Balancer-Konfiguration auflistet. Das Tutorial führt Sie anschließend durch die Erstellung der AppSpec Datei und der Pipeline für Ihre Bereitstellung.
**Anmerkung**  
In diesem Thema und in der Anleitung wird die CodeDeploy/ECS blau/grüne Aktion für CodePipeline beschrieben. Informationen zu den ECS-Standardaktionen finden Sie unter [Tutorial: Kontinuierlicher Einsatz mit CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html). CodePipeline
+ *AWS CodeDeploy Benutzerhandbuch* — Informationen zur Verwendung des Load Balancers, des Produktions-Listeners, der Zielgruppen und Ihrer Amazon ECS-Anwendung in einer blue/green Bereitstellung finden Sie unter [Tutorial: Bereitstellen eines Amazon ECS-Service](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-ecs-deployment.html). Diese Referenzinformationen im *AWS CodeDeploy Benutzerhandbuch* bieten einen Überblick über Blue/Green-Bereitstellungen mit Amazon ECS und. AWS CodeDeploy
+ *Amazon Elastic Container Service Developer Guide* — Informationen zur Arbeit mit Docker-Images und Containern, ECS-Services und -Clustern sowie ECS-Aufgabensätzen finden Sie unter [Was ist Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)?

# Referenz zur Bereitstellungsaktion von Amazon Elastic Container Service
<a name="action-reference-ECS"></a>

Sie können eine Amazon ECS-Aktion verwenden, um einen Amazon ECS-Service und einen Tasksatz bereitzustellen. Ein Amazon ECS-Service ist eine Container-Anwendung, die in einem Amazon ECS-Cluster bereitgestellt wird. Ein Amazon ECS-Cluster ist eine Sammlung von Instances, die Ihre Container-Anwendung in der Cloud hosten. Die Bereitstellung erfordert eine Aufgabendefinition, die Sie in Amazon ECS erstellen, und eine Image-Definitionsdatei, die zur Bereitstellung des Images CodePipeline verwendet wird.

**Wichtig**  
Die Amazon ECS-Standardbereitstellungsaktion für CodePipeline erstellt eine eigene Revision der Aufgabendefinition, die auf der vom Amazon ECS-Service verwendeten Version basiert. Wenn Sie neue Revisionen für die Aufgabendefinition erstellen, ohne den Amazon ECS-Service zu aktualisieren, ignoriert die Bereitstellungsaktion diese Revisionen.

Bevor Sie Ihre Pipeline erstellen, müssen Sie die Amazon ECS-Ressourcen bereits erstellt, das Bild markiert und in Ihrem Image-Repository gespeichert und die BuildSpec Datei in Ihr Datei-Repository hochgeladen haben.

**Anmerkung**  
In diesem Referenzthema wird die Amazon ECS-Standardbereitstellungsaktion für beschrieben CodePipeline. Referenzinformationen zu den Bereitstellungsaktionen von Amazon ECS to CodeDeploy Blue/Green finden Sie CodePipeline unter[Referenz für Amazon Elastic Container Service und CodeDeploy blaugrüne Bereitstellungsaktionen](action-reference-ECSbluegreen.md).

**Topics**
+ [Aktionstyp](#action-reference-ECS-type)
+ [Konfigurationsparameter](#action-reference-ECS-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-ECS-input)
+ [Ausgabeartefakte](#action-reference-ECS-output)
+ [Berechtigungen für Servicerollen: Amazon ECS-Standardaktion](#edit-role-ecs)
+ [Aktionsdeklaration](#action-reference-ECS-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-ECS-links)

## Aktionstyp
<a name="action-reference-ECS-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `ECS`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-ECS-config"></a>

**ClusterName**  
Erforderlich: Ja  
Der Amazon ECS-Cluster in Amazon ECS.

**ServiceName**  
Erforderlich: Ja  
Der Amazon ECS-Service, den Sie in Amazon ECS erstellt haben.

**FileName**  
Erforderlich: Nein  
Der Name Ihrer Image-Definitionsdatei, die JSON-Datei, die den Container-Namen Ihres Services beschreibt, sowie das Bild und das Tag. Sie verwenden diese Datei für ECS-Standardbereitstellungen. Weitere Informationen erhalten Sie unter [Input artifacts (Eingabeartefakte)](#action-reference-ECS-input) und [Datei imagedefinitions.json für Amazon ECS-Standardbereitstellungsaktionen](file-reference.md#pipelines-create-image-definitions).

**DeploymentTimeout**  
Erforderlich: Nein  
Das Zeitlimit für die Amazon ECS-Bereitstellungsaktion in Minuten. Die Zeitüberschreitung kann bis zum maximalen Standard-Timeout für diese Aktion konfiguriert werden. Beispiel:   

```
"DeploymentTimeout": "15"
```

## Input artifacts (Eingabeartefakte)
<a name="action-reference-ECS-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die Aktion sucht nach einer `imagedefinitions.json` Datei im Quelldatei-Repository für die Pipeline. Ein Imagedefinitionsdokument ist eine JSON-Datei, die Ihren Amazon ECS-Container-Namen sowie das Bild und das Tag beschreibt. CodePipeline verwendet die Datei, um das Bild aus Ihrem Bild-Repository wie Amazon ECR abzurufen. Sie können manuell eine `imagedefinitions.json` Datei für eine Pipeline hinzufügen, in der die Aktion nicht automatisiert ist. Informationen zur `imagedefinitions.json`-Datei finden Sie unter [Datei imagedefinitions.json für Amazon ECS-Standardbereitstellungsaktionen](file-reference.md#pipelines-create-image-definitions).

  Für die Aktion ist ein vorhandenes Image erforderlich, das bereits in Ihr Image-Repository übertragen wurde. Da die Image-Zuordnung von der `imagedefinitions.json` Datei bereitgestellt wird, erfordert die Aktion nicht, dass die Amazon ECR-Quelle als Quellaktion in die Pipeline aufgenommen wird.

## Ausgabeartefakte
<a name="action-reference-ECS-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: Amazon ECS-Standardaktion
<a name="edit-role-ecs"></a>

Für Amazon ECS sind die folgenden Mindestberechtigungen aufgeführt, die zum Erstellen von Pipelines mit einer Amazon ECS-Bereitstellungsaktion erforderlich sind.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TaskDefinitionPermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeTaskDefinition",
                "ecs:RegisterTaskDefinition"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "ECSServicePermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeServices",
                "ecs:UpdateService"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:service/[[clusters]]/*"
            ]
        },
        {
            "Sid": "ECSTagResource",
            "Effect": "Allow",
            "Action": [
                "ecs:TagResource"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:task-definition/[[taskDefinitions]]:*"
            ],
            "Condition": {
                "StringEquals": {
                    "ecs:CreateAction": [
                        "RegisterTaskDefinition"
                    ]
                }
            }
        },
        {
            "Sid": "IamPassRolePermissions",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::111122223333:role/[[passRoles]]"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ecs.amazonaws.com",
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Sie können sich für die Verwendung der Tagging-Autorisierung in Amazon ECS entscheiden. Wenn Sie sich anmelden, müssen Sie die folgenden Berechtigungen erteilen:. `ecs:TagResource` Weitere Informationen darüber, wie Sie sich anmelden und feststellen können, ob die Genehmigung erforderlich ist und die Tag-Autorisierung durchgesetzt wird, finden Sie unter [Zeitplan für die Tagging-Autorisierung](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) im Amazon Elastic Container Service Developer Guide.

Sie müssen die `iam:PassRole` Berechtigungen hinzufügen, um IAM-Rollen für Aufgaben verwenden zu können. Weitere Informationen finden Sie unter [IAM-Rolle für die Ausführung von Amazon ECS-Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) und [IAM-Rollen für Aufgaben](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html). Verwenden Sie den folgenden Richtlinientext.

## Aktionsdeklaration
<a name="action-reference-ECS-example"></a>

------
#### [ YAML ]

```
Name: DeployECS
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: ECS
  Version: '1'
RunOrder: 2
Configuration:
  ClusterName: my-ecs-cluster
  ServiceName: sample-app-service
  FileName: imagedefinitions.json
  DeploymentTimeout: '15'
OutputArtifacts: []
InputArtifacts:
  - Name: my-image
```

------
#### [ JSON ]

```
{
    "Name": "DeployECS",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "ECS",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ClusterName": "my-ecs-cluster",
        "ServiceName": "sample-app-service",
        "FileName": "imagedefinitions.json",
        "DeploymentTimeout": "15"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "my-image"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-ECS-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ In einem Tutorial erfahren Sie, wie Sie die Aktion „ ECRBuildandVeröffentlichen“ verwenden, um ein Bild zu übertragen und anschließend die ECS-Standardaktion für die Bereitstellung in Amazon ECS zu verwenden. [Tutorial: Erstellen Sie ein Docker-Image und übertragen Sie es auf Amazon ECR mit CodePipeline (Typ V2)](tutorials-ecr-build-publish.md)
+ [Tutorial: Kontinuierliche Bereitstellung mit CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html) — Dieses Tutorial zeigt Ihnen, wie Sie ein Dockerfile erstellen, das Sie in einem Quelldatei-Repository speichern, wie z. CodeCommit Als Nächstes zeigt Ihnen das Tutorial, wie Sie eine CodeBuild BuildSpec Datei integrieren, die Ihr Docker-Image erstellt und an Amazon ECR überträgt und Ihre imagedefinitions.json-Datei erstellt. Schließlich erstellen Sie einen Amazon ECS-Service und eine Aufgabendefinition und dann erstellen Sie Ihre Pipeline mit einer Amazon ECS-Bereitstellungsaktion.
**Anmerkung**  
Dieses Thema und dieses Tutorial beschreiben die Amazon ECS-Standardbereitstellungsaktion für CodePipeline. Informationen zu den Bereitstellungsaktionen von Amazon ECS to CodeDeploy Blue/Green finden Sie CodePipeline unter[Tutorial: Eine Pipeline mit einer Amazon ECR-Quelle und ECS-to-CodeDeploy Bereitstellung erstellen](tutorials-ecs-ecr-codedeploy.md).
+ *Amazon Elastic Container Service Developer Guide* — Informationen zur Arbeit mit Docker-Images und Containern, Amazon ECS-Services und -Clustern sowie Amazon ECS-Aufgabensätzen finden Sie unter [Was ist Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)?

# Referenz zur `EKS` Bereitstellungsaktion von Amazon Elastic Kubernetes Service
<a name="action-reference-EKS"></a>

Sie können die `EKSDeploy` Aktion verwenden, um einen Amazon EKS-Service bereitzustellen. Für die Bereitstellung ist eine Kubernetes-Manifestdatei erforderlich, die zur Bereitstellung des Images CodePipeline verwendet wird.

Bevor Sie Ihre Pipeline erstellen, müssen Sie die Amazon EKS-Ressourcen bereits erstellt und das Bild in Ihrem Image-Repository gespeichert haben. Optional können Sie VPC-Informationen für Ihren Cluster angeben.

**Wichtig**  
Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.

**Anmerkung**  
Die Aktion „`EKS`Bereitstellen“ ist nur für Pipelines vom Typ V2 verfügbar.

Die EKS-Aktion unterstützt sowohl öffentliche als auch private EKS-Cluster. Private Cluster sind der von EKS empfohlene Typ. Beide Typen werden jedoch unterstützt.

Die EKS-Aktion wird für kontoübergreifende Aktionen unterstützt. Um eine kontoübergreifende EKS-Aktion hinzuzufügen, fügen Sie in der Aktionserklärung die Aktion `actionRoleArn` von Ihrem Zielkonto aus hinzu.

**Topics**
+ [Aktionstyp](#action-reference-EKS-type)
+ [Konfigurationsparameter](#action-reference-EKS-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-EKS-input)
+ [Ausgabeartefakte](#action-reference-EKS-output)
+ [Umgebungsvariablen](#action-reference-EKS-env-variables)
+ [Ausgabevariablen](#action-reference-EKS-output-vars)
+ [Richtlinienberechtigungen für die Servicerolle](#action-reference-EKS-service-role)
+ [Aktionsdeklaration](#action-reference-EKS-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-EKS-links)

## Aktionstyp
<a name="action-reference-EKS-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `EKS`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-EKS-config"></a>

**ClusterName**  
Erforderlich: Ja  
Der Amazon EKS-Cluster in Amazon EKS.

**Optionen unter dem Dach**  
Die folgenden Optionen sind verfügbar, wenn **Helm** das ausgewählte Bereitstellungstool ist.    
**HelmReleaseName **  
Erforderlich: Ja (nur für den **Helmtyp** erforderlich)  
Der Versionsname für Ihre Bereitstellung.  
**HelmChartLocation **  
Erforderlich: Ja (nur für den **Helmtyp** erforderlich)  
Die Position im Diagramm für Ihren Einsatz.  
**HelmValuesFiles **  
Erforderlich: Nein (optional nur für den **Helmtyp**)  
Um sie für Helm-Werte-Dateien zu überschreiben, geben Sie die kommagetrennten Helm-Werte-Dateien an der Position des Helmdiagramms ein.

**Optionen unter Kubectl**  
Die folgenden Optionen sind verfügbar, wenn **Kubectl das ausgewählte Bereitstellungstool** ist.    
**ManifestFiles**  
Erforderlich: Ja (nur für den Typ **Kubectl** erforderlich)  
Der Name Ihrer Manifestdatei, die Textdatei, die den Container-Namen Ihres Dienstes beschreibt, sowie das Bild und das Tag. Sie verwenden diese Datei, um Ihre Bild-URI und andere Informationen zu parametrisieren. Zu diesem Zweck können Sie eine Umgebungsvariable verwenden.  
 Sie speichern diese Datei im Quell-Repository für Ihre Pipeline.

**Namespace**  
Erforderlich: Nein  
Der Kubernetes-Namespace, der in unseren Befehlen verwendet werden soll. `kubectl` `helm`

**Subnets**  
Erforderlich: Nein  
Die Subnetze für die VPC für Ihren Cluster. Diese sind Teil derselben VPC, die mit Ihrem Cluster verbunden ist. Sie können auch Subnetze angeben, die noch nicht mit Ihrem Cluster verbunden sind, und sie hier angeben.

**SecurityGroupIds**  
Erforderlich: Nein  
Die Sicherheitsgruppen für die VPC für Ihren Cluster. Diese sind Teil derselben VPC, die mit Ihrem Cluster verbunden ist. Sie können auch Sicherheitsgruppen angeben, die noch nicht an Ihren Cluster angehängt sind, und sie hier angeben.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-EKS-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die Aktion sucht im Quelldatei-Repository für die Pipeline nach der Kubernetes-Manifestdatei oder dem Helm-Diagramm. Wenn Sie Helmdiagramme im TGZ-Format verwenden möchten, die in einem S3-Bucket gespeichert sind, können Sie dies tun, indem Sie S3 Bucket/Key als Ihre Quellaktion konfigurieren. Der bereitgestellte Objektschlüssel wäre beispielsweise. `my-chart-0.1.0.tgz`

## Ausgabeartefakte
<a name="action-reference-EKS-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Umgebungsvariablen
<a name="action-reference-EKS-env-variables"></a>

Wird verwendet, um Variablen wie Bild-Repositorys oder Bild-Tags in Manifestdateien oder Helm-Diagrammwertdateien zu ersetzen.

**Key (Schlüssel)**  
Der Schlüssel in einem Schlüssel-Wert-Umgebungsvariablenpaar, wie z. `$IMAGE_TAG`

**Wert**  
Der Wert für das Schlüssel-Wert-Paar, z. B. `v1.0` Der Wert kann mit Ausgabevariablen von Pipeline-Aktionen oder Pipeline-Variablen parametrisiert werden. Pipeline kann beispielsweise über eine ECRBuild AndPublish Aktion verfügen, mit der ein ECR-Bild erstellt wird`${codepipeline.PipelineExecutionId}`, und die EKS-Aktion kann dieses Bild `${codepipeline.PipelineExecutionId}` als Wert der Umgebungsvariablen verwenden. 

## Ausgabevariablen
<a name="action-reference-EKS-output-vars"></a>

**EKSClusterName**  
Der Amazon EKS-Cluster in Amazon EKS.

## Richtlinienberechtigungen für die Servicerolle
<a name="action-reference-EKS-service-role"></a>

Um diese Aktion auszuführen, müssen die folgenden Berechtigungen in der Servicerollenrichtlinie Ihrer Pipeline verfügbar sein.
+ **EC2-Aktionen:** Wenn die Aktion CodePipeline ausgeführt wird, sind EC2-Instanzberechtigungen erforderlich. Beachten Sie, dass dies nicht mit der EC2-Instance-Rolle identisch ist, die für die Erstellung Ihres EKS-Clusters erforderlich ist.

  Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie zur Verwendung dieser Aktion die folgenden Berechtigungen für die Servicerolle hinzufügen.
  + ec2: CreateNetworkInterface
  + ec2: DescribeDhcpOptions
  + ec2: DescribeNetworkInterfaces
  + ec2: DeleteNetworkInterface
  + ec2: DescribeSubnets
  + ec2: DescribeSecurityGroups
  + ec2: DescribeVpcs
+ **EKS-Aktionen:** Wenn die Aktion CodePipeline ausgeführt wird, sind EKS-Clusterberechtigungen erforderlich. Beachten Sie, dass dies nicht mit der IAM-EKS-Clusterrolle identisch ist, die für die Erstellung Ihres EKS-Clusters erforderlich ist.

  Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie zur Verwendung dieser Aktion die folgende Berechtigung für die Servicerolle hinzufügen.
  + Eks: DescribeCluster
+ **Stream-Aktionen protokollieren:** Wenn die Aktion CodePipeline ausgeführt CodePipeline wird, wird eine Protokollgruppe mit dem Namen der Pipeline wie folgt erstellt. Auf diese Weise können Sie die Berechtigungen für die Protokollierung von Ressourcen mithilfe des Pipeline-Namens einschränken.

  ```
  /aws/codepipeline/MyPipelineName
  ```

  Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie zur Verwendung dieser Aktion die folgenden Berechtigungen für die Servicerolle hinzufügen.
  + Protokolle: CreateLogGroup
  + Protokolle: CreateLogStream
  + Protokolle: PutLogEvents

Beschränken Sie die Berechtigungen in der Richtlinie zur Servicerolle auf die Ressourcenebene, wie im folgenden Beispiel gezeigt.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eks:DescribeCluster"
            ],
            "Resource": "arn:aws:eks:*:111122223333:cluster/YOUR_CLUSTER_NAME"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs",
                "ec2:DescribeRouteTables"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:CreateLogGroup",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:111122223333:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME",
                "arn:aws:logs:*:111122223333:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
            ]
        }
    ]
}
```

------

Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzeigen zu können, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für die Richtlinie zu Konsolenberechtigungen unter[Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich](security-iam-permissions-console-logs.md).

### Hinzufügen der Servicerolle als Zugriffseintrag für Ihren Cluster
<a name="action-reference-EKS-service-role-access"></a>

Nachdem die Berechtigungen in der Servicerollenrichtlinie Ihrer Pipeline verfügbar sind, konfigurieren Sie Ihre Clusterberechtigungen, indem Sie die CodePipeline Servicerolle als Zugriffseintrag für Ihren Cluster hinzufügen.

Sie können auch eine Aktionsrolle verwenden, die über die aktualisierten Berechtigungen verfügt. Weitere Informationen finden Sie im Tutorial-Beispiel unter[Schritt 4: Erstellen Sie einen Zugriffseintrag für die CodePipeline Servicerolle](tutorials-eks-deploy.md#tutorials-eks-deploy-access-entry).

## Aktionsdeklaration
<a name="action-reference-EKS-example"></a>

------
#### [ YAML ]

```
Name: DeployEKS
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: EKS
  Version: '1'
RunOrder: 2
Configuration:
  ClusterName: my-eks-cluster
  ManifestFiles: ManifestFile.json
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
```

------
#### [ JSON ]

```
{
    "Name": "DeployECS",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "EKS",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ClusterName": "my-eks-cluster",
        "ManifestFiles": "ManifestFile.json"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-EKS-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ Ein Tutorial, das zeigt, wie Sie einen EKS-Cluster und eine Kubernetes-Manifestdatei erstellen, um die Aktion zu Ihrer Pipeline hinzuzufügen, finden [Tutorial: Bereitstellung auf Amazon EKS mit CodePipeline](tutorials-eks-deploy.md) Sie unter.

# AWS Lambda Aktionsreferenz bereitstellen
<a name="action-reference-LambdaDeploy"></a>

Sie verwenden eine AWS Lambda Bereitstellungsaktion, um die Bereitstellung Ihres Anwendungscodes für Ihre serverlose Bereitstellung zu verwalten. Sie können eine Funktion wie folgt bereitstellen und Bereitstellungsstrategien für die Bereitstellung des Datenverkehrs verwenden:
+ Kanarische und lineare Bereitstellungen zur Verkehrsverlagerung
+ Bereitstellungen auf einmal

**Anmerkung**  
Diese Aktion wird nur für Pipelines vom Typ V2 unterstützt.

**Topics**
+ [Aktionstyp](#action-reference-LambdaDeploy-type)
+ [Konfigurationsparameter](#action-reference-LambdaDeploy-parameters)
+ [Input artifacts (Eingabeartefakte)](#action-reference-LambdaDeploy-input)
+ [Ausgabeartefakte](#action-reference-LambdaDeploy-output)
+ [Ausgabevariablen](#action-reference-LambdaDeploy-output-variables)
+ [Berechtigungen der Servicerollenrichtlinie für die Lambda-Bereitstellungsaktion](#action-reference-LambdaDeploy-permissions-action)
+ [Aktionsdeklaration](#action-reference-LambdaDeploy-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-LambdaDeploy-links)

## Aktionstyp
<a name="action-reference-LambdaDeploy-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `Lambda`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-LambdaDeploy-parameters"></a>

**FunctionName**  
Erforderlich: Ja  
Der Name der Funktion, die Sie in Lambda erstellt haben, z. B. `MyLambdaFunction`  
Sie müssen bereits eine Version erstellt haben.

**FunctionAlias**  
Erforderlich: Nein  
Der Alias der Funktion, die Sie in Lambda erstellt haben und für die die Bereitstellung vorgesehen ist, z. B. `live` Der Alias muss existieren und hinter ihm muss eine Version stehen, wenn die Ausführung der Aktion gestartet wird. (Es wird die Rollback-Zielversion sein.)  
Falls nicht angegeben, stellt die Aktion das Quellartefakt bereit `$LATEST` und erstellt eine neue Version. In diesem Anwendungsfall sind die Optionen für die Bereitstellungsstrategie und die Zielversion nicht verfügbar. 

**PublishedTargetVersion**  
Erforderlich: Nein  
Die gewünschte Lambda-Funktionsversion, für die bereitgestellt werden soll. FunctionAlias Dabei kann es sich um Variablen auf Pipeline- oder Aktionsebene handeln, wie `#{variables.lambdaTargetVersion}` z. Die Version muss veröffentlicht werden, wenn die Ausführung der Aktion gestartet wird.  
Erforderlich, wenn kein Eingabeartefakt bereitgestellt wird.

**DeployStrategy**  
Erforderlich: Nein (Standard ist`AllAtOnce`)  
  
Bestimmt die Geschwindigkeit, mit der die Lambda-Bereitstellungsaktion den Datenverkehr von der ursprünglichen Version der Lambda-Funktion auf die neue Version umleitet. **FunctionAlias** Verfügbare Bereitstellungsstrategien sind kanarisch oder linear. Zulässige Formate:  
+ `AllAtOnce` - 

  Leitet den gesamten Datenverkehr auf einmal auf die aktualisierten Lambda-Funktionen um.

   Falls nicht angegeben, ist `AllAtOnce` die Standardeinstellung)
+ `Canary10Percent5Minutes`- Verschiebt 10 Prozent des Datenverkehrs in der ersten Stufe. Die restlichen 90 Prozent werden fünf Minuten später bereitgestellt.

  Die Werte sowohl für den Prozentsatz als auch für die Minuten können geändert werden.
+ `Linear10PercentEvery1Minute`- Verschiebt jede Minute 10 Prozent des Verkehrs, bis der gesamte Verkehr verlagert ist.

  Die Werte sowohl für den Prozentsatz als auch für die Minuten können geändert werden.
Für dieses Feld gelten die folgenden Überlegungen:  
+ Die maximale Gesamtwartezeit beträgt 2 Tage.
+ Nur verfügbar, **FunctionAlias**wenn angegeben.


**Alarme**  
Erforderlich: Nein  
Eine durch Kommas getrennte Liste von Alarmnamen, die für die Lambda-Bereitstellung konfiguriert wurden. Es können höchstens 10 Alarme hinzugefügt werden. Die Aktion schlägt fehl, wenn überwachte Alarme in den ALARM-Status wechseln.

Die folgende Abbildung zeigt ein Beispiel für die Bearbeitungsseite für die Aktion.

![\[Die Aktionsseite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktion Lambda Deploy\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/lambdadeploy-edit-screen.png)


## Input artifacts (Eingabeartefakte)
<a name="action-reference-LambdaDeploy-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die bereitgestellten Dateien, falls vorhanden, um die Skriptaktionen während der Bereitstellung zu unterstützen.

## Ausgabeartefakte
<a name="action-reference-LambdaDeploy-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Ausgabevariablen
<a name="action-reference-LambdaDeploy-output-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen. 

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

**FunctionVersion**  
Die neue Lambda-Funktionsversion, die bereitgestellt wurde.

## Berechtigungen der Servicerollenrichtlinie für die Lambda-Bereitstellungsaktion
<a name="action-reference-LambdaDeploy-permissions-action"></a>

Wenn die Aktion CodePipeline ausgeführt wird, benötigt die CodePipeline Servicerolle die folgenden Berechtigungen, die entsprechend auf den Zugriff mit den geringsten Rechten beschränkt sind.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StatementForLambda",
            "Effect": "Allow",
            "Action": [
                "lambda:GetAlias",
                "lambda:GetFunctionConfiguration",
                "lambda:GetProvisionedConcurrencyConfig",
                "lambda:PublishVersion",
                "lambda:UpdateAlias",
                "lambda:UpdateFunctionCode"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:111122223333:function:{{FunctionName}}",
                "arn:aws:lambda:us-east-1:111122223333:function:{{FunctionName}}:*"
            ]
        },
        {
            "Sid": "StatementForCloudWatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms"
            ],
            "Resource": [
                "arn:aws:cloudwatch:us-east-1:111122223333:alarm:{{AlarmNames}}"
            ]
        },
        {
            "Sid": "StatementForLogs1",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:/us-east-1/codepipeline/{{pipelineName}}",
                "arn:aws:logs:us-east-1:111122223333:log-group:/us-east-1/codepipeline/{{pipelineName}}:*"
            ]
        },
        {
            "Sid": "StatementForLogs2",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:/us-east-1/codepipeline/{{pipelineName}}:log-stream:*"
            ]
        }
    ]
}
```

------

## Aktionsdeklaration
<a name="action-reference-LambdaDeploy-example"></a>

------
#### [ YAML ]

```
name: Deploy
actionTypeId:
  category: Deploy
  owner: AWS
  provider: Lambda
  version: '1'
runOrder: 1
configuration:
  DeployStrategy: Canary10Percent5Minutes
  FunctionAlias: aliasV1
  FunctionName: MyLambdaFunction
outputArtifacts: []
inputArtifacts:
- name: SourceArtifact
region: us-east-1
namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "name": "Deploy",
    "actionTypeId": {
        "category": "Deploy",
        "owner": "AWS",
        "provider": "Lambda",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "DeployStrategy": "Canary10Percent5Minutes",
        "FunctionAlias": "aliasV1",
        "FunctionName": "MyLambdaFunction"
    },
    "outputArtifacts": [],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "region": "us-east-1",
    "namespace": "DeployVariables"
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-LambdaDeploy-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+  [Tutorial: Bereitstellung von Lambda-Funktionen mit CodePipeline](tutorials-lambda-deploy.md)— Dieses Tutorial führt Sie durch die Erstellung einer Lambda-Beispielfunktion, in der Sie einen Alias und eine Version erstellen, die komprimierte Lambda-Funktion zu Ihrem Quellspeicherort hinzufügen und die Lambda-Aktion in Ihrer Pipeline ausführen.

# Referenz zur Amazon S3 S3-Bereitstellungsaktion
<a name="action-reference-S3Deploy"></a>

Sie verwenden eine Amazon S3 S3-Bereitstellungsaktion, um Dateien in einem Amazon S3 S3-Bucket bereitzustellen, um statische Websites zu hosten oder zu archivieren. Sie können angeben, ob Bereitstellungsdateien vor dem Hochladen in Ihren Bucket extrahiert werden sollen.

**Anmerkung**  
In diesem Referenzthema wird die Amazon S3 S3-Bereitstellungsaktion beschrieben, bei der es CodePipeline sich bei der Bereitstellungsplattform um einen Amazon S3 S3-Bucket handelt, der für das Hosting konfiguriert ist. Referenzinformationen zur Amazon S3 S3-Quellaktion finden Sie unter[Referenz zur Amazon S3 S3-Quellaktion](action-reference-S3.md). CodePipeline

**Topics**
+ [Aktionstyp](#action-reference-S3Deploy-type)
+ [Konfigurationsparameter](#action-reference-S3Deploy-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-S3Deploy-input)
+ [Ausgabeartefakte](#action-reference-S3Deploy-output)
+ [Berechtigungen für Servicerollen: S3-Bereitstellungsaktion](#edit-role-s3deploy)
+ [Beispielaktionskonfiguration](#action-reference-S3Deploy-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-S3Deploy-links)

## Aktionstyp
<a name="action-reference-S3Deploy-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `S3`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-S3Deploy-config"></a>

**BucketName**  
Erforderlich: Ja  
Der Name des Amazon S3 S3-Buckets, in dem Dateien bereitgestellt werden sollen.

**Extrahieren**  
Erforderlich: Ja  
Falls wahr, gibt dies an, dass Dateien vor dem Upload extrahiert werden sollen. Andernfalls bleiben die Anwendungsdateien für den Upload gezippt, z. B. im Fall einer gehosteten statischen Website. Wenn der Wert falsch ist, `ObjectKey` ist der erforderlich.

**ObjectKey**  
Bedingt. Erforderlich, wenn `Extract` = false  
Der Name des Amazon S3 S3-Objektschlüssels, der das Objekt im S3-Bucket eindeutig identifiziert.

**KMSEncryptionKeyARN**  
Erforderlich: Nein  
Der ARN des AWS KMS Verschlüsselungsschlüssels für den Host-Bucket. Der `KMSEncryptionKeyARN` Parameter verschlüsselt hochgeladene Artefakte mit den bereitgestellten AWS KMS key. Für einen KMS-Schlüssel können Sie die Schlüssel-ID, den Schlüssel-ARN oder den Alias-ARN verwenden.  
Aliase werden nur in dem Konto erkannt, das den KMS-Schlüssel erstellt hat. Für kontoübergreifende Aktionen können Sie zum Identifizieren des Schlüssels nur die Schlüssel-ID oder den Schlüssel-ARN vewenden. Bei kontoübergreifenden Aktionen wird die Rolle des anderen Kontos (AccountB) verwendet, sodass bei Angabe der Schlüssel-ID der Schlüssel des anderen Kontos (AccountB) verwendet wird.
CodePipeline unterstützt nur symmetrische KMS-Schlüssel. Verwenden Sie keinen asymmetrischen KMS-Schlüssel, um die Daten in Ihrem S3-Bucket zu verschlüsseln.

**CannedACL**  
Erforderlich: Nein  
Der `CannedACL` Parameter wendet die angegebene gespeicherte [ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) auf Objekte an, die in Amazon S3 bereitgestellt werden. Dadurch werden alle auf das Objekt angewandten vorhandenen ACLs überschrieben.

**CacheControl**  
Erforderlich: Nein  
Der `CacheControl` Parameter steuert das Caching-Verhalten requests/responses für Objekte im Bucket. Eine Liste der gültigen Werte finden Sie im [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9)-Header-Feld für HTTP-Operationen. Um mehrere Werte in `CacheControl` einzugeben, verwenden Sie ein Komma zwischen den einzelnen Werten. Sie können nach jedem Komma ein Leerzeichen hinzufügen (optional), wie in diesem Beispiel für die CLI gezeigt:  

```
"CacheControl": "public, max-age=0, no-transform"
```

## Input artifacts (Eingabeartefakte)
<a name="action-reference-S3Deploy-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die Dateien für die Bereitstellung oder Archivierung werden aus dem Quell-Repository abgerufen, gezippt und von hochgeladen. CodePipeline

## Ausgabeartefakte
<a name="action-reference-S3Deploy-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: S3-Bereitstellungsaktion
<a name="edit-role-s3deploy"></a>

Für die Unterstützung von S3-Bereitstellungsaktionen fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:PutObjectVersionAcl",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::[[s3DeployBuckets]]",
        "arn:aws:s3:::[[s3DeployBuckets]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

Für die Unterstützung von S3-Bereitstellungsaktionen müssen Sie Ihrer Richtlinienerklärung auch die folgenden Berechtigungen hinzufügen, wenn Ihre S3-Objekte über Tags verfügen:

```
"s3:GetObjectTagging",
"s3:GetObjectVersionTagging",
"s3:PutObjectTagging"
```

## Beispielaktionskonfiguration
<a name="action-reference-S3Deploy-example"></a>

Im Folgenden werden Beispiele für die Aktionskonfiguration gezeigt.

### Beispielkonfiguration, wenn auf eingestellt `Extract` ist `false`
<a name="action-reference-S3Deploy-extractfalse"></a>

Das folgende Beispiel zeigt die Standardaktionskonfiguration, wenn die Aktion so erstellt wird, dass das `Extract` Feld auf gesetzt ist`false`.

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: S3
      Version: '1'
    RunOrder: 1
    Configuration:
      BucketName: website-bucket
      Extract: 'false'
      ObjectKey: MyWebsite
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "S3",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BucketName": "website-bucket",
                "Extract": "false",
                "ObjectKey": "MyWebsite"
                },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

### Die Beispielkonfiguration wann `Extract` ist auf gesetzt `true`
<a name="action-reference-S3Deploy-extracttrue"></a>

Das folgende Beispiel zeigt die Standardaktionskonfiguration, wenn die Aktion so erstellt wird, dass das `Extract` Feld auf gesetzt ist`true`.

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: S3
      Version: '1'
    RunOrder: 1
    Configuration:
      BucketName: website-bucket
      Extract: 'true'
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "S3",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BucketName": "website-bucket",
                "Extract": "true"
                },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-S3Deploy-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Erstellen Sie eine Pipeline, die Amazon S3 als Bereitstellungsanbieter verwendet](tutorials-s3deploy.md)— Dieses Tutorial führt Sie durch zwei Beispiele für die Erstellung einer Pipeline mit einer S3-Bereitstellungsaktion. Sie laden Beispieldateien herunter, laden die Dateien in Ihr CodeCommit Repository hoch, erstellen Ihren S3-Bucket und konfigurieren Ihren Bucket für das Hosting. Als Nächstes verwenden Sie die CodePipeline Konsole, um Ihre Pipeline zu erstellen und eine Amazon S3 S3-Bereitstellungskonfiguration festzulegen.
+ [Referenz zur Amazon S3 S3-Quellaktion](action-reference-S3.md)— Diese Aktionsreferenz enthält Referenzinformationen und Beispiele für Amazon S3 S3-Quellaktionen in CodePipeline.

# Referenz zur Amazon S3 S3-Quellaktion
<a name="action-reference-S3"></a>

Löst die Pipeline aus, wenn ein neues Objekt zum konfigurierten Bucket und Objektschlüssel hochgeladen wird.

**Anmerkung**  
In diesem Referenzthema wird die Amazon S3 S3-Quellaktion beschrieben, bei der es CodePipeline sich bei dem Quellspeicherort um einen Amazon S3 S3-Bucket handelt, der für die Versionierung konfiguriert ist. Referenzinformationen zur Amazon S3 S3-Bereitstellungsaktion in CodePipeline finden Sie unter[Referenz zur Amazon S3 S3-Bereitstellungsaktion](action-reference-S3Deploy.md).

Sie können einen Amazon S3 S3-Bucket erstellen, den Sie als Quellverzeichnis für Ihre Anwendungsdateien verwenden können.

**Anmerkung**  
Wenn Sie den Quell-Bucket erstellen, müssen Sie für den Bucket das Versioning aktivieren. Wenn Sie einen vorhandenen Amazon S3 S3-Bucket verwenden möchten, finden Sie weitere Informationen unter [Versionierung verwenden, um die Versionierung](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) für einen vorhandenen Bucket zu aktivieren.

Wenn Sie die Konsole verwenden, um Ihre Pipeline zu erstellen oder zu bearbeiten, CodePipeline erstellt sie eine EventBridge Regel, die Ihre Pipeline startet, wenn eine Änderung im S3-Quell-Bucket erfolgt.

**Anmerkung**  
Für Amazon ECR, Amazon S3 oder CodeCommit Quellen können Sie auch eine Quellüberschreibung mithilfe des Eingabe-Transformationseintrags erstellen, um den `revisionValue` In EventBridge für Ihr Pipeline-Ereignis zu verwenden, wobei der von der Quellereignisvariablen für Ihren Objektschlüssel, Ihren Commit oder Ihre Image-ID abgeleitet `revisionValue` wird. Weitere Informationen finden Sie im optionalen Schritt für die Eingabe der Eingabetransformation, der in den Verfahren unter [Amazon ECR-Quellaktionen und Ressourcen EventBridge](create-cwe-ecr-source.md)[Verbindung zu Amazon S3 S3-Quellaktionen mit einer für Ereignisse aktivierten Quelle herstellen](create-S3-source-events.md), oder [CodeCommit Quellaktionen und EventBridge](triggering.md) enthalten ist.

Sie müssen bereits einen Amazon S3 S3-Quell-Bucket erstellt und die Quelldateien als einzelne ZIP-Datei hochgeladen haben, bevor Sie die Pipeline über eine Amazon S3 S3-Aktion verbinden.

**Anmerkung**  
Wenn Amazon S3 der Quellanbieter für Ihre Pipeline ist, können Sie Ihre Quelldatei (en) in eine einzige ZIP-Datei komprimieren und die ZIP-Datei in Ihren Quell-Bucket hochladen. Sie können auch eine einzelne Datei ungezippt hochladen, aber nachgelagerte Aktionen, die eine ZIP-Datei erwarten, schlagen dann fehl.

**Topics**
+ [Aktionstyp](#action-reference-S3-type)
+ [Konfigurationsparameter](#action-reference-S3-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-S3-input)
+ [Ausgabeartefakte](#action-reference-S3-output)
+ [Ausgabevariablen](#action-reference-S3-variables)
+ [Berechtigungen für Servicerollen: S3-Quellaktion](#edit-role-s3source)
+ [Aktionsdeklaration](#action-reference-S3-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-S3-links)

## Aktionstyp
<a name="action-reference-S3-type"></a>
+ Kategorie: `Source`
+ Eigentümer: `AWS`
+ Anbieter: `S3`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-S3-config"></a>

**S3 Bucket**  
Erforderlich: Ja  
Der Name des Amazon S3 S3-Buckets, in dem Quelländerungen erkannt werden sollen.

**S3 ObjectKey**  
Erforderlich: Ja  
Der Name des Amazon S3 S3-Objektschlüssels, bei dem Quelländerungen erkannt werden sollen.

**AllowOverrideForS3ObjectKey**  
Erforderlich: Nein  
`AllowOverrideForS3ObjectKey`steuert, ob Quellenüberschreibungen von die bereits `S3ObjectKey` in der Quelle konfigurierte Aktion überschreiben `StartPipelineExecution` können. Weitere Informationen zu Quellenüberschreibungen mit dem S3-Objektschlüssel finden Sie unter. [Starten Sie eine Pipeline mit einer Quellrevisionsüberschreibung](pipelines-trigger-source-overrides.md)  
Wenn Sie diesen Parameter weglassen`AllowOverrideForS3ObjectKey`, ist CodePipeline standardmäßig die Fähigkeit aktiviert, S3 ObjectKey in der Quellaktion zu überschreiben, indem Sie diesen Parameter auf setzen. `false`
Gültige Werte für diesen Parameter sind:  
+ `true`: Falls gesetzt, kann der vorkonfigurierte S3-Objektschlüssel während einer Pipeline-Ausführung durch Überschreibungen der Quellversion außer Kraft gesetzt werden.
**Anmerkung**  
Wenn Sie allen CodePipeline Benutzern die Möglichkeit geben möchten, den vorkonfigurierten S3-Objektschlüssel zu überschreiben, während sie eine neue Pipeline-Ausführung starten, müssen Sie auf einstellen. `AllowOverrideForS3ObjectKey` `true`
+ `false`: 

  Wenn diese Option gesetzt ist, CodePipeline kann der S3-Objektschlüssel nicht mithilfe von Quellrevisionsüberschreibungen überschrieben werden. Dies ist auch der Standardwert für diesen Parameter.

**PollForSourceChanges**  
Erforderlich: Nein  
`PollForSourceChanges`steuert, ob der Amazon S3 S3-Quell-Bucket nach Quelländerungen CodePipeline abgefragt wird. Wir empfehlen, stattdessen CloudWatch Events zu verwenden und Quelländerungen CloudTrail zu erkennen. Weitere Informationen zur Konfiguration von CloudWatch Ereignissen finden Sie unter [Migrieren Sie Polling-Pipelines mit einer S3-Quelle und einem CloudTrail S3-Trail (CLI)](update-change-detection.md#update-change-detection-cli-S3) oder[Migrieren Sie Polling-Pipelines mit einer S3-Quelle und einem CloudTrail S3-Trail (Vorlage)CloudFormation](update-change-detection.md#update-change-detection-cfn-s3).  
Wenn Sie CloudWatch Ereignisse konfigurieren möchten, müssen Sie `PollForSourceChanges` auf einstellen, `false` um doppelte Pipeline-Ausführungen zu vermeiden.
Gültige Werte für diesen Parameter sind:  
+ `true`: Wenn diese Option gesetzt ist, CodePipeline wird Ihr Quellspeicherort nach Quellenänderungen abgefragt.
**Anmerkung**  
Wenn Sie diese Option weglassen`PollForSourceChanges`, wird CodePipeline standardmäßig Ihr Quellort nach Quellenänderungen abgefragt. Dieses Verhalten ist das gleiche, als ob `PollForSourceChanges` enthalten wäre und auf `true` festgelegt würde.
+ `false`: Wenn diese Option aktiviert ist, CodePipeline wird Ihr Quellort nicht nach Quellenänderungen abgefragt. Verwenden Sie diese Einstellung, wenn Sie beabsichtigen, eine CloudWatch Ereignisregel zur Erkennung von Quellenänderungen zu konfigurieren.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-S3-input"></a>
+ **Anzahl der Artefakte:** `0`
+ **Beschreibung:** Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

## Ausgabeartefakte
<a name="action-reference-S3-output"></a>
+ **Anzahl der Artefakte:** `1` 
+ **Beschreibung:** Stellt die Artefakte bereit, die in dem Quell-Bucket verfügbar sind, der für die Verbindung mit der Pipeline konfiguriert wurde. Die aus dem Bucket generierten Artefakte sind die Ausgabeartefakte für die Amazon S3 S3-Aktion. Die Amazon S3 S3-Objektmetadaten (ETag und die Versions-ID) werden CodePipeline als Quellrevision für die ausgelöste Pipeline-Ausführung angezeigt.

## Ausgabevariablen
<a name="action-reference-S3-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Informationen zu Variablen in CodePipeline finden Sie unter[Variablen-Referenz](reference-variables.md).

**BucketName**  
Der Name des Amazon S3 S3-Buckets bezieht sich auf die Quellenänderung, die die Pipeline ausgelöst hat.

**ETag**  
Das Entitäts-Tag für das Objekt, das sich auf die Quelländerung bezieht, von der die Pipeline ausgelöst wurde. Das ETag ist ein MD5 Hash des Objekts. ETag spiegelt nur Änderungen am Inhalt eines Objekts wider, nicht an seinen Metadaten.

**ObjectKey**  
Der Name des Amazon S3 S3-Objektschlüssels, der sich auf die Quellenänderung bezieht, die die Pipeline ausgelöst hat.

**VersionId**  
Die Versions-ID für die Version des Objekts, die sich auf die Quelländerung bezieht, von der die Pipeline ausgelöst wurde.

## Berechtigungen für Servicerollen: S3-Quellaktion
<a name="edit-role-s3source"></a>

Für die Unterstützung von S3-Quellaktionen fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation",
        "s3:GetObjectTagging",
        "s3:GetObjectVersionTagging"
      ],
      "Resource": [
        "arn:aws:s3:::[[S3Bucket]]",
        "arn:aws:s3:::[[S3Bucket]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

## Aktionsdeklaration
<a name="action-reference-S3-example"></a>

------
#### [ YAML ]

```
Name: Source
Actions:
  - RunOrder: 1
    OutputArtifacts:
      - Name: SourceArtifact
    ActionTypeId:
      Provider: S3
      Owner: AWS
      Version: '1'
      Category: Source
    Region: us-west-2
    Name: Source
    Configuration:
      S3Bucket: amzn-s3-demo-source-bucket
      S3ObjectKey: my-application.zip
      PollForSourceChanges: 'false'
    InputArtifacts: []
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "RunOrder": 1,
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "ActionTypeId": {
                "Provider": "S3",
                "Owner": "AWS",
                "Version": "1",
                "Category": "Source"
            },
            "Region": "us-west-2",
            "Name": "Source",
            "Configuration": {
                "S3Bucket": "amzn-s3-demo-source-bucket",
                "S3ObjectKey": "my-application.zip",
                "PollForSourceChanges": "false"
            },
            "InputArtifacts": []
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-S3-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Erstellen einer einfachen Pipeline (S3-Bucket)](tutorials-simple-s3.md)— Dieses Tutorial enthält eine Beispiel-App-Spezifikationsdatei sowie eine CodeDeploy Beispielanwendung und eine Bereitstellungsgruppe. Verwenden Sie dieses Tutorial, um eine Pipeline mit einer Amazon S3 S3-Quelle zu erstellen, die auf Amazon EC2 EC2-Instances bereitgestellt wird.

# AWS AppConfig Aktionsreferenz bereitstellen
<a name="action-reference-AppConfig"></a>

AWS AppConfig ist eine Fähigkeit von AWS Systems Manager. AppConfig unterstützt kontrollierte Bereitstellungen für Anwendungen jeder Größe und umfasst integrierte Validierungsprüfungen und Überwachung. Sie können es AppConfig mit Anwendungen verwenden, die auf Amazon EC2 EC2-Instances AWS Lambda, Containern, mobilen Anwendungen oder IoT-Geräten gehostet werden.

Bei der `AppConfig` Bereitstellungsaktion handelt es sich um eine AWS CodePipeline Aktion, mit der Konfigurationen, die in Ihrem Pipeline-Quellverzeichnis gespeichert sind, für eine bestimmte AppConfig *Anwendung*, eine bestimmte *Umgebung* und ein bestimmtes *Konfigurationsprofil* bereitgestellt werden. Sie verwendet die in einer AppConfig *Bereitstellungsstrategie* definierten Einstellungen.

## Aktionstyp
<a name="action-reference-AppConfig-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `AppConfig`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-AppConfig-config"></a>

**Anwendung**  
Erforderlich: Ja  
Die ID der AWS AppConfig Anwendung mit den Details für Ihre Konfiguration und Bereitstellung.

**Umgebung**  
Erforderlich: Ja  
Die ID der AWS AppConfig Umgebung, in der die Konfiguration bereitgestellt wird.

**ConfigurationProfile**  
Erforderlich: Ja  
Die ID des AWS AppConfig Konfigurationsprofils, das bereitgestellt werden soll.

**InputArtifactConfigurationPath**  
Erforderlich: Ja  
Der Dateipfad der Konfigurationsdaten innerhalb des bereitzustellenden Eingabeartefakts.

**DeploymentStrategy**  
Erforderlich: Nein  
Die AWS AppConfig Bereitstellungsstrategie, die für die Bereitstellung verwendet werden soll.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-AppConfig-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Das Eingabeartefakt für die Bereitstellungsaktion.

## Ausgabeartefakte
<a name="action-reference-AppConfig-output"></a>

Nicht zutreffend.

## Berechtigungen für Servicerollen: Aktion `AppConfig`
<a name="edit-role-appconfig"></a>

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Dienstrollenrichtlinie die folgenden Berechtigungen, die entsprechend auf die Ressourcenebene beschränkt sind, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "appconfig:StartDeployment",
                "appconfig:StopDeployment",
                "appconfig:GetDeployment"
            ],
            "Resource": [
                "arn:aws:appconfig:*:111122223333:application/[[Application]]",
                "arn:aws:appconfig:*:111122223333:application/[[Application]]/*",
                "arn:aws:appconfig:*:111122223333:deploymentstrategy/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Beispielaktionskonfiguration
<a name="action-reference-AppConfig-example"></a>

------
#### [ YAML ]

```
name: Deploy
actions:
  - name: Deploy
    actionTypeId:
      category: Deploy
      owner: AWS
      provider: AppConfig
      version: '1'
    runOrder: 1
    configuration:
      Application: 2s2qv57
      ConfigurationProfile: PvjrpU
      DeploymentStrategy: frqt7ir
      Environment: 9tm27yd
      InputArtifactConfigurationPath: /
    outputArtifacts: []
    inputArtifacts:
      - name: SourceArtifact
    region: us-west-2
    namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "name": "Deploy",
    "actions": [
        {
            "name": "Deploy",
            "actionTypeId": {
                "category": "Deploy",
                "owner": "AWS",
                "provider": "AppConfig",
                "version": "1"
            },
            "runOrder": 1,
            "configuration": {
                "Application": "2s2qv57",
                "ConfigurationProfile": "PvjrpU",
                "DeploymentStrategy": "frqt7ir",
                "Environment": "9tm27yd",
                "InputArtifactConfigurationPath": "/"
            },
            "outputArtifacts": [],
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-west-2",
            "namespace": "DeployVariables"
        }
    ]
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-StepFunctions-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [AWS AppConfig](https://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig.html)*— Informationen zu AWS AppConfig Bereitstellungen finden Sie im AWS Systems Manager Benutzerhandbuch.*
+ [Tutorial: Eine Pipeline erstellen, die AWS AppConfig als Bereitstellungsanbieter verwendet wird](tutorials-AppConfig.md)— In diesem Tutorial erfahren Sie, wie Sie einfache Konfigurationsdateien und AppConfig Ressourcen für die Bereitstellung einrichten. Außerdem erfahren Sie, wie Sie mithilfe der Konsole eine Pipeline mit einer AWS AppConfig Bereitstellungsaktion erstellen.

# CloudFormation Aktionsreferenz bereitstellen
<a name="action-reference-CloudFormation"></a>

Führt eine Operation auf einem CloudFormation Stack aus. Ein Stack ist eine Sammlung von AWS Ressourcen, die Sie als eine Einheit verwalten können. Die Ressourcen in einem Stack werden durch die CloudFormation -Vorlage des Stacks definiert. Ein Änderungssatz erstellt einen Vergleich, der angezeigt werden kann, ohne den ursprünglichen Stack zu ändern. Informationen zu den Arten von CloudFormation Aktionen, die mit Stacks und Änderungssätzen ausgeführt werden können, finden Sie unter dem `ActionMode` Parameter.

 CodePipeline Ruft die CloudFormation `DescribeStackEvents` API auf, um eine Fehlermeldung für eine CloudFormation Aktion zu erstellen, bei der ein Stack-Vorgang fehlgeschlagen ist. Wenn eine Aktions-IAM-Rolle berechtigt ist, auf diese API zuzugreifen, werden die Details zur ersten ausgefallenen Ressource in die CodePipeline Fehlermeldung aufgenommen. Andernfalls ignoriert die Rollenrichtlinie den Zugriff auf die API und zeigt stattdessen eine allgemeine Fehlermeldung an, CodePipeline wenn die Rollenrichtlinie nicht über die entsprechende Berechtigung verfügt. Dazu muss die `cloudformation:DescribeStackEvents` Berechtigung der Servicerolle oder anderen IAM-Rollen für die Pipeline hinzugefügt werden.

Wenn Sie nicht möchten, dass die Ressourcendetails in den Pipeline-Fehlermeldungen auftauchen, können Sie diese Berechtigung für die Aktions-IAM-Rolle widerrufen, indem Sie die Berechtigung entfernen. `cloudformation:DescribeStackEvents`

**Topics**
+ [Aktionstyp](#action-reference-CloudFormation-type)
+ [Konfigurationsparameter](#action-reference-CloudFormation-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-CloudFormation-input)
+ [Ausgabeartefakte](#action-reference-CloudFormation-output)
+ [Ausgabevariablen](#action-reference-CloudFormation-variables)
+ [Berechtigungen für Servicerollen: CloudFormation Aktion](#edit-role-cloudformation)
+ [Aktionsdeklaration](#action-reference-CloudFormation-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-CloudFormation-links)

## Aktionstyp
<a name="action-reference-CloudFormation-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `CloudFormation`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-CloudFormation-config"></a>

**ActionMode**  
Erforderlich: Ja  
`ActionMode`ist der Name der Aktion, die für einen Stack oder einen Änderungssatz CloudFormation ausgeführt wird. Die folgenden Aktionsmodi sind verfügbar:  
+ `CHANGE_SET_EXECUTE` führt einen Änderungssatz für den Ressourcen-Stack aus, der auf einer Reihe von angegebenen Ressourcenaktualisierungen basiert. CloudFormation Beginnt mit dieser Aktion, den Stack zu verändern.
+ `CHANGE_SET_REPLACE` erstellt den Änderungssatz, falls er noch nicht existiert, basierend auf dem Stack-Namen und der Vorlage, die Sie übermitteln. Wenn der Änderungssatz vorhanden ist, wird er CloudFormation gelöscht und anschließend ein neuer erstellt. 
+ `CREATE_UPDATE` erstellt den Stack, wenn er nicht vorhanden ist. Wenn der Stapel vorhanden ist, wird der Stapel CloudFormation aktualisiert. Verwenden Sie diese Aktion zum Aktualisieren von bestehenden Stacks. Im Gegensatz `REPLACE_ON_FAILURE` dazu, wenn der Stack existiert und sich in einem ausgefallenen Zustand befindet, CodePipeline wird der Stapel nicht gelöscht und ersetzt.
+ `DELETE_ONLY` löscht einen Stack. Wenn Sie einen Stack angeben, der nicht vorhanden ist, wird die Aktion ohne Löschen eines Stacks erfolgreich abgeschlossen.
+ `REPLACE_ON_FAILURE` erstellt einen Stack, falls dieser nicht vorhanden ist. Wenn der Stapel vorhanden ist und sich in einem ausgefallenen Zustand befindet, wird der Stapel CloudFormation gelöscht und anschließend ein neuer Stapel erstellt. Wenn sich der Stack nicht in einem ausgefallenen Zustand befindet, wird er CloudFormation aktualisiert. 

  Der Stack befindet sich in einem fehlerhaften Zustand, wenn einer der folgenden Statustypen in CloudFormation angezeigt wird: 
  + `ROLLBACK_FAILED`
  + `CREATE_FAILED`
  + `DELETE_FAILED`
  + `UPDATE_ROLLBACK_FAILED`

  Verwenden Sie diese Aktion, um fehlerhafte Stacks automatisch ohne Wiederherstellung oder Fehlerbehebung zu ersetzen.
**Wichtig**  
Wir empfehlen Ihnen, `REPLACE_ON_FAILURE` nur für Testzwecke zu verwenden, da Ihr Stack dadurch möglicherweise gelöscht wird.

**StackName**  
Erforderlich: Ja  
`StackName` ist der Name eines vorhandenen Stacks oder eines Stacks, den Sie erstellen möchten.

**Capabilities**  
Required: Conditional  
Die Verwendung von `Capabilities` bestätigt, dass die Vorlage möglicherweise über die Funktionen verfügt, einige Ressourcen selbst zu erstellen und zu aktualisieren, und dass diese Funktionen basierend auf den Ressourcentypen in der Vorlage bestimmt werden.  
Diese Eigenschaft ist erforderlich, wenn Sie über IAM-Ressourcen in Ihrer Stack-Vorlage verfügen oder einen Stack direkt aus einer Vorlage mit Makros erstellen. Damit die CloudFormation Aktion auf diese Weise erfolgreich ausgeführt werden kann, müssen Sie ausdrücklich bestätigen, dass Sie dies mit einer der folgenden Funktionen wünschen:  
+ `CAPABILITY_IAM` 
+ `CAPABILITY_NAMED_IAM` 
+ `CAPABILITY_AUTO_EXPAND` 
 Sie können mehr als eine Funktion angeben, indem Sie ein Komma (kein Leerzeichen) zwischen den Funktionen verwenden. Das Beispiel in [Aktionsdeklaration](#action-reference-CloudFormation-example) zeigt einen Eintrag mit den Eigenschaften CAPABILITY\$1IAM und CAPABILITY\$1AUTO\$1EXPAND.  
Weitere Informationen zu `Capabilities` finden Sie [UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)in den Eigenschaften unter der *AWS CloudFormation API-Referenz*.

**ChangeSetName**  
Required: Conditional  
`ChangeSetName` ist der Name eines vorhandenen Änderungssatzes oder eines neuen Änderungssatzes, den Sie für den angegebenen Stack erstellen möchten.  
 Diese Eigenschaft ist für die folgenden Aktionsmodi erforderlich: CHANGE\$1SET\$1REPLACE und CHANGE\$1SET\$1EXECUTE. Bei allen anderen Aktionsmodi wird die Eigenschaft ignoriert.

**RoleArn**  
Required: Conditional  
`RoleArn` ist der ARN der IAM-Servicerolle, die CloudFormation annimmt, wenn es mit Ressourcen im angegebenen Stack arbeitet. `RoleArn` wird nicht angewendet, wenn ein Änderungssatz ausgeführt wird. Wenn Sie den Änderungssatz nicht CodePipeline zur Erstellung verwenden, stellen Sie sicher, dass dem Änderungssatz oder Stack eine zugeordnete Rolle zugewiesen ist.  
Diese Rolle muss sich in demselben Konto befinden wie die Rolle für die Aktion, die gerade ausgeführt wird, wie in der Aktionsdeklaration konfiguriert`RoleArn`.
Die Eigenschaft ist für die folgenden Aktionsmodi erforderlich:  
+ CREATE\$1UPDATE
+ REPLACE\$1ON\$1FAILURE
+ DELETE\$1ONLY
+ CHANGE\$1SET\$1REPLACE
CloudFormation erhält eine mit S3 signierte URL zur Vorlage. Daher ist für diese Vorlage `RoleArn` keine Zugriffsberechtigung auf den Artefakt-Bucket erforderlich. Die Aktion `RoleArn` *benötigt* jedoch die Erlaubnis, auf den Artefakt-Bucket zuzugreifen, um die signierte URL zu generieren.

**TemplatePath**  
Required: Conditional  
`TemplatePath`steht für die CloudFormation Vorlagendatei. Sie schließen die Datei in ein Eingabeartefakt für diese Aktion ein. Der Dateiname folgt diesem Format:  
`Artifactname::TemplateFileName`  
`Artifactname` ist der Name des Eingabeartefakts, wie er in CodePipeline angezeigt wird. So erstellt eine Quellstufe mit dem Artefaktnamen `SourceArtifact` und dem Dateinamen `template-export.json` einen `TemplatePath`-Namen, wie in diesem Beispiel gezeigt:  

```
"TemplatePath": "SourceArtifact::template-export.json"
```
Die Eigenschaft ist für die folgenden Aktionsmodi erforderlich:   
+ CREATE\$1UPDATE
+ REPLACE\$1ON\$1FAILURE
+ CHANGE\$1SET\$1REPLACE
Bei allen anderen Aktionsmodi wird die Eigenschaft ignoriert.  
Die CloudFormation Vorlagendatei, die den Vorlagentext enthält, hat eine Mindestlänge von 1 Byte und eine maximale Länge von 1 MB. Für CloudFormation Bereitstellungsaktionen in CodePipeline beträgt die maximale Größe des Eingabeartefakts immer 256 MB. Weitere Informationen finden Sie unter [Kontingente in AWS CodePipeline](limits.md) und [CloudFormation -Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html).

**OutputFileName**  
Erforderlich: Nein  
Verwenden Sie diese Option, `OutputFileName` um einen Namen für die Ausgabedatei anzugeben, z. B.`CreateStackOutput.json`, der dem Pipeline-Ausgabeartefakt für diese Aktion CodePipeline hinzugefügt wird. Die JSON-Datei enthält den Inhalt des `Outputs` Abschnitts aus dem CloudFormation Stapel.  
Wenn Sie keinen Namen angeben, wird CodePipeline keine Ausgabedatei oder kein Artefakt generiert.

**ParameterOverrides**  
Erforderlich: Nein  
Parameter werden in Ihrer Stack-Vorlage definiert und ermöglichen Ihnen, Werte für sie zum Zeitpunkt der Stack-Erstellung oder -Aktualisierung bereitzustellen. Sie können ein JSON-Objekt verwenden, um Parameterwerte in Ihrer Vorlage festzulegen. (Diese Werte überschreiben die in der Vorlagenkonfigurationsdatei festgelegten Werte.) Weitere Informationen zur Verwendung von Parameterüberschreibungen finden Sie unter [Konfigurationseigenschaften (JSON-Objekt)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html#w4363ab1c13c13b9).  
Wir empfehlen Ihnen, die Vorlagenkonfigurationsdatei zu verwenden, um die meisten Ihrer Parameterwerte anzugeben. Verwenden Sie Parameterüberschreibungen nur für Werte, die erst bekannt sind, wenn die Pipeline ausgeführt wird. Weitere Informationen finden Sie im *AWS CloudFormation Benutzerhandbuch* unter [Verwenden von Funktionen zum Überschreiben von Parametern mit CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html).  
Alle Parameternamen müssen in der Stack-Vorlage vorhanden sein.

**TemplateConfiguration**  
Erforderlich: Nein  
`TemplateConfiguration` ist die Vorlagenkonfigurationsdatei. Sie schließen die Datei in ein Eingabeartefakt für diese Aktion ein. Sie kann Vorlagenparameterwerte und eine Stack-Richtlinie enthalten. Weitere Informationen zum Format der Vorlagenkonfigurationsdatei finden Sie unter [AWS CloudFormation Artifacts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html).   
Der Dateiname der Vorlagenkonfiguration hat das folgende Format:   
`Artifactname::TemplateConfigurationFileName`  
`Artifactname` ist der Name des Eingabeartefakts, wie er in CodePipeline angezeigt wird. So erstellt eine Quellstufe mit dem Artefaktnamen `SourceArtifact` und dem Dateinamen `test-configuration.json` einen `TemplateConfiguration`-Namen, wie in diesem Beispiel gezeigt:  

```
"TemplateConfiguration": "SourceArtifact::test-configuration.json"
```

## Input artifacts (Eingabeartefakte)
<a name="action-reference-CloudFormation-input"></a>
+ **Anzahl der Artefakte:** `0 to 10`
+ **Beschreibung:** Als Eingabe akzeptiert die CloudFormation Aktion optional Artefakte für folgende Zwecke:
  + Zur Bereitstellung der auszuführenden Stack-Vorlagendatei. (Weitere Informationen finden Sie unter dem `TemplatePath`-Parameter.)
  + Zur Bereitstellung der zu verwendenden Vorlagenkonfigurationsdatei. (Weitere Informationen finden Sie unter dem `TemplateConfiguration`-Parameter.) Weitere Informationen zum Format der Vorlagenkonfigurationsdatei finden Sie unter [AWS CloudFormation Artefakte](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html). 
  + Um das Artefakt für eine Lambda-Funktion bereitzustellen, die als Teil des CloudFormation Stacks bereitgestellt werden soll.

## Ausgabeartefakte
<a name="action-reference-CloudFormation-output"></a>
+ **Anzahl der Artefakte:** `0 to 1` 
+ **Beschreibung:** Wenn der `OutputFileName`-Parameter angegeben ist, wird durch diese Aktion ein Ausgabeartefakt erzeugt, das eine JSON-Datei mit dem angegebenen Namen enthält. Die JSON-Datei enthält den Inhalt des Ausgabeabschnitts aus dem CloudFormation -Stack.

  Weitere Informationen zum Ausgabeabschnitt, den Sie für Ihre CloudFormation -Aktion erstellen können, finden Sie unter [Ausgaben](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html).

## Ausgabevariablen
<a name="action-reference-CloudFormation-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Bei CloudFormation Aktionen werden Variablen aus beliebigen Werten erzeugt, die im `Outputs` Abschnitt einer Stack-Vorlage angegeben sind. Beachten Sie, dass die einzigen CloudFormation Aktionsmodi, die Ausgaben generieren, diejenigen sind, die zur Erstellung oder Aktualisierung eines Stacks führen, wie z. B. die Erstellung von Stacks, Stack-Aktualisierungen und die Ausführung von Änderungssätzen. Die entsprechenden Aktionsmodi, die Variablen generieren, sind:
+ `CHANGE_SET_EXECUTE`
+ `CHANGE_SET_REPLACE`
+ `CREATE_UPDATE`
+ `REPLACE_ON_FAILURE`

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md). Ein Tutorial, das Ihnen zeigt, wie Sie eine Pipeline mit einer CloudFormation Bereitstellungsaktion in einer Pipeline erstellen, die CloudFormation Ausgabevariablen verwendet, finden Sie unter[Tutorial: Eine Pipeline erstellen, die Variablen aus AWS CloudFormation Bereitstellungsaktionen verwendet](tutorials-cloudformation-action.md).

## Berechtigungen für Servicerollen: CloudFormation Aktion
<a name="edit-role-cloudformation"></a>

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Dienstrollenrichtlinie die folgenden Berechtigungen, die entsprechend auf den ARN der Pipeline-Ressource beschränkt sind, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten. Fügen Sie Ihrer Richtlinienerklärung beispielsweise Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCFNStackAccess",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackResources",
                "cloudformation:DescribeStackEvents",
                "cloudformation:GetTemplate",
                "cloudformation:DescribeChangeSet",
                "cloudformation:CreateChangeSet",
                "cloudformation:DeleteChangeSet",
                "cloudformation:ExecuteChangeSet"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:111122223333:stack/[[cfnDeployStackNames]]/*"
            ]
        },
        {
            "Sid": "ValidateTemplate",
            "Effect": "Allow",
            "Action": [
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIAMPassRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/[[cfnExecutionRoles]]"
            ],
            "Condition": {
                "StringEqualsIfExists": {
                    "iam:PassedToService": [
                        "cloudformation.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Beachten Sie, dass die `cloudformation:DescribeStackEvents` Genehmigung optional ist. Dadurch kann die CloudFormation Aktion eine detailliertere Fehlermeldung anzeigen. Diese Berechtigung kann der IAM-Rolle entzogen werden, wenn Sie nicht möchten, dass Ressourcendetails in den Pipeline-Fehlermeldungen auftauchen.

## Aktionsdeklaration
<a name="action-reference-CloudFormation-example"></a>

------
#### [ YAML ]

```
Name: ExecuteChangeSet
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormation
  Version: '1'
RunOrder: 2
Configuration:
  ActionMode: CHANGE_SET_EXECUTE
  Capabilities: CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND
  ChangeSetName: pipeline-changeset
  ParameterOverrides: '{"ProjectId": "my-project","CodeDeployRole": "CodeDeploy_Role_ARN"}'
  RoleArn: CloudFormation_Role_ARN
  StackName: my-project--lambda
  TemplateConfiguration: 'my-project--BuildArtifact::template-configuration.json'
  TemplatePath: 'my-project--BuildArtifact::template-export.yml'
OutputArtifacts: []
InputArtifacts:
  - Name: my-project-BuildArtifact
```

------
#### [ JSON ]

```
{
    "Name": "ExecuteChangeSet",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormation",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ActionMode": "CHANGE_SET_EXECUTE",
        "Capabilities": "CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND",
        "ChangeSetName": "pipeline-changeset",
        "ParameterOverrides": "{\"ProjectId\": \"my-project\",\"CodeDeployRole\": \"CodeDeploy_Role_ARN\"}",
        "RoleArn": "CloudFormation_Role_ARN",
        "StackName": "my-project--lambda",
        "TemplateConfiguration": "my-project--BuildArtifact::template-configuration.json",
        "TemplatePath": "my-project--BuildArtifact::template-export.yml"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
             "Name": "my-project-BuildArtifact"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-CloudFormation-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Referenz zu den Konfigurationseigenschaften](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) — Dieses Referenzkapitel im *AWS CloudFormation Benutzerhandbuch* enthält weitere Beschreibungen und Beispiele für diese Parameter. CodePipeline 
+ [AWS CloudFormation API-Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/) — Der [CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)Parameter in der *AWS CloudFormation API-Referenz* beschreibt Stack-Parameter für CloudFormation Vorlagen.

# CloudFormation StackSets Aktionsreferenz bereitstellen
<a name="action-reference-StackSets"></a>

CodePipeline bietet die Möglichkeit, CloudFormation StackSets Operationen als Teil Ihres CI/CD-Prozesses durchzuführen. Sie verwenden ein Stack-Set, um mithilfe einer einzigen Vorlage Stapel in AWS Konten in verschiedenen AWS Regionen zu erstellen. CloudFormation Alle in jedem Stack enthaltenen Ressourcen werden durch die CloudFormation Vorlage des Stack-Sets definiert. Wenn Sie das Stack-Set erstellen, geben Sie die zu verwendende Vorlage sowie alle Parameter und Funktionen an, die für die Vorlage erforderlich sind.

Weitere Informationen zu CloudFormation StackSets Konzepten für finden Sie unter [StackSets Konzepte](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html) im *AWS CloudFormation Benutzerhandbuch*.

Sie integrieren Ihre Pipeline CloudFormation StackSets mithilfe von zwei unterschiedlichen Aktionstypen, die Sie zusammen verwenden:
+ Die `CloudFormationStackSet` Aktion erstellt oder aktualisiert ein Stack-Set oder Stack-Instances anhand der Vorlage, die im Quellverzeichnis der Pipeline gespeichert ist. Jedes Mal, wenn ein Stack-Set erstellt oder aktualisiert wird, initiiert es eine Bereitstellung dieser Änderungen für bestimmte Instances. In der Konsole können Sie den **CloudFormation Stack Set-Aktionsanbieter** auswählen, wenn Sie Ihre Pipeline erstellen oder bearbeiten.
+ Die `CloudFormationStackInstances` Aktion stellt Änderungen an der `CloudFormationStackSet` Aktion auf bestimmte Instanzen bereit, erstellt neue Stack-Instances und definiert Parameterüberschreibungen für bestimmte Instanzen. In der Konsole können Sie den **CloudFormation Stack Instances-Aktionsanbieter** auswählen, wenn Sie eine bestehende Pipeline bearbeiten.

Sie können diese Aktionen verwenden, um sie für AWS Zielkonten oder die AWS Organisationseinheit der Zielorganisation bereitzustellen IDs.

**Anmerkung**  
Um die Bereitstellung für Konten oder Organisationseinheiten von AWS Zielorganisationen durchzuführen IDs und das vom Service verwaltete Berechtigungsmodell zu verwenden, müssen Sie den vertrauenswürdigen Zugriff zwischen AWS CloudFormation StackSets und AWS Organizations aktivieren. Weitere Informationen finden Sie unter [Vertrauenswürdigen Zugriff mit AWS CloudFormation Stacksets aktivieren](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html#integrate-enable-ta-cloudformation).

**Topics**
+ [Wie funktionieren Aktionen CloudFormation StackSets](#action-reference-StackSets-concepts)
+ [Wie strukturiert man StackSets Aktionen in einer Pipeline](#action-reference-StackSets-bestpractices)
+ [`CloudFormationStackSet`-Aktion](#action-reference-StackSet)
+ [Die Aktion CloudFormationStackInstances](#action-reference-StackInstances)
+ [Berechtigungen für Servicerollen: Aktion `CloudFormationStackSet`](#edit-role-cfn-stackset)
+ [Berechtigungen für Servicerollen: `CloudFormationStackInstances` Aktion](#edit-role-cfn-stackinstances)
+ [Berechtigungsmodelle für Stack-Set-Operationen](#action-reference-StackSets-permissions)
+ [Datentypen von Vorlagenparametern](#action-reference-StackSets-datatypes)
+ [Weitere Informationen finden Sie auch unter](#action-reference-CloudFormation-links)

## Wie funktionieren Aktionen CloudFormation StackSets
<a name="action-reference-StackSets-concepts"></a>

Eine `CloudFormationStackSet` Aktion erstellt oder aktualisiert Ressourcen, je nachdem, ob die Aktion zum ersten Mal ausgeführt wird.

Die `CloudFormationStackSet` Aktion *erstellt* oder *aktualisiert* das Stack-Set und stellt diese Änderungen auf bestimmten Instanzen bereit.

**Anmerkung**  
Wenn Sie diese Aktion verwenden, um ein Update durchzuführen, das das Hinzufügen von Stack-Instances beinhaltet, werden die neuen Instanzen zuerst bereitgestellt und das Update wird zuletzt abgeschlossen. Die neuen Instanzen erhalten zuerst die alte Version, und dann wird das Update auf alle Instanzen angewendet.
+ *Erstellen*: Wenn keine Instanzen angegeben sind und das Stack-Set nicht existiert, erstellt die **CloudFormationStackSet**Aktion das Stack-Set, ohne dass Instanzen erstellt werden.
+ *Update*: Wenn die **CloudFormationStackSet**Aktion für ein Stack-Set ausgeführt wird, das bereits erstellt wurde, aktualisiert die Aktion das Stack-Set. Wenn keine Instanzen angegeben sind und das Stack-Set bereits existiert, werden alle Instanzen aktualisiert. Wenn diese Aktion verwendet wird, um bestimmte Instanzen zu aktualisieren, werden alle verbleibenden Instanzen in den Status VERALTET versetzt.

  Sie können die **CloudFormationStackSet**Aktion verwenden, um das Stack-Set auf folgende Weise zu aktualisieren. 
  + Aktualisieren Sie die Vorlage auf einigen oder allen Instanzen.
  + Aktualisieren Sie die Parameter für einige oder alle Instanzen.
  + Aktualisieren Sie die Ausführungsrolle für das Stack-Set (diese muss mit der in der Administratorrolle angegebenen Ausführungsrolle übereinstimmen).
  + Ändern Sie das Berechtigungsmodell (nur wenn keine Instanzen erstellt wurden).
  + Aktivieren/Deaktivieren, `AutoDeployment` wenn das Stack-Set-Berechtigungsmodell aktiviert ist. `Service Managed`
  + Agieren Sie als delegierter Administrator in einem Mitgliedskonto, wenn das Stack-Set-Berechtigungsmodell dies ist. `Service Managed`
  + Aktualisieren Sie die Administratorrolle.
  + Aktualisieren Sie die Beschreibung auf dem Stack-Set.
  + Fügen Sie dem Stack-Set-Update Bereitstellungsziele hinzu, um neue Stack-Instances zu erstellen.

Die `CloudFormationStackInstances` Aktion erstellt neue Stack-Instances oder aktualisiert veraltete Stack-Instances. Eine Instanz wird veraltet, wenn ein Stack-Set aktualisiert wird, aber nicht alle Instances darin aktualisiert werden.
+ *Erstellen*: Wenn der Stack bereits existiert, aktualisiert die `CloudFormationStackInstances` Aktion nur Instanzen und erstellt keine Stack-Instanzen.
+ *Update*: Wenn die Vorlage oder die Parameter nach Ausführung der `CloudFormationStackSet` Aktion nur in einigen Fällen aktualisiert wurden, wird der Rest markiert`OUTDATED`. `CloudFormationStackInstances`Aktualisiert in späteren Pipeline-Phasen die restlichen Instanzen im Stack in Wellen, sodass alle Instanzen markiert sind`CURRENT`. Diese Aktion kann auch verwendet werden, um zusätzliche Instanzen hinzuzufügen oder Parameter für neue oder bestehende Instanzen zu überschreiben.

Im Rahmen eines Updates können mit den `CloudFormationStackInstances` Aktionen `CloudFormationStackSet` und neue Bereitstellungsziele angegeben werden, wodurch neue Stack-Instances erstellt werden.

Im Rahmen eines Updates löschen die `CloudFormationStackInstances` Aktionen `CloudFormationStackSet` und keine Stack-Sets, Instanzen oder Ressourcen. Wenn die Aktion einen Stack aktualisiert, aber nicht alle zu aktualisierenden Instanzen angibt, werden die Instanzen, die nicht für die Aktualisierung angegeben wurden, aus dem Update entfernt und auf den Status von gesetzt`OUTDATED`.

Während einer Bereitstellung können Stack-Instances auch den Status anzeigen, `OUTDATED` ob die Bereitstellung für Instances fehlgeschlagen ist.

## Wie strukturiert man StackSets Aktionen in einer Pipeline
<a name="action-reference-StackSets-bestpractices"></a>

Als bewährte Methode sollten Sie Ihre Pipeline so aufbauen, dass das Stack-Set erstellt und zunächst für eine Teilmenge oder eine einzelne Instanz bereitgestellt wird. Nachdem Sie Ihre Bereitstellung getestet und das generierte Stack-Set angesehen haben, fügen Sie die `CloudFormationStackInstances` Aktion hinzu, sodass die verbleibenden Instanzen erstellt und aktualisiert werden.

Verwenden Sie die Konsole oder die CLI, um die empfohlene Pipeline-Struktur wie folgt zu erstellen:

1. Erstellen Sie eine Pipeline mit einer Quellaktion (erforderlich) und der `CloudFormationStackSet` Aktion als Bereitstellungsaktion. Führen Sie Ihre Pipeline aus.

1. Wenn Ihre Pipeline zum ersten Mal ausgeführt wird, *erstellt* die `CloudFormationStackSet` Aktion Ihr Stack-Set und mindestens eine erste Instanz. Überprüfen Sie die Erstellung des Stack-Sets und die Bereitstellung auf Ihrer ersten Instance. Bei der ersten Erstellung eines Stack-Sets für das Konto Account-A, bei dem `us-east-1` es sich um die angegebene Region handelt, wird die Stack-Instance beispielsweise mit dem Stack-Set erstellt:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/action-reference-StackSets.html)

1. Bearbeiten Sie Ihre Pipeline so, dass `CloudFormationStackInstances` sie als zweite Bereitstellungsaktion Instances für die von Ihnen angegebenen Ziele create/update stapeln soll. Beispielsweise werden bei der Erstellung von Stack-Instanzen für ein Konto, `Account-A` in dem die `eu-central-1` Regionen `us-east-2` und die Regionen angegeben sind, die verbleibenden Stack-Instances erstellt und die ursprüngliche Instanz bleibt wie folgt aktualisiert:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/action-reference-StackSets.html)

1. Führen Sie Ihre Pipeline nach Bedarf aus, um Ihr Stack-Set zu aktualisieren und Stack-Instances zu aktualisieren oder zu erstellen.

Wenn Sie ein Stack-Update initiieren, bei dem Sie Bereitstellungsziele aus der Aktionskonfiguration entfernt haben, werden die Stack-Instances, die nicht für das Update vorgesehen waren, aus der Bereitstellung entfernt und erhalten den Status VERALTET. Bei einem Stack-Instance-Update für ein Konto, `Account-A` bei dem die `us-east-2` Region aus der Aktionskonfiguration entfernt wurde, werden beispielsweise die verbleibenden Stack-Instances erstellt und die entfernte Instanz wird wie folgt auf VERALTET gesetzt:


****  

| Stack-Instanz | Region | Status | 
| --- | --- | --- | 
| StackInstanceID-1 | us-east-1 | CURRENT | 
| StackInstanceID-2 | us-east-2 | VERALTET | 
| StackInstanceID-3 | eu-central-1 | CURRENT | 

Weitere Informationen zu bewährten Methoden für die Bereitstellung von Stack-Sets finden Sie unter [Bewährte Methoden](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html) für StackSets im *AWS CloudFormation Benutzerhandbuch*.

## `CloudFormationStackSet`-Aktion
<a name="action-reference-StackSet"></a>

Diese Aktion erstellt oder aktualisiert ein Stack-Set anhand der Vorlage, die im Quellverzeichnis der Pipeline gespeichert ist. 

Nachdem Sie ein Stack-Set definiert haben, können Sie Stacks in den in den Konfigurationsparametern angegebenen Zielkonten und Regionen erstellen, aktualisieren oder löschen. Beim Erstellen, Aktualisieren und Löschen von Stacks können Sie weitere Einstellungen angeben, z. B. die Reihenfolge der Regionen, in denen Operationen ausgeführt werden sollen, den Prozentsatz der Fehlertoleranz, ab dem Stack-Operationen beendet werden, und die Anzahl der Konten, in denen Operationen an Stacks gleichzeitig ausgeführt werden.

Ein Stack-Set ist eine regionale Ressource. Wenn Sie ein Stack-Set in einer AWS Region erstellen, können Sie von anderen Regionen aus nicht darauf zugreifen.

Wenn diese Aktion als Aktualisierungsaktion für das Stack-Set verwendet wird, sind Aktualisierungen des Stacks nur zulässig, wenn mindestens eine Stack-Instance bereitgestellt wird.

**Topics**
+ [Aktionstyp](#action-reference-StackSet-type)
+ [Konfigurationsparameter](#action-reference-StackSet-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-StackSet-input)
+ [Ausgabeartefakte](#action-reference-StackSet-output)
+ [Ausgabevariablen](#action-reference-StackSet-variables)
+ [Beispiel für **CloudFormationStackSet**eine Aktionskonfiguration](#action-reference-StackSet-example)

### Aktionstyp
<a name="action-reference-StackSet-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `CloudFormationStackSet`
+ Version: `1`

### Konfigurationsparameter
<a name="action-reference-StackSet-config"></a>

**StackSetName**  
Erforderlich: Ja  
Der Name, der dem Stack-Set zugeordnet werden soll. Dieser Name muss in der Region, in der er erstellt wurde, eindeutig sein.  
Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und maximal 128 Zeichen lang sein.

**Description**  
Erforderlich: Nein  
Eine Beschreibung des StackSets. Sie können dies verwenden, um den Zweck des Stack-Sets oder andere relevante Informationen zu beschreiben.

**TemplatePath**  
Erforderlich: Ja  
Der Speicherort der Vorlage, die die Ressourcen im Stack-Set definiert. Dies muss auf eine Vorlage mit einer maximalen Größe von 460.800 Byte verweisen.  
Geben Sie den Pfad zum Quellartefaktnamen und zur Vorlagendatei im Format ein`"InputArtifactName::TemplateFileName"`, wie im folgenden Beispiel gezeigt.  

```
SourceArtifact::template.txt
```

**Parameters**  
Erforderlich: Nein  
Eine Liste von Vorlagenparametern für Ihr Stack-Set, die während einer Bereitstellung aktualisiert werden.  
Sie können Parameter als wörtliche Liste oder als Dateipfad angeben:  
+ Sie können Parameter im folgenden Kurzsyntaxformat eingeben:. `ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string` Weitere Informationen zu diesen Datentypen finden Sie unter. [Datentypen von Vorlagenparametern](#action-reference-StackSets-datatypes)

  Das folgende Beispiel zeigt einen Parameter, der `BucketName` mit dem Wert benannt ist`amzn-s3-demo-source-bucket`.

  ```
  ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
  ```

  Das folgende Beispiel zeigt einen Eintrag mit mehreren Parametern:

  ```
                                                                                                        
    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
    ParameterKey=Asset1,ParameterValue=true              
    ParameterKey=Asset2,ParameterValue=true
  ```
+ Sie können den Speicherort der Datei eingeben, die eine Liste der im Format eingegebenen Überschreibungen von Vorlagenparametern enthält`"InputArtifactName::ParametersFileName"`, wie im folgenden Beispiel gezeigt.

  ```
  SourceArtifact::parameters.txt
  ```

  Das folgende Beispiel zeigt den Dateiinhalt für`parameters.txt`.

  ```
  [
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      },
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      }
  ]
  ```

**Capabilities**  
Erforderlich: Nein  
Zeigt an, dass die Vorlage je nach Ressourcentyp in der Vorlage Ressourcen erstellen und aktualisieren kann.  
Sie müssen diese Eigenschaft verwenden, wenn Ihre Stack-Vorlage IAM-Ressourcen enthält oder wenn Sie einen Stack direkt aus einer Vorlage erstellen, die Makros enthält. Damit die CloudFormation Aktion auf diese Weise erfolgreich ausgeführt werden kann, müssen Sie eine der folgenden Funktionen verwenden:  
+ `CAPABILITY_IAM` 
+ `CAPABILITY_NAMED_IAM` 
 Sie können mehr als eine Fähigkeit angeben, indem Sie ein Komma und keine Leerzeichen zwischen den Funktionen verwenden. Das Beispiel in [Beispiel für **CloudFormationStackSet**eine Aktionskonfiguration](#action-reference-StackSet-example) zeigt einen Eintrag mit mehreren Funktionen.

**PermissionModel**  
Erforderlich: Nein  
Legt fest, wie IAM-Rollen erstellt und verwaltet werden. Wenn das Feld nicht angegeben ist, wird der Standard verwendet. Weitere Informationen finden Sie unter [Berechtigungsmodelle für Stack-Set-Operationen](#action-reference-StackSets-permissions).  
Folgende sind gültige Werte:   
+ `SELF_MANAGED`(Standard): Sie müssen Administrator- und Ausführungsrollen für die Bereitstellung auf Zielkonten erstellen.
+ `SERVICE_MANAGED`: erstellt CloudFormation StackSets automatisch die IAM-Rollen, die für die Bereitstellung auf Konten erforderlich sind, die von AWS Organizations verwaltet werden. Dazu muss ein Konto Mitglied einer Organisation sein.
Dieser Parameter kann nur geändert werden, wenn keine Stack-Instances im Stack-Set vorhanden sind.

****AdministrationRoleArn****  
Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können.
Erforderlich: Nein  
Dieser Parameter ist optional für das SELF\$1MANAGED-Berechtigungsmodell und wird nicht für das SERVICE\$1MANAGED-Berechtigungsmodell verwendet.
Der ARN der IAM-Rolle im Administratorkonto, das zur Ausführung von Stack-Set-Vorgängen verwendet wird.  
Der Name kann alphanumerische Zeichen und eines der folgenden Zeichen enthalten: \$1\$1=, .@- und keine Leerzeichen. Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Dieser Rollenname muss eine Mindestlänge von 20 Zeichen und eine maximale Länge von 2048 Zeichen haben. Rollennamen müssen innerhalb des Kontos eindeutig sein. Der hier angegebene Rollenname muss ein vorhandener Rollenname sein. Wenn Sie den Rollennamen nicht angeben, ist er auf gesetzt AWSCloudFormationStackSetAdministrationRole. Wenn Sie angeben ServiceManaged, dürfen Sie keinen Rollennamen definieren.

****ExecutionRoleName****  
Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können.
Erforderlich: Nein  
Dieser Parameter ist optional für das SELF\$1MANAGED-Berechtigungsmodell und wird nicht für das SERVICE\$1MANAGED-Berechtigungsmodell verwendet.
Der Name der IAM-Rolle in den Zielkonten, die zur Ausführung von Stack-Set-Vorgängen verwendet wird. Der Name kann alphanumerische Zeichen und eines der folgenden Zeichen enthalten: \$1\$1=, .@- und keine Leerzeichen. Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Dieser Rollenname muss eine Mindestlänge von 1 Zeichen und eine maximale Länge von 64 Zeichen haben. Rollennamen müssen innerhalb des Kontos eindeutig sein. Der hier angegebene Rollenname muss ein vorhandener Rollenname sein. Geben Sie diese Rolle nicht an, wenn Sie benutzerdefinierte Ausführungsrollen verwenden. Wenn Sie den Rollennamen nicht angeben, ist er auf gesetzt`AWSCloudFormationStackSetExecutionRole`. Wenn Sie Service\$1Managed auf true setzen, dürfen Sie keinen Rollennamen definieren.

****OrganizationsAutoDeployment****  
Erforderlich: Nein  
Dieser Parameter ist optional für das SERVICE\$1MANAGED-Berechtigungsmodell und wird nicht für das SELF\$1MANAGED-Berechtigungsmodell verwendet.
Beschreibt, ob Konten, die einer Zielorganisation oder Organisationseinheit (OU) hinzugefügt werden, CloudFormation StackSets automatisch für AWS Organizations bereitgestellt werden. Wenn `OrganizationsAutoDeployment` angegeben, geben Sie `DeploymentTargets` und `Regions` nicht an.   
Wenn keine Eingabe angegeben ist`OrganizationsAutoDeployment`, ist der Standardwert`Disabled`.
Folgende sind gültige Werte:  
+ `Enabled`. Erforderlich: Nein. 

  StackSets stellt automatisch zusätzliche Stack-Instances für AWS Unternehmenskonten bereit, die einer Zielorganisation oder Organisationseinheit (OU) in den angegebenen Regionen hinzugefügt werden. Wenn ein Konto aus einer Zielorganisation oder Organisationseinheit entfernt wird, werden Stack-Instances aus dem Konto in den angegebenen Regionen CloudFormation StackSets gelöscht.
+ `Disabled`. Erforderlich: Nein. 

  StackSets stellt nicht automatisch zusätzliche Stack-Instances für AWS Organisationskonten bereit, die einer Zielorganisation oder Organisationseinheit (OU) in den angegebenen Regionen hinzugefügt werden.
+ `EnabledWithStackRetention`. Erforderlich: Nein.

  Stack-Ressourcen bleiben erhalten, wenn ein Konto aus einer Zielorganisation oder Organisationseinheit entfernt wird.

****DeploymentTargets****  
Erforderlich: Nein  
Für das Berechtigungsmodell SERVICE\$1MANAGED können Sie entweder die Stamm-ID der Organisation oder die Organisationseinheit IDs für Bereitstellungsziele angeben. Für das SELF\$1MANAGED-Berechtigungsmodell können Sie nur Konten angeben.
**Wenn dieser Parameter ausgewählt ist, müssen Sie auch Regionen auswählen.**
Eine Liste von AWS Konten oder Organisationseinheiten, IDs in denen Stackset-Instanzen erstellt/aktualisiert werden sollen.  
+ **Konten:**

  Sie können Konten als wörtliche Liste oder als Dateipfad angeben:
  + *Literal*: Geben Sie Parameter im Kurzsyntaxformat ein`account_ID,account_ID`, wie im folgenden Beispiel gezeigt.

    ```
    111111222222,333333444444
    ```
  + *Dateipfad:* Der Speicherort der Datei, die eine Liste von AWS Konten enthält, für die Stackset-Instanzen erstellt/aktualisiert werden sollen, eingegeben im Format. `InputArtifactName::AccountsFileName` Wenn Sie den Dateipfad verwenden, um entweder **Konten** oder anzugeben **OrganizationalUnitIds**, muss das Dateiformat in JSON sein, wie im folgenden Beispiel gezeigt.

    ```
    SourceArtifact::accounts.txt
    ```

    Das folgende Beispiel zeigt den Dateiinhalt für`accounts.txt`.

    ```
    [
        "111111222222"
    ]
    ```

    Das folgende Beispiel zeigt den Dateiinhalt für den Fall`accounts.txt`, dass mehr als ein Konto aufgeführt wird:

    ```
    [
        "111111222222","333333444444"
    ]
    ```
+ **OrganizationalUnitIds**: 
**Anmerkung**  
Dieser Parameter ist optional für das SERVICE\$1MANAGED-Berechtigungsmodell und wird nicht für das SELF\$1MANAGED-Berechtigungsmodell verwendet. Verwenden Sie diesen Wert nicht, wenn Sie auswählen. **OrganizationsAutoDeployment**

  Die AWS Organisationseinheiten, in denen die zugehörigen Stack-Instances aktualisiert werden sollen.

  Sie können die Organisationseinheit IDs als wörtliche Liste oder als Dateipfad angeben:
  + *Literal*: Geben Sie eine Reihe von durch Kommas getrennten Zeichenfolgen ein, wie im folgenden Beispiel gezeigt.

    ```
    ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    ```
  + *Dateipfad:* Der Speicherort der Datei, die eine Liste enthält, OrganizationalUnitIds in der Stackset-Instanzen erstellt oder aktualisiert werden sollen. Wenn Sie den Dateipfad verwenden, um entweder **Konten** oder anzugeben **OrganizationalUnitIds**, muss das Dateiformat in JSON sein, wie im folgenden Beispiel gezeigt.

    Geben Sie einen Pfad zur Datei im Format ein`InputArtifactName::OrganizationalUnitIdsFileName`.

    ```
    SourceArtifact::OU-IDs.txt
    ```

    Das folgende Beispiel zeigt den Dateiinhalt für`OU-IDs.txt`:

    ```
    [
        "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222"
    ]
    ```

****Regionen****  
Erforderlich: Nein  
Wenn dieser Parameter ausgewählt ist, müssen Sie auch auswählen **DeploymentTargets**.
Eine Liste von AWS Regionen, in denen Stackset-Instanzen erstellt oder aktualisiert werden. Regionen werden in der Reihenfolge aktualisiert, in der sie eingegeben wurden.  
Geben Sie eine Liste gültiger AWS Regionen in dem Format ein`Region1,Region2`, wie im folgenden Beispiel gezeigt.  

```
us-west-2,us-east-1
```

****FailureTolerancePercentage****  
Erforderlich: Nein  
Der Prozentsatz der Konten pro Region, bei denen dieser Stack-Vorgang fehlschlagen kann, bevor der Vorgang in dieser Region CloudFormation beendet wird. Wenn der Vorgang in einer Region gestoppt wird, wird der Vorgang in nachfolgenden Regionen CloudFormation nicht versucht. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation *abgerundet*.

****MaxConcurrentPercentage****  
Erforderlich: Nein  
Der maximale Prozentsatz der Konten, auf denen dieser Vorgang gleichzeitig ausgeführt werden kann. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation *abgerundet*. Wenn das Abrunden zu Null führen würde, wird CloudFormation die Zahl stattdessen auf Eins gesetzt. Sie verwenden diese Einstellung zwar, um das *Maximum* anzugeben, aber bei großen Bereitstellungen kann die tatsächliche Anzahl der Konten, auf die gleichzeitig zugegriffen wird, aufgrund der Dienstdrosselung geringer sein.

**RegionConcurrencyType**  
Erforderlich: Nein  
Sie können angeben, ob das Stack-Set AWS-Regionen sequentiell oder parallel bereitgestellt werden soll, indem Sie den Bereitstellungsparameter Region Concurrency konfigurieren. Wenn die Regions-Parallelität so angegeben ist, dass Stacks über mehrere gleichzeitig AWS-Regionen bereitgestellt werden, kann dies zu kürzeren Gesamtbereitstellungszeiten führen.  
+ *Parallel*: Stack-Set-Bereitstellungen werden zur gleichen Zeit durchgeführt, sofern die Bereitstellungsfehler einer Region eine festgelegte Fehlertoleranz nicht überschreiten.
+ *Sequentiell*: Stack-Set-Bereitstellungen werden nacheinander durchgeführt, sofern die Bereitstellungsfehler einer Region eine festgelegte Fehlertoleranz nicht überschreiten. Die sequenzielle Bereitstellung ist die Standardauswahl.

**ConcurrencyMode**  
Erforderlich: Nein  
Im Parallelitätsmodus können Sie wählen, wie sich die Parallelitätsebene bei Stack-Set-Vorgängen verhält, unabhängig davon, ob es sich um eine strikte oder eine weiche Fehlertoleranz handelt. **Strikte Fehlertoleranz** senkt die Bereitstellungsgeschwindigkeit bei fehlerhaften Stack-Set-Vorgängen, da die Parallelität bei jedem Fehler abnimmt. **Bei Soft Failure Tolerance** wird die Geschwindigkeit der Bereitstellung priorisiert und gleichzeitig die Sicherheitsfunktionen genutzt. CloudFormation   
+ `STRICT_FAILURE_TOLERANCE`: Diese Option senkt dynamisch den Parallelitätsgrad, um sicherzustellen, dass die Anzahl ausgefallener Konten niemals eine bestimmte Fehlertoleranz überschreitet. Dies ist das Standardverhalten.
+ `SOFT_FAILURE_TOLERANCE`: Diese Option entkoppelt die Fehlertoleranz von der tatsächlichen Parallelität. Dadurch können Stack-Set-Operationen unabhängig von der Anzahl der Fehler auf einer bestimmten Parallelitätsebene ausgeführt werden.

**CallAs**  
Erforderlich: Nein  
Dieser Parameter ist für das `SERVICE_MANAGED` Berechtigungsmodell optional und wird nicht für das `SELF_MANAGED` Berechtigungsmodell verwendet.
Gibt an, ob Sie im Verwaltungskonto der Organisation oder als delegierter Administrator in einem Mitgliedskonto agieren.  
Wenn dieser Parameter auf gesetzt ist, stellen Sie sicher`DELEGATED_ADMIN`, dass die Pipeline-IAM-Rolle über die entsprechende Berechtigung verfügt`organizations:ListDelegatedAdministrators`. Andernfalls schlägt die Aktion während der Ausführung mit einem Fehler ähnlich dem folgenden fehl:`Account used is not a delegated administrator`.
+ `SELF`: Bei der Stackset-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, während Sie mit dem Verwaltungskonto angemeldet sind.
+ `DELEGATED_ADMIN`: Bei der Stackset-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, wenn Sie mit einem delegierten Administratorkonto angemeldet sind.

### Input artifacts (Eingabeartefakte)
<a name="action-reference-StackSet-input"></a>

Sie müssen mindestens ein Eingabeartefakt, das die Vorlage für das Stack-Set enthält, in eine Aktion einbeziehen. `CloudFormationStackSet` Sie können weitere Eingabeartefakte für Listen mit Bereitstellungszielen, Konten und Parametern hinzufügen.
+ **Anzahl der Artefakte:** `1 to 3`
+ **Beschreibung:** Sie können Artefakte hinzufügen, um Folgendes bereitzustellen:
  + Die Stack-Vorlagendatei. (Weitere Informationen finden Sie unter dem `TemplatePath`-Parameter.)
  + Die Parameterdatei. (Weitere Informationen finden Sie unter dem `Parameters`-Parameter.)
  + Die Kontendatei. (Weitere Informationen finden Sie unter dem `DeploymentTargets`-Parameter.)

### Ausgabeartefakte
<a name="action-reference-StackSet-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

### Ausgabevariablen
<a name="action-reference-StackSet-variables"></a>

Wenn Sie diese Aktion konfigurieren, erzeugt sie Variablen, auf die in der Aktionskonfiguration einer Downstream-Aktion in der Pipeline verwiesen werden kann. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.
+ **StackSetId**: Die ID des Stack-Sets.
+ **OperationId**: Die ID der Stack-Set-Operation.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

### Beispiel für **CloudFormationStackSet**eine Aktionskonfiguration
<a name="action-reference-StackSet-example"></a>

Die folgenden Beispiele zeigen die Aktionskonfiguration für die **CloudFormationStackSet**Aktion.

#### Beispiel für das selbstverwaltete Berechtigungsmodell
<a name="action-reference-StackSet-example-selfmanaged"></a>

Das folgende Beispiel zeigt eine **CloudFormationStackSet**Aktion, bei der das eingegebene Bereitstellungsziel eine AWS Konto-ID ist.

------
#### [ YAML ]

```
Name: CreateStackSet
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackSet
  Version: '1'
RunOrder: 1
Configuration:
  DeploymentTargets: '111111222222'
  FailureTolerancePercentage: '20'
  MaxConcurrentPercentage: '25'
  PermissionModel: SELF_MANAGED
  Regions: us-east-1
  StackSetName: my-stackset
  TemplatePath: 'SourceArtifact::template.json'
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "CreateStackSet",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackSet",
        "Version": "1"
    },
    "RunOrder": 1,
    "Configuration": {
        "DeploymentTargets": "111111222222",
        "FailureTolerancePercentage": "20",
        "MaxConcurrentPercentage": "25",
        "PermissionModel": "SELF_MANAGED",
        "Regions": "us-east-1",
        "StackSetName": "my-stackset",
        "TemplatePath": "SourceArtifact::template.json"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2",
    "Namespace": "DeployVariables"
}
```

------

#### Beispiel für das Modell der vom Service verwalteten Berechtigungen
<a name="action-reference-StackSet-example-servicemanaged"></a>

Das folgende Beispiel zeigt eine **CloudFormationStackSet**Aktion für das vom Service verwaltete Berechtigungsmodell, bei dem die Option für die auto Bereitstellung für AWS Organizations mit Stack-Aufbewahrung aktiviert ist.

------
#### [ YAML ]

```
Name: Deploy
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackSet
  Version: '1'
RunOrder: 1
Configuration:
  Capabilities: 'CAPABILITY_IAM,CAPABILITY_NAMED_IAM'
  OrganizationsAutoDeployment: EnabledWithStackRetention
  PermissionModel: SERVICE_MANAGED
  StackSetName: stacks-orgs
  TemplatePath: 'SourceArtifact::template.json'
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: eu-central-1
Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackSet",
        "Version": "1"
    },
    "RunOrder": 1,
    "Configuration": {
        "Capabilities": "CAPABILITY_IAM,CAPABILITY_NAMED_IAM",
        "OrganizationsAutoDeployment": "EnabledWithStackRetention",
        "PermissionModel": "SERVICE_MANAGED",
        "StackSetName": "stacks-orgs",
        "TemplatePath": "SourceArtifact::template.json"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "eu-central-1",
    "Namespace": "DeployVariables"
}
```

------

## Die Aktion CloudFormationStackInstances
<a name="action-reference-StackInstances"></a>

Diese Aktion erstellt neue Instances und stellt Stack-Sets für bestimmte Instances bereit. Eine Stack-Instance ist eine Referenz auf einen Stack in einem Zielkonto innerhalb einer Region. Eine Stack-Instance kann auch ohne Stack existieren. Wenn die Stack-Erstellung beispielsweise nicht erfolgreich ist, zeigt die Stack-Instance den Grund für das Fehlschlagen der Stack-Erstellung an. Ein Stack-Instance ist nur einem Stack-Set zugeordnet.

Nach der ersten Erstellung eines Stack-Sets können Sie neue Stack-Instances hinzufügen, indem `CloudFormationStackInstances` Sie Vorlagenparameterwerte können auf Stack-Instance-Ebene bei der Erstellung oder Aktualisierung von Stack-Set-Instance-Vorgängen überschrieben werden.

Jedes Stack-Set hat eine Vorlage und einen Satz von Vorlagenparametern. Wenn Sie die Vorlage oder die Vorlagenparameter aktualisieren, aktualisieren Sie sie für den gesamten Satz. Dann werden alle Instanzstatus auf gesetzt, `OUTDATED` bis die Änderungen für diese Instanz bereitgestellt werden.

Um Parameterwerte für bestimmte Instanzen zu überschreiben, z. B. wenn die Vorlage einen Parameter für `stage` mit dem Wert von enthält`prod`, können Sie den Wert dieses Parameters auf `beta` oder `gamma` überschreiben.

**Topics**
+ [Aktionstyp](#action-reference-StackInstances-type)
+ [Konfigurationsparameter](#action-reference-StackInstances-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-StackInstances-input)
+ [Ausgabeartefakte](#action-reference-StackInstances-output)
+ [Ausgabevariablen](#action-reference-StackInstances-variables)
+ [Beispielaktionskonfiguration](#action-reference-StackInstances-example)

### Aktionstyp
<a name="action-reference-StackInstances-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `CloudFormationStackInstances`
+ Version: `1`

### Konfigurationsparameter
<a name="action-reference-StackInstances-config"></a>

**StackSetName**  
Erforderlich: Ja  
Der Name, der dem Stack-Set zugeordnet werden soll. Dieser Name muss in der Region, in der er erstellt wurde, eindeutig sein.  
Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und maximal 128 Zeichen lang sein.

****DeploymentTargets****  
Erforderlich: Nein  
Für das BERECHTIGUNGSMODELL SERVICE\$1MANAGED können Sie entweder die Stamm-ID der Organisation oder die Organisationseinheit IDs für Bereitstellungsziele angeben. Für das SELF\$1MANAGED-Berechtigungsmodell können Sie nur Konten angeben.
**Wenn dieser Parameter ausgewählt ist, müssen Sie auch Regionen auswählen.**
Eine Liste von AWS Konten oder Organisationseinheiten, IDs in denen Stackset-Instanzen erstellt/aktualisiert werden sollen.  
+ **Konten:**

  Sie können Konten als wörtliche Liste oder als Dateipfad angeben:
  + *Literal*: Geben Sie Parameter im Kurzsyntaxformat ein`account_ID,account_ID`, wie im folgenden Beispiel gezeigt.

    ```
    111111222222,333333444444
    ```
  + *Dateipfad:* Der Speicherort der Datei, die eine Liste von AWS Konten enthält, für die Stackset-Instanzen erstellt/aktualisiert werden sollen, eingegeben im Format. `InputArtifactName::AccountsFileName` Wenn Sie den Dateipfad verwenden, um entweder **Konten** oder anzugeben **OrganizationalUnitIds**, muss das Dateiformat in JSON sein, wie im folgenden Beispiel gezeigt.

    ```
    SourceArtifact::accounts.txt
    ```

    Das folgende Beispiel zeigt den Dateiinhalt für`accounts.txt`:

    ```
    [
        "111111222222"
    ]
    ```

    Das folgende Beispiel zeigt den Dateiinhalt für den Fall`accounts.txt`, dass mehr als ein Konto aufgeführt wird:

    ```
    [
        "111111222222","333333444444"
    ]
    ```
+ **OrganizationalUnitIds**: 
**Anmerkung**  
Dieser Parameter ist optional für das SERVICE\$1MANAGED-Berechtigungsmodell und wird nicht für das SELF\$1MANAGED-Berechtigungsmodell verwendet. Verwenden Sie diesen Wert nicht, wenn Sie auswählen. **OrganizationsAutoDeployment**

  Die AWS Organisationseinheiten, in denen die zugehörigen Stack-Instances aktualisiert werden sollen.

  Sie können die Organisationseinheit IDs als wörtliche Liste oder als Dateipfad angeben.
  + *Literal*: Geben Sie eine Reihe von durch Kommas getrennten Zeichenfolgen ein, wie im folgenden Beispiel gezeigt.

    ```
    ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    ```
  + *Dateipfad:* Der Speicherort der Datei, die eine Liste enthält, OrganizationalUnitIds in der Stackset-Instanzen erstellt oder aktualisiert werden sollen. Wenn Sie den Dateipfad verwenden, um entweder **Konten** oder anzugeben **OrganizationalUnitIds**, muss das Dateiformat in JSON sein, wie im folgenden Beispiel gezeigt.

    Geben Sie einen Pfad zur Datei im Format ein`InputArtifactName::OrganizationalUnitIdsFileName`.

    ```
    SourceArtifact::OU-IDs.txt
    ```

    Das folgende Beispiel zeigt den Dateiinhalt für`OU-IDs.txt`:

    ```
    [
        "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222"
    ]
    ```

****Regionen****  
Erforderlich: Ja  
Wenn dieser Parameter ausgewählt ist, müssen Sie auch auswählen **DeploymentTargets**.
Eine Liste von AWS Regionen, in denen Stackset-Instanzen erstellt oder aktualisiert werden. Regionen werden in der Reihenfolge aktualisiert, in der sie eingegeben wurden.  
Geben Sie eine Liste gültiger AWS Regionen im Format: ein`Region1,Region2`, wie im folgenden Beispiel gezeigt.  

```
us-west-2,us-east-1
```

**ParameterOverrides**  
Erforderlich: Nein  
Eine Liste von Stack-Set-Parametern, die Sie in den ausgewählten Stack-Instances überschreiben möchten. Überschriebene Parameterwerte werden auf alle Stack-Instances in den angegebenen Konten und Regionen angewendet.  
Sie können Parameter als Literalliste oder als Dateipfad angeben:  
+ Sie können Parameter im folgenden Kurzsyntaxformat eingeben:. `ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string` Weitere Informationen zu diesen Datentypen finden Sie unter. [Datentypen von Vorlagenparametern](#action-reference-StackSets-datatypes)

  Das folgende Beispiel zeigt einen Parameter, der `BucketName` mit dem Wert benannt ist`amzn-s3-demo-source-bucket`.

  ```
  ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
  ```

  Das folgende Beispiel zeigt einen Eintrag mit mehreren Parametern.

  ```
                                                                                                        
    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
    ParameterKey=Asset1,ParameterValue=true              
    ParameterKey=Asset2,ParameterValue=true
  ```
+ Sie können den Speicherort der Datei eingeben, die eine Liste der im Format eingegebenen Überschreibungen von Vorlagenparametern enthält`InputArtifactName::ParameterOverridessFileName`, wie im folgenden Beispiel gezeigt.

  ```
  SourceArtifact::parameter-overrides.txt
  ```

  Das folgende Beispiel zeigt den Dateiinhalt für`parameter-overrides.txt`.

  ```
  [
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      },
      {
          "ParameterKey": "KeyName",
          "ParameterValue": "true"
      }
  ]
  ```

****FailureTolerancePercentage****  
Erforderlich: Nein  
Der Prozentsatz der Konten pro Region, für die dieser Stack-Vorgang fehlschlagen kann, bevor der Vorgang in dieser Region CloudFormation beendet wird. Wenn der Vorgang in einer Region gestoppt wird, wird der Vorgang in nachfolgenden Regionen CloudFormation nicht versucht. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation *abgerundet*.

****MaxConcurrentPercentage****  
Erforderlich: Nein  
Der maximale Prozentsatz der Konten, für die dieser Vorgang gleichzeitig ausgeführt werden soll. Bei der Berechnung der Anzahl der Konten auf der Grundlage des angegebenen Prozentsatzes wird auf die nächste ganze Zahl CloudFormation *abgerundet*. Wenn das Abrunden zu Null führen würde, wird CloudFormation die Zahl stattdessen auf Eins gesetzt. Sie geben zwar das *Maximum* an, aber bei großen Bereitstellungen kann die tatsächliche Anzahl der Konten, auf die gleichzeitig zugegriffen wird, aufgrund der Dienstdrosselung geringer sein.

**RegionConcurrencyType**  
Erforderlich: Nein  
Sie können angeben, ob das Stack-Set AWS-Regionen sequentiell oder parallel bereitgestellt werden soll, indem Sie den Bereitstellungsparameter Region Concurrency konfigurieren. Wenn die Regions-Parallelität so angegeben ist, dass Stacks über mehrere gleichzeitig AWS-Regionen bereitgestellt werden, kann dies zu kürzeren Gesamtbereitstellungszeiten führen.  
+ *Parallel*: Stack-Set-Bereitstellungen werden zur gleichen Zeit durchgeführt, sofern die Bereitstellungsfehler einer Region eine festgelegte Fehlertoleranz nicht überschreiten.
+ *Sequentiell*: Stack-Set-Bereitstellungen werden nacheinander durchgeführt, sofern die Bereitstellungsfehler einer Region eine festgelegte Fehlertoleranz nicht überschreiten. Die sequenzielle Bereitstellung ist die Standardauswahl.

**ConcurrencyMode**  
Erforderlich: Nein  
Im Parallelitätsmodus können Sie wählen, wie sich die Parallelitätsebene bei Stack-Set-Vorgängen verhält, unabhängig davon, ob es sich um eine strikte oder eine weiche Fehlertoleranz handelt. **Strikte Fehlertoleranz** senkt die Bereitstellungsgeschwindigkeit bei fehlerhaften Stack-Set-Vorgängen, da die Parallelität bei jedem Fehler abnimmt. **Bei Soft Failure Tolerance** wird die Geschwindigkeit der Bereitstellung priorisiert und gleichzeitig die Sicherheitsfunktionen genutzt. CloudFormation   
+ `STRICT_FAILURE_TOLERANCE`: Diese Option senkt dynamisch den Parallelitätsgrad, um sicherzustellen, dass die Anzahl ausgefallener Konten niemals eine bestimmte Fehlertoleranz überschreitet. Dies ist das Standardverhalten.
+ `SOFT_FAILURE_TOLERANCE`: Diese Option entkoppelt die Fehlertoleranz von der tatsächlichen Parallelität. Dadurch können Stack-Set-Operationen unabhängig von der Anzahl der Fehler auf einer bestimmten Parallelitätsebene ausgeführt werden.

**CallAs**  
Erforderlich: Nein  
Dieser Parameter ist für das `SERVICE_MANAGED` Berechtigungsmodell optional und wird nicht für das `SELF_MANAGED` Berechtigungsmodell verwendet.
Gibt an, ob Sie im Verwaltungskonto der Organisation oder als delegierter Administrator in einem Mitgliedskonto agieren.  
Wenn dieser Parameter auf gesetzt ist, stellen Sie sicher`DELEGATED_ADMIN`, dass die Pipeline-IAM-Rolle über die entsprechende Berechtigung verfügt`organizations:ListDelegatedAdministrators`. Andernfalls schlägt die Aktion während der Ausführung mit einem Fehler ähnlich dem folgenden fehl:`Account used is not a delegated administrator`.
+ `SELF`: Bei der Stackset-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, während Sie mit dem Verwaltungskonto angemeldet sind.
+ `DELEGATED_ADMIN`: Bei der Stackset-Bereitstellung werden vom Dienst verwaltete Berechtigungen verwendet, wenn Sie mit einem delegierten Administratorkonto angemeldet sind.

### Input artifacts (Eingabeartefakte)
<a name="action-reference-StackInstances-input"></a>

`CloudFormationStackInstances`kann Artefakte enthalten, die Bereitstellungsziele und -parameter auflisten.
+ **Anzahl der Artefakte:** `0 to 2`
+ **Beschreibung:** Als Eingabe akzeptiert die Stack-Set-Aktion optional Artefakte für folgende Zwecke:
  + Um die zu verwendende Parameterdatei bereitzustellen. (Weitere Informationen finden Sie unter dem `ParameterOverrides`-Parameter.)
  + Um die zu verwendende Zielkontendatei bereitzustellen. (Weitere Informationen finden Sie unter dem `DeploymentTargets`-Parameter.)

### Ausgabeartefakte
<a name="action-reference-StackInstances-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

### Ausgabevariablen
<a name="action-reference-StackInstances-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.
+ **StackSetId**: Die ID des Stack-Sets.
+ **OperationId**: Die ID der Stack-Set-Operation.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

### Beispielaktionskonfiguration
<a name="action-reference-StackInstances-example"></a>

Die folgenden Beispiele zeigen die Aktionskonfiguration für die **CloudFormationStackInstances**Aktion.

#### Beispiel für das selbstverwaltete Berechtigungsmodell
<a name="action-reference-StackInstances-example-selfmanaged"></a>

Das folgende Beispiel zeigt eine **CloudFormationStackInstances**Aktion, bei der das eingegebene Bereitstellungsziel eine AWS-Konto ID `111111222222` ist.

------
#### [ YAML ]

```
Name: my-instances
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackInstances
  Version: '1'
RunOrder: 2
Configuration:
  DeploymentTargets: '111111222222'
  Regions: 'us-east-1,us-east-2,us-west-1,us-west-2'
  StackSetName: my-stackset
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "my-instances",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackInstances",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "DeploymentTargets": "111111222222",
        "Regions": "us-east-1,us-east-2,us-west-1,us-west-2",
        "StackSetName": "my-stackset"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2"
}
```

------

#### Beispiel für das Modell der vom Service verwalteten Berechtigungen
<a name="action-reference-StackInstances-example-servicemanaged"></a>

Das folgende Beispiel zeigt eine **CloudFormationStackInstances**Aktion für das Modell mit vom Dienst verwalteten Berechtigungen, bei dem das Bereitstellungsziel eine AWS Organisationseinheit-ID `ou-1111-1example` einer Organisation ist.

------
#### [ YAML ]

```
Name: Instances
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: CloudFormationStackInstances
  Version: '1'
RunOrder: 2
Configuration:
  DeploymentTargets: ou-1111-1example
  Regions: us-east-1
  StackSetName: my-stackset
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: eu-central-1
```

------
#### [ JSON ]

```
{
    "Name": "Instances",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "CloudFormationStackInstances",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "DeploymentTargets": "ou-1111-1example",
        "Regions": "us-east-1",
        "StackSetName": "my-stackset"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "eu-central-1"
}
```

------

## Berechtigungen für Servicerollen: Aktion `CloudFormationStackSet`
<a name="edit-role-cfn-stackset"></a>

Für CloudFormation StackSets Aktionen sind die folgenden Mindestberechtigungen erforderlich.

Für die `CloudFormationStackSet` Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:CreateStackSet",
        "cloudformation:UpdateStackSet",
        "cloudformation:CreateStackInstances",
        "cloudformation:DescribeStackSetOperation",
        "cloudformation:DescribeStackSet",
        "cloudformation:ListStackInstances"
    ],
    "Resource": "resource_ARN"
},
```

## Berechtigungen für Servicerollen: `CloudFormationStackInstances` Aktion
<a name="edit-role-cfn-stackinstances"></a>

Für die `CloudFormationStackInstances` Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:CreateStackInstances",
        "cloudformation:DescribeStackSetOperation"
    ],
    "Resource": "resource_ARN"
},
```

## Berechtigungsmodelle für Stack-Set-Operationen
<a name="action-reference-StackSets-permissions"></a>

Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können. Sie können Berechtigungen über selbstverwaltete oder vom Service verwaltete Berechtigungen definieren.

Mit selbstverwalteten Berechtigungen erstellen Sie die beiden IAM-Rollen, die für erforderlich sind: eine Administratorrolle wie die AWSCloud FormationStackSetAdministrationRole in dem Konto, in dem Sie das Stack-Set definieren, und eine Ausführungsrolle wie die AWSCloud FormationStackSetExecutionRole in jedem der Konten, in denen Sie Stackset-Instanzen bereitstellen. StackSets Mithilfe dieses Berechtigungsmodells StackSets kann die Bereitstellung für jedes AWS Konto erfolgen, für das der Benutzer über die Berechtigung zum Erstellen einer IAM-Rolle verfügt. Weitere Informationen finden Sie im *AWS CloudFormation Benutzerhandbuch* unter [Gewähren von selbstverwalteten Berechtigungen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html).

**Anmerkung**  
Da CloudFormation StackSets Operationen über mehrere Konten hinweg ausgeführt werden, müssen Sie die erforderlichen Berechtigungen für diese Konten definieren, bevor Sie das Stack-Set erstellen können.

Mit vom Service verwalteten Berechtigungen können Sie Stack-Instances für Konten bereitstellen, die von AWS Organizations verwaltet werden. Mit diesem Berechtigungsmodell müssen Sie nicht die erforderlichen IAM-Rollen erstellen, da die IAM-Rollen in Ihrem Namen StackSets erstellt werden. Mit diesem Modell können Sie auch automatische Bereitstellungen für Konten aktivieren, die der Organisation in future hinzugefügt werden. Weitere Informationen finden Sie unter [Aktivieren des vertrauenswürdigen Zugriffs mit AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html) im *AWS CloudFormation Benutzerhandbuch*.

## Datentypen von Vorlagenparametern
<a name="action-reference-StackSets-datatypes"></a>

Zu den bei Stack-Set-Operationen verwendeten Vorlagenparametern gehören die folgenden Datentypen. Weitere Informationen finden Sie unter [DescribeStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html).

ParameterKey  
+ Beschreibung: Der dem Parameter zugeordnete Schlüssel. Wenn Sie keinen Schlüssel und keinen Wert für einen bestimmten Parameter angeben, wird der Standardwert AWS CloudFormation verwendet, der in der Vorlage angegeben ist.
+ Beispiel:

  ```
  "ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
  ```

ParameterValue  
+ Beschreibung: Der dem Parameter zugeordnete Eingabewert.
+ Beispiel:

  ```
  "ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
  ```

UsePreviousValue  
+ Verwenden Sie während einer Stack-Aktualisierung den vorhandenen Parameterwert, den der Stack für einen bestimmten Parameterschlüssel verwendet. Wenn Sie angeben`true`, geben Sie keinen Parameterwert an.
+ Beispiel:

  ```
  "ParameterKey=Asset1,UsePreviousValue=true"
  ```

Jeder Stacksatz hat eine Vorlage und einen Satz von Vorlagenparametern. Wenn Sie die Vorlage oder die Vorlagenparameter aktualisieren, aktualisieren Sie sie für den gesamten Satz. Dann werden alle Instanzstatus auf VERALTET gesetzt, bis die Änderungen für diese Instanz bereitgestellt werden.

Um Parameterwerte für bestimmte Instanzen zu überschreiben, z. B. wenn die Vorlage einen Parameter für `stage` mit dem Wert von enthält`prod`, können Sie den Wert dieses Parameters auf `beta` oder `gamma` überschreiben.

## Weitere Informationen finden Sie auch unter
<a name="action-reference-CloudFormation-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Parametertypen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties-type) — Dieses Referenzkapitel im *AWS CloudFormation Benutzerhandbuch* enthält weitere Beschreibungen und Beispiele für CloudFormation Vorlagenparameter.
+ Bewährte Methoden — Weitere Informationen zu bewährten Methoden für die Bereitstellung von Stack-Sets finden Sie [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html) im *AWS CloudFormation Benutzerhandbuch*.
+ [AWS CloudFormation API-Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/) — Weitere Informationen zu den bei Stack-Set-Vorgängen verwendeten Parametern finden Sie in der *AWS CloudFormation API-Referenz* auf die folgenden CloudFormation Aktionen:

  
  + Die [CreateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html)Aktion erstellt ein Stack-Set.
  + Die [UpdateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)Aktion aktualisiert das Stack-Set und die zugehörigen Stack-Instances in den angegebenen Konten und Regionen. Selbst wenn der durch die Aktualisierung des Stack-Sets erzeugte Stack-Set-Vorgang fehlschlägt (ganz oder teilweise, unter oder über einer bestimmten Fehlertoleranz), wird das Stack-Set mit diesen Änderungen aktualisiert. Nachfolgende CreateStackInstances Aufrufe des angegebenen Stack-Sets verwenden das aktualisierte Stack-Set.
  + Die [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html)Aktion erstellt eine Stack-Instanz für alle angegebenen Regionen innerhalb aller angegebenen Konten bei einem selbstverwalteten Berechtigungsmodell oder innerhalb aller angegebenen Bereitstellungsziele bei einem vom Service verwalteten Berechtigungsmodell. Sie können die Parameter für die durch diese Aktion erstellten Instanzen überschreiben. Wenn die Instanzen bereits existieren, werden CreateStackInstances Aufrufe UpdateStackInstances mit denselben Eingabeparametern ausgeführt. Wenn Sie diese Aktion verwenden, um Instanzen zu erstellen, ändert sich dadurch nicht der Status anderer Stack-Instances.
  + Durch die [UpdateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackInstances.html)Aktion werden Stack-Instances mit dem Stack-Set für alle angegebenen Regionen innerhalb aller angegebenen Konten bei einem selbstverwalteten Berechtigungsmodell oder innerhalb aller angegebenen Bereitstellungsziele bei einem vom Service verwalteten Berechtigungsmodell auf den neuesten Stand gebracht. Sie können die Parameter für die durch diese Aktion aktualisierten Instanzen überschreiben. Wenn Sie diese Aktion verwenden, um eine Teilmenge von Instances zu aktualisieren, ändert sich dadurch nicht der Status anderer Stack-Instances.
  + Die [DescribeStackSetOperation](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackSetOperation.html)Aktion gibt die Beschreibung des angegebenen Stack-Set-Vorgangs zurück.
  + Die [DescribeStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackSet.html)Aktion gibt die Beschreibung des angegebenen Stack-Sets zurück.

# AWS CodeBuild Aktionsreferenz zum Erstellen und Testen
<a name="action-reference-CodeBuild"></a>

Ermöglicht die Ausführung von Builds und Tests als Teil Ihrer Pipeline. Wenn Sie eine CodeBuild Build- oder Testaktion ausführen, werden die in der Buildspec angegebenen Befehle innerhalb eines Containers ausgeführt. CodeBuild Alle Artefakte, die als Eingabeartefakte für eine CodeBuild Aktion angegeben sind, sind innerhalb des Containers verfügbar, in dem die Befehle ausgeführt werden. CodeBuild kann entweder eine Build- oder eine Testaktion bereitstellen. Weitere Informationen finden Sie im [AWS CodeBuild -Benutzerhandbuch](https://docs.aws.amazon.com/codebuild/latest/userguide/).

Wenn Sie den CodePipeline Assistenten in der Konsole verwenden, um ein Build-Projekt zu erstellen, zeigt das CodeBuild Build-Projekt den Quellanbieter an CodePipeline. Wenn Sie ein Build-Projekt in der CodeBuild Konsole erstellen, können Sie nicht den Quellanbieter angeben CodePipeline , aber wenn Sie die Build-Aktion zu Ihrer Pipeline hinzufügen, wird die Quelle in der CodeBuild Konsole angepasst. Weitere Informationen finden Sie unter [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) in der *AWS CodeBuild -API-Referenz*.

**Topics**
+ [Aktionstyp](#action-reference-CodeBuild-type)
+ [Konfigurationsparameter](#action-reference-CodeBuild-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-CodeBuild-input)
+ [Ausgabeartefakte](#action-reference-CodeBuild-output)
+ [Ausgabevariablen](#action-reference-CodeBuild-variables)
+ [Berechtigungen für Servicerollen: CodeBuild Aktion](#edit-role-codebuild)
+ [Aktionserklärung (CodeBuild Beispiel)](#action-reference-CodeBuild-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-CodeBuild-links)

## Aktionstyp
<a name="action-reference-CodeBuild-type"></a>
+ Kategorie: `Build` oder `Test`
+ Eigentümer: `AWS`
+ Anbieter: `CodeBuild`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-CodeBuild-config"></a>

**ProjectName**  
Erforderlich: Ja  
`ProjectName`ist der Name des Build-Projekts in CodeBuild.

**PrimarySource**  
Required: Conditional  
Der Wert des `PrimarySource` Parameters muss der Name eines der Eingabeartefakte für die Aktion sein. CodeBuild sucht nach der Buildspec-Datei und führt die Buildspec-Befehle in dem Verzeichnis aus, das die entpackte Version dieses Artefakts enthält.  
Dieser Parameter ist erforderlich, wenn für eine CodeBuild -Aktion mehrere Eingabeartefakte angegeben werden. Wenn nur ein Quellartefakt für die Aktion vorhanden ist, verwendet das `PrimarySource`-Artefakt standardmäßig dieses Artefakt.

**BatchEnabled**  
Erforderlich: Nein  
Der boolesche Wert des `BatchEnabled` Parameters ermöglicht es der Aktion, mehrere Builds in derselben Build-Ausführung auszuführen.  
Wenn diese Option aktiviert ist, ist die `CombineArtifacts` Option verfügbar.  
Pipeline-Beispiele mit aktivierten Batch-Builds finden Sie unter [CodePipeline Integration mit CodeBuild und Batch-Builds](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**BuildspecOverride**  
Erforderlich: Nein  
Eine Inline-Buildspec-Definition oder Buildspec-Dateideklaration, die die zuletzt im Build-Projekt definierte Definition außer Kraft setzt, und zwar nur für diesen Build. Die für das Projekt definierte Buildspec wird nicht geändert.  
Wenn dieser Wert festgelegt ist, kann es sich um einen der folgenden Werte handeln:  
+ Eine Inline-Buildspec-Definition. [Weitere Informationen finden Sie in der Syntaxreferenz unter Buildspec-Syntax.](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax)
+ Der Pfad zu einer alternativen Buildspec-Datei relativ zum Wert der integrierten `CODEBUILD_SRC_DIR` Umgebungsvariablen oder der Pfad zu einem S3-Bucket. Der Bucket muss sich im selben Verzeichnis befinden AWS-Region wie das Build-Projekt. Geben Sie die buildspec-Datei mit ihrem ARN an (z. B. `arn:aws:s3:::my-codebuild-sample2/buildspec.yml`). Wenn dieser Wert nicht angegeben oder auf eine leere Zeichenfolge gesetzt ist, muss der Quellcode eine Buildspec-Datei in seinem Stammverzeichnis enthalten. Weitere Informationen zum Hinzufügen eines Pfads finden Sie unter [Buildspec-Dateiname](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage) und Speicherort.
Da Sie mit dieser Eigenschaft die Build-Befehle ändern können, die im Container ausgeführt werden, sollten Sie beachten, dass ein IAM-Prinzipal, der diese API aufrufen und diesen Parameter festlegen kann, die Standardeinstellungen überschreiben kann. Darüber hinaus empfehlen wir Ihnen, einen vertrauenswürdigen Buildspec-Speicherort wie eine Datei in Ihrem Quell-Repository oder einen Amazon S3 S3-Bucket zu verwenden.

**CombineArtifacts**  
Erforderlich: Nein  
Der boolesche Wert des `CombineArtifacts` Parameters kombiniert alle Build-Artefakte aus einem Batch-Build in einer einzigen Artefaktdatei für die Build-Aktion.  
Um diese Option verwenden zu können, muss der `BatchEnabled` Parameter aktiviert sein.

**EnvironmentVariables**  
Erforderlich: Nein  
Der Wert dieses Parameters wird verwendet, um Umgebungsvariablen für die CodeBuild -Aktion in Ihrer Pipeline festzulegen. Der Wert für den Parameter `EnvironmentVariables` hat das Format eines JSON-Arrays von Umgebungsvariablenobjekten. Einen Beispielparameter finden Sie unter [Aktionserklärung (CodeBuild Beispiel)](#action-reference-CodeBuild-example).  
Jedes Objekt besteht aus drei Teilen. Alle Teile sind Zeichenfolgen:  
+ `name`: Der Name oder Schlüssel der Umgebungsvariable. 
+ `value`: Der Wert der Umgebungsvariable. Wenn Sie den `SECRETS_MANAGER` Typ `PARAMETER_STORE` oder verwenden, muss dieser Wert der Name eines Parameters sein, den Sie bereits im AWS Systems Manager Parameter Store gespeichert haben, bzw. eines Secrets, das Sie bereits in AWS Secrets Manager gespeichert haben.
**Anmerkung**  
Es wird dringend davon abgeraten, Umgebungsvariablen zum Speichern sensibler Werte, insbesondere von AWS Anmeldeinformationen, zu verwenden. Wenn Sie die CodeBuild Konsole oder AWS CLI verwenden, werden Umgebungsvariablen im Klartext angezeigt. Wenn es sich um vertrauliche Werte handelt, sollten Sie stattdessen den Typ `SECRETS_MANAGER` verwenden. 
+ `type`: (Optional) Der Typ der Umgebungsvariablen. Gültige Werte sind `PARAMETER_STORE`, `SECRETS_MANAGER` oder `PLAINTEXT`. Wenn keine Angabe gemacht wird, gilt der Standardwert `PLAINTEXT`.
Wenn Sie `name``value`, und `type` für Ihre Umgebungsvariablenkonfiguration eingeben, insbesondere wenn die Umgebungsvariable die Syntax der CodePipeline Ausgabevariablen enthält, sollten Sie die 1000-Zeichen-Grenze für das Wertefeld der Konfiguration nicht überschreiten. Ein Validierungsfehler wird zurückgegeben, wenn dieser Grenzwert überschritten wird.
Weitere Informationen finden Sie [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)in der AWS CodeBuild API-Referenz. Ein Beispiel für eine CodeBuild Aktion mit einer Umgebungsvariablen, die in den Namen der GitHub Verzweigung aufgelöst wird, finden Sie unter[Beispiel: Verwenden Sie eine BranchName Variable mit CodeBuild Umgebungsvariablen](actions-variables.md#actions-variables-examples-env-branchname).

## Input artifacts (Eingabeartefakte)
<a name="action-reference-CodeBuild-input"></a>
+ **Anzahl der Artefakte:** `1 to 5`
+ **Beschreibung:** CodeBuild sucht nach der Buildspec-Datei und führt die Buildspec-Befehle aus dem Verzeichnis des primären Quellartefakts aus. Wenn entweder eine einzelne Eingabequelle oder mehr als eine Eingabequelle für die CodeBuild Aktion angegeben ist, muss das einzelne Artefakt oder das primäre Artefakt bei mehreren Eingabequellen mithilfe des Aktionskonfigurationsparameters in festgelegt werden. `PrimarySource` CodePipeline 

  Jedes Eingabeartefakt wird in ein eigenes Verzeichnis extrahiert, dessen Speicherorte in Umgebungsvariablen gespeichert sind. Das Verzeichnis für das primäre Quellartefakt wird mit `$CODEBUILD_SRC_DIR` zur Verfügung gestellt. Die Verzeichnisse für alle anderen Eingabeartefakte werden mit `$CODEBUILD_SRC_DIR_yourInputArtifactName` zur Verfügung gestellt.
**Anmerkung**  
Das in Ihrem CodeBuild Projekt konfigurierte Artefakt wird zum Eingabeartefakt, das von der CodeBuild Aktion in Ihrer Pipeline verwendet wird.

## Ausgabeartefakte
<a name="action-reference-CodeBuild-output"></a>
+ **Anzahl der Artefakte:** `0 to 5` 
+ **Beschreibung:** Diese können verwendet werden, um die in der CodeBuild Buildspec-Datei definierten Artefakte für nachfolgende Aktionen in der Pipeline verfügbar zu machen. Wenn nur ein Ausgabeartefakt definiert ist, kann dieses Artefakt direkt im `artifacts` Abschnitt der Buildspec-Datei definiert werden. Wenn mehr als ein Ausgabeartefakt angegeben ist, müssen alle Artefakte, auf die verwiesen wird, in der Buildspec-Datei als sekundäre Artefakte definiert werden. Die Namen der Ausgabeartefakte in CodePipeline müssen mit den Artefakt-Identifikatoren in der Buildspec-Datei übereinstimmen.
**Anmerkung**  
Das in Ihrem CodeBuild Projekt konfigurierte Artefakt wird zum CodePipeline Eingabeartefakt in Ihrer Pipeline-Aktion.

  Wenn der `CombineArtifacts` Parameter für Batch-Builds ausgewählt ist, enthält der Speicherort des Ausgabe-Artefakts die kombinierten Artefakte aus mehreren Builds, die in derselben Ausführung ausgeführt wurden.

## Ausgabevariablen
<a name="action-reference-CodeBuild-variables"></a>

Diese Aktion erzeugt als Variablen alle Umgebungsvariablen, die als Teil des Builds exportiert wurden. Weitere Informationen zum Exportieren von Umgebungsvariablen finden Sie [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)im *AWS CodeBuild API-Leitfaden*.

Weitere Informationen zur Verwendung von CodeBuild Umgebungsvariablen in CodePipeline finden Sie in den Beispielen unter[CodeBuild Ausgabevariablen für Aktionen](reference-variables.md#reference-variables-list-configured-codebuild). Eine Liste der Umgebungsvariablen, die Sie verwenden können CodeBuild, finden Sie [im *AWS CodeBuild Benutzerhandbuch* unter Umgebungsvariablen in Build-Umgebungen](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

## Berechtigungen für Servicerollen: CodeBuild Aktion
<a name="edit-role-codebuild"></a>

Wenn Sie CodeBuild Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "codebuild:BatchGetBuilds",
                "codebuild:StartBuild",
                "codebuild:BatchGetBuildBatches",
                "codebuild:StartBuildBatch"
            ],
            "Resource": [
                "arn:aws:codebuild:*:111122223333:project/[[ProjectName]]"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Aktionserklärung (CodeBuild Beispiel)
<a name="action-reference-CodeBuild-example"></a>

------
#### [ YAML ]

```
Name: Build
Actions:
  - Name: PackageExport
    ActionTypeId:
      Category: Build
      Owner: AWS
      Provider: CodeBuild
      Version: '1'
    RunOrder: 1
    Configuration:
      BatchEnabled: 'true'
      CombineArtifacts: 'true'
      ProjectName: my-build-project
      PrimarySource: MyApplicationSource1
      EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]'
    OutputArtifacts:
      - Name: MyPipeline-BuildArtifact
    InputArtifacts:
      - Name: MyApplicationSource1
      - Name: MyApplicationSource2
```

------
#### [ JSON ]

```
{
    "Name": "Build",
    "Actions": [
        {
            "Name": "PackageExport",
            "ActionTypeId": {
                "Category": "Build",
                "Owner": "AWS",
                "Provider": "CodeBuild",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BatchEnabled": "true",
                "CombineArtifacts": "true",
                "ProjectName": "my-build-project",
                "PrimarySource": "MyApplicationSource1",
                "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]"
            },
            "OutputArtifacts": [
                {
                    "Name": "MyPipeline-BuildArtifact"
                }
            ],
            "InputArtifacts": [
                {
                    "Name": "MyApplicationSource1"
                },
                {
                    "Name": "MyApplicationSource2"
                }
            ]
        }
    ]
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-CodeBuild-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [AWS CodeBuild Benutzerhandbuch](https://docs.aws.amazon.com/codebuild/latest/userguide/) — Ein Beispiel für eine Pipeline mit einer CodeBuild Aktion finden Sie unter [Verwenden CodePipeline , CodeBuild um Code zu testen und Builds auszuführen](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html). Beispiele für Projekte mit mehreren Eingabe- und CodeBuild Ausgabeartefakten finden Sie unter [CodePipelineIntegration mit CodeBuild und Beispiel für mehrere Eingabequellen und Ausgabeartefakte und Beispiel](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-multi-input-output.html) für [mehrere Eingabequellen und Ausgabeartefakte](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html).
+ [Tutorial: Erstellen Sie eine Pipeline, die Ihre Android-App erstellt und testet mit AWS Device Farm](tutorials-codebuild-devicefarm.md)— Dieses Tutorial enthält eine Buildspec-Beispieldatei und eine Beispielanwendung zum Erstellen einer Pipeline mit einer GitHub Quelle, die eine Android-App mit und erstellt und testet. CodeBuild AWS Device Farm
+ [Referenz zur Build-Spezifikation für CodeBuild ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) — Dieses Referenzthema enthält Definitionen und Beispiele zum Verständnis CodeBuild von Buildspec-Dateien. *Eine Liste der Umgebungsvariablen, die Sie verwenden können CodeBuild, finden Sie im Benutzerhandbuch unter [Umgebungsvariablen in Build-Umgebungen](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).AWS CodeBuild *

# AWS CodePipeline Aktionsreferenz aufrufen
<a name="action-reference-PipelineInvoke"></a>

Sie verwenden eine CodePipeline Aufruf-Aktion, um das Auslösen von Downstream-Pipeline-Ausführungen und die Weitergabe von Pipeline-Variablen und Quellrevisionen zwischen Pipelines zu vereinfachen.

**Anmerkung**  
Diese Aktion wird nur für Pipelines vom Typ V2 unterstützt.

**Topics**
+ [Aktionstyp](#action-reference-PipelineInvoke-type)
+ [Konfigurationsparameter](#action-reference-PipelineInvoke-parameters)
+ [Input artifacts (Eingabeartefakte)](#action-reference-PipelineInvoke-input)
+ [Ausgabeartefakte](#action-reference-PipelineInvoke-output)
+ [Richtlinienberechtigungen für die Servicerolle für die CodePipeline Aufrufaktion](#action-reference-PipelineInvoke-permissions-action)
+ [Aktionsdeklaration](#action-reference-PipelineInvoke-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-PipelineInvoke-links)

## Aktionstyp
<a name="action-reference-PipelineInvoke-type"></a>
+ Kategorie: `Invoke`
+ Eigentümer: `AWS`
+ Anbieter: `CodePipeline`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-PipelineInvoke-parameters"></a>

**PipelineName**  
Erforderlich: Ja  
Der Name der Pipeline, die bei ihrer Ausführung die aktuelle Zielpipeline startet. Sie müssen die aufrufende Pipeline bereits erstellt haben. Die Aktion startet die `s3-pipeline-test` (Ziel-) Pipeline, wenn die genannte (aufrufende) Pipeline eine Ausführung `my-s3-pipeline` startet.

**SourceRevisions**  
Erforderlich: Nein  
Die Quellversionen, die die Zielpipeline verwenden soll, wenn sie von der aufrufenden Pipeline gestartet wird. Eine S3-Quellaktion stellt beispielsweise Ausgabevariablen wie die S3-Versions-ID und den Objektschlüssel bereit. Sie können einen Revisionswert angeben, der verwendet werden soll, wenn die Pipeline aufgerufen wird.   
Für die CLI geben Sie Quellrevisionen als serialisierte JSON-Zeichenfolge an. *Weitere Informationen zur Verwendung von Quellrevisionsüberschreibungen finden Sie [SourceRevisionOverride](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SourceRevisionOverride.html)im CodePipeline API-Leitfaden.*  
Das Mapping verwendet ein Zeichenkettenformat, wie im folgenden Beispiel gezeigt:  

```
[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision
Value":"zq8mjNEXAMPLE"}]
```

**Variablen**  
Erforderlich: Nein  
Die Namen und Werte der Variablen, die die Aktion unterstützen soll.  
Für die CLI geben Sie Variablen als serialisierte JSON-Zeichenfolge an. Weitere Informationen zur Verwendung von Pipeline-Variablen finden Sie [PipelineVariable](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineVariable.html)im *CodePipeline API-Leitfaden*.  
Das Mapping verwendet ein Zeichenkettenformat, wie im folgenden Beispiel gezeigt:  

```
[{"name":"VAR1","value":"VALUE1"}]
```

Die folgende Abbildung zeigt ein Beispiel für die Aktion, die einer Pipeline in der Konsole hinzugefügt wurde. 

![\[Eine Pipeline mit einer S3-Quelle und einer Build-Phase, die die Pipeline-Aufrufaktion beinhaltet\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/example-pipeline-invoke-run.png)


Die folgende Abbildung zeigt ein Beispiel für die **Bearbeitungsseite** für die Aktion. Im folgenden Beispiel ist für die Pipeline mit dem Namen `s3-pipeline-test` eine Pipeline-Aufrufaktion konfiguriert, wie für die Konsole gezeigt. Die Aktion startet die `s3-pipeline-test` Pipeline, wenn die angegebene Pipeline eine Ausführung `my-s3-pipeline` abgeschlossen hat. Das Beispiel zeigt, dass die Quellrevisionsüberschreibung für die Quellüberschreibung S3\$1OBJECT\$1VERSION\$1ID mit dem angegebenen Revisionswert von. `zq8mjNYEexample`

![\[Die Aktionsseite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktion „Pipeline aufrufen“\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/example-pipeline-invoke-edit.png)


## Input artifacts (Eingabeartefakte)
<a name="action-reference-PipelineInvoke-input"></a>
+ **Anzahl der Artefakte:** `0`
+ **Beschreibung:** Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

## Ausgabeartefakte
<a name="action-reference-PipelineInvoke-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Richtlinienberechtigungen für die Servicerolle für die CodePipeline Aufrufaktion
<a name="action-reference-PipelineInvoke-permissions-action"></a>

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Dienstrollenrichtlinie die `codepipeline:StartPipelineExecution` Berechtigung, die entsprechend auf den ARN der Pipeline-Ressource beschränkt ist, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten.

```
 {
            "Sid": "StatementForPipelineInvokeAction",
            "Effect": "Allow",
            "Action": "codepipeline:StartPipelineExecution",
            "Resource": [
                "arn:aws:codepipeline:{{region}}:{{AccountId}}:{{pipelineName}}"
            ]
        }
```

## Aktionsdeklaration
<a name="action-reference-PipelineInvoke-example"></a>

------
#### [ YAML ]

```
name: Invoke-pipeline
actionTypeId:
  category: Invoke
  owner: AWS
  provider: CodePipeline
  version: '1'
runOrder: 2
configuration:
  PipelineName: my-s3-pipeline
  SourceRevisions: '[{"actionName":"Source","revisionType":"S3_OBJECT_VERSION_ID","revision
Value":"zq8mjNEXAMPLE"}]'
  Variables: '[{"name":"VAR1","value":"VALUE1"}]'
```

------
#### [ JSON ]

```
{
    "name": "Invoke-pipeline",
    "actionTypeId": {
        "category": "Invoke",
        "owner": "AWS",
        "provider": "CodePipeline",
        "version": "1"
    },
    "runOrder": 2,
    "configuration": {
        "PipelineName": "my-s3-pipeline",
        "SourceRevisions": "[{\"actionName\":\"Source\",\"revisionType\":\"S3_OBJECT_VERSION_ID\",\"revisionValue\":\"zq8mjNEXAMPLE"}]",
        "Variables": "[{\"name\":\"VAR1\",\"value\":\"VALUE1\"}]"
    }
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-PipelineInvoke-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+  [Starten Sie eine Pipeline mit einer Quellrevisionsüberschreibung](pipelines-trigger-source-overrides.md)— In diesem Abschnitt wird beschrieben, wie eine Pipeline mit Quellversionen manuell oder über den EventBridge Ereigniseingangstransformator gestartet wird.

# CodeCommit Referenz zur Quellaktion
<a name="action-reference-CodeCommit"></a>

Startet die Pipeline, wenn ein neuer Commit für das konfigurierte CodeCommit Repository und den Branch vorgenommen wird.

Wenn Sie die Konsole verwenden, um die Pipeline zu erstellen oder zu bearbeiten, CodePipeline erstellt sie eine EventBridge Regel, die Ihre Pipeline startet, wenn eine Änderung im Repository erfolgt.

**Anmerkung**  
Für Amazon ECR, Amazon S3 oder CodeCommit Quellen können Sie auch eine Quellüberschreibung mithilfe des Eingabe-Transformationseintrags erstellen, um den `revisionValue` In EventBridge für Ihr Pipeline-Ereignis zu verwenden, wobei der von der Quellereignisvariablen für Ihren Objektschlüssel, Ihren Commit oder Ihre Image-ID abgeleitet `revisionValue` wird. Weitere Informationen finden Sie im optionalen Schritt für die Eingabe der Eingabetransformation, der in den Verfahren unter [Amazon ECR-Quellaktionen und Ressourcen EventBridge](create-cwe-ecr-source.md)[Verbindung zu Amazon S3 S3-Quellaktionen mit einer für Ereignisse aktivierten Quelle herstellen](create-S3-source-events.md), oder [CodeCommit Quellaktionen und EventBridge](triggering.md) enthalten ist.

Sie müssen bereits ein CodeCommit Repository erstellt haben, bevor Sie die Pipeline über eine CodeCommit Aktion verbinden können.

Nachdem eine Codeänderung erkannt wurde, haben Sie die folgenden Optionen, um den Code an nachfolgende Aktionen zu übergeben:
+ **Standard** — Konfiguriert die CodeCommit Quellaktion so, dass sie eine ZIP-Datei mit einer flachen Kopie Ihres Commits ausgibt.
+ **Vollständiger Klon** — Konfiguriert die Quellaktion so, dass sie für nachfolgende Aktionen eine Git-URL-Referenz an das Repository ausgibt.

  Derzeit kann die Git-URL-Referenz nur von CodeBuild Downstream-Aktionen verwendet werden, um das Repo und die zugehörigen Git-Metadaten zu klonen. Der Versuch, eine Git-URL-Referenz an CodeBuild Nichtaktionen zu übergeben, führt zu einem Fehler.

**Topics**
+ [Aktionstyp](#action-reference-CodeCommit-type)
+ [Konfigurationsparameter](#action-reference-CodeCommit-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-CodeCommit-input)
+ [Ausgabeartefakte](#action-reference-CodeCommit-output)
+ [Ausgabevariablen](#action-reference-CodeCommit-variables)
+ [Berechtigungen für Servicerollen: CodeCommit Aktion](#edit-role-codecommit)
+ [Beispielaktionskonfiguration](#action-reference-CodeCommit-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-CodeCommit-links)

## Aktionstyp
<a name="action-reference-CodeCommit-type"></a>
+ Kategorie: `Source`
+ Eigentümer: `AWS`
+ Anbieter: `CodeCommit`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-CodeCommit-config"></a>

**RepositoryName**  
Erforderlich: Ja  
Der Name des Repositorys, in dem Quelländerungen erkannt werden sollen.

**BranchName**  
Erforderlich: Ja  
Der Name des Zweigs, in dem Quelländerungen erkannt werden sollen.

**PollForSourceChanges**  
Erforderlich: Nein  
`PollForSourceChanges`steuert, ob das CodeCommit Repository nach Quellenänderungen CodePipeline abfragt. Wir empfehlen, stattdessen CloudWatch Ereignisse zu verwenden, um Quellenänderungen zu erkennen. Weitere Informationen zur Konfiguration von CloudWatch Ereignissen finden Sie unter [Migrieren von Abfrage-Pipelines (CodeCommit Quelle) (CLI)](update-change-detection.md#update-change-detection-cli-codecommit) oder[Migrieren Sie Abfrage-Pipelines (CodeCommit Quelle) (CloudFormation Vorlage)](update-change-detection.md#update-change-detection-cfn-codecommit).  
Wenn Sie beabsichtigen, eine CloudWatch Ereignisregel zu konfigurieren, müssen Sie „`PollForSourceChanges`auf“ festlegen, `false` um doppelte Pipeline-Ausführungen zu vermeiden.
Gültige Werte für diesen Parameter sind:  
+ `true`: Wenn diese Option gesetzt ist, CodePipeline wird Ihr Repository nach Quellenänderungen abgefragt.
**Anmerkung**  
Wenn Sie diese Option weglassen`PollForSourceChanges`, wird CodePipeline standardmäßig Ihr Repository nach Quelländerungen abgefragt. Dieses Verhalten ist das gleiche, als ob `PollForSourceChanges` enthalten wäre und auf `true` festgelegt würde.
+ `false`: Falls gesetzt, fragt dein Repository CodePipeline nicht nach Quellenänderungen ab. Verwenden Sie diese Einstellung, wenn Sie beabsichtigen, eine CloudWatch Ereignisregel zur Erkennung von Quelländerungen zu konfigurieren.

****OutputArtifactFormat****  
Erforderlich: Nein  
Das Format des Ausgabeartefakts. Werte können entweder `CODEBUILD_CLONE_REF` oder `CODE_ZIP` sein. Wenn dieser Parameter nicht angegeben wird, lautet der Standardwert `CODE_ZIP`.  
Die `CODEBUILD_CLONE_REF`-Option kann nur von CodeBuild nachgeschalteten Aktionen verwendet werden.  
Wenn Sie diese Option wählen, müssen Sie Ihrer CodeBuild Servicerolle die `codecommit:GitPull` entsprechende Berechtigung hinzufügen, wie unter beschrieben[Fügen Sie CodeBuild GitClone Berechtigungen für CodeCommit Quellaktionen hinzu](troubleshooting.md#codebuild-role-codecommitclone). Sie müssen Ihrer CodePipeline Servicerolle auch die `codecommit:GetRepository` Berechtigung hinzufügen, wie unter beschrieben[Fügen Sie der CodePipeline Servicerolle Berechtigungen hinzu](how-to-custom-role.md#how-to-update-role-new-services). Ein Tutorial, das Ihnen zeigt, wie Sie die Option **Vollständiges Klonen** verwenden, finden Sie unter[Tutorial: Vollständigen Klon mit einer CodeCommit Pipeline-Quelle verwenden](tutorials-codecommit-gitclone.md).

## Input artifacts (Eingabeartefakte)
<a name="action-reference-CodeCommit-input"></a>
+ **Anzahl der Artefakte:** `0`
+ **Beschreibung:** Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

## Ausgabeartefakte
<a name="action-reference-CodeCommit-output"></a>
+ **Anzahl der Artefakte:** `1` 
+ **Beschreibung:** Das Ausgabe-Artefakt dieser Aktion ist eine ZIP-Datei, die den Inhalt des konfigurierten Repositorys und Zweigs beim Commit enthält, der als Quellrevision für die Pipeline-Ausführung angegeben wurde. Die aus dem Repository generierten Artefakte sind die Ausgabeartefakte für die CodeCommit Aktion. Die Quellcode-Commit-ID wird CodePipeline als Quellrevision für die ausgelöste Pipeline-Ausführung angezeigt.

## Ausgabevariablen
<a name="action-reference-CodeCommit-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

**CommitId**  
Die CodeCommit Commit-ID, die die Pipeline-Ausführung ausgelöst hat. Commit IDs sind die vollständigen SHA-Werte des Commits.

**CommitMessage**  
Die Beschreibungsmeldung (wenn vorhanden), die dem Commit zugeordnet ist, der die Pipeline-Ausführung ausgelöst hat.

**RepositoryName**  
Der Name des CodeCommit Repositorys, in dem der Commit vorgenommen wurde, der die Pipeline ausgelöst hat.

**BranchName**  
Der Name des Branches für das CodeCommit Repository, in dem die Quellenänderung vorgenommen wurde.

**AuthorDate**  
Das Datum im Zeitstempelformat, an dem der Commit erstellt wurde.

**CommitterDate**  
Das Datum im Zeitstempelformat, an dem der Commit durchgeführt wurde.

## Berechtigungen für Servicerollen: CodeCommit Aktion
<a name="edit-role-codecommit"></a>

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Dienstrollenrichtlinie die folgenden Berechtigungen, die entsprechend auf den ARN der Pipeline-Ressource beschränkt sind, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten. Fügen Sie Ihrer Richtlinienerklärung beispielsweise Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecommit:CancelUploadArchive",
                "codecommit:GetBranch",
                "codecommit:GetCommit",
                "codecommit:GetRepository",
                "codecommit:GetUploadArchiveStatus",
                "codecommit:UploadArchive"
            ],
            "Resource": [
                "arn:aws:codecommit:*:111122223333:[[codecommitRepostories]]"
            ]
        }
    ]
}
```

------



## Beispielaktionskonfiguration
<a name="action-reference-CodeCommit-example"></a>

### Beispiel für das Standardformat für Ausgabeartefakte
<a name="w2aac56c49c29b3"></a>

------
#### [ YAML ]

```
name: Source
actionTypeId:
  category: Source
  owner: AWS
  provider: CodeCommit
  version: '1'
runOrder: 1
configuration:
  BranchName: main
  PollForSourceChanges: 'false'
  RepositoryName: MyWebsite
outputArtifacts:
  - name: Artifact_MyWebsiteStack
inputArtifacts: []
region: us-west-2
namespace: SourceVariables
```

------
#### [ JSON ]

```
{
    "name": "Source",
    "actionTypeId": {
        "category": "Source",
        "owner": "AWS",
        "provider": "CodeCommit",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "BranchName": "main",
        "PollForSourceChanges": "false",
        "RepositoryName": "MyWebsite"
    },
    "outputArtifacts": [
        {
            "name": "Artifact_MyWebsiteStack"
        }
    ],
    "inputArtifacts": [],
    "region": "us-west-2",
    "namespace": "SourceVariables"
}
```

------

### Beispiel für das vollständige Clone-Ausgabeartefaktformat
<a name="w2aac56c49c29b5"></a>

------
#### [ YAML ]

```
name: Source
actionTypeId:
  category: Source
  owner: AWS
  provider: CodeCommit
  version: '1'
runOrder: 1
configuration:
  BranchName: main
  OutputArtifactFormat: CODEBUILD_CLONE_REF
  PollForSourceChanges: 'false'
  RepositoryName: MyWebsite
outputArtifacts:
  - name: SourceArtifact
inputArtifacts: []
region: us-west-2
namespace: SourceVariables
```

------
#### [ JSON ]

```
{
    "name": "Source",
    "actionTypeId": {
        "category": "Source",
        "owner": "AWS",
        "provider": "CodeCommit",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {
        "BranchName": "main",
        "OutputArtifactFormat": "CODEBUILD_CLONE_REF",
        "PollForSourceChanges": "false",
        "RepositoryName": "MyWebsite"
    },
    "outputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "inputArtifacts": [],
    "region": "us-west-2",
    "namespace": "SourceVariables"
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-CodeCommit-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Erstellen Sie eine einfache Pipeline (CodeCommit Repository)](tutorials-simple-codecommit.md)— Dieses Tutorial enthält ein Beispiel für eine App-Spezifikationsdatei sowie eine CodeDeploy Beispielanwendung und eine Bereitstellungsgruppe. Verwenden Sie dieses Tutorial, um eine Pipeline mit einer CodeCommit Quelle zu erstellen, die auf Amazon EC2 EC2-Instances bereitgestellt wird.

# AWS CodeDeploy Aktionsreferenz bereitstellen
<a name="action-reference-CodeDeploy"></a>

Sie verwenden eine AWS CodeDeploy Aktion, um Anwendungscode für Ihre Bereitstellungsflotte bereitzustellen. Ihre Bereitstellungsflotte kann aus Amazon EC2 EC2-Instances, lokalen Instances oder beidem bestehen.

**Anmerkung**  
In diesem Referenzthema wird die CodeDeploy Bereitstellungsaktion für Anwendungen beschrieben, CodePipeline bei denen es sich bei der Bereitstellungsplattform um Amazon EC2 handelt. Referenzinformationen zu Amazon Elastic Container Service für CodeDeploy blue/green Bereitstellungsaktionen in CodePipeline finden Sie unter[Referenz für Amazon Elastic Container Service und CodeDeploy blaugrüne Bereitstellungsaktionen](action-reference-ECSbluegreen.md).

**Topics**
+ [Aktionstyp](#action-reference-CodeDeploy-type)
+ [Konfigurationsparameter](#action-reference-CodeDeploy-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-CodeDeploy-input)
+ [Ausgabeartefakte](#action-reference-CodeDeploy-output)
+ [Berechtigungen für Servicerollen: AWS CodeDeploy Aktion](#edit-role-codedeploy)
+ [Aktionsdeklaration](#action-reference-CodeDeploy-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-CodeDeploy-links)

## Aktionstyp
<a name="action-reference-CodeDeploy-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `CodeDeploy`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-CodeDeploy-config"></a>

**ApplicationName**  
Erforderlich: Ja  
Der Name der Anwendung, in der Sie erstellt haben CodeDeploy.

**DeploymentGroupName**  
Erforderlich: Ja  
Die Bereitstellungsgruppe, in der Sie erstellt haben CodeDeploy.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-CodeDeploy-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die AppSpec Datei, CodeDeploy anhand derer Folgendes ermittelt wird:
  + Was Sie aus Ihrer Anwendungsrevision in Amazon S3 oder auf Ihren Instances installieren müssen GitHub.
  + Welche Lebenszyklusereignis-Hooks als Reaktion auf Bereitstellungslebenszyklusereignisse ausgeführt werden sollen.

  Weitere Informationen zur AppSpec Datei finden Sie in der [CodeDeploy AppSpec Dateireferenz](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html).

  

## Ausgabeartefakte
<a name="action-reference-CodeDeploy-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: AWS CodeDeploy Aktion
<a name="edit-role-codedeploy"></a>

Wenn Sie AWS CodeDeploy Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:CreateDeployment",
                "codedeploy:GetApplication",
                "codedeploy:GetDeployment",
                "codedeploy:RegisterApplicationRevision",
                "codedeploy:ListDeployments",
                "codedeploy:ListDeploymentGroups",
                "codedeploy:GetDeploymentGroup"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:application:[[codedeployApplications]]",
                "arn:aws:codedeploy:*:111122223333:deploymentgroup:[[codedeployApplications]]/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:GetDeploymentConfig"
            ],
            "Resource": [
                "arn:aws:codedeploy:*:111122223333:deploymentconfig:[[deploymentConfigs]]"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "codedeploy:ListDeploymentConfigs"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## Aktionsdeklaration
<a name="action-reference-CodeDeploy-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: CodeDeploy
      Version: '1'
    RunOrder: 1
    Configuration:
      ApplicationName: my-application
      DeploymentGroupName: my-deployment-group
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "CodeDeploy",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "ApplicationName": "my-application",
                "DeploymentGroupName": "my-deployment-group"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-CodeDeploy-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Erstellen einer einfachen Pipeline (S3-Bucket)](tutorials-simple-s3.md)— Dieses Tutorial führt Sie Schritt für Schritt durch die Erstellung eines Quell-Buckets, von EC2-Instances und CodeDeploy Ressourcen für die Bereitstellung einer Beispielanwendung. Anschließend erstellen Sie Ihre Pipeline mit einer CodeDeploy Bereitstellungsaktion, die den in Ihrem S3-Bucket verwalteten Code auf Ihrer Amazon EC2 EC2-Instance bereitstellt.
+ [Tutorial: Erstellen Sie eine einfache Pipeline (CodeCommit Repository)](tutorials-simple-codecommit.md)— Dieses Tutorial führt Sie Schritt für Schritt durch die Erstellung Ihres CodeCommit Quell-Repositorys, Ihrer EC2-Instances und der CodeDeploy Ressourcen für die Bereitstellung einer Beispielanwendung. Anschließend erstellen Sie Ihre Pipeline mit einer CodeDeploy Bereitstellungsaktion, die Code aus Ihrem CodeCommit Repository auf Ihrer Amazon EC2 EC2-Instance bereitstellt.
+ [CodeDeploy AppSpec Dateireferenz](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html) — Dieses Referenzkapitel im *AWS CodeDeploy Benutzerhandbuch* enthält Referenzinformationen und Beispiele für CodeDeploy AppSpec Dateien.

# CodeStarSourceConnection für Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com und GitLab selbstverwaltete Aktionen
<a name="action-reference-CodestarConnectionSource"></a>

Quellaktionen für Verbindungen werden von unterstützt. AWS CodeConnections CodeConnections ermöglicht es Ihnen, Verbindungen zwischen AWS Ressourcen und Repositorys von Drittanbietern herzustellen und zu verwalten, z. GitHub Startet eine Pipeline, wenn ein neuer Commit in einem Quellcode-Repository eines Drittanbieters vorgenommen wird. Die Quellaktion ruft Codeänderungen ab, wenn eine Pipeline manuell ausgeführt wird oder wenn ein Webhook-Ereignis vom Quellanbieter gesendet wird. 

Sie können Aktionen in Ihrer Pipeline so konfigurieren, dass sie eine Git-Konfiguration verwenden, mit der Sie Ihre Pipeline mit Triggern starten können. Weitere Informationen zur Konfiguration der Pipeline-Trigger zum Filtern mit Triggern finden Sie unter[Trigger mit Code-Push- oder Pull-Request-Ereignistypen hinzufügen](pipelines-filter.md).

**Anmerkung**  
Diese Funktion ist in den Regionen Asien-Pazifik (Hongkong), Asien-Pazifik (Hyderabad), Asien-Pazifik (Jakarta), Asien-Pazifik (Melbourne), Asien-Pazifik (Osaka), Afrika (Kapstadt), Naher Osten (Bahrain), Naher Osten (VAE), Europa (Spanien), Europa (Zürich), Israel (Tel Aviv) oder AWS GovCloud (US-West) nicht verfügbar. Hinweise zu anderen verfügbaren Aktionen finden Sie unter. [Produkt- und Serviceintegrationen mit CodePipeline](integrations.md) Überlegungen zu dieser Aktion in der Region Europa (Mailand) finden Sie in der Anmerkung unter[CodeStarSourceConnection für Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com und GitLab selbstverwaltete Aktionen](#action-reference-CodestarConnectionSource).

Verbindungen können Ihre AWS Ressourcen mit den folgenden Repositorys von Drittanbietern verknüpfen:
+ Bitbucket Cloud (über die **Bitbucket-Provider-Option** in der CodePipeline Konsole oder den `Bitbucket` Anbieter in der CLI)
**Anmerkung**  
Sie können Verbindungen mit einem Bitbucket-Cloud-Repository erstellen. Installierte Bitbucket-Anbietertypen wie Bitbucket Server werden nicht unterstützt. 
+ 
**Anmerkung**  
Wenn du einen Bitbucket-Workspace verwendest, benötigst du Administratorzugriff, um die Verbindung herzustellen.
+ GitHub und GitHub Enterprise Cloud (über die Provider-Option **GitHub (via GitHub App)** in der CodePipeline Konsole oder den `GitHub` Anbieter in der CLI)
**Anmerkung**  
Wenn sich Ihr Repository in einer GitHub Organisation befindet, müssen Sie der Eigentümer der Organisation sein, um die Verbindung herzustellen. Wenn Sie ein Repository verwenden, das sich nicht in einer Organisation befindet, müssen Sie der Eigentümer des Repositorys sein.
+ GitHub Enterprise Server (über die **GitHub Enterprise Server** Provider-Option in der CodePipeline Konsole oder den `GitHub Enterprise Server` Anbieter in der CLI)
+ GitLab.com (über die **GitLab**Provider-Option in der CodePipeline Konsole oder den `GitLab` Anbieter in der CLI)
**Anmerkung**  
Sie können Verbindungen zu einem Repository erstellen GitLab, in dem Sie die Rolle „**Besitzer**“ haben, und dann kann die Verbindung mit dem Repository mit Ressourcen wie verwendet werden CodePipeline. Bei Repositorys in Gruppen müssen Sie nicht der Gruppenbesitzer sein.
+ Selbstverwaltete Installation für GitLab (Enterprise Edition oder Community Edition) (über die Option **GitLab Self-Managed** Provider in der CodePipeline Konsole oder den `GitLabSelfManaged` Provider in der CLI)

**Anmerkung**  
Jede Verbindung unterstützt alle Repositorys, die Sie bei diesem Anbieter haben. Sie müssen nur für jeden Anbietertyp eine neue Verbindung erstellen.

Mithilfe von Verbindungen kann Ihre Pipeline Quelländerungen über die Installations-App des Drittanbieters erkennen. Webhooks werden beispielsweise zum Abonnieren von GitHub Ereignistypen verwendet und können in einer Organisation, einem Repository oder einer GitHub App installiert werden. Ihre Verbindung installiert einen Repository-Webhook in Ihrer GitHub App, der Ereignisse vom Typ GitHub Push abonniert.

Nachdem eine Codeänderung erkannt wurde, haben Sie die folgenden Optionen, um den Code an nachfolgende Aktionen zu übergeben:
+ Standard: Wie bei anderen existierenden CodePipeline Quellaktionen `CodeStarSourceConnection` kann auch hier eine ZIP-Datei mit einer oberflächlichen Kopie deines Commits ausgegeben werden.
+ Vollständiger Klon: `CodeStarSourceConnection` kann auch so konfiguriert werden, dass eine URL-Referenz auf das Repository für nachfolgende Aktionen ausgegeben wird.

  Derzeit kann die Git-URL-Referenz nur von CodeBuild Downstream-Aktionen verwendet werden, um das Repo und die zugehörigen Git-Metadaten zu klonen. Der Versuch, eine Git-URL-Referenz an CodeBuild Nichtaktionen zu übergeben, führt zu einem Fehler.

CodePipeline fordert Sie auf, die AWS Connector-Installations-App zu Ihrem Drittanbieterkonto hinzuzufügen, wenn Sie eine Verbindung herstellen. Sie müssen Ihr Drittanbieter-Konto und Ihr Repository bereits erstellt haben, bevor Sie über die `CodeStarSourceConnection` Aktion eine Verbindung herstellen können.

**Anmerkung**  
Informationen zum Erstellen oder Anhängen einer Richtlinie mit den für die Verwendung von AWS CodeStar Verbindungen erforderlichen Berechtigungen an Ihre Rolle finden Sie unter [Referenz zu Verbindungsberechtigungen](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections). Je nachdem, wann Ihre CodePipeline Servicerolle erstellt wurde, müssen Sie möglicherweise ihre Berechtigungen aktualisieren, um AWS CodeStar Verbindungen zu unterstützen. Detaillierte Anweisungen finden Sie unter [Fügen Sie der CodePipeline Servicerolle Berechtigungen hinzu](how-to-custom-role.md#how-to-update-role-new-services).

**Anmerkung**  
Um Verbindungen in Europa (Mailand) nutzen zu können AWS-Region, müssen Sie:   
Regionsspezifische App installieren
Region aktivieren
Diese regionsspezifische App unterstützt Verbindungen in der Region Europa (Mailand). Sie ist auf der Website des Drittanbieters veröffentlicht und von der bestehenden App getrennt, die Verbindungen für andere Regionen unterstützt. Durch die Installation dieser App autorisieren Sie Drittanbieter, Ihre Daten nur für diese Region an den Dienst weiterzugeben, und Sie können diese Autorisierung jederzeit widerrufen, indem Sie die App deinstallieren.  
Der Dienst verarbeitet oder speichert Ihre Daten nicht, es sei denn, Sie aktivieren die Region. Durch die Aktivierung dieser Region gewähren Sie unserem Dienst die Erlaubnis, Ihre Daten zu verarbeiten und zu speichern.  
Auch wenn die Region nicht aktiviert ist, können Drittanbieter Ihre Daten trotzdem mit unserem Dienst teilen, wenn die regionsspezifische App installiert bleibt. Achten Sie also darauf, die App zu deinstallieren, sobald Sie die Region deaktivieren. Weitere Informationen finden Sie unter [Aktivieren einer Region](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable).

**Topics**
+ [Aktionstyp](#action-reference-CodestarConnectionSource-type)
+ [Konfigurationsparameter](#action-reference-CodestarConnectionSource-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-CodestarConnectionSource-input)
+ [Ausgabeartefakte](#action-reference-CodestarConnectionSource-output)
+ [Ausgabevariablen](#action-reference-CodestarConnectionSource-variables)
+ [Berechtigungen für Servicerollen: CodeConnections Aktion](#edit-role-connections)
+ [Aktionsdeklaration](#action-reference-CodestarConnectionSource-example)
+ [Installation der Installations-App und Herstellen einer Verbindung](#action-reference-CodestarConnectionSource-auth)
+ [Weitere Informationen finden Sie auch unter](#action-reference-CodestarConnectionSource-links)

## Aktionstyp
<a name="action-reference-CodestarConnectionSource-type"></a>
+ Kategorie: `Source`
+ Eigentümer: `AWS`
+ Anbieter: `CodeStarSourceConnection`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-CodestarConnectionSource-config"></a>

****ConnectionArn****  
Erforderlich: Ja  
Der Verbindungs-ARN, der für den Quellanbieter konfiguriert und authentifiziert ist.

****FullRepositoryId****  
Erforderlich: Ja  
Der Besitzer und der Name des Repositorys, in dem Quelländerungen erkannt werden sollen.  
Beispiel: `some-user/my-repo`  
Sie müssen die korrekte Groß- und Kleinschreibung für den **FullRepositoryId**Wert beibehalten. Wenn Ihr Benutzername beispielsweise `some-user` und der Repo-Name lautet`My-Repo`, ist der empfohlene Wert von **FullRepositoryId**. `some-user/My-Repo`

****BranchName****  
Erforderlich: Ja  
Der Name des Zweigs, in dem Quelländerungen erkannt werden sollen.

****OutputArtifactFormat****  
Erforderlich: Nein  
Gibt das Format des Ausgabeartefakt an. Kann `CODEBUILD_CLONE_REF` oder `CODE_ZIP` sein. Wenn dieser Parameter nicht angegeben wird, lautet der Standardwert `CODE_ZIP`.  
Die `CODEBUILD_CLONE_REF`-Option kann nur von CodeBuild nachgeschalteten Aktionen verwendet werden.  
Wenn Sie diese Option wählen, müssen Sie die Berechtigungen für Ihre CodeBuild Projektservice-Rolle aktualisieren, wie unter beschrieben[Fügen Sie CodeBuild GitClone Berechtigungen für Verbindungen zu Bitbucket, Enterprise Server oder .com GitHub hinzu GitHub GitLab](troubleshooting.md#codebuild-role-connections). Ein Tutorial, das Ihnen zeigt, wie Sie die Option **Vollständiges Klonen** verwenden, finden Sie unter[Tutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden](tutorials-github-gitclone.md).

**DetectChanges**  
 Erforderlich: Nein  
Steuert den automatischen Start Ihrer Pipeline, wenn ein neuer Commit für das konfigurierte Repository und den Branch vorgenommen wird. Falls nicht angegeben, ist der Standardwert`true`, und das Feld wird standardmäßig nicht angezeigt. Gültige Werte für diesen Parameter sind:  
+ `true`: Startet Ihre Pipeline CodePipeline automatisch bei neuen Commits.
+ `false`: CodePipeline startet deine Pipeline nicht bei neuen Commits.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-CodestarConnectionSource-input"></a>
+ **Anzahl der Artefakte:** `0`
+ **Beschreibung:** Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

## Ausgabeartefakte
<a name="action-reference-CodestarConnectionSource-output"></a>
+ **Anzahl der Artefakte:** `1` 
+ **Beschreibung:** Die aus dem Repository generierten Artefakte sind die Ausgabeartefakte für die `CodeStarSourceConnection`-Aktion. Die Quellcode-Commit-ID wird CodePipeline als Quellrevision für die ausgelöste Pipeline-Ausführung angezeigt. Sie können das Ausgabeartefakt dieser Aktion konfigurieren in:
  + Eine ZIP-Datei, die den Inhalt des konfigurierten Repositorys und Zweigs beim Commit enthält, der als Quellrevision für die Pipeline-Ausführung angegeben wurde.
  + Eine JSON-Datei, die einen URL-Verweis auf das Repository enthält, damit nachgeschaltete Aktionen Git-Befehle direkt ausführen können.
**Wichtig**  
Diese Option kann nur von CodeBuild Downstream-Aktionen verwendet werden.  
Wenn Sie diese Option wählen, müssen Sie die Berechtigungen für Ihre CodeBuild Projektservice-Rolle aktualisieren, wie unter beschrieben[Problembehebung CodePipeline](troubleshooting.md). Ein Tutorial, das Ihnen zeigt, wie Sie die Option **Vollständiges Klonen** verwenden, finden Sie unter[Tutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden](tutorials-github-gitclone.md).

## Ausgabevariablen
<a name="action-reference-CodestarConnectionSource-variables"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

AuthorDate  
Das Datum im Zeitstempelformat, an dem der Commit erstellt wurde.

BranchName  
Der Name des Zweigs für das -Repository, in dem die Quelländerung ausgeführt wurde.

CommitId  
Die -Commit-ID, die die Pipeline-Ausführung ausgelöst hat.

CommitMessage  
Die Beschreibungsmeldung (wenn vorhanden), die dem Commit zugeordnet ist, der die Pipeline-Ausführung ausgelöst hat.

ConnectionArn  
Der Verbindungs-ARN, der für den Quellanbieter konfiguriert und authentifiziert ist.

FullRepositoryName  
Der Name des -Repositorys, in dem der Commit, der die Pipeline ausgelöst hat, ausgeführt wurde.

## Berechtigungen für Servicerollen: CodeConnections Aktion
<a name="edit-role-connections"></a>

Denn die folgende Berechtigung ist erforderlich CodeConnections, um Pipelines mit einer Quelle zu erstellen, die eine Verbindung verwendet, wie Bitbucket Cloud.

```
{
    "Effect": "Allow",
    "Action": [
        "codeconnections:UseConnection"
    ],
    "Resource": "resource_ARN"
},
```

[Weitere Informationen zu den IAM-Berechtigungen für Verbindungen findest du unter Referenz zu Verbindungsberechtigungen.](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections)

## Aktionsdeklaration
<a name="action-reference-CodestarConnectionSource-example"></a>

Im folgenden Beispiel ist das Ausgabeartefakt auf das Standard-ZIP-Format `CODE_ZIP` für die Verbindung mit ARN `arn:aws:codestar-connections:region:account-id:connection/connection-id` gesetzt.

------
#### [ YAML ]

```
Name: Source
Actions:
  - InputArtifacts: []
    ActionTypeId:
      Version: '1'
      Owner: AWS
      Category: Source
      Provider: CodeStarSourceConnection
    OutputArtifacts:
      - Name: SourceArtifact
    RunOrder: 1
    Configuration:
      ConnectionArn: "arn:aws:codestar-connections:region:account-id:connection/connection-id"
      FullRepositoryId: "some-user/my-repo"
      BranchName: "main"
      OutputArtifactFormat: "CODE_ZIP"
    Name: ApplicationSource
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "InputArtifacts": [],
            "ActionTypeId": {
                "Version": "1",
                "Owner": "AWS",
                "Category": "Source",
                "Provider": "CodeStarSourceConnection"
            },
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "RunOrder": 1,
            "Configuration": {
                "ConnectionArn": "arn:aws:codestar-connections:region:account-id:connection/connection-id",
                "FullRepositoryId": "some-user/my-repo",
                "BranchName": "main",
                "OutputArtifactFormat": "CODE_ZIP"
            },
            "Name": "ApplicationSource"
        }
    ]
},
```

------

## Installation der Installations-App und Herstellen einer Verbindung
<a name="action-reference-CodestarConnectionSource-auth"></a>

Wenn Sie die Konsole zum ersten Mal verwenden, um eine neue Verbindung zu einem Repository eines Drittanbieters hinzuzufügen, müssen Sie den CodePipeline Zugriff auf Ihre Repositorys autorisieren. Sie wählen oder erstellen eine Installations-App, mit der Sie eine Verbindung mit dem Konto herstellen können, in dem Sie das Code-Repository eines Drittanbieters erstellt haben.

 Wenn Sie die AWS CLI oder eine CloudFormation Vorlage verwenden, müssen Sie den Verbindungs-ARN einer Verbindung angeben, die bereits den Installationshandshake durchlaufen hat. Andernfalls wird die Pipeline nicht ausgelöst. 

**Anmerkung**  
Für eine `CodeStarSourceConnection` Quellaktion müssen Sie keinen Webhook einrichten und auch keine Standardabfrage verwenden. Die Aktion „Verbindungen“ verwaltet die Erkennung von Quellenänderungen für Sie.

## Weitere Informationen finden Sie auch unter
<a name="action-reference-CodestarConnectionSource-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [AWS::CodeStarConnections::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)— Die CloudFormation Vorlagenreferenz für die AWS CodeStar Connections-Ressource enthält Parameter und Beispiele für Verbindungen in CloudFormation Vorlagen.
+ [AWS CodeStarConnections API-Referenz](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html) — Die *AWS CodeStar Connections API-Referenz* enthält Referenzinformationen für die verfügbaren Verbindungsaktionen.
+ Die Schritte zum Erstellen einer Pipeline mit Quellaktionen, die von Verbindungen unterstützt werden, finden Sie im Folgenden:
  + Verwende für Bitbucket Cloud die **Bitbucket-Option** in der Konsole oder die `CodestarSourceConnection` Aktion in der CLI. Siehe [Bitbucket Cloud-Verbindungen](connections-bitbucket.md).
  + Verwenden Sie für GitHub GitHub Enterprise Cloud die **GitHub**Provider-Option in der Konsole oder die `CodestarSourceConnection` Aktion in der CLI. Siehe [GitHub Verbindungen](connections-github.md).
  + Verwenden Sie für GitHub Enterprise Server die **GitHub Enterprise Server** Provider-Option in der Konsole oder die `CodestarSourceConnection` Aktion in der CLI. Siehe [GitHub Enterprise Server-Verbindungen](connections-ghes.md).
  + Verwenden Sie für GitLab .com die **GitLab**Provider-Option in der Konsole oder die `CodestarSourceConnection` Aktion mit dem `GitLab` Anbieter in der CLI. Siehe [GitLab.com-Verbindungen](connections-gitlab.md).
+ Ein Tutorial „Erste Schritte“, in dem eine Pipeline mit einer Bitbucket-Quelle und einer CodeBuild Aktion erstellt wird, findest du unter [Erste Schritte mit Verbindungen](https://docs.aws.amazon.com/dtconsole/latest/userguide/getting-started-connections.html).
+ Ein Tutorial, das dir zeigt, wie du eine Verbindung zu einem GitHub Repository herstellst und die Option „**Vollständiges Klonen**“ mit einer nachgeschalteten CodeBuild Aktion verwendest, findest du unter[Tutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden](tutorials-github-gitclone.md).

# Aktionsreferenz für Befehle
<a name="action-reference-Commands"></a>

Mit der Aktion „Befehle“ können Sie Shell-Befehle in einer virtuellen Recheninstanz ausführen. Wenn Sie die Aktion ausführen, werden die in der Aktionskonfiguration angegebenen Befehle in einem separaten Container ausgeführt. Alle Artefakte, die als Eingabeartefakte für eine CodeBuild Aktion angegeben sind, sind innerhalb des Containers verfügbar, in dem die Befehle ausgeführt werden. Mit dieser Aktion können Sie Befehle angeben, ohne zuerst ein CodeBuild Projekt zu erstellen. Weitere Informationen finden Sie unter [ActionDeclaration](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ActionDeclaration.html) und [OutputArtifact](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_OutputArtifact.html) in der *AWS CodePipeline -API-Referenz*.

**Wichtig**  
Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.

**Anmerkung**  
Die Aktion „Befehle“ ist nur für Pipelines vom Typ V2 verfügbar.

**Topics**
+ [Überlegungen zur Aktion „Befehle“](#action-reference-Commands-considerations)
+ [Richtlinienberechtigungen für die Servicerolle](#action-reference-Commands-policy)
+ [Aktionstyp](#action-reference-Commands-type)
+ [Konfigurationsparameter](#action-reference-Commands-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-Commands-input)
+ [Ausgabeartefakte](#action-reference-Commands-output)
+ [Umgebungsvariablen](#action-reference-Commands-envvars)
+ [Berechtigungen für die Servicerolle: Befehle, Aktion](#edit-role-Commands)
+ [Aktionserklärung (Beispiel)](#action-reference-Commands-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-Commands-links)

## Überlegungen zur Aktion „Befehle“
<a name="action-reference-Commands-considerations"></a>

Die folgenden Überlegungen gelten für die Aktion „Befehle“.
+ Die Befehlsaktion verwendet CodeBuild Ressourcen, die der CodeBuild Aktion ähnlich sind, erlaubt aber Befehle in einer virtuellen Recheninstanz, ohne dass ein Build-Projekt zugeordnet oder erstellt werden muss.
**Anmerkung**  
Für die Ausführung der Befehlsaktion fallen separate Gebühren in an AWS CodeBuild.
+ Da die Aktion „Befehle“ in CodeBuild Ressourcen CodePipeline verbraucht, werden die von der Aktion ausgeführten Builds den Build-Limits für Ihr Konto in CodeBuild zugeordnet. Builds, die mit der Aktion Befehle ausgeführt werden, werden auf die Limits für gleichzeitige Builds angerechnet, die für dieses Konto konfiguriert sind.
+ Das Timeout für Builds mit der Aktion Befehle beträgt 55 Minuten, je CodeBuild nach Builds.
+ Die Recheninstanz verwendet eine isolierte Build-Umgebung in CodeBuild. 
**Anmerkung**  
Da die isolierte Build-Umgebung auf Kontoebene verwendet wird, kann eine Instanz für eine andere Pipeline-Ausführung wiederverwendet werden.
+ Alle Formate außer mehrzeiligen Formaten werden unterstützt. Bei der Eingabe von Befehlen müssen Sie das einzeilige Format verwenden.
+ Die Befehlsaktion wird für kontoübergreifende Aktionen unterstützt. Um eine Aktion mit kontenübergreifenden Befehlen hinzuzufügen, fügen Sie in der Aktionserklärung die Aktion `actionRoleArn` von Ihrem Zielkonto aus hinzu.
+ Für diese Aktion CodePipeline wird die Pipeline-Dienstrolle übernommen und diese Rolle verwendet, um den Zugriff auf Ressourcen zur Laufzeit zu ermöglichen. Es wird empfohlen, die Servicerolle so zu konfigurieren, dass die Berechtigungen bis zur Aktionsebene reichen.
+ Die der CodePipeline Servicerolle hinzugefügten Berechtigungen werden unter detailliert beschrieben. [Fügen Sie der CodePipeline Servicerolle Berechtigungen hinzu](how-to-custom-role.md#how-to-update-role-new-services)
+ Die zum Anzeigen von Protokollen in der Konsole erforderlichen Berechtigungen finden Sie unter[Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich](security-iam-permissions-console-logs.md).
+ Im Gegensatz zu anderen Aktionen in CodePipeline legen Sie keine Felder in der Aktionskonfiguration fest. Sie legen die Felder für die Aktionskonfiguration außerhalb der Aktionskonfiguration fest.

## Richtlinienberechtigungen für die Servicerolle
<a name="action-reference-Commands-policy"></a>

Wenn die Aktion CodePipeline ausgeführt CodePipeline wird, wird eine Protokollgruppe mit dem Namen der Pipeline wie folgt erstellt. Auf diese Weise können Sie die Berechtigungen für die Protokollierung von Ressourcen mithilfe des Pipeline-Namens einschränken.

```
/aws/codepipeline/MyPipelineName
```

Wenn Sie eine vorhandene Servicerolle verwenden, müssen Sie zur Verwendung der Aktion Befehle die folgenden Berechtigungen für die Servicerolle hinzufügen.
+ Protokolle: CreateLogGroup
+ Protokolle: CreateLogStream
+ Protokolle: PutLogEvents

Beschränken Sie die Berechtigungen in der Richtlinie zur Servicerolle auf die Pipeline-Ebene, wie im folgenden Beispiel gezeigt.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
    ],
    "Resource": [
        "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME",
        "arn:aws:logs:*:YOUR_AWS_ACCOUNT_ID:log-group:/aws/codepipeline/YOUR_PIPELINE_NAME:*"
   ]
}
```

Um Protokolle in der Konsole mithilfe der Dialogseite mit den Aktionsdetails anzeigen zu können, muss der Konsolenrolle die Berechtigung zum Anzeigen von Protokollen hinzugefügt werden. Weitere Informationen finden Sie im Beispiel für die Richtlinie zu Konsolenberechtigungen unter[Zum Anzeigen von Rechenprotokollen in der Konsole sind Berechtigungen erforderlich](security-iam-permissions-console-logs.md).

## Aktionstyp
<a name="action-reference-Commands-type"></a>
+ Kategorie: `Compute`
+ Eigentümer: `AWS`
+ Anbieter: `Commands`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-Commands-config"></a>

**Befehle**  
Erforderlich: Ja  
Sie können Shell-Befehle für die Ausführung der `Commands` Aktion angeben. In der Konsole werden Befehle in separaten Zeilen eingegeben. In der CLI werden Befehle als separate Zeichenfolgen eingegeben.  
Mehrzeilige Formate werden nicht unterstützt und führen zu einer Fehlermeldung. Für die Eingabe von Befehlen in das Befehlsfeld muss ein einzeiliges Format verwendet **werden**.
Die ComputeType Werte EnvironmentType und stimmen mit denen in CodeBuild überein. Wir unterstützen eine Teilmenge der verfügbaren Typen. Weitere Informationen finden Sie unter [Erstellen von Umgebungs-Compute-Typen](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html).

**EnvironmentType**  
Erforderlich: Nein  
Das Betriebssystem-Image für die Build-Umgebung, das die Commands-Aktion unterstützt. Die folgenden Werte sind für Build-Umgebungen gültig:  
+ LINUX\$1CONTAINER
+ WINDOWS\$1SERVER\$12022\$1CONTAINER
Die Auswahl für ermöglicht **EnvironmentType**dann den Berechnungstyp für dieses Betriebssystem im Feld. **ComputeType** Weitere Informationen zu den für diese Aktion verfügbaren CodeBuild Berechnungstypen finden Sie in der Referenz zu den [Berechnungsmodi und -typen der Build-Umgebung](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) im CodeBuild Benutzerhandbuch.  
Falls nicht angegeben, wird für die Build-Umgebung standardmäßig der folgende Wert für die Berechnung verwendet:  
+ **Berechnungstyp:** GENERAL1 BUILD\$1 \$1SMALL
+ **Umgebungstyp**: LINUX\$1CONTAINER

**ComputeType**  
Erforderlich: Nein  
Basierend auf der Auswahl für EnvironmentType kann der Berechnungstyp angegeben werden. Die folgenden Werte sind für die Berechnung verfügbar. Beachten Sie jedoch, dass die verfügbaren Optionen je nach Betriebssystem variieren können.  
+ BUILD\$1 \$1SMALL GENERAL1
+ BAUEN\$1 GENERAL1 \$1MITTEL
+ BAU\$1 GENERAL1 \$1GROSS
Einige Compute-Typen sind mit bestimmten Umgebungstypen nicht kompatibel. Beispielsweise ist WINDOWS\$1SERVER\$12022\$1CONTAINER nicht mit BUILD\$1 \$1SMALL kompatibel. GENERAL1 Die Verwendung inkompatibler Kombinationen führt dazu, dass die Aktion fehlschlägt und ein Laufzeitfehler generiert wird.

**Ausgabevariablen**  
Erforderlich: Nein  
Geben Sie die Namen der Variablen in Ihrer Umgebung an, die Sie exportieren möchten. Eine Referenz zu CodeBuild Umgebungsvariablen finden Sie unter [Umgebungsvariablen in Build-Umgebungen](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) im *CodeBuild Benutzerhandbuch*. 

**Dateien**  
Erforderlich: Nein  
Sie können Dateien, die Sie exportieren möchten, als Ausgabeartefakte für die Aktion angeben.  
Das unterstützte Format für Dateien ist dasselbe wie für CodeBuild Dateimuster. Geben Sie beispielsweise `**/` für alle Dateien ein. Weitere Informationen finden Sie unter [Referenz zur Build-Spezifikation für CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.artifacts.files) im *CodeBuild Benutzerhandbuch*.  

![\[Die Aktionsseite „Aktion bearbeiten“ für eine neue Pipeline mit der Aktion Befehle\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/commands-edit-screen.png)


**VpcId**  
Erforderlich: Nein  
Die VPC-ID für Ihre Ressourcen.

**Subnets**  
Erforderlich: Nein  
Die Subnetze für die VPC. Dieses Feld wird benötigt, wenn Ihre Befehle eine Verbindung zu Ressourcen in einer VPC herstellen müssen.

**SecurityGroupIds**  
Erforderlich: Nein  
Die Sicherheitsgruppen für die VPC. Dieses Feld wird benötigt, wenn Ihre Befehle eine Verbindung zu Ressourcen in einer VPC herstellen müssen.

Im Folgenden finden Sie ein JSON-Beispiel für die Aktion mit Konfigurationsfeldern für Umgebung und Rechnertyp sowie einer Beispielumgebungsvariablen.

```
 {
            "name": "Commands1",
            "actionTypeId": {
              "category": "Compute",
              "owner": "AWS",
              "provider": "Commands",
              "version": "1"
            },
            "inputArtifacts": [
              {
                "name": "SourceArtifact"
              }
            ],
            "commands": [
              "ls",
              "echo hello",
              "echo $BEDROCK_TOKEN",
            ],
            "configuration": {
              "EnvironmentType": "LINUX_CONTAINER",
              "ComputeType": "BUILD_GENERAL1_MEDIUM"
            },
            "environmentVariables": [
              {
                "name": "BEDROCK_TOKEN",
                "value": "apiTokens:bedrockToken",
                "type": "SECRETS_MANAGER"
              }
            ],
            "runOrder": 1
          }
```

## Input artifacts (Eingabeartefakte)
<a name="action-reference-Commands-input"></a>
+ **Anzahl der Artefakte:** `1 to 10`

## Ausgabeartefakte
<a name="action-reference-Commands-output"></a>
+ **Anzahl der Artefakte:** `0 to 1` 

## Umgebungsvariablen
<a name="action-reference-Commands-envvars"></a>

**Key (Schlüssel)**  
Der Schlüssel in einem Schlüssel-Wert-Umgebungsvariablenpaar, z. B. `BEDROCK_TOKEN`

**Wert**  
Der Wert für das Schlüssel-Wert-Paar, z. B. `apiTokens:bedrockToken` Der Wert kann mit Ausgabevariablen von Pipeline-Aktionen oder Pipeline-Variablen parametrisiert werden.  
Wenn Sie den `SECRETS_MANAGER` Typ verwenden, muss dieser Wert der Name eines Secrets sein, das Sie bereits in AWS Secrets Manager gespeichert haben.

**Typ**  
Gibt die Art der Verwendung des Umgebungsvariablenwerts an. Der Wert kann entweder `PLAINTEXT` oder `SECRETS_MANAGER` sein. Wenn der Wert ist`SECRETS_MANAGER`, geben Sie die Secrets-Referenz im `EnvironmentVariable` Wert an. Wenn keine Angabe gemacht wird, gilt der Standardwert `PLAINTEXT`.  
Wir raten dringend davon ab, *Klartext-Umgebungsvariablen* zum Speichern sensibler Werte, insbesondere AWS von Anmeldeinformationen, zu verwenden. Wenn Sie die CodeBuild Konsole oder verwenden AWS CLI, werden *Klartext-Umgebungsvariablen* im Klartext angezeigt. Wenn es sich um vertrauliche Werte handelt, sollten Sie stattdessen den Typ `SECRETS_MANAGER` verwenden.

**Anmerkung**  
Wenn Sie `name``value`, und `type` für Ihre Umgebungsvariablenkonfiguration eingeben, insbesondere wenn die Umgebungsvariable die Syntax der CodePipeline Ausgabevariablen enthält, sollten Sie die 1000-Zeichen-Grenze für das Wertefeld der Konfiguration nicht überschreiten. Ein Validierungsfehler wird zurückgegeben, wenn dieser Grenzwert überschritten wird.

Ein Beispiel für eine Aktionsdeklaration, die eine Umgebungsvariable zeigt, finden Sie unter. [Konfigurationsparameter](#action-reference-Commands-config)

**Anmerkung**  
Der `SECRETS_MANAGER` Typ wird nur für die Aktion Commands unterstützt.
Geheimnisse, auf die in der Aktion Befehle verwiesen wird, werden in den Build-Logs ähnlich CodeBuild wie redigiert. Pipeline-Benutzer mit **Bearbeitungszugriff** auf die Pipeline können jedoch potenziell trotzdem auf diese geheimen Werte zugreifen, indem sie die Befehle ändern.
Um die verwenden zu können SecretsManager, müssen Sie Ihrer Pipeline-Servicerolle die folgenden Berechtigungen hinzufügen:  

  ```
  {
              "Effect": "Allow",
              "Action": [
                  "secretsmanager:GetSecretValue"
              ],
              "Resource": [
                  "SECRET_ARN"
              ]
          }
  ```

## Berechtigungen für die Servicerolle: Befehle, Aktion
<a name="edit-role-Commands"></a>

Um Befehle zu unterstützen, fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:iam::*:role/Service*",
                "arn:aws:iam::*:role/Service*"
            ]
        }
    ]
}
```

------

## Aktionserklärung (Beispiel)
<a name="action-reference-Commands-example"></a>

------
#### [ YAML ]

```
name: Commands_action
actionTypeId:
  category: Compute
  owner: AWS
  provider: Commands
  version: '1'
runOrder: 1
configuration: {}
commands:
- ls
- echo hello
- 'echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}'
outputArtifacts:
- name: BuildArtifact
  files:
  - **/
inputArtifacts:
- name: SourceArtifact
outputVariables:
- AWS_DEFAULT_REGION
region: us-east-1
namespace: compute
```

------
#### [ JSON ]

```
{
    "name": "Commands_action",
    "actionTypeId": {
        "category": "Compute",
        "owner": "AWS",
        "provider": "Commands",
        "version": "1"
    },
    "runOrder": 1,
    "configuration": {},
    "commands": [
        "ls",
        "echo hello",
        "echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}"
    ],
    "outputArtifacts": [
        {
            "name": "BuildArtifact",
            "files": [
                "**/"
            ]
        }
    ],
    "inputArtifacts": [
        {
            "name": "SourceArtifact"
        }
    ],
    "outputVariables": [
        "AWS_DEFAULT_REGION"
    ],
    "region": "us-east-1",
    "namespace": "compute"
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-Commands-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Tutorial: Erstellen Sie eine Pipeline, die Befehle mit Compute ausführt (Typ V2)](tutorials-commands.md)— Dieses Tutorial enthält eine Beispiel-Pipeline mit der Aktion Commands.

# AWS Device Farm Referenz zur Testaktion
<a name="action-reference-DeviceFarm"></a>

In Ihrer Pipeline können Sie eine Testaktion konfigurieren, mit der AWS Device Farm Ihre Anwendung auf Geräten ausgeführt und getestet wird. Device Farm verwendet Testpools von Geräten und Test-Frameworks, um Anwendungen auf bestimmten Geräten zu testen. Informationen zu den Typen von Testframeworks, die von der Aktion Device Farm unterstützt werden, finden Sie unter [Arbeiten mit Testtypen in AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**Topics**
+ [Aktionstyp](#action-reference-DeviceFarm-type)
+ [Konfigurationsparameter](#action-reference-DeviceFarm-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-DeviceFarm-input)
+ [Ausgabeartefakte](#action-reference-DeviceFarm-output)
+ [Berechtigungen für Servicerollen: AWS Device Farm Aktion](#edit-role-devicefarm)
+ [Aktionsdeklaration](#action-reference-DeviceFarm-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-DeviceFarm-links)

## Aktionstyp
<a name="action-reference-DeviceFarm-type"></a>
+ Kategorie: `Test`
+ Eigentümer: `AWS`
+ Anbieter: `DeviceFarm`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
Erforderlich: Ja  
Das Betriebssystem und die Art der Anwendung, die Sie testen. Im Folgenden finden Sie eine Liste gültiger Werte:  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
Erforderlich: Ja  
Die Device Farm Farm-Projekt-ID.   
Um Ihre Projekt-ID zu finden, wählen Sie in der Device Farm Farm-Konsole Ihr Projekt aus. Kopieren Sie im Browser die URL Ihres neuen Projekts. Die URL enthält die Projekt-ID. Die Projekt-ID ist der Wert in der URL danach`projects/`. Im folgenden Beispiel lautet die Projekt-ID`eec4905f-98f8-40aa-9afc-4c1cfexample`.  

```
https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
```

**App**  
Erforderlich: Ja  
Der Name und der Speicherort der Anwendungsdatei in Ihrem Eingabeartefakt. Beispiel: `s3-ios-test-1.ipa`

**TestSpec**  
Bedingt: Ja  
Der Speicherort der Definitionsdatei der Testspezifikation in Ihrem Eingabeartefakt. Dies ist für den Test im benutzerdefinierten Modus erforderlich.

**DevicePoolArn**  
Erforderlich: Ja  
Der Gerätefarm-Gerätepool-ARN.   
Geben Sie mit der AWS CLI den folgenden Befehl ein, um den verfügbaren Gerätepool ARNs für das Projekt abzurufen, einschließlich des ARN für Top-Geräte:   

```
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
```

**TestType**  
Erforderlich: Ja  
Gibt das unterstützte Test-Framework für Ihren Test an. Im Folgenden finden Sie eine Liste gültiger Werte für`TestType`:  
+ **APPIUM\$1JAVA\$1JUNIT**
+ **APPIUM\$1JAVA\$1TESTNG**
+ **APPIUM\$1KNOTEN**
+ **APPIUM\$1RUBY**
+ **APPIUM\$1PYTHON**
+ **APPIUM\$1WEB\$1JAVA\$1JUNIT**
+ **APPIUM\$1WEB\$1JAVA\$1TESTNG**
+ **APPIUM\$1WEB\$1NODE**
+ **APPIUM\$1WEB\$1RUBY**
+ **APPIUM\$1WEB\$1PYTHON**
+ **EINGEBAUTETER\$1FUZZ**
+ **INSTRUMENTATION**
+ **XCTEST**
+ **XCTEST\$1UI**
Die folgenden Testtypen werden von der Aktion in CodePipeline:`WEB_PERFORMANCE_PROFILE`, und nicht unterstützt. `REMOTE_ACCESS_RECORD` `REMOTE_ACCESS_REPLAY`
Informationen zu Device Farm-Testtypen finden Sie unter [Arbeiten mit Testtypen in AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**RadioBluetoothEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob Bluetooth zu Beginn des Tests aktiviert werden soll.

**RecordAppPerformanceData**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob während des Tests Geräteleistungsdaten wie CPU-, FPS- und Speicherleistung aufgezeichnet werden sollen.

**RecordVideo**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob während des Tests Videos aufgenommen werden sollen.

**RadioWifiEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob Wi-Fi zu Beginn des Tests aktiviert werden soll.

**RadioNfcEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob NFC zu Beginn des Tests aktiviert werden soll.

**RadioGpsEnabled**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob GPS zu Beginn des Tests aktiviert werden soll.

**Test**  
Erforderlich: Nein  
Der Name und der Pfad der Testspezifikationsdatei an Ihrem Quellspeicherort. Der Pfad ist relativ zum Stamm des Eingabeartefakts für Ihren Test.

**FuzzEventCount**  
Erforderlich: Nein  
Die Anzahl der Benutzeroberflächenereignisse, die der Fuzz-Test durchführen soll, zwischen 1 und 10.000.

**FuzzEventThrottle**  
Erforderlich: Nein  
Die Anzahl der Millisekunden, die der Fuzz-Test warten muss, bevor das nächste Benutzeroberflächenereignis ausgeführt wird, zwischen 1 und 1.000.

**FuzzRandomizerSeed**  
Erforderlich: Nein  
Ein Startwert für den Fuzz-Test, der für die Randomisierung von Benutzeroberflächenereignissen verwendet werden soll. Die Verwendung derselben Zahl für nachfolgende Fuzz-Tests führt zu identischen Ereignissequenzen.

**CustomHostMachineArtifacts**  
Erforderlich: Nein  
Der Speicherort auf dem Host-Computer, an dem benutzerdefinierte Artefakte gespeichert werden.

**CustomDeviceArtifacts**  
Erforderlich: Nein  
Der Ort auf dem Gerät, an dem benutzerdefinierte Artefakte gespeichert werden.  


**UnmeteredDevicesOnly**  
Erforderlich: Nein  
Ein boolescher Wert, der angibt, ob Sie bei der Ausführung von Tests in diesem Schritt nur Ihre Geräte ohne Zähler verwenden möchten.

**JobTimeoutMinutes**  
Erforderlich: Nein  
Die Anzahl der Minuten, die ein Testlauf pro Gerät ausgeführt wird, bevor das Timeout überschritten wird.

**Breitengrad**  
Erforderlich: Nein  
Der Breitengrad des Geräts, ausgedrückt in Grad des geographischen Koordinatensystems.

**Längengrad**  
Erforderlich: Nein  
Der Längengrad des Geräts, ausgedrückt in Grad des geographischen Koordinatensystems.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-DeviceFarm-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Die Gruppe von Artefakten, die für die Testaktion verfügbar gemacht werden sollen. Device Farm sucht nach der erstellten Anwendung und den zu verwendenden Testdefinitionen.

## Ausgabeartefakte
<a name="action-reference-DeviceFarm-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: AWS Device Farm Aktion
<a name="edit-role-devicefarm"></a>

Wenn die Aktion CodePipeline ausgeführt wird, erfordert die CodePipeline Dienstrollenrichtlinie die folgenden Berechtigungen, die entsprechend auf den ARN der Pipeline-Ressource beschränkt sind, um den Zugriff mit den geringsten Rechten aufrechtzuerhalten. Fügen Sie Ihrer Richtlinienerklärung beispielsweise Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "devicefarm:ListProjects",
        "devicefarm:ListDevicePools",
        "devicefarm:GetRun",
        "devicefarm:GetUpload",
        "devicefarm:CreateUpload",
        "devicefarm:ScheduleRun"
    ],
    "Resource": "resource_ARN"
},
```

## Aktionsdeklaration
<a name="action-reference-DeviceFarm-example"></a>

------
#### [ YAML ]

```
Name: Test
Actions:
  - Name: TestDeviceFarm
    ActionTypeId: null
    category: Test
    owner: AWS
    provider: DeviceFarm
    version: '1'
RunOrder: 1
Configuration:
  App: s3-ios-test-1.ipa
  AppType: iOS
  DevicePoolArn: >-
    arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5
  ProjectId: eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE
  TestType: APPIUM_PYTHON
  TestSpec: example-spec.yml
OutputArtifacts: []
InputArtifacts:
  - Name: SourceArtifact
Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Test",
    "Actions": [
        {
            "Name": "TestDeviceFarm",
            "ActionTypeId": null,
            "category": "Test",
            "owner": "AWS",
            "provider": "DeviceFarm",
            "version": "1"
        }
    ],
    "RunOrder": 1,
    "Configuration": {
        "App": "s3-ios-test-1.ipa",
        "AppType": "iOS",
        "DevicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:0EXAMPLE-d7d7-48a5-ba5c-b33d66efa1f5",
        "ProjectId": "eec4905f-98f8-40aa-9afc-4c1cfEXAMPLE",
        "TestType": "APPIUM_PYTHON",
        "TestSpec": "example-spec.yml"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "SourceArtifact"
        }
    ],
    "Region": "us-west-2"
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-DeviceFarm-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Arbeiten mit Testtypen in Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html) — Dieses Referenzkapitel im *Device Farm Developer Guide* enthält eine genauere Beschreibung der von Device Farm unterstützten Test-Frameworks für Android, iOS und Webanwendungen.
+ [Aktionen in Device Farm](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html) — Die API-Aufrufe und Parameter in der *Device Farm API-Referenz* können Ihnen bei der Arbeit mit Device Farm Farm-Projekten helfen.
+ [Tutorial: Erstellen Sie eine Pipeline, die Ihre Android-App erstellt und testet mit AWS Device Farm](tutorials-codebuild-devicefarm.md)— Dieses Tutorial enthält eine Beispieldatei mit einer Build-Spezifikationsdatei und eine Beispielanwendung zum Erstellen einer Pipeline mit einer GitHub Quelle, die eine Android-App mit einer Device Farm erstellt CodeBuild und testet.
+ [Tutorial: Erstellen Sie eine Pipeline, die Ihre iOS-App testet mit AWS Device Farm](tutorials-codebuild-devicefarm-S3.md)— Dieses Tutorial enthält eine Beispielanwendung zum Erstellen einer Pipeline mit einer Amazon S3 S3-Quelle, die eine erstellte iOS-App mit Device Farm testet.

# Elastic Beanstalk Deploy-Aktionsreferenz
<a name="action-reference-Beanstalk"></a>

Elastic Beanstalk ist eine Plattform AWS , die für die Bereitstellung und Skalierung von Webanwendungen verwendet wird. Sie verwenden eine Elastic Beanstalk Beanstalk-Aktion, um Anwendungscode in Ihrer Bereitstellungsumgebung bereitzustellen.

**Topics**
+ [Aktionstyp](#action-reference-Beanstalk-type)
+ [Konfigurationsparameter](#action-reference-Beanstalk-config)
+ [Input artifacts (Eingabeartefakte)](#action-reference-Beanstalk-input)
+ [Ausgabeartefakte](#action-reference-Beanstalk-output)
+ [Berechtigungen für Servicerollen: Aktion `ElasticBeanstalk` bereitstellen](#edit-role-beanstalk)
+ [Aktionsdeklaration](#action-reference-Beanstalk-example)
+ [Weitere Informationen finden Sie auch unter](#action-reference-Beanstalk-links)

## Aktionstyp
<a name="action-reference-Beanstalk-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `ElasticBeanstalk`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-Beanstalk-config"></a>

**ApplicationName**  
Erforderlich: Ja  
Der Name der Anwendung, die Sie in Elastic Beanstalk erstellt haben. 

**EnvironmentName**  
Erforderlich: Ja  
Der Name der Umgebung, die Sie in Elastic Beanstalk erstellt haben. Eine Umgebung ist eine Sammlung von AWS Ressourcen, auf denen eine Anwendungsversion ausgeführt wird. In jeder Umgebung wird jeweils nur eine einzige Anwendungsversion ausgeführt. Sie können jedoch dieselbe Anwendungsversion oder verschiedene Anwendungsversionen in vielen Umgebungen gleichzeitig ausführen.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-Beanstalk-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Das Eingabeartefakt für die Aktion.

## Ausgabeartefakte
<a name="action-reference-Beanstalk-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: Aktion `ElasticBeanstalk` bereitstellen
<a name="edit-role-beanstalk"></a>

Für Elastic Beanstalk sind die folgenden Mindestberechtigungen für die Erstellung von Pipelines mit einer `ElasticBeanstalk` Bereitstellungsaktion erforderlich.

```
{
    "Effect": "Allow",
    "Action": [
        "elasticbeanstalk:*",
        "ec2:*",
        "elasticloadbalancing:*",
        "autoscaling:*",
        "cloudwatch:*",
        "s3:*",
        "sns:*",
        "cloudformation:*",
        "rds:*",
        "sqs:*",
        "ecs:*"
    ],
    "Resource": "resource_ARN"
},
```

**Anmerkung**  
Sie sollten Platzhalter in der Ressourcenrichtlinie durch die Ressourcen für das Konto ersetzen, auf das Sie den Zugriff beschränken möchten. Weitere Informationen zum Erstellen einer Richtlinie, die den Zugriff mit den geringsten Rechten gewährt, finden Sie unter. [https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)

## Aktionsdeklaration
<a name="action-reference-Beanstalk-example"></a>

------
#### [ YAML ]

```
Name: Deploy
Actions:
  - Name: Deploy
    ActionTypeId:
      Category: Deploy
      Owner: AWS
      Provider: ElasticBeanstalk
      Version: '1'
    RunOrder: 1
    Configuration:
      ApplicationName: my-application
      EnvironmentName: my-environment
    OutputArtifacts: []
    InputArtifacts:
      - Name: SourceArtifact
    Region: us-west-2
    Namespace: DeployVariables
```

------
#### [ JSON ]

```
{
    "Name": "Deploy",
    "Actions": [
        {
            "Name": "Deploy",
            "ActionTypeId": {
                "Category": "Deploy",
                "Owner": "AWS",
                "Provider": "ElasticBeanstalk",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "ApplicationName": "my-application",
                "EnvironmentName": "my-environment"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "Region": "us-west-2",
            "Namespace": "DeployVariables"
        }
    ]
},
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-Beanstalk-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Bereitstellung einer Flask-Anwendung auf Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html) — Dieses Tutorial führt Sie anhand einer Flask-Beispielanwendung Schritt für Schritt durch die Erstellung Ihrer Anwendungs- und Umgebungsressourcen in Elastic Beanstalk. Anschließend können Sie Ihre Pipeline mit einer Elastic Beanstalk Beanstalk-Bereitstellungsaktion erstellen, die Ihre Anwendung aus Ihrem Quell-Repository in Ihrer Elastic Beanstalk Beanstalk-Umgebung bereitstellt.

# Referenz zum `InspectorScan` Aufrufen der Aktion durch Amazon Inspector
<a name="action-reference-InspectorScan"></a>

Amazon Inspector ist ein Schwachstellen-Management-Service, der Workloads automatisch erkennt und sie kontinuierlich auf Software-Schwachstellen und unbeabsichtigte Netzwerkbedrohungen überprüft. Die `InspectorScan` Aktion CodePipeline automatisiert die Erkennung und Behebung von Sicherheitslücken in Ihrem Open-Source-Code. Bei der Aktion handelt es sich um eine verwaltete Rechenaktion mit Funktionen für Sicherheitsscans. Du kannst sie InspectorScan mit Anwendungsquellcode in deinem Drittanbieter-Repository wie GitHub Bitbucket Cloud oder mit Bildern für Containeranwendungen verwenden. Bei deiner Aktion wirst du die von dir konfigurierten Sicherheitslücken und Warnmeldungen scannen und entsprechende Berichte erstellen. 

**Wichtig**  
Diese Aktion verwendet CodePipeline Managed CodeBuild Compute, um Befehle in einer Build-Umgebung auszuführen. Für die Ausführung der Aktion fallen separate Gebühren in an AWS CodeBuild.

**Topics**
+ [ID des Aktionstyps](#action-reference-InspectorScan-type)
+ [Konfigurationsparameter](#action-reference-InspectorScan-parameters)
+ [Input artifacts (Eingabeartefakte)](#action-reference-InspectorScan-input)
+ [Ausgabeartefakte](#action-reference-InspectorScan-output)
+ [Ausgabevariablen](#w2aac56c62c19)
+ [Berechtigungen für Servicerollen: `InspectorScan` Aktion](#edit-role-InspectorScan)
+ [Aktionsdeklaration](#w2aac56c62c23)
+ [Weitere Informationen finden Sie auch unter](#action-reference-InspectorScan-links)

## ID des Aktionstyps
<a name="action-reference-InspectorScan-type"></a>
+ Kategorie: `Invoke`
+ Eigentümer: `AWS`
+ Anbieter: `InspectorScan`
+ Version: `1`

Beispiel:

```
            {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "InspectorScan",
                "Version": "1"
            },
```

## Konfigurationsparameter
<a name="action-reference-InspectorScan-parameters"></a>

**InspectorRunMode**  
(Erforderlich) Die Zeichenfolge, die den Scanmodus angibt. Gültige Werte sind `SourceCodeScan | ECRImageScan`.

**ECRRepositoryName**  
Der Name des Amazon ECR-Repositorys, in das das Bild übertragen wurde.

**ImageTag**  
Das Tag, das für das Image verwendet wird.

Die Parameter für diese Aktion suchen nach dem Grad der Sicherheitslücke, den Sie angeben. Die folgenden Stufen für Schwellenwerte für Sicherheitslücken sind verfügbar:

**CriticalThreshold **  
Die Anzahl der in Ihrer Quelle gefundenen Sicherheitslücken mit kritischem Schweregrad, bei deren CodePipeline Überschreitung die Aktion fehlschlagen sollte.

**HighThreshold **  
Die Anzahl der in Ihrer Quelle gefundenen Sicherheitslücken mit hohem Schweregrad, bei deren CodePipeline Überschreitung die Aktion fehlschlagen sollte.

**MediumThreshold**  
Die Anzahl der in Ihrer Quelle gefundenen Sicherheitslücken mit mittlerem Schweregrad, bei deren CodePipeline Überschreitung die Aktion fehlschlagen sollte.

**LowThreshold **  
Die Anzahl der in Ihrer Quelle gefundenen Sicherheitslücken mit geringem Schweregrad, bei deren CodePipeline Überschreitung die Aktion fehlschlagen sollte. 

![\[\]](http://docs.aws.amazon.com/de_de/codepipeline/latest/userguide/images/inspectorscan-edit.png)


## Input artifacts (Eingabeartefakte)
<a name="action-reference-InspectorScan-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Der Quellcode zum Scannen nach Sicherheitslücken. Wenn der Scan für ein ECR-Repository bestimmt ist, wird dieses Eingabeartefakt nicht benötigt.

## Ausgabeartefakte
<a name="action-reference-InspectorScan-output"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Informationen zur Sicherheitslücke Ihrer Quelle in Form einer Software Bill of Materials (SBOM) -Datei.

## Ausgabevariablen
<a name="w2aac56c62c19"></a>

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

**HighestScannedSeverity **  
Der vom Scan ausgegebene Schweregrad mit dem höchsten Schweregrad. Gültige Werte sind `medium | high | critical`.

## Berechtigungen für Servicerollen: `InspectorScan` Aktion
<a name="edit-role-InspectorScan"></a>

Für die Unterstützung der `InspectorScan` Aktion fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

```
{
        "Effect": "Allow",
        "Action": "inspector-scan:ScanSbom",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "ecr:GetDownloadUrlForLayer",
            "ecr:BatchGetImage",
            "ecr:BatchCheckLayerAvailability"
        ],
        "Resource": "resource_ARN"
    },
```

Fügen Sie Ihrer Servicerolle außerdem die folgenden Berechtigungen hinzu, um CloudWatch Protokolle anzeigen zu können, sofern diese noch nicht für die Aktion Befehle hinzugefügt wurden.

```
{
    "Effect": "Allow",
    "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream", 
        "logs:PutLogEvents"
    ],
    "Resource": "resource_ARN"
},
```

**Anmerkung**  
Beschränken Sie die Berechtigungen auf die Ebene der Pipeline-Ressourcen, indem Sie die ressourcenbasierten Berechtigungen in der Richtlinienanweisung für die Servicerolle verwenden.

## Aktionsdeklaration
<a name="w2aac56c62c23"></a>

------
#### [ YAML ]

```
name: Scan
actionTypeId:
  category: Invoke
  owner: AWS
  provider: InspectorScan
  version: '1'
runOrder: 1
configuration:
  InspectorRunMode: SourceCodeScan
outputArtifacts:
- name: output
inputArtifacts:
- name: SourceArtifact
region: us-east-1
```

------
#### [ JSON ]

```
{
                        "name": "Scan",
                        "actionTypeId": {
                            "category": "Invoke",
                            "owner": "AWS",
                            "provider": "InspectorScan",
                            "version": "1"
                        },
                        "runOrder": 1,
                        "configuration": {
                            "InspectorRunMode": "SourceCodeScan"
                        },
                        "outputArtifacts": [
                            {
                                "name": "output"
                            }
                        ],
                        "inputArtifacts": [
                            {
                                "name": "SourceArtifact"
                            }
                        ],
                        "region": "us-east-1"
                    },
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-InspectorScan-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ Weitere Informationen zu Amazon Inspector finden Sie im [Amazon Inspector Inspector-Benutzerhandbuch](https://aws.amazon.com/inspector/).

# AWS Lambda Aktionsreferenz aufrufen
<a name="action-reference-Lambda"></a>

Ermöglicht es Ihnen, eine Lambda-Funktion als Aktion in Ihrer Pipeline auszuführen. Mit dem Ereignisobjekt, das eine Eingabe für diese Funktion ist, hat die Funktion Zugriff auf die Aktionskonfiguration, Speicherorte der Eingabeartefakte, Speicherorte der Ausgabeartefakte und andere Informationen, die für den Zugriff auf die Artefakte erforderlich sind. Ein Beispielereignis, das an eine Lambda-Aufruffunktion übergeben wurde, finden Sie unter. [JSON-Beispielereignis](#action-reference-Lambda-event) Im Rahmen der Implementierung der Lambda-Funktion muss entweder `[PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)` oder `[PutJobFailureResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobFailureResult.html)` aufgerufen werden. Andernfalls hängt die Ausführung dieser Aktion, bis die Aktion abläuft. Wenn Sie Ausgabeartefakte für die Aktion angeben, müssen sie als Teil der Funktionsimplementierung in den S3-Bucket hochgeladen werden.

**Wichtig**  
Protokollieren Sie nicht das JSON-Ereignis, das CodePipeline an Lambda gesendet wird, da dies dazu führen kann, dass Benutzeranmeldeinformationen in CloudWatch Logs protokolliert werden. Die CodePipeline Rolle verwendet ein JSON-Ereignis, um temporäre Anmeldeinformationen im `artifactCredentials` Feld an Lambda zu übergeben. Ein Beispiel für ein Ereignis finden Sie unter [JSON-Beispielereignis](actions-invoke-lambda-function.md#actions-invoke-lambda-function-json-event-example).

## Aktionstyp
<a name="action-reference-Lambda-type"></a>
+ Kategorie: `Invoke`
+ Eigentümer: `AWS`
+ Anbieter: `Lambda`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-Lambda-config"></a>

**FunctionName**  
Erforderlich: Ja  
`FunctionName`ist der Name der in Lambda erstellten Funktion.

**UserParameters**  
Erforderlich: Nein  
Eine Zeichenfolge, die als Eingabe von der Lambda-Funktion verarbeitet werden kann.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-Lambda-input"></a>
+ **Anzahl der Artefakte:** `0 to 5`
+ **Beschreibung:** Der Satz von Artefakten, die der Lambda-Funktion zur Verfügung gestellt werden sollen.

## Ausgabeartefakte
<a name="action-reference-Lambda-output"></a>
+ **Anzahl der Artefakte:** `0 to 5` 
+ **Beschreibung:** Der Satz von Artefakten, die als Ausgabe von der Lambda-Funktion erzeugt werden.

## Ausgabevariablen
<a name="action-reference-Lambda-variables"></a>

[Diese Aktion erzeugt alle Schlüssel-Wert-Paare, die im `outputVariables` Abschnitt der API-Anfrage enthalten sind, als Variablen. PutJobSuccessResult ](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)

Weitere Hinweise zu Variablen in CodePipeline finden Sie unter. [Variablen-Referenz](reference-variables.md)

## Beispielaktionskonfiguration
<a name="action-reference-Lambda-example"></a>

------
#### [ YAML ]

```
Name: Lambda
Actions:
  - Name: Lambda
    ActionTypeId:
      Category: Invoke
      Owner: AWS
      Provider: Lambda
      Version: '1'
    RunOrder: 1
    Configuration:
      FunctionName: myLambdaFunction
      UserParameters: 'http://192.0.2.4'
    OutputArtifacts: []
    InputArtifacts: []
    Region: us-west-2
```

------
#### [ JSON ]

```
{
    "Name": "Lambda",
    "Actions": [
        {
            "Name": "Lambda",
            "ActionTypeId": {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "Lambda",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "FunctionName": "myLambdaFunction",
                "UserParameters": "http://192.0.2.4"
            },
            "OutputArtifacts": [],
            "InputArtifacts": [],
            "Region": "us-west-2"
        }
    ]
},
```

------

## JSON-Beispielereignis
<a name="action-reference-Lambda-event"></a>

Die Lambda-Aktion sendet ein JSON-Ereignis, das die Job-ID, die Konfiguration der Pipeline-Aktion, die Speicherorte der Eingabe- und Ausgabeartefakte und alle Verschlüsselungsinformationen für die Artefakte enthält. Der Jobworker greift auf diese Details zu, um die Lambda-Aktion abzuschließen. Weitere Informationen finden Sie unter [Auftragsdetails](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_JobDetails.html). Es folgt ein Beispielereignis.

```
{
    "CodePipeline.job": {
        "id": "11111111-abcd-1111-abcd-111111abcdef",
        "accountId": "111111111111",
        "data": {
            "actionConfiguration": {
                "configuration": {
                    "FunctionName": "MyLambdaFunction",
                    "UserParameters": "input_parameter"
                }
            },
            "inputArtifacts": [
                {
                    "location": {
                        "s3Location": {
                            "bucketName": "bucket_name",
                            "objectKey": "filename"
                        },
                        "type": "S3"
                    },
                    "revision": null,
                    "name": "ArtifactName"
                }
            ],
            "outputArtifacts": [],
            "artifactCredentials": {
                "secretAccessKey": "secret_key",
                "sessionToken": "session_token",
                "accessKeyId": "access_key_ID"
            },
            "continuationToken": "token_ID",
            "encryptionKey": { 
              "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
              "type": "KMS"
            }
        }
    }
}
```

Das JSON-Ereignis enthält die folgenden Jobdetails für die Lambda-Aktion in CodePipeline:
+ `id`: Die eindeutige, vom System generierte ID des Auftrags.
+ `accountId`: Die dem Job zugeordnete AWS Konto-ID.
+ `data`: Sonstige Informationen, die für einen Auftragsworker erforderlich sind, um den Auftrag abzuschließen. 
  + `actionConfiguration`: Die Aktionsparameter für die Lambda-Aktion. Definitionen finden Sie unter [Konfigurationsparameter](#action-reference-Lambda-config).
  + `inputArtifacts`: Das für die Aktion bereitgestellte Artefakt.
    + `location`: Der Speicherort des Artefaktspeichers.
      + `s3Location`: Die Informationen zum Speicherort des Eingabeartefakts für die Aktion.
        + `bucketName`: Der Name des Pipeline-Artefaktspeichers für die Aktion (z. B. ein Amazon S3 S3-Bucket mit dem Namen codepipeline-us-east -2-1234567890).
        + `objectKey`: Der Name der Anwendung (z. B. `CodePipelineDemoApplication.zip`).
      + `type`: Der Typ des Artefakts am Speicherort. Derzeit ist `S3` der einzige gültige Artefakttyp.
    + `revision`: Die Revisions-ID des Artefakts. Je nach Objekttyp kann dies eine Commit-ID (GitHub) oder eine Revision-ID (Amazon Simple Storage Service) sein. Weitere Informationen finden Sie unter [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: Der Name des zu bearbeitenden Artefakts, z. B. `MyApp`.
  + `outputArtifacts`: Die Ausgabe der Aktion.
    + `location`: Der Speicherort des Artefaktspeichers.
      + `s3Location`: Die Speicherortinformationen des Ausgabeartefakts für die Aktion.
        + `bucketName`: Der Name des Pipeline-Artefaktspeichers für die Aktion (z. B. ein Amazon S3 S3-Bucket mit dem Namen codepipeline-us-east -2-1234567890).
        + `objectKey`: Der Name der Anwendung (z. B. `CodePipelineDemoApplication.zip`).
      + `type`: Der Typ des Artefakts am Speicherort. Derzeit ist `S3` der einzige gültige Artefakttyp.
    + `revision`: Die Revisions-ID des Artefakts. Je nach Objekttyp kann dies eine Commit-ID (GitHub) oder eine Revision-ID (Amazon Simple Storage Service) sein. Weitere Informationen finden Sie unter [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: Der Name der Ausgabe eines Artefakts, z. B. `MyApp`.
  + `artifactCredentials`: Die AWS Sitzungsdaten, die für den Zugriff auf Eingabe- und Ausgabeartefakte im Amazon S3 S3-Bucket verwendet werden. Diese Anmeldeinformationen sind temporäre Anmeldeinformationen, die von AWS -Security-Token-Service (AWS STS) ausgestellt werden.
    + `secretAccessKey`: Der geheime Zugriffsschlüssel für die Sitzung.
    + `sessionToken`: Das Token für die Sitzung.
    + `accessKeyId`: Der geheime Zugriffsschlüssel für die Sitzung.
  + `continuationToken`: Ein von der Aktion generiertes Token. Zukünftige Aktionen verwenden dieses Token, um die laufende Instance der Aktion zu identifizieren. Wenn die Aktion abgeschlossen ist, sollte kein Fortsetzungs-Token übermittelt werden.
  + `encryptionKey`: Der Verschlüsselungsschlüssel, der zum Verschlüsseln der Daten im Artefaktspeicher verwendet wird, z. B. ein AWS KMS Schlüssel. Wenn dieser nicht definiert ist, wird der Standardschlüssel für Amazon Simple Storage Service verwendet. 
    + `id`: Die ID, die verwendet wurde, um den Schlüssel zu identifizieren. Für einen AWS KMS -Schlüssel können Sie die Schlüssel-ID, den Schlüssel-ARN oder den Alias-ARN verwenden. 
    + `type`: Der Typ des Verschlüsselungsschlüssels, z. B. ein AWS KMS -Schlüssel.

## Weitere Informationen finden Sie auch unter
<a name="action-reference-Lambda-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [AWS CloudFormation Benutzerhandbuch](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) [— Weitere Informationen zu Lambda-Aktionen und CloudFormation Artefakten für Pipelines finden Sie unter [Verwenden von Parameterüberschreibungsfunktionen mit CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html), [Automatisieren der Bereitstellung von Lambda-basierten](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html) Anwendungen und Artefakten.AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html)
+ [Rufen Sie eine AWS Lambda Funktion in einer Pipeline auf in CodePipeline](actions-invoke-lambda-function.md)— Dieses Verfahren enthält eine Lambda-Beispielfunktion und zeigt Ihnen, wie Sie mithilfe der Konsole eine Pipeline mit einer Lambda-Aufrufaktion erstellen.

# AWS OpsWorks Aktionsreferenz bereitstellen
<a name="action-reference-OpsWorks"></a>

Sie verwenden eine AWS OpsWorks Aktion für die Bereitstellung OpsWorks mithilfe Ihrer Pipeline.

## Aktionstyp
<a name="action-reference-StepFunctions-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `OpsWorks`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-OpsWorks-config"></a>

**App**  
Erforderlich: Ja  
Der OpsWorks Stapel. Ein Stack ist ein Container für Ihre Anwendungsinfrastruktur.

**Stack**  
Erforderlich: Ja  
Die OpsWorks App. Die App stellt den Code dar, den Sie bereitstellen und ausführen möchten.

**Ebene**  
Erforderlich: Nein  
Der OpsWorks Stapel. Eine Ebene spezifiziert die Konfiguration und die Ressourcen für eine Reihe von Instanzen.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-OpsWorks-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Dies ist das Eingabeartefakt für Ihre Aktion.

## Ausgabeartefakte
<a name="action-reference-OpsWorks-output"></a>
+ **Anzahl der Artefakte:** `0 to 1` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: AWS OpsWorks Aktion
<a name="edit-role-opsworks"></a>

Wenn Sie AWS OpsWorks Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "opsworks:CreateDeployment",
        "opsworks:DescribeApps",
        "opsworks:DescribeCommands",
        "opsworks:DescribeDeployments",
        "opsworks:DescribeInstances",
        "opsworks:DescribeStacks",
        "opsworks:UpdateApp",
        "opsworks:UpdateStack"
    ],
    "Resource": "resource_ARN"
},
```

## Beispielaktionskonfiguration
<a name="action-reference-OpsWorks-example"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Version: 1
  Provider: OpsWorks
InputArtifacts:
  - Name: myInputArtifact
Configuration:
  Stack: my-stack
  App: my-app
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "OpsWorks"
    },
    "InputArtifacts": [
        {
            "Name": "myInputArtifact"
        }
    ],
    "Configuration": {
        "Stack": "my-stack",
        "App": "my-app"
    }
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-OpsWorks-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [AWS OpsWorks Benutzerhandbuch](https://docs.aws.amazon.com/step-functions/latest/dg/) — Informationen zur Bereitstellung mit AWS OpsWorks finden Sie im *AWS OpsWorks Benutzerhandbuch*.

# AWS Service Catalog Aktionsreferenz bereitstellen
<a name="action-reference-ServiceCatalog"></a>

Sie verwenden eine AWS Service Catalog Aktion, um Vorlagen mithilfe Ihrer Pipeline bereitzustellen. Dies sind Ressourcenvorlagen, die Sie im Service Catalog erstellt haben.

## Aktionstyp
<a name="action-reference-ServiceCatalog-type"></a>
+ Kategorie: `Deploy`
+ Eigentümer: `AWS`
+ Anbieter: `ServiceCatalog`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-ServiceCatalog-config"></a>

**TemplateFilePath**  
Erforderlich: Ja  
Der Dateipfad für Ihre Ressourcenvorlage an Ihrem Quellspeicherort.

**ProductVersionName**  
Erforderlich: Ja  
Die Produktversion im Service Catalog.

**ProductType**  
Erforderlich: Ja  
Der Produkttyp im Service Catalog.

**ProductId**  
Erforderlich: Ja  
Die Produkt-ID im Service Catalog.

**ProductVersionDescription**  
Erforderlich: Nein  
Die Beschreibung der Produktversion im Service Catalog.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-ServiceCatalog-input"></a>
+ **Anzahl der Artefakte:** `1`
+ **Beschreibung:** Dies ist das Eingabeartefakt für Ihre Aktion.

## Ausgabeartefakte
<a name="action-reference-ServiceCatalog-output"></a>
+ **Anzahl der Artefakte:** `0` 
+ **Beschreibung:** Ausgabeartefakte gelten nicht für diesen Aktionstyp.

## Berechtigungen für Servicerollen: Aktion „Service Catalog“
<a name="edit-role-servicecatalog"></a>

Wenn Sie Service Catalog-Support benötigen, fügen Sie Ihrer Richtlinienerklärung Folgendes hinzu:

```
{
    "Effect": "Allow",
    "Action": [
        "servicecatalog:ListProvisioningArtifacts",
        "servicecatalog:CreateProvisioningArtifact",
        "servicecatalog:DescribeProvisioningArtifact",
        "servicecatalog:DeleteProvisioningArtifact",
        "servicecatalog:UpdateProduct"
    ],
    "Resource": "resource_ARN"
},
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:ValidateTemplate"
    ],
    "Resource": "resource_ARN"
}
```

## Beispiele für Aktionskonfigurationen nach Typ der Konfigurationsdatei
<a name="action-reference-ServiceCatalog-example"></a>

Das folgende Beispiel zeigt eine gültige Konfiguration für eine Bereitstellungsaktion, die Service Catalog verwendet, für eine Pipeline, die in der Konsole ohne separate Konfigurationsdatei erstellt wurde:

```
"configuration": {
  "TemplateFilePath": "S3_template.json",
  "ProductVersionName": "devops S3 v2",
  "ProductType": "CLOUD_FORMATION_TEMPLATE",
  "ProductVersionDescription": "Product version description",
  "ProductId": "prod-example123456"
}
```

Das folgende Beispiel zeigt eine gültige Konfiguration für eine Bereitstellungsaktion, die Service Catalog verwendet, für eine Pipeline, die in der Konsole mit einer separaten `sample_config.json` Konfigurationsdatei erstellt wurde:

```
"configuration": {
  "ConfigurationFilePath": "sample_config.json",
  "ProductId": "prod-example123456"
}
```

### Beispielaktionskonfiguration
<a name="action-reference-ServiceCatalog-example-default"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Version: 1
  Provider: ServiceCatalog
OutputArtifacts:
- Name: myOutputArtifact
Configuration:
  TemplateFilePath: S3_template.json
  ProductVersionName: devops S3 v2
  ProductType: CLOUD_FORMATION_TEMPLATE
  ProductVersionDescription: Product version description
  ProductId: prod-example123456
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "ServiceCatalog"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "TemplateFilePath": "S3_template.json",
        "ProductVersionName": "devops S3 v2",
        "ProductType": "CLOUD_FORMATION_TEMPLATE",
        "ProductVersionDescription": "Product version description",
        "ProductId": "prod-example123456"
    }
}
```

------

## Weitere Informationen finden Sie auch unter
<a name="action-reference-ServiceCatalog-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [Service Catalog-Benutzerhandbuch](https://docs.aws.amazon.com/servicecatalog/latest/userguide/) — Informationen zu Ressourcen und Vorlagen in Service Catalog finden Sie im *Service Catalog-Benutzerhandbuch*.
+ [Tutorial: Erstellen Sie eine Pipeline, die in Service Catalog bereitgestellt wird](tutorials-S3-servicecatalog.md)— In diesem Tutorial erfahren Sie, wie Sie eine Pipeline erstellen und konfigurieren, um Ihre Produktvorlage in Service Catalog bereitzustellen und die Änderungen zu übertragen, die Sie in Ihrem Quell-Repository vorgenommen haben.

# AWS Step Functions Aktionsreferenz aufrufen
<a name="action-reference-StepFunctions"></a>

Eine AWS CodePipeline Aktion, die Folgendes bewirkt:
+ Startet eine AWS Step Functions State-Machine-Ausführung von Ihrer Pipeline aus.
+ Stellt dem Zustandsautomaten über eine Eigenschaft in der Aktionskonfiguration oder über eine Datei in einem Pipelineartefakt einen Anfangszustand bereit, der als Eingabe übergeben wird.
+ Legt optional ein Ausführungs-ID-Präfix für die Identifizierung von Ausführungen fest, die von der Aktion ausgelöst werden.
+ Unterstützt [Standard- und Express-Zustandsautomaten](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) .

**Anmerkung**  
Die Aktion Step Functions wird auf Lambda ausgeführt und verfügt daher über Artefaktgrößenquoten, die den Artefaktgrößenquoten für Lambda-Funktionen entsprechen. Weitere Informationen finden Sie unter [Lambda-Kontingente](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) im Lambda Developer Guide.

## Aktionstyp
<a name="action-reference-StepFunctions-type"></a>
+ Kategorie: `Invoke`
+ Eigentümer: `AWS`
+ Anbieter: `StepFunctions`
+ Version: `1`

## Konfigurationsparameter
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
Erforderlich: Ja  
Der Amazon-Ressourcenname (ARN) für den Zustandsautomaten, der aufgerufen werden soll.

**ExecutionNamePrefix**  
Erforderlich: Nein  
Standardmäßig wird als Ausführungsname für den Zustandsautomaten die Ausführungs-ID der Aktion verwendet. Wenn ein Präfix angegeben wird, wird dieses der Ausführungs-ID der Aktion mit einem Bindestrich vorangestellt und beide Angaben werden zusammen als Ausführungsname für den Zustandsautomaten verwendet.  

```
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
```
Bei einem Express-Zustandsautomaten sollte der Name nur 0-9, A-Z, a-z, - und \$1 enthalten.

**InputType**  
Erforderlich: Nein  
+ **Literal** (Standard): Wenn angegeben, wird der Wert im Feld **Input (Eingabe)** direkt als Eingabe an den Zustandsautomaten übergeben.

  Beispieleintrag für das Feld **Input (Eingabe)**, wenn **Literal** ausgewählt ist:

  ```
  {"action": "test"}
  ```
+ **FilePath****: Der Inhalt einer Datei in dem im Eingabefeld angegebenen Eingabeartefakt wird als Eingabe für die State-Machine-Ausführung verwendet.** Ein Eingabeartefakt ist erforderlich, wenn auf gesetzt **InputType**ist. **FilePath**

  Beispieleintrag für das **Eingabefeld**, wenn ausgewählt **FilePath**ist:

  ```
  assets/input.json
  ```

**Input**  
Required: Conditional  
+ **Literal**: Wenn auf **Literal** (Standard) gesetzt **InputType**ist, ist dieses Feld optional. 

  Wenn angegeben, wird das Feld **Input (Eingabe)** direkt als Eingabe für die Ausführung des Zustandsautomaten verwendet. Andernfalls wird der Zustandsautomat mit einem leeren JSON-Objekt (`{}`) aufgerufen.
+ **FilePath**: Wenn auf gesetzt **InputType**ist **FilePath**, ist dieses Feld erforderlich.

  Ein Eingabeartefakt ist auch erforderlich, wenn auf **FilePath**gesetzt **InputType**ist.

  Der Inhalt der Datei im angegebenen Eingabeartefakt wird als Eingabe für die Ausführung des Zustandsautomaten verwendet.

## Input artifacts (Eingabeartefakte)
<a name="action-reference-StepFunctions-input"></a>
+ **Anzahl der Artefakte:** `0 to 1`
+ **Beschreibung:** Wenn auf gesetzt **InputType**ist **FilePath**, ist dieses Artefakt erforderlich und wird als Quelle für die Eingabe für die State-Machine-Ausführung verwendet.

## Ausgabeartefakte
<a name="action-reference-StepFunctions-output"></a>
+ **Anzahl der Artefakte:** `0 to 1` 
+ **Beschreibung**
  + **Standard-Zustandsautomaten**: Wenn vorhanden, wird das Ausgabeartefakt mit der Ausgabe des Zustandsautomaten gefüllt. Dies wird aus der `output` Eigenschaft der [Step Functions DescribeExecution Functions-API-Antwort](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) abgerufen, nachdem die State-Machine-Ausführung erfolgreich abgeschlossen wurde.
  + **Express-Zustandsautomaten**: Nicht unterstützt.

## Ausgabevariablen
<a name="action-reference-StepFunctions-variables"></a>

Durch diese Aktion werden Ausgabevariablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können.

Weitere Informationen finden Sie unter [Variablen-Referenz](reference-variables.md).

**StateMachineArn**  
Der ARN des Zustandsautomaten.

**ExecutionArn**  
Der ARN der Ausführung des Zustandsautomaten. Nur Standard-Zustandsautomaten.

## Berechtigungen für Servicerollen: `StepFunctions` Aktion
<a name="edit-role-stepfunctions"></a>

Für die `StepFunctions` Aktion sind die folgenden Mindestberechtigungen aufgeführt, die zum Erstellen von Pipelines mit einer Aktion zum Aufrufen von Step Functions erforderlich sind.

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## Beispielaktionskonfiguration
<a name="action-reference-StepFunctions-example"></a>

### Beispiel für Standardeingabe
<a name="action-reference-StepFunctions-example-default"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix"
    }
}
```

------

### Beispiel für Literaleingabe
<a name="action-reference-StepFunctions-example-literal"></a>

------
#### [ YAML ]

```
Name: ActionName
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine
  ExecutionNamePrefix: my-prefix
  Input: '{"action": "test"}'
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "Input": "{\"action\": \"test\"}"
    }
}
```

------

### Beispiel für Eingabedatei
<a name="action-reference-StepFunctions-example-filepath"></a>

------
#### [ YAML ]

```
Name: ActionName
InputArtifacts:
  - Name: myInputArtifact
ActionTypeId:
  Category: Invoke
  Owner: AWS
  Version: 1
  Provider: StepFunctions
OutputArtifacts:
  - Name: myOutputArtifact
Configuration:
  StateMachineArn: 'arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine'
  ExecutionNamePrefix: my-prefix
  InputType: FilePath
  Input: assets/input.json
```

------
#### [ JSON ]

```
{
    "Name": "ActionName",
    "InputArtifacts": [
        {
            "Name": "myInputArtifact"
        }
    ],
    "ActionTypeId": {
        "Category": "Invoke",
        "Owner": "AWS",
        "Version": 1,
        "Provider": "StepFunctions"
    },
    "OutputArtifacts": [
        {
            "Name": "myOutputArtifact"
        }
    ],
    "Configuration": {
        "StateMachineArn": "arn:aws:states:us-east-1:111122223333:stateMachine:HelloWorld-StateMachine",
        "ExecutionNamePrefix": "my-prefix",
        "InputType": "FilePath",
        "Input": "assets/input.json"
    }
}
```

------

## Behavior
<a name="action-reference-StepFunctions-types"></a>

 CodePipeline Führt während einer Veröffentlichung die konfigurierte Zustandsmaschine mit der Eingabe aus, die in der Aktionskonfiguration angegeben ist.

Wenn auf **Literal** gesetzt **InputType**ist, wird der Inhalt des Konfigurationsfeldes für die **Eingabeaktion** als Eingabe für die Zustandsmaschine verwendet. Wenn keine Literaleingabe bereitgestellt wird, wird für die Ausführung des Zustandsautomaten ein leeres JSON-Objekt (`{}`) verwendet. Weitere Informationen zum Ausführen einer State-Machine-Ausführung ohne Eingabe finden Sie in der [Step Functions StartExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html).

Wenn auf gesetzt **InputType**ist **FilePath**, entpackt die Aktion das Eingabeartefakt und verwendet den Inhalt der Datei, die im Konfigurationsfeld für die **Eingabeaktion** angegeben ist, als Eingabe für die Zustandsmaschine. Wenn angegeben, **FilePath**ist das **Eingabefeld** erforderlich und es muss ein Eingabeartefakt vorhanden sein. Andernfalls schlägt die Aktion fehl.

Nach einer erfolgreichen Ausführung des Starts ist das Verhalten für die beiden Arten von Zustandsautomaten, *Standard*- bzw. *Express*- unterschiedlich.

### Standard-Zustandsautomaten
<a name="action-reference-StepFunctions-types-standard"></a>

Wenn die Ausführung der Standardzustandsmaschine erfolgreich gestartet wurde, CodePipeline wird die `DescribeExecution` API abgefragt, bis die Ausführung einen Terminalstatus erreicht. Wenn die Ausführung erfolgreich abgeschlossen wird, wird die Aktion erfolgreich ausgeführt, andernfalls schlägt sie fehl.

Wenn ein Ausgabeartefakt konfiguriert ist, enthält das Artefakt den Rückgabewert des Zustandsautomaten. Dies wird aus der `output` Eigenschaft der [Step Functions DescribeExecution Functions-API-Antwort](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) abgerufen, nachdem die State-Machine-Ausführung erfolgreich abgeschlossen wurde. Beachten Sie, dass für diese API Einschränkungen für die Ausgabelänge zwingend gelten.

#### Fehlerbehandlung
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ Wenn der Start einer Ausführung für einen Zustandsautomaten fehlschlägt, schlägt die Ausführung der Aktion ebenfalls fehl.
+ Wenn die State-Machine-Ausführung keinen Terminalstatus erreicht, bevor die CodePipeline Step Functions Functions-Aktion ihr Timeout erreicht (Standard von 7 Tagen), schlägt die Aktionsausführung fehl. Der Zustandsautomat läuft möglicherweise trotz dieses Fehlers weiter. Weitere Informationen zu Timeouts bei der Ausführung von Zustandsmaschinen in Step Functions finden Sie unter [Standard- und Express-Workflows](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).
**Anmerkung**  
Sie können für das Konto mit der Aktion eine Kontingenterhöhung für das Timeout von Aufrufaktionen anfordern. Die Kontingenterhöhung gilt dann auch für alle Aktionen dieser Art in allen Regionen für dieses Konto.
+ Wenn die Ausführung des Zustandsautomaten mit dem Beendigungsstatus FAILED, TIMED\$1OUT oder ABORTED endet, schlägt die Ausführung der Aktion fehl.

### Express-Zustandsautomaten
<a name="action-reference-StepFunctions-types-express"></a>

Wenn die Ausführung des Express-Zustandsautomaten erfolgreich gestartet wurde, wird die Ausführung der Aufrufaktion erfolgreich abgeschlossen.

Überlegungen zu Aktionen, die für Express-Zustandsautomaten konfiguriert sind:
+ Sie können kein Ausgabeartefakt angeben.
+ Die Aktion wartet nicht, bis die Ausführung des Zustandsautomaten beendet ist.
+ Nachdem die Ausführung der Aktion gestartet wurde CodePipeline, ist die Ausführung der Aktion erfolgreich, auch wenn die Ausführung der Zustandsmaschine fehlschlägt.

#### Fehlerbehandlung
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ Wenn die Ausführung einer Zustandsmaschine CodePipeline nicht gestartet werden kann, schlägt die Ausführung der Aktion fehl. Andernfalls gilt die Aktion sofort ebenfalls als erfolgreich ausgeführt. Die Aktion ist erfolgreich, CodePipeline unabhängig davon, wie lange es dauert, bis die State-Machine-Ausführung abgeschlossen ist oder welches Ergebnis sie hat.

## Weitere Informationen finden Sie auch unter
<a name="action-reference-StepFunctions-links"></a>

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
+ [AWS Step Functions Entwicklerhandbuch](https://docs.aws.amazon.com/step-functions/latest/dg/) — Informationen zu Zustandsmaschinen, Ausführungen und Eingaben für Zustandsmaschinen finden Sie im *AWS Step Functions Entwicklerhandbuch*.
+ [Tutorial: Verwenden Sie eine AWS Step Functions Aufrufaktion in einer Pipeline](tutorials-step-functions.md)— In diesem Tutorial beginnen Sie mit einem Beispiel für eine Standardstatusmaschine und erfahren, wie Sie mit der Konsole eine Pipeline aktualisieren, indem Sie eine Step Functions Functions-Aufrufaktion hinzufügen.