

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Referensi struktur aksi
<a name="action-reference"></a>

Bagian ini adalah referensi untuk konfigurasi tindakan saja. Untuk gambaran konseptual dari struktur pipa, lihat[CodePipeline referensi struktur pipa](reference-pipeline-structure.md).

Setiap penyedia tindakan CodePipeline menggunakan satu set bidang konfigurasi wajib dan opsional dalam struktur pipa. Bagian ini memberikan informasi referensi berikut oleh penyedia tindakan:
+ Nilai yang valid untuk `ActionType` bidang yang termasuk dalam blok tindakan struktur pipa, seperti `Owner` dan`Provider`.
+ Deskripsi dan informasi referensi lainnya untuk `Configuration` parameter (wajib dan opsional) termasuk dalam bagian tindakan struktur pipa.
+ Contoh bidang tindakan JSON dan YAMAL yang valid.

Bagian ini diperbarui secara berkala dengan lebih banyak penyedia tindakan. Informasi referensi saat ini tersedia untuk penyedia tindakan berikut:

**Topics**
+ [Referensi tindakan Amazon EC2](action-reference-EC2Deploy.md)
+ [Referensi tindakan sumber Amazon ECR](action-reference-ECR.md)
+ [`ECRBuildAndPublish`membangun referensi tindakan](action-reference-ECRBuildAndPublish.md)
+ [Amazon ECS dan referensi CodeDeploy tindakan penerapan biru-hijau](action-reference-ECSbluegreen.md)
+ [Referensi tindakan penerapan Amazon Elastic Container Service](action-reference-ECS.md)
+ [Referensi tindakan penerapan Amazon Elastic Kubernetes Service `EKS`](action-reference-EKS.md)
+ [AWS Lambda menyebarkan referensi tindakan](action-reference-LambdaDeploy.md)
+ [Referensi tindakan penerapan Amazon S3](action-reference-S3Deploy.md)
+ [Referensi tindakan sumber Amazon S3](action-reference-S3.md)
+ [AWS AppConfig menyebarkan referensi tindakan](action-reference-AppConfig.md)
+ [CloudFormation menyebarkan referensi tindakan](action-reference-CloudFormation.md)
+ [CloudFormation StackSets](action-reference-StackSets.md)
+ [AWS CodeBuild membangun dan menguji referensi tindakan](action-reference-CodeBuild.md)
+ [AWS CodePipeline memanggil referensi tindakan](action-reference-PipelineInvoke.md)
+ [AWS CodeCommit referensi tindakan sumber](action-reference-CodeCommit.md)
+ [AWS CodeDeploy menyebarkan referensi tindakan](action-reference-CodeDeploy.md)
+ [CodeStarSourceConnection untuk Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com, dan tindakan yang dikelola GitLab sendiri](action-reference-CodestarConnectionSource.md)
+ [Referensi tindakan perintah](action-reference-Commands.md)
+ [AWS Device Farm referensi tindakan uji](action-reference-DeviceFarm.md)
+ [Referensi aksi penyebaran Elastic Beanstalk](action-reference-Beanstalk.md)
+ [Amazon Inspector `InspectorScan` memanggil referensi tindakan](action-reference-InspectorScan.md)
+ [AWS Lambda memanggil referensi tindakan](action-reference-Lambda.md)
+ [AWS OpsWorks menyebarkan referensi tindakan](action-reference-OpsWorks.md)
+ [AWS Service Catalog menyebarkan referensi tindakan](action-reference-ServiceCatalog.md)
+ [AWS Step Functions](action-reference-StepFunctions.md)

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

Anda menggunakan `EC2` tindakan Amazon EC2 untuk menyebarkan kode aplikasi ke armada penerapan Anda. Armada penyebaran Anda dapat terdiri dari instans Amazon EC2 Linux atau node yang dikelola Linux SSM. Instans Anda harus memiliki agen SSM yang diinstal.

**catatan**  
Tindakan ini hanya mendukung jenis instance Linux. Ukuran armada maksimum yang didukung adalah 500 instance.

Tindakan akan memilih sejumlah instance berdasarkan maksimum yang ditentukan. Instance yang gagal dari instance sebelumnya akan dipilih terlebih dahulu. Tindakan akan melewati penerapan pada instance tertentu jika instance telah menerima penerapan artefak input yang sama, seperti kasus di mana tindakan gagal sebelumnya.

**catatan**  
Tindakan ini hanya didukung untuk pipeline tipe V2.

**Topics**
+ [Tipe tindakan](#action-reference-EC2Deploy-type)
+ [Parameter konfigurasi](#action-reference-EC2Deploy-parameters)
+ [Artefak masukan](#action-reference-EC2Deploy-input)
+ [Artefak keluaran](#action-reference-EC2Deploy-output)
+ [Izin kebijakan peran layanan untuk tindakan penerapan EC2](#action-reference-EC2Deploy-permissions-action)
+ [Menyebarkan referensi file spesifikasi](#action-reference-EC2Deploy-spec-reference)
+ [Deklarasi tindakan](#action-reference-EC2Deploy-example)
+ [Deklarasi tindakan dengan contoh spesifikasi Deploy](#action-reference-EC2Deploy-example-spec)
+ [Lihat juga](#action-reference-EC2Deploy-links)

## Tipe tindakan
<a name="action-reference-EC2Deploy-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `EC2`
+ Versi: `1`

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

**InstanceTagKey**  
Wajib: Ya  
Kunci tag dari instans yang Anda buat di Amazon EC2, seperti. `Name`

**InstanceTagValue**  
Wajib: Tidak  
Nilai tag instans yang Anda buat di Amazon EC2, seperti. `my-instances`  
Ketika nilai ini tidak ditentukan, semua instance dengan **InstanceTagKey**akan dicocokkan.

**InstanceType**  
Wajib: Ya  
Jenis instance atau node SSM yang dibuat di Amazon EC2. Nilai yang valid adalah `EC2` dan `SSM_MANAGED_NODE`.  
Anda harus sudah membuat, menandai, dan menginstal agen SSM pada semua instance.  
Saat membuat instance, Anda membuat atau menggunakan peran instans EC2 yang ada. Untuk menghindari `Access Denied` kesalahan, Anda harus menambahkan izin bucket S3 ke peran instance untuk memberikan izin instance ke bucket artefak CodePipeline . Buat peran default atau perbarui peran yang ada dengan `s3:GetObject` izin yang tercakup ke bucket artefak untuk Wilayah pipeline Anda.

**TargetDirectory**  
Diperlukan: Ya (Jika skrip ditentukan)  
Direktori yang akan digunakan pada instans Amazon EC2 Anda untuk menjalankan skrip.

**DeploySpec**  
Diperlukan: Ya (Jika spesifikasi penerapan ditentukan)  
File yang akan digunakan untuk mengkonfigurasi instalasi penerapan dan peristiwa siklus hidup. Untuk menyebarkan deskripsi dan informasi bidang spesifikasi, lihat. [Menyebarkan referensi file spesifikasi](#action-reference-EC2Deploy-spec-reference) Untuk melihat konfigurasi tindakan dengan file spesifikasi deploy yang ditentukan, lihat contoh di. [Deklarasi tindakan dengan contoh spesifikasi Deploy](#action-reference-EC2Deploy-example-spec)

**MaxBatch**  
Wajib: Tidak  
Jumlah maksimum instance yang diizinkan untuk digunakan secara paralel.

**MaxError**  
Wajib: Tidak  
Jumlah maksimum kesalahan instans yang diizinkan selama penerapan.

**TargetGroupNameList**  
Wajib: Tidak  
Daftar nama grup target untuk penyebaran. Anda harus sudah membuat grup target.  
Grup sasaran menyediakan serangkaian instance untuk memproses permintaan tertentu. Jika grup target ditentukan, instance akan dihapus dari grup target sebelum penerapan dan ditambahkan kembali ke grup target setelah penerapan.

**PreScript**  
Wajib: Tidak  
Script yang akan dijalankan sebelum fase aksi Deploy.

**PostScript**  
Wajib: Ya  
Script yang akan dijalankan setelah fase aksi Deploy.

Gambar berikut menunjukkan contoh halaman **Edit** untuk tindakan di mana **konfigurasi Use action** dipilih.

![\[Halaman Edit tindakan untuk pipeline baru dengan tindakan EC2 Deploy yang menentukan menggunakan konfigurasi tindakan\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/ec2deploy-action.png)


Gambar berikut menunjukkan contoh halaman **Edit** untuk tindakan di mana **Gunakan DeploySpec file** dipilih.

![\[Halaman Edit tindakan untuk pipeline baru dengan opsi tindakan EC2 Deploy untuk menggunakan file spesifikasi\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/ec2deploy-action-spec.png)


## Artefak masukan
<a name="action-reference-EC2Deploy-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** File yang disediakan, jika ada, untuk mendukung tindakan skrip selama penyebaran.

## Artefak keluaran
<a name="action-reference-EC2Deploy-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin kebijakan peran layanan untuk tindakan penerapan EC2
<a name="action-reference-EC2Deploy-permissions-action"></a>

Saat CodePipeline menjalankan tindakan, peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat untuk akses dengan hak istimewa paling sedikit.

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

------

### Grup log untuk pipeline Anda di CloudWatch log
<a name="action-reference-EC2Deploy-logs"></a>

Saat CodePipeline menjalankan tindakan, CodePipeline buat grup log menggunakan nama pipeline sebagai berikut. Ini memungkinkan Anda untuk mengurangi izin untuk mencatat sumber daya menggunakan nama pipeline.

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

Izin pencatatan berikut disertakan dalam pembaruan di atas untuk peran layanan.
+ log: CreateLogGroup
+ log: CreateLogStream
+ log: PutLogEvents

Untuk melihat log di konsol menggunakan halaman dialog detail tindakan, izin untuk melihat log harus ditambahkan ke peran konsol. Untuk informasi selengkapnya, lihat contoh kebijakan izin konsol di[Izin diperlukan untuk melihat log komputasi di konsol](security-iam-permissions-console-logs.md).

### Izin kebijakan peran layanan untuk log CloudWatch
<a name="w2aac56c13c21c11"></a>

Saat CodePipeline menjalankan tindakan, CodePipeline buat grup log menggunakan nama pipeline sebagai berikut. Ini memungkinkan Anda untuk mengurangi izin untuk mencatat sumber daya menggunakan nama pipeline.

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

Untuk melihat log di konsol menggunakan halaman dialog detail tindakan, izin untuk melihat log harus ditambahkan ke peran konsol. Untuk informasi selengkapnya, lihat contoh kebijakan izin konsol di[Izin diperlukan untuk melihat log komputasi di konsol](security-iam-permissions-console-logs.md).

## Menyebarkan referensi file spesifikasi
<a name="action-reference-EC2Deploy-spec-reference"></a>

Saat CodePipeline menjalankan tindakan, Anda dapat menentukan file spesifikasi untuk mengonfigurasi penerapan ke instance Anda. File spesifikasi penerapan menentukan apa yang harus diinstal dan kait peristiwa siklus hidup mana yang akan dijalankan sebagai respons terhadap peristiwa siklus hidup penerapan. File spesifikasi penerapan selalu diformat YAML. File spesifikasi deploy digunakan untuk:
+ Petakan file sumber dalam revisi aplikasi Anda ke tujuan mereka pada instance.
+ Tentukan izin khusus untuk file yang digunakan.
+ Tentukan skrip yang akan dijalankan pada setiap instance pada berbagai tahap proses penyebaran.

File spesifikasi deploy mendukung parameter konfigurasi penerapan tertentu yang didukung oleh CodeDeploy file. AppSpec Anda dapat menggunakan AppSpec file yang ada secara langsung, dan parameter apa pun yang tidak didukung akan diabaikan. Untuk informasi selengkapnya tentang AppSpec file dalam CodeDeploy, lihat referensi file Spesifikasi Aplikasi di *Panduan [CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html)Pengguna*.

Parameter penyebaran file ditentukan sebagai berikut. 
+ `files`- File spesifikasi deploy menunjuk `source:` dan `destination:` untuk file penyebaran. 
+ `scripts`- Acara skrip untuk penyebaran. Dua acara didukung: `BeforeDeploy` dan`AfterDeploy`.
+ `hooks`- Siklus hidup terkait untuk acara tersebut. Kait berikut didukung:`ApplicationStop`,,`BeforeInstall`, `AfterInstall``ApplicationStart`, dan`ValidateService`.
**catatan**  
Parameter kait tersedia untuk AppSpec kompatibilitas dengan CodeDeploy dan hanya tersedia dalam versi 0.0 (AppSpec format). Untuk format ini, CodePipeline akan melakukan upaya terbaik pemetaan acara.

Spasi YAMAL yang benar harus digunakan dalam file spesifikasi; jika tidak, kesalahan akan muncul jika lokasi dan jumlah spasi dalam file spesifikasi penerapan tidak benar. Untuk informasi selengkapnya tentang spasi, lihat spesifikasi [YAMM.](http://www.yaml.org/)

Contoh file spesifikasi penerapan ada di bawah ini. 

```
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
```

Untuk melihat konfigurasi tindakan dengan file spesifikasi deploy yang ditentukan, lihat contoh di. [Deklarasi tindakan dengan contoh spesifikasi Deploy](#action-reference-EC2Deploy-example-spec)

## Deklarasi tindakan
<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"
        }
    ]
},
```

------

## Deklarasi tindakan dengan contoh spesifikasi Deploy
<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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-EC2Deploy-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+  [Tutorial: Terapkan ke instans Amazon EC2 dengan CodePipeline](tutorials-ec2-deploy.md)— Tutorial ini memandu Anda melalui pembuatan instance EC2 di mana Anda akan menyebarkan file skrip, bersama dengan pembuatan pipeline menggunakan tindakan EC2.
+ [Tindakan Penerapan EC2 gagal dengan pesan kesalahan `No such file`](troubleshooting.md#troubleshooting-ec2-deploy)— Topik ini menjelaskan pemecahan masalah untuk kesalahan file tidak ditemukan dengan tindakan EC2.

# Referensi tindakan sumber Amazon ECR
<a name="action-reference-ECR"></a>

Memicu pipeline saat gambar baru didorong ke repositori Amazon ECR. Tindakan ini menyediakan file definisi gambar yang merujuk URI untuk gambar yang didorong ke Amazon ECR. Tindakan sumber ini sering digunakan bersama dengan aksi sumber lain, seperti CodeCommit, untuk memungkinkan lokasi sumber untuk semua artefak sumber lainnya. Untuk informasi selengkapnya, lihat [Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR](tutorials-ecs-ecr-codedeploy.md).

Saat Anda menggunakan konsol untuk membuat atau mengedit pipeline, CodePipeline buat EventBridge aturan yang memulai pipeline saat terjadi perubahan di repositori.

**catatan**  
Untuk Amazon ECR, Amazon S3, CodeCommit atau sumber, Anda juga dapat membuat penggantian sumber menggunakan entri transformasi input untuk menggunakan `revisionValue` peristiwa EventBridge in untuk pipeline Anda, yang berasal dari variabel peristiwa sumber untuk kunci objek, komit, atau ID gambar Anda. `revisionValue` Untuk informasi selengkapnya, lihat langkah opsional untuk entri transformasi masukan yang disertakan dalam prosedur di bawah[Tindakan sumber dan sumber daya Amazon ECR EventBridge](create-cwe-ecr-source.md),[Menyambungkan ke tindakan sumber Amazon S3 dengan sumber yang diaktifkan untuk acara](create-S3-source-events.md), atau[CodeCommit tindakan sumber dan EventBridge](triggering.md).

Anda harus sudah membuat repositori Amazon ECR dan mendorong gambar sebelum Anda menghubungkan pipeline melalui tindakan Amazon ECR.

**Topics**
+ [Tipe tindakan](#action-reference-ECR-type)
+ [Parameter konfigurasi](#action-reference-ECR-config)
+ [Artefak masukan](#action-reference-ECR-input)
+ [Artefak keluaran](#action-reference-ECR-output)
+ [Variabel keluaran](#action-reference-ECR-variables)
+ [Izin peran layanan: Tindakan Amazon ECR](#edit-role-ecr)
+ [Deklarasi tindakan (contoh Amazon ECR)](#action-reference-ECR-example)
+ [Lihat juga](#action-reference-ECR-links)

## Tipe tindakan
<a name="action-reference-ECR-type"></a>
+ Kategori: `Source`
+ Pemilik: `AWS`
+ Penyedia: `ECR`
+ Versi: `1`

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

**RepositoryName**  
Wajib: Ya  
Nama repositori Amazon ECR tempat gambar didorong.

**ImageTag**  
Wajib: Tidak  
Tag yang digunakan untuk gambar.  
Jika nilai untuk tidak `ImageTag` ditentukan, nilai default ke. `latest`

## Artefak masukan
<a name="action-reference-ECR-input"></a>
+ **Jumlah artefak:** `0`
+ **Deskripsi:** Artefak masukan tidak berlaku untuk jenis tindakan ini.

## Artefak keluaran
<a name="action-reference-ECR-output"></a>
+ **Jumlah artefak:** `1` 
+ **Deskripsi:** Tindakan ini menghasilkan artefak yang berisi `imageDetail.json` file yang berisi URI untuk gambar yang memicu eksekusi pipeline. Untuk informasi tentang `imageDetail.json` file, lihat[File ImageDetail.json untuk tindakan penerapan Amazon ECS blue/green](file-reference.md#file-reference-ecs-bluegreen).

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**RegistryId**  
ID AWS akun yang terkait dengan registri yang berisi repositori.

**RepositoryName**  
Nama repositori Amazon ECR tempat gambar didorong.

**ImageTag**  
Tag yang digunakan untuk gambar.  
Variabel `ImageTag` keluaran bukan keluaran saat revisi sumber diganti

**ImageDigest**  
`sha256`Intisari manifes gambar.

**ImageURI**  
URI untuk gambar.

## Izin peran layanan: Tindakan Amazon ECR
<a name="edit-role-ecr"></a>

Untuk dukungan Amazon ECR, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

Untuk informasi lebih lanjut tentang tindakan ini, lihat[Referensi tindakan sumber Amazon ECR](#action-reference-ECR).

## Deklarasi tindakan (contoh 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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-ECR-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR](tutorials-ecs-ecr-codedeploy.md)— Tutorial ini menyediakan contoh file spesifikasi aplikasi dan contoh CodeDeploy aplikasi dan grup penyebaran untuk membuat pipeline dengan sumber ECR dan CodeCommit Amazon yang menyebarkan ke instans Amazon ECS.

# `ECRBuildAndPublish`membangun referensi tindakan
<a name="action-reference-ECRBuildAndPublish"></a>

Tindakan build ini memungkinkan Anda mengotomatiskan pembuatan dan mendorong gambar baru saat terjadi perubahan di sumber Anda. Tindakan ini dibangun berdasarkan lokasi file Docker tertentu dan mendorong gambar. Tindakan build ini tidak sama dengan aksi sumber ECR Amazon CodePipeline, yang memicu pipeline saat terjadi perubahan di repositori sumber Amazon ECR Anda. Untuk informasi tentang tindakan itu, lihat[Referensi tindakan sumber Amazon ECR](action-reference-ECR.md).

Ini bukan tindakan sumber yang akan memicu pipa. Tindakan ini membangun gambar dan mendorongnya ke repositori gambar Amazon ECR Anda.

Anda harus sudah membuat repositori Amazon ECR dan telah menambahkan Dockerfile ke repositori kode sumber Anda, seperti GitHub, sebelum Anda menambahkan tindakan ke pipeline Anda.

**penting**  
Tindakan ini menggunakan CodeBuild komputasi CodePipeline terkelola untuk menjalankan perintah di lingkungan build. Menjalankan tindakan perintah akan dikenakan biaya terpisah di AWS CodeBuild.

**catatan**  
Tindakan ini hanya tersedia untuk jaringan pipa tipe V2.

**Topics**
+ [Tipe tindakan](#action-reference-ECRBuildAndPublish-type)
+ [Parameter konfigurasi](#action-reference-ECRBuildAndPublish-config)
+ [Artefak masukan](#action-reference-ECRBuildAndPublish-input)
+ [Artefak keluaran](#action-reference-ECRBuildAndPublish-output)
+ [Variabel keluaran](#action-reference-ECRBuildAndPublish-output-variables)
+ [Izin peran layanan: tindakan `ECRBuildAndPublish`](#edit-role-ECRBuildAndPublish)
+ [Deklarasi tindakan](#action-reference-ECRBuildAndPublish-example)
+ [Lihat juga](#action-reference-ECRBuildAndPublish-links)

## Tipe tindakan
<a name="action-reference-ECRBuildAndPublish-type"></a>
+ Kategori: `Build`
+ Pemilik: `AWS`
+ Penyedia: `ECRBuildAndPublish`
+ Versi: `1`

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

**ECRRepositoryNama**  
Wajib: Ya  
Nama repositori Amazon ECR tempat gambar didorong.

**DockerFilePath**  
Wajib: Tidak  
Lokasi file Docker yang digunakan untuk membangun gambar. Secara opsional, Anda dapat memberikan lokasi file docker alternatif jika tidak pada tingkat root.  
Jika nilai untuk tidak `DockerFilePath` ditentukan, nilai default ke tingkat root repositori sumber.

**ImageTags**  
Wajib: Tidak  
Tag yang digunakan untuk gambar. Anda dapat memasukkan beberapa tag sebagai daftar string yang dibatasi koma.  
Jika nilai untuk tidak `ImageTags` ditentukan, nilai default ke. `latest`

**RegistryType**  
Wajib: Tidak  
Menentukan apakah repositori publik atau pribadi. Nilai yang valid adalah `private | public`.  
Jika nilai untuk tidak `RegistryType` ditentukan, nilai default ke. `private`

## Artefak masukan
<a name="action-reference-ECRBuildAndPublish-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Artefak yang dihasilkan oleh aksi sumber yang berisi Dockerfile yang diperlukan untuk membangun gambar.

## Artefak keluaran
<a name="action-reference-ECRBuildAndPublish-output"></a>
+ **Jumlah artefak:** `0` 

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir. 

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**ECRImageDigestId **  
`sha256`Intisari manifes gambar.

**ECRRepositoryNama **  
Nama repositori Amazon ECR tempat gambar didorong.

## Izin peran layanan: tindakan `ECRBuildAndPublish`
<a name="edit-role-ECRBuildAndPublish"></a>

Untuk dukungan `ECRBuildAndPublish` tindakan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

Selain itu, jika belum ditambahkan untuk `Commands` tindakan, tambahkan izin berikut ke peran layanan Anda untuk melihat CloudWatch log.

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

**catatan**  
Cakupkan izin ke tingkat sumber daya pipeline dengan menggunakan izin berbasis sumber daya dalam pernyataan kebijakan peran layanan.

Untuk informasi lebih lanjut tentang tindakan ini, lihat[`ECRBuildAndPublish`membangun referensi tindakan](#action-reference-ECRBuildAndPublish).

## Deklarasi tindakan
<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"
},
```

------

## Lihat juga
<a name="action-reference-ECRBuildAndPublish-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Buat dan dorong gambar Docker ke Amazon ECR dengan CodePipeline (tipe V2)](tutorials-ecr-build-publish.md)— Tutorial ini menyediakan contoh Dockerfile dan instruksi untuk membuat pipeline yang mendorong gambar Anda ke ECR pada perubahan ke repositori sumber Anda dan kemudian menyebarkan ke Amazon ECS.

# Amazon Elastic Container Service dan CodeDeploy referensi aksi penerapan biru-hijau
<a name="action-reference-ECSbluegreen"></a>

Anda dapat mengonfigurasi pipeline AWS CodePipeline yang menyebarkan aplikasi kontainer menggunakan blue/green penerapan. Dalam blue/green penerapan, Anda dapat meluncurkan versi baru aplikasi Anda bersama versi lama, dan Anda dapat menguji versi baru sebelum Anda mengalihkan lalu lintas ke sana. Anda juga dapat memantau proses penerapan dan memutar kembali dengan cepat jika ada masalah.

Pipeline yang telah selesai mendeteksi perubahan pada gambar atau file definisi tugas Anda dan digunakan CodeDeploy untuk merutekan dan menyebarkan lalu lintas ke klaster Amazon ECS dan penyeimbang beban. CodeDeploy membuat pendengar baru pada penyeimbang beban Anda yang dapat menargetkan tugas baru Anda melalui port khusus. Anda juga dapat mengonfigurasi pipeline untuk menggunakan lokasi sumber, seperti CodeCommit repositori, tempat definisi tugas Amazon ECS disimpan.

Sebelum membuat pipeline, Anda harus sudah membuat resource Amazon ECS, CodeDeploy resource, dan load balancer serta grup target. Anda harus sudah menandai dan menyimpan gambar di repositori gambar Anda, dan mengunggah definisi tugas dan AppSpec file ke repositori file Anda.

**catatan**  
Topik ini menjelaskan tindakan penerapan Amazon ECS ke CodeDeploy biru/hijau untuk. CodePipeline Untuk informasi referensi tentang tindakan penerapan standar Amazon ECS CodePipeline, lihat. [Referensi tindakan penerapan Amazon Elastic Container Service](action-reference-ECS.md)

**Topics**
+ [Tipe tindakan](#action-reference-ECSbluegreen-type)
+ [Parameter konfigurasi](#action-reference-ECSbluegreen-config)
+ [Artefak masukan](#action-reference-ECSbluegreen-input)
+ [Artefak keluaran](#action-reference-ECSbluegreen-output)
+ [Izin peran layanan: tindakan `CodeDeployToECS`](#edit-role-codedeploy-ecs)
+ [Deklarasi tindakan](#action-reference-ECSbluegreen-example)
+ [Lihat juga](#action-reference-ECSbluegreen-links)

## Tipe tindakan
<a name="action-reference-ECSbluegreen-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `CodeDeployToECS`
+ Versi: `1`

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

**ApplicationName**  
Wajib: Ya  
Nama aplikasi di CodeDeploy. Sebelum Anda membuat pipeline Anda, Anda harus sudah membuat aplikasi di CodeDeploy.

**DeploymentGroupName**  
Wajib: Ya  
Grup penerapan yang ditentukan untuk set tugas Amazon ECS yang Anda buat untuk aplikasi Anda CodeDeploy . Sebelum membuat pipeline, Anda harus sudah membuat grup deployment di CodeDeploy.

**TaskDefinitionTemplateArtifact**  
Wajib: Ya  
Nama artefak input yang menyediakan file definisi tugas ke tindakan penerapan. Ini umumnya nama artefak keluaran dari aksi sumber. Saat Anda menggunakan konsol, nama default untuk artefak keluaran aksi sumber adalah`SourceArtifact`.

**AppSpecTemplateArtifact**  
Wajib: Ya  
Nama artefak input yang menyediakan AppSpec file untuk tindakan penyebaran. Nilai ini diperbarui saat pipeline Anda berjalan. Ini umumnya nama artefak keluaran dari aksi sumber. Saat Anda menggunakan konsol, nama default untuk artefak keluaran aksi sumber adalah`SourceArtifact`. [Untuk `TaskDefinition` dalam AppSpec file, Anda dapat menyimpan teks `<TASK_DEFINITION>` placeholder seperti yang ditunjukkan di sini.](tutorials-ecs-ecr-codedeploy.md#tutorials-ecs-ecr-codedeploy-taskdefinition)

**AppSpecTemplatePath**  
Wajib: Tidak  
Nama file AppSpec file yang disimpan di lokasi file sumber pipeline, seperti CodeCommit repositori pipeline Anda. Nama file default adalah`appspec.yaml`. Jika AppSpec file Anda memiliki nama yang sama dan disimpan di tingkat root di repositori file Anda, Anda tidak perlu memberikan nama file. Jika path bukan default, masukkan path dan nama file.

**TaskDefinitionTemplatePath**  
Wajib: Tidak  
Nama file definisi tugas yang disimpan di lokasi sumber file pipeline, seperti CodeCommit repositori pipeline Anda. Nama file default adalah`taskdef.json`. Jika file definisi tugas Anda memiliki nama yang sama dan disimpan di tingkat root di repositori file Anda, Anda tidak perlu memberikan nama file. Jika path bukan default, masukkan path dan nama file.

**Gambar <Number>ArtifactName**  
Wajib: Tidak  
Nama artefak input yang menyediakan gambar untuk tindakan penyebaran. Ini umumnya artefak keluaran repositori gambar, seperti output dari aksi sumber Amazon ECR.  
Nilai yang tersedia untuk `<Number>` adalah 1 hingga 4.

**Gambar <Number>ContainerName**  
Wajib: Tidak  
Nama gambar yang tersedia dari repositori gambar, seperti repositori sumber Amazon ECR.  
Nilai yang tersedia untuk `<Number>` adalah 1 hingga 4.

## Artefak masukan
<a name="action-reference-ECSbluegreen-input"></a>
+ **Jumlah Artefak:** `1 to 5`
+ **Deskripsi:** `CodeDeployToECS` Tindakan pertama-tama mencari file definisi tugas dan AppSpec file di repositori file sumber, selanjutnya mencari gambar di repositori gambar, kemudian secara dinamis menghasilkan revisi baru definisi tugas, dan akhirnya menjalankan AppSpec perintah untuk menerapkan set tugas dan wadah ke cluster.

  `CodeDeployToECS`Tindakan mencari `imageDetail.json` file yang memetakan URI gambar ke gambar. Saat Anda melakukan perubahan ke repositori gambar Amazon ECR, tindakan sumber ECR pipeline akan membuat `imageDetail.json` file untuk komit tersebut. Anda juga dapat menambahkan `imageDetail.json` file secara manual untuk pipeline di mana tindakan tidak otomatis. Untuk informasi tentang `imageDetail.json` file, lihat[File ImageDetail.json untuk tindakan penerapan Amazon ECS blue/green](file-reference.md#file-reference-ecs-bluegreen).

  `CodeDeployToECS`Tindakan secara dinamis menghasilkan revisi baru dari definisi tugas. Pada fase ini, tindakan ini menggantikan placeholder dalam file definisi tugas menjadi URI gambar yang diambil dari file ImageDetail.json. Misalnya, jika Anda menetapkan *IMAGE1\$1NAME* sebagai ContainerName parameter Image1, Anda harus menentukan placeholder *< IMAGE1 \$1NAME>* sebagai nilai bidang gambar dalam file definisi tugas Anda. Dalam hal ini, tindakan CodeDeployTo ECS menggantikan placeholder *< IMAGE1 \$1NAME> menjadi URI gambar aktual yang diambil dari ImageDetail.json* dalam artefak yang Anda tentukan sebagai Image1. ArtifactName

  Untuk pembaruan definisi tugas, CodeDeploy `AppSpec.yaml` file berisi `TaskDefinition` properti. 

  ```
  TaskDefinition: <TASK_DEFINITION>
  ```

  Properti ini akan diperbarui oleh `CodeDeployToECS` tindakan setelah definisi tugas baru dibuat.

  <TASK\$1DEFINITION>Untuk nilai `TaskDefinition` bidang, teks placeholder harus. `CodeDeployToECS`Tindakan menggantikan placeholder ini dengan ARN aktual dari definisi tugas yang dihasilkan secara dinamis.

## Artefak keluaran
<a name="action-reference-ECSbluegreen-output"></a>
+ **Jumlah Artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: tindakan `CodeDeployToECS`
<a name="edit-role-codedeploy-ecs"></a>

Untuk `CodeDeployToECS` tindakan (tindakan blue/green deployments), the following are the minimum permissions needed to create pipelines with a CodeDeploy to Amazon ECS blue/green penyebaran.

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

------

Anda dapat memilih untuk menggunakan otorisasi penandaan di Amazon ECS. Dengan ikut serta, Anda harus memberikan izin berikut:. `ecs:TagResource` Untuk informasi selengkapnya tentang cara ikut serta dan menentukan apakah izin diperlukan dan otorisasi tag diberlakukan, lihat [Garis waktu otorisasi penandaan di Panduan Pengembang Layanan](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) Penampung Elastis Amazon.

Anda juga harus menambahkan `iam:PassRole` izin untuk menggunakan peran IAM untuk tugas. Untuk informasi selengkapnya, lihat peran [IAM eksekusi tugas Amazon ECS dan Peran](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) [IAM](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) untuk Tugas.

Anda juga dapat menambahkan `ecs-tasks.amazonaws.com` ke daftar layanan di bawah `iam:PassedToService` kondisi, seperti yang ditunjukkan pada contoh di atas.

## Deklarasi tindakan
<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"
        }
    ]
}
```

------

## Lihat juga
<a name="action-reference-ECSbluegreen-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR](tutorials-ecs-ecr-codedeploy.md)— Tutorial ini memandu Anda melalui pembuatan sumber CodeDeploy daya Amazon ECS yang Anda butuhkan untuk blue/green penerapan. Tutorial ini menunjukkan cara mendorong gambar Docker ke Amazon ECR dan membuat definisi tugas Amazon ECS yang mencantumkan nama gambar Docker, nama kontainer, nama layanan Amazon ECS, dan konfigurasi penyeimbang beban. Tutorial kemudian memandu Anda melalui pembuatan AppSpec file dan pipeline untuk penyebaran Anda.
**catatan**  
Topik dan tutorial ini menjelaskan tindakan CodeDeploy/ECS biru/hijau untuk. CodePipeline Untuk informasi tentang tindakan standar ECS CodePipeline, lihat [Tutorial: Penerapan Berkelanjutan](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html) dengan. CodePipeline
+ *AWS CodeDeploy Panduan Pengguna* - Untuk informasi tentang cara menggunakan penyeimbang beban, pendengar produksi, grup target, dan aplikasi Amazon ECS Anda dalam blue/green penerapan, lihat [Tutorial: Menerapkan Layanan Amazon ECS](https://docs.aws.amazon.com/codedeploy/latest/userguide/tutorial-ecs-deployment.html). Informasi referensi di *Panduan AWS CodeDeploy Pengguna* ini memberikan gambaran umum untuk penerapan biru/hijau dengan Amazon ECS dan. AWS CodeDeploy
+ *Panduan Pengembang Layanan Amazon Elastic Container* - Untuk informasi tentang bekerja dengan gambar dan kontainer Docker, layanan dan cluster ECS, dan set tugas ECS, lihat Apa [itu](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) Amazon ECS?

# Referensi tindakan penerapan Amazon Elastic Container Service
<a name="action-reference-ECS"></a>

Anda dapat menggunakan tindakan Amazon ECS untuk menerapkan layanan Amazon ECS dan set tugas. Layanan Amazon ECS adalah aplikasi kontainer yang digunakan ke cluster Amazon ECS. Cluster Amazon ECS adalah kumpulan instance yang meng-host aplikasi container Anda di cloud. Penerapan memerlukan definisi tugas yang Anda buat di Amazon ECS dan file definisi gambar yang CodePipeline digunakan untuk menyebarkan gambar.

**penting**  
Tindakan penerapan standar Amazon ECS untuk CodePipeline membuat revisi definisi tugas sendiri berdasarkan revisi yang digunakan oleh layanan Amazon ECS. Jika Anda membuat revisi baru untuk definisi tugas tanpa memperbarui layanan Amazon ECS, tindakan penerapan akan mengabaikan revisi tersebut.

Sebelum membuat pipeline, Anda harus sudah membuat resource Amazon ECS, menandai dan menyimpan gambar di repositori gambar Anda, dan mengunggah file ke repositori BuildSpec file Anda.

**catatan**  
Topik referensi ini menjelaskan tindakan penerapan standar Amazon ECS untuk. CodePipeline Untuk informasi referensi tentang Amazon ECS ke tindakan penerapan CodeDeploy biru/hijau, lihat. CodePipeline [Amazon Elastic Container Service dan CodeDeploy referensi aksi penerapan biru-hijau](action-reference-ECSbluegreen.md)

**Topics**
+ [Tipe tindakan](#action-reference-ECS-type)
+ [Parameter konfigurasi](#action-reference-ECS-config)
+ [Artefak masukan](#action-reference-ECS-input)
+ [Artefak keluaran](#action-reference-ECS-output)
+ [Izin peran layanan: Tindakan standar Amazon ECS](#edit-role-ecs)
+ [Deklarasi tindakan](#action-reference-ECS-example)
+ [Lihat juga](#action-reference-ECS-links)

## Tipe tindakan
<a name="action-reference-ECS-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `ECS`
+ Versi: `1`

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

**ClusterName**  
Wajib: Ya  
Cluster Amazon ECS di Amazon ECS.

**ServiceName**  
Wajib: Ya  
Layanan Amazon ECS yang Anda buat di Amazon ECS.

**FileName**  
Wajib: Tidak  
Nama file definisi gambar Anda, file JSON yang menjelaskan nama wadah layanan Anda dan gambar dan tag. Anda menggunakan file ini untuk penerapan standar ECS. Untuk informasi selengkapnya, lihat [Artefak masukan](#action-reference-ECS-input) dan [file imagedefinitions.json untuk tindakan penerapan standar Amazon ECS](file-reference.md#pipelines-create-image-definitions).

**DeploymentTimeout**  
Wajib: Tidak  
Batas waktu tindakan penerapan Amazon ECS dalam hitungan menit. Batas waktu dapat dikonfigurasi hingga batas waktu default maksimum untuk tindakan ini. Contoh:   

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

## Artefak masukan
<a name="action-reference-ECS-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Tindakan mencari `imagedefinitions.json` file di repositori file sumber untuk pipeline. Dokumen definisi gambar adalah file JSON yang menjelaskan nama wadah Amazon ECS Anda serta gambar dan tag. CodePipeline menggunakan file untuk mengambil gambar dari repositori gambar Anda seperti Amazon ECR. Anda dapat menambahkan `imagedefinitions.json` file secara manual untuk pipeline di mana tindakan tidak otomatis. Untuk informasi tentang `imagedefinitions.json` file, lihat[file imagedefinitions.json untuk tindakan penerapan standar Amazon ECS](file-reference.md#pipelines-create-image-definitions).

  Tindakan ini membutuhkan gambar yang sudah ada yang telah didorong ke repositori gambar Anda. Karena pemetaan gambar disediakan oleh `imagedefinitions.json` file, tindakan tidak mengharuskan sumber Amazon ECR disertakan sebagai tindakan sumber dalam pipeline.

## Artefak keluaran
<a name="action-reference-ECS-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: Tindakan standar Amazon ECS
<a name="edit-role-ecs"></a>

Untuk Amazon ECS, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan penerapan Amazon ECS.

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

------

Anda dapat memilih untuk menggunakan otorisasi penandaan di Amazon ECS. Dengan ikut serta, Anda harus memberikan izin berikut:. `ecs:TagResource` Untuk informasi selengkapnya tentang cara ikut serta dan menentukan apakah izin diperlukan dan otorisasi tag diberlakukan, lihat [Garis waktu otorisasi penandaan di Panduan Pengembang Layanan](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) Penampung Elastis Amazon.

Anda harus menambahkan `iam:PassRole` izin untuk menggunakan peran IAM untuk tugas. Untuk informasi selengkapnya, lihat peran [IAM eksekusi tugas Amazon ECS dan Peran](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) [IAM](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) untuk Tugas. Gunakan teks kebijakan berikut.

## Deklarasi tindakan
<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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-ECS-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ Lihat [Tutorial: Buat dan dorong gambar Docker ke Amazon ECR dengan CodePipeline (tipe V2)](tutorials-ecr-build-publish.md) tutorial yang menunjukkan cara menggunakan tindakan ECRBuildand Publikasikan untuk mendorong gambar dan kemudian menggunakan tindakan standar ECS untuk menyebarkan ke Amazon ECS.
+ [Tutorial: Continuous Deployment with CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html) - Tutorial ini menunjukkan cara membuat Dockerfile yang Anda simpan di repositori file sumber seperti. CodeCommit Selanjutnya, tutorial menunjukkan cara menggabungkan CodeBuild BuildSpec file yang membangun dan mendorong gambar Docker Anda ke Amazon ECR dan membuat file imagedefinitions.json Anda. Terakhir, Anda membuat layanan Amazon ECS dan definisi tugas, lalu Anda membuat pipeline dengan tindakan penerapan Amazon ECS.
**catatan**  
Topik dan tutorial ini menjelaskan tindakan penerapan standar Amazon ECS untuk. CodePipeline Untuk informasi tentang Amazon ECS ke tindakan penerapan CodeDeploy biru/hijau di, lihat. CodePipeline [Tutorial: Membuat pipeline dengan sumber dan ECS-to-CodeDeploy penerapan Amazon ECR](tutorials-ecs-ecr-codedeploy.md)
+ *Panduan Pengembang Layanan Amazon Elastic Container* - Untuk informasi tentang bekerja dengan gambar dan kontainer Docker, layanan dan cluster Amazon ECS, dan set tugas Amazon ECS, lihat Apa [itu](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) Amazon ECS?

# Referensi tindakan penerapan Amazon Elastic Kubernetes Service `EKS`
<a name="action-reference-EKS"></a>

Anda dapat menggunakan `EKSDeploy` tindakan untuk menerapkan layanan Amazon EKS. Penerapan membutuhkan file manifes Kubernetes yang CodePipeline digunakan untuk menyebarkan gambar.

Sebelum Anda membuat pipeline, Anda harus sudah membuat resource Amazon EKS dan telah menyimpan gambar di repositori gambar Anda. Secara opsional, Anda dapat memberikan informasi VPC untuk cluster Anda.

**penting**  
Tindakan ini menggunakan CodeBuild komputasi CodePipeline terkelola untuk menjalankan perintah di lingkungan build. Menjalankan tindakan perintah akan dikenakan biaya terpisah di AWS CodeBuild.

**catatan**  
Tindakan `EKS` penerapan hanya tersedia untuk saluran pipa tipe V2.

Tindakan EKS mendukung kluster EKS publik dan swasta. Cluster pribadi adalah tipe yang direkomendasikan oleh EKS; Namun, kedua jenis didukung.

Tindakan EKS didukung untuk tindakan lintas akun. Untuk menambahkan tindakan EKS lintas akun, tambahkan `actionRoleArn` dari akun target Anda dalam deklarasi tindakan.

**Topics**
+ [Tipe tindakan](#action-reference-EKS-type)
+ [Parameter konfigurasi](#action-reference-EKS-config)
+ [Artefak masukan](#action-reference-EKS-input)
+ [Artefak keluaran](#action-reference-EKS-output)
+ [Variabel-variabel lingkungan](#action-reference-EKS-env-variables)
+ [Variabel keluaran](#action-reference-EKS-output-vars)
+ [Izin kebijakan peran layanan](#action-reference-EKS-service-role)
+ [Deklarasi tindakan](#action-reference-EKS-example)
+ [Lihat juga](#action-reference-EKS-links)

## Tipe tindakan
<a name="action-reference-EKS-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `EKS`
+ Versi: `1`

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

**ClusterName**  
Wajib: Ya  
Cluster Amazon EKS di Amazon EKS.

**Opsi di bawah Helm**  
Berikut ini adalah opsi yang tersedia ketika **Helm** adalah alat penyebaran yang dipilih.    
**HelmReleaseName **  
Wajib: Ya (Diperlukan hanya untuk tipe **Helm)**  
Nama rilis untuk penerapan Anda.  
**HelmChartLocation **  
Wajib: Ya (Diperlukan hanya untuk tipe **Helm)**  
Lokasi bagan untuk penerapan Anda.  
**HelmValuesFiles **  
Wajib: Tidak (Opsional hanya untuk tipe **Helm)**  
Untuk mengganti file nilai helm, masukkan file nilai helm yang dipisahkan koma di lokasi bagan helm.

**Opsi di bawah Kubectl**  
Berikut ini adalah opsi yang tersedia ketika **Kubectl adalah alat** penerapan yang dipilih.    
**ManifestFiles**  
Wajib: Ya (Diperlukan hanya untuk tipe **Kubectl)**  
Nama file manifes Anda, file teks yang menjelaskan nama kontainer layanan Anda dan gambar dan tag. Anda menggunakan file ini untuk membuat parameter URI gambar Anda dan informasi lainnya. Anda dapat menggunakan variabel lingkungan untuk tujuan ini.  
 Anda menyimpan file ini di repositori sumber untuk pipeline Anda.

**Namespace**  
Wajib: Tidak  
Namepsace kubernetes yang akan digunakan dalam atau perintah. `kubectl` `helm`

**Subnet**  
Wajib: Tidak  
Subnet untuk VPC untuk cluster Anda. Ini adalah bagian dari VPC yang sama yang dilampirkan ke cluster Anda. Anda juga dapat menyediakan subnet yang belum dilampirkan ke cluster Anda dan menentukannya di sini.

**SecurityGroupIds**  
Wajib: Tidak  
Grup keamanan untuk VPC untuk cluster Anda. Ini adalah bagian dari VPC yang sama yang dilampirkan ke cluster Anda. Anda juga dapat menyediakan grup keamanan yang belum dilampirkan ke cluster Anda dan menentukannya di sini.

## Artefak masukan
<a name="action-reference-EKS-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Tindakan mencari file manifes Kubernetes atau bagan Helm di repositori file sumber untuk pipeline. Jika Anda ingin menggunakan bagan helm dalam format.tgz yang disimpan dalam bucket S3, Anda dapat melakukannya dengan mengonfigurasi S3 sebagai tindakan sumber Anda. Bucket/Key Misalnya, kunci objek yang disediakan adalah`my-chart-0.1.0.tgz`.

## Artefak keluaran
<a name="action-reference-EKS-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Variabel-variabel lingkungan
<a name="action-reference-EKS-env-variables"></a>

Digunakan untuk mengganti variabel seperti repositori gambar atau tag gambar dalam file manifes atau file nilai bagan helm.

**Key**  
Kunci dalam pasangan variabel lingkungan kunci-nilai, seperti. `$IMAGE_TAG`

**Nilai**  
Nilai untuk pasangan kunci-nilai, seperti. `v1.0` Nilai dapat diparameterisasi dengan variabel keluaran dari tindakan pipa atau variabel pipa. Misalnya, pipeline dapat memiliki ECRBuild AndPublish tindakan yang membuat gambar ECR dengan`${codepipeline.PipelineExecutionId}`, dan tindakan EKS dapat menggunakan gambar ini menggunakan `${codepipeline.PipelineExecutionId}` sebagai nilai variabel lingkungan. 

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

**EKSClusterNama**  
Cluster Amazon EKS di Amazon EKS.

## Izin kebijakan peran layanan
<a name="action-reference-EKS-service-role"></a>

Untuk menjalankan tindakan ini, izin berikut harus tersedia dalam kebijakan peran layanan pipeline Anda.
+ **Tindakan EC2:** Saat CodePipeline menjalankan tindakan, izin instans EC2 diperlukan. Perhatikan bahwa ini tidak sama dengan peran instans EC2 yang diperlukan saat Anda membuat kluster EKS Anda.

  Jika Anda menggunakan peran layanan yang ada, untuk menggunakan tindakan ini, Anda perlu menambahkan izin berikut untuk peran layanan.
  + EC2: CreateNetworkInterface
  + EC2: DescribeDhcpOptions
  + EC2: DescribeNetworkInterfaces
  + EC2: DeleteNetworkInterface
  + EC2: DescribeSubnets
  + EC2: DescribeSecurityGroups
  + EC2: DescribeVpcs
+ **Tindakan EKS:** Saat CodePipeline menjalankan tindakan, izin kluster EKS diperlukan. Perhatikan bahwa ini tidak sama dengan peran cluster IAM EKS yang diperlukan saat Anda membuat cluster EKS Anda.

  Jika Anda menggunakan peran layanan yang ada, untuk menggunakan tindakan ini, Anda perlu menambahkan izin berikut untuk peran layanan.
  + eks: DescribeCluster
+ **Tindakan aliran log:** Saat CodePipeline menjalankan tindakan, CodePipeline buat grup log menggunakan nama pipeline sebagai berikut. Ini memungkinkan Anda untuk mengurangi izin untuk mencatat sumber daya menggunakan nama pipeline.

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

  Jika Anda menggunakan peran layanan yang ada, untuk menggunakan tindakan ini, Anda perlu menambahkan izin berikut untuk peran layanan.
  + log: CreateLogGroup
  + log: CreateLogStream
  + log: PutLogEvents

Dalam pernyataan kebijakan peran layanan, cakupkan izin ke tingkat sumber daya seperti yang ditunjukkan pada contoh berikut.

------
#### [ 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:*"
            ]
        }
    ]
}
```

------

Untuk melihat log di konsol menggunakan halaman dialog detail tindakan, izin untuk melihat log harus ditambahkan ke peran konsol. Untuk informasi selengkapnya, lihat contoh kebijakan izin konsol di[Izin diperlukan untuk melihat log komputasi di konsol](security-iam-permissions-console-logs.md).

### Menambahkan peran layanan sebagai entri akses untuk klaster Anda
<a name="action-reference-EKS-service-role-access"></a>

Setelah izin tersedia dalam kebijakan peran layanan pipeline, Anda mengonfigurasi izin klaster dengan menambahkan peran CodePipeline layanan sebagai entri akses untuk klaster Anda.

Anda juga dapat menggunakan peran tindakan yang memiliki izin yang diperbarui. Untuk informasi lebih lanjut, lihat contoh tutorial di[Langkah 4: Buat entri akses untuk peran CodePipeline layanan](tutorials-eks-deploy.md#tutorials-eks-deploy-access-entry).

## Deklarasi tindakan
<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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-EKS-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ Lihat tutorial [Tutorial: Terapkan ke Amazon EKS dengan CodePipeline](tutorials-eks-deploy.md) yang menunjukkan cara membuat cluster EKS dan file manifes Kubernetes untuk menambahkan tindakan ke pipeline Anda.

# AWS Lambda menyebarkan referensi tindakan
<a name="action-reference-LambdaDeploy"></a>

Anda menggunakan tindakan AWS Lambda penerapan untuk mengelola penerapan kode aplikasi untuk penerapan tanpa server Anda. Anda dapat menerapkan fungsi dan menggunakan strategi penyebaran untuk penyebaran lalu lintas sebagai berikut:
+ Penyebaran kenari dan linier untuk perpindahan lalu lintas
+ Semua penyebaran sekaligus

**catatan**  
Tindakan ini hanya didukung untuk pipeline tipe V2.

**Topics**
+ [Tipe tindakan](#action-reference-LambdaDeploy-type)
+ [Parameter konfigurasi](#action-reference-LambdaDeploy-parameters)
+ [Artefak masukan](#action-reference-LambdaDeploy-input)
+ [Artefak keluaran](#action-reference-LambdaDeploy-output)
+ [Variabel keluaran](#action-reference-LambdaDeploy-output-variables)
+ [Izin kebijakan peran layanan untuk tindakan penerapan Lambda](#action-reference-LambdaDeploy-permissions-action)
+ [Deklarasi tindakan](#action-reference-LambdaDeploy-example)
+ [Lihat juga](#action-reference-LambdaDeploy-links)

## Tipe tindakan
<a name="action-reference-LambdaDeploy-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `Lambda`
+ Versi: `1`

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

**FunctionName**  
Wajib: Ya  
Nama fungsi yang Anda buat di Lambda, seperti. `MyLambdaFunction`  
Anda harus sudah membuat versi.

**FunctionAlias**  
Wajib: Tidak  
Alias fungsi yang Anda buat di Lambda dan merupakan fungsi yang akan digunakan, seperti. `live` Alias harus ada dan memiliki satu versi di belakangnya ketika eksekusi tindakan dimulai. (Ini akan menjadi versi target rollback.)  
Jika tidak disediakan, tindakan menyebarkan artefak sumber ke `$LATEST` dan membuat versi baru. Dalam kasus penggunaan ini, strategi penerapan dan opsi versi target tidak tersedia. 

**PublishedTargetVersion**  
Wajib: Tidak  
Versi Fungsi Lambda yang diinginkan untuk digunakan. FunctionAlias Ini bisa berupa variabel pipeline atau level aksi, seperti`#{variables.lambdaTargetVersion}`. Versi harus dipublikasikan saat eksekusi tindakan dimulai.  
Diperlukan jika tidak ada artefak input yang disediakan.

**DeployStrategy**  
Wajib: Tidak (Default adalah`AllAtOnce`)  
  
Menentukan tingkat yang diadopsi oleh tindakan penerapan Lambda untuk mengalihkan lalu lintas dari versi asli fungsi Lambda ke versi baru. **FunctionAlias** Strategi penyebaran yang tersedia adalah kenari atau linier. Format yang diterima:  
+ `AllAtOnce` - 

  Menggeser semua lalu lintas ke fungsi Lambda yang diperbarui sekaligus.

   Jika tidak ditentukan, defaultnya adalah`AllAtOnce`)
+ `Canary10Percent5Minutes`- Menggeser 10 persen lalu lintas pada kenaikan pertama. 90 persen sisanya di-deploy lima menit kemudian.

  Nilai untuk persentase dan menit dapat diubah.
+ `Linear10PercentEvery1Minute`- Menggeser 10 persen lalu lintas setiap menit sampai semua lalu lintas bergeser.

  Nilai untuk persentase dan menit dapat diubah.
Pertimbangan berikut berlaku untuk bidang ini:  
+ Total waktu tunggu maksimum adalah 2 hari.
+ Hanya tersedia jika **FunctionAlias**disediakan.


**Alarm**  
Wajib: Tidak  
Daftar nama alarm yang dipisahkan koma yang dikonfigurasi untuk penyebaran Lambda. Maksimal 10 alarm dapat ditambahkan. Tindakan gagal saat alarm yang dipantau masuk ke status ALARM.

Gambar berikut menunjukkan contoh halaman Edit untuk tindakan tersebut.

![\[Halaman tindakan Edit untuk pipeline baru dengan tindakan penerapan Lambda\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/lambdadeploy-edit-screen.png)


## Artefak masukan
<a name="action-reference-LambdaDeploy-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** File yang disediakan, jika ada, untuk mendukung tindakan skrip selama penyebaran.

## Artefak keluaran
<a name="action-reference-LambdaDeploy-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir. 

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**FunctionVersion**  
Versi fungsi Lambda baru yang digunakan.

## Izin kebijakan peran layanan untuk tindakan penerapan Lambda
<a name="action-reference-LambdaDeploy-permissions-action"></a>

Saat CodePipeline menjalankan tindakan, peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat untuk akses dengan hak istimewa paling sedikit.

------
#### [ 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:*"
            ]
        }
    ]
}
```

------

## Deklarasi tindakan
<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"
},
```

------

## Lihat juga
<a name="action-reference-LambdaDeploy-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+  [Tutorial: Penerapan fungsi Lambda dengan CodePipeline](tutorials-lambda-deploy.md)— Tutorial ini memandu Anda melalui pembuatan contoh fungsi Lambda di mana Anda akan membuat alias dan versi, menambahkan fungsi Lambda zip ke lokasi sumber Anda, dan menjalankan tindakan Lambda di pipeline Anda.

# Referensi tindakan penerapan Amazon S3
<a name="action-reference-S3Deploy"></a>

Anda menggunakan tindakan penerapan Amazon S3 untuk menyebarkan file ke bucket Amazon S3 untuk hosting atau arsip situs web statis. Anda dapat menentukan apakah akan mengekstrak file penerapan sebelum mengunggah ke bucket.

**catatan**  
Topik referensi ini menjelaskan tindakan penerapan Amazon S3 CodePipeline di mana platform penerapan adalah bucket Amazon S3 yang dikonfigurasi untuk hosting. Untuk informasi referensi tentang tindakan sumber Amazon S3 di CodePipeline, lihat. [Referensi tindakan sumber Amazon S3](action-reference-S3.md)

**Topics**
+ [Tipe tindakan](#action-reference-S3Deploy-type)
+ [Parameter konfigurasi](#action-reference-S3Deploy-config)
+ [Artefak masukan](#action-reference-S3Deploy-input)
+ [Artefak keluaran](#action-reference-S3Deploy-output)
+ [Izin peran layanan: Tindakan penerapan S3](#edit-role-s3deploy)
+ [Contoh konfigurasi tindakan](#action-reference-S3Deploy-example)
+ [Lihat juga](#action-reference-S3Deploy-links)

## Tipe tindakan
<a name="action-reference-S3Deploy-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `S3`
+ Versi: `1`

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

**BucketName**  
Wajib: Ya  
Nama bucket Amazon S3 tempat file akan digunakan.

**Ekstrak**  
Wajib: Ya  
Jika benar, menentukan bahwa file yang akan diekstraksi sebelum meng-upload. Jika tidak, file aplikasi tetap di-zip untuk diunggah, seperti dalam kasus situs web statis yang dihosting. Jika salah, maka `ObjectKey` diperlukan.

**ObjectKey**  
Bersyarat. Diperlukan jika `Extract` = salah  
Nama kunci objek Amazon S3 yang secara unik mengidentifikasi objek di bucket S3.

**KMSEncryptionkeYarn**  
Wajib: Tidak  
ARN dari kunci AWS KMS enkripsi untuk bucket host. `KMSEncryptionKeyARN`Parameter mengenkripsi artefak yang diunggah dengan yang disediakan. AWS KMS key Untuk kunci KMS, Anda dapat menggunakan ID kunci, kunci ARN, atau alias ARN.  
Alias hanya dikenali di akun yang membuat kunci KMS. Untuk tindakan lintas akun, Anda hanya dapat menggunakan ID kunci atau ARN kunci untuk mengidentifikasi kunci. Tindakan lintas akun melibatkan penggunaan peran dari akun lain (accountB), sehingga menentukan ID kunci akan menggunakan kunci dari akun lain (accounTB).
CodePipeline hanya mendukung tombol KMS simetris. Jangan gunakan kunci KMS asimetris untuk mengenkripsi data di bucket S3 Anda.

**CannedACL**  
Wajib: Tidak  
`CannedACL`Parameter menerapkan [ACL kalengan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) yang ditentukan ke objek yang diterapkan ke Amazon S3. Ini menimpa ACL yang ada yang diterapkan ke objek.

**CacheControl**  
Wajib: Tidak  
`CacheControl`Parameter mengontrol perilaku caching requests/responses untuk objek di bucket. Untuk daftar nilai yang valid, lihat bidang [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9)header untuk operasi HTTP. Untuk memasukkan beberapa nilai`CacheControl`, gunakan koma di antara setiap nilai. Anda dapat menambahkan spasi setelah setiap koma (opsional), seperti yang ditunjukkan dalam contoh ini untuk CLI:  

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

## Artefak masukan
<a name="action-reference-S3Deploy-input"></a>
+ **Jumlah Artefak:** `1`
+ **Deskripsi:** File untuk penyebaran atau arsip diperoleh dari repositori sumber, di-zip, dan diunggah oleh. CodePipeline

## Artefak keluaran
<a name="action-reference-S3Deploy-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: Tindakan penerapan S3
<a name="edit-role-s3deploy"></a>

Untuk dukungan tindakan penerapan S3, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

------

Untuk dukungan tindakan penerapan S3, jika objek S3 memiliki tag, Anda juga harus menambahkan izin berikut ke pernyataan kebijakan Anda:

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

## Contoh konfigurasi tindakan
<a name="action-reference-S3Deploy-example"></a>

Berikut ini menunjukkan contoh untuk konfigurasi tindakan.

### Contoh konfigurasi saat `Extract` diatur ke `false`
<a name="action-reference-S3Deploy-extractfalse"></a>

Contoh berikut menunjukkan konfigurasi tindakan default ketika tindakan dibuat dengan `Extract` bidang diatur ke`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"
        }
    ]
},
```

------

### Contoh konfigurasi saat `Extract` diatur ke `true`
<a name="action-reference-S3Deploy-extracttrue"></a>

Contoh berikut menunjukkan konfigurasi tindakan default ketika tindakan dibuat dengan `Extract` bidang diatur ke`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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-S3Deploy-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Membuat pipeline yang menggunakan Amazon S3 sebagai penyedia penerapan](tutorials-s3deploy.md)— Tutorial ini memandu Anda melalui dua contoh untuk membuat pipeline dengan tindakan penerapan S3. Anda mengunduh file sampel, mengunggah file ke CodeCommit repositori, membuat bucket S3, dan mengonfigurasi bucket untuk hosting. Selanjutnya, Anda menggunakan CodePipeline konsol untuk membuat pipeline dan menentukan konfigurasi penerapan Amazon S3.
+ [Referensi tindakan sumber Amazon S3](action-reference-S3.md)— Referensi tindakan ini memberikan informasi referensi dan contoh untuk tindakan sumber Amazon S3 di. CodePipeline

# Referensi tindakan sumber Amazon S3
<a name="action-reference-S3"></a>

Memicu pipeline saat objek baru diunggah ke bucket dan kunci objek yang dikonfigurasi.

**catatan**  
Topik referensi ini menjelaskan tindakan sumber Amazon S3 CodePipeline di mana lokasi sumber adalah bucket Amazon S3 yang dikonfigurasi untuk pembuatan versi. Untuk informasi referensi tentang tindakan penerapan Amazon S3, lihat. CodePipeline [Referensi tindakan penerapan Amazon S3](action-reference-S3Deploy.md)

Anda dapat membuat bucket Amazon S3 untuk digunakan sebagai lokasi sumber untuk file aplikasi Anda.

**catatan**  
Saat membuat bucket sumber, pastikan Anda mengaktifkan pembuatan versi di bucket. Jika Anda ingin menggunakan bucket Amazon S3 yang sudah ada, lihat [Menggunakan pembuatan versi untuk mengaktifkan pembuatan versi](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) pada bucket yang ada.

Jika Anda menggunakan konsol untuk membuat atau mengedit pipeline, CodePipeline buat EventBridge aturan yang memulai pipeline saat terjadi perubahan di bucket sumber S3.

**catatan**  
Untuk Amazon ECR, Amazon S3, CodeCommit atau sumber, Anda juga dapat membuat penggantian sumber menggunakan entri transformasi input untuk menggunakan `revisionValue` peristiwa EventBridge in untuk pipeline Anda, yang berasal dari variabel peristiwa sumber untuk kunci objek, komit, atau ID gambar Anda. `revisionValue` Untuk informasi selengkapnya, lihat langkah opsional untuk entri transformasi masukan yang disertakan dalam prosedur di bawah[Tindakan sumber dan sumber daya Amazon ECR EventBridge](create-cwe-ecr-source.md),[Menyambungkan ke tindakan sumber Amazon S3 dengan sumber yang diaktifkan untuk acara](create-S3-source-events.md), atau[CodeCommit tindakan sumber dan EventBridge](triggering.md).

Anda harus sudah membuat bucket sumber Amazon S3 dan mengunggah file sumber sebagai file ZIP tunggal sebelum Anda menghubungkan pipeline melalui tindakan Amazon S3.

**catatan**  
Jika Amazon S3 adalah penyedia sumber untuk pipeline Anda, Anda dapat mem-zip file sumber atau file ke dalam satu .zip dan mengunggah.zip ke bucket sumber Anda. Anda juga dapat mengunggah satu file yang tidak di-zip; namun, tindakan hilir yang mengharapkan file.zip akan gagal.

**Topics**
+ [Tipe tindakan](#action-reference-S3-type)
+ [Parameter konfigurasi](#action-reference-S3-config)
+ [Artefak masukan](#action-reference-S3-input)
+ [Artefak keluaran](#action-reference-S3-output)
+ [Variabel keluaran](#action-reference-S3-variables)
+ [Izin peran layanan: Tindakan sumber S3](#edit-role-s3source)
+ [Deklarasi tindakan](#action-reference-S3-example)
+ [Lihat juga](#action-reference-S3-links)

## Tipe tindakan
<a name="action-reference-S3-type"></a>
+ Kategori: `Source`
+ Pemilik: `AWS`
+ Penyedia: `S3`
+ Versi: `1`

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

**S3Bucket**  
Wajib: Ya  
Nama bucket Amazon S3 tempat perubahan sumber harus dideteksi.

**S3 ObjectKey**  
Wajib: Ya  
Nama kunci objek Amazon S3 tempat perubahan sumber akan dideteksi.

**AllowOverrideForS3 ObjectKey**  
Wajib: Tidak  
`AllowOverrideForS3ObjectKey`mengontrol apakah penggantian sumber dari `StartPipelineExecution` dapat mengganti yang sudah dikonfigurasi `S3ObjectKey` dalam aksi sumber. Untuk informasi selengkapnya tentang penggantian sumber dengan Kunci Objek S3, lihat. [Mulai pipeline dengan penggantian revisi sumber](pipelines-trigger-source-overrides.md)  
Jika Anda menghilangkan`AllowOverrideForS3ObjectKey`, CodePipeline default kemampuan untuk mengganti S3 ObjectKey dalam aksi sumber dengan menyetel parameter ini ke. `false`
Nilai yang valid untuk parameter ini:  
+ `true`: Jika disetel, Kunci Objek S3 yang telah dikonfigurasi sebelumnya dapat diganti dengan penggantian revisi sumber selama eksekusi pipeline.
**catatan**  
Jika Anda bermaksud mengizinkan semua CodePipeline pengguna kemampuan untuk mengganti Kunci Objek S3 yang telah dikonfigurasi sebelumnya saat memulai eksekusi pipeline baru, Anda harus menyetelnya. `AllowOverrideForS3ObjectKey` `true`
+ `false`: 

  Jika disetel, tidak CodePipeline akan mengizinkan Kunci Objek S3 diganti menggunakan penggantian revisi sumber. Ini juga merupakan nilai default untuk parameter ini.

**PollForSourceChanges**  
Wajib: Tidak  
`PollForSourceChanges`mengontrol apakah CodePipeline polling bucket sumber Amazon S3 untuk perubahan sumber. Kami menyarankan Anda menggunakan CloudWatch Acara dan CloudTrail untuk mendeteksi perubahan sumber sebagai gantinya. Untuk informasi selengkapnya tentang mengonfigurasi CloudWatch Acara, lihat [Migrasi jaringan pemungutan suara dengan sumber dan jejak CloudTrail S3 (CLI)](update-change-detection.md#update-change-detection-cli-S3) atau[Migrasikan jalur pemungutan suara dengan sumber dan CloudTrail jejak S3 (templat)CloudFormation](update-change-detection.md#update-change-detection-cfn-s3).  
Jika ingin mengonfigurasi CloudWatch Peristiwa, Anda harus mengatur `PollForSourceChanges` `false` untuk menghindari eksekusi pipeline duplikat.
Nilai yang valid untuk parameter ini:  
+ `true`: Jika disetel, CodePipeline polling lokasi sumber Anda untuk perubahan sumber.
**catatan**  
Jika Anda menghilangkan`PollForSourceChanges`, CodePipeline default untuk polling lokasi sumber Anda untuk perubahan sumber. Perilaku ini sama seperti jika `PollForSourceChanges` disertakan dan disetel ke`true`.
+ `false`: Jika disetel CodePipeline , jangan polling lokasi sumber Anda untuk perubahan sumber. Gunakan pengaturan ini jika Anda ingin mengonfigurasi aturan CloudWatch Peristiwa untuk mendeteksi perubahan sumber.

## Artefak masukan
<a name="action-reference-S3-input"></a>
+ **Jumlah Artefak:** `0`
+ **Deskripsi:** Artefak masukan tidak berlaku untuk jenis tindakan ini.

## Artefak keluaran
<a name="action-reference-S3-output"></a>
+ **Jumlah artefak:** `1` 
+ **Deskripsi:** Menyediakan artefak yang tersedia di bucket sumber yang dikonfigurasi untuk terhubung ke pipeline. Artefak yang dihasilkan dari bucket adalah artefak keluaran untuk aksi Amazon S3. Metadata objek Amazon S3 (ETag dan ID versi) ditampilkan CodePipeline sebagai revisi sumber untuk eksekusi pipeline yang dipicu.

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi lebih lanjut tentang variabel di CodePipeline, lihat[Referensi variabel](reference-variables.md).

**BucketName**  
Nama bucket Amazon S3 terkait dengan perubahan sumber yang memicu pipeline.

**ETag**  
Tag entitas untuk objek yang terkait dengan perubahan sumber yang memicu pipeline. ETag Ini adalah MD5 hash dari objek. ETag hanya mencerminkan perubahan pada isi objek, bukan metadatanya.

**ObjectKey**  
Nama kunci objek Amazon S3 terkait dengan perubahan sumber yang memicu pipeline.

**VersionId**  
ID versi untuk versi objek yang terkait dengan perubahan sumber yang memicu pipeline.

## Izin peran layanan: Tindakan sumber S3
<a name="edit-role-s3source"></a>

Untuk dukungan tindakan sumber S3, tambahkan berikut ini ke pernyataan kebijakan Anda:

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

------

## Deklarasi tindakan
<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": []
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-S3-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Buat pipeline sederhana (ember S3)](tutorials-simple-s3.md)— Tutorial ini menyediakan contoh file spesifikasi aplikasi dan contoh CodeDeploy aplikasi dan kelompok penyebaran. Gunakan tutorial ini untuk membuat pipeline dengan sumber Amazon S3 yang menyebarkan ke instans Amazon EC2.

# AWS AppConfig menyebarkan referensi tindakan
<a name="action-reference-AppConfig"></a>

AWS AppConfig adalah kemampuan AWS Systems Manager. AppConfig mendukung penerapan terkontrol ke aplikasi dari berbagai ukuran dan mencakup pemeriksaan dan pemantauan validasi bawaan. Anda dapat menggunakannya AppConfig dengan aplikasi yang dihosting di instans Amazon EC2, wadah AWS Lambda, aplikasi seluler, atau perangkat IoT.

*Tindakan penerapan adalah AWS CodePipeline tindakan yang `AppConfig` menyebarkan konfigurasi yang disimpan di lokasi sumber pipeline Anda ke profil AppConfig *aplikasi*, *lingkungan*, dan konfigurasi yang ditentukan.* Ini menggunakan preferensi yang didefinisikan dalam *strategi AppConfig penyebaran*.

## Tipe tindakan
<a name="action-reference-AppConfig-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `AppConfig`
+ Versi: `1`

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

**Aplikasi**  
Wajib: Ya  
ID AWS AppConfig aplikasi dengan rincian untuk konfigurasi dan penyebaran Anda.

**Lingkungan**  
Wajib: Ya  
ID AWS AppConfig lingkungan tempat konfigurasi dikerahkan.

**ConfigurationProfile**  
Wajib: Ya  
ID profil AWS AppConfig konfigurasi yang akan digunakan.

**InputArtifactConfigurationPath**  
Wajib: Ya  
Jalur file dari data konfigurasi dalam artefak input untuk digunakan.

**DeploymentStrategy**  
Wajib: Tidak  
Strategi AWS AppConfig penyebaran yang akan digunakan untuk penyebaran.

## Artefak masukan
<a name="action-reference-AppConfig-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Artefak masukan untuk tindakan penyebaran.

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

Tidak berlaku.

## Izin peran layanan: tindakan `AppConfig`
<a name="edit-role-appconfig"></a>

Saat CodePipeline menjalankan tindakan, kebijakan peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat ke tingkat sumber daya untuk mempertahankan akses dengan hak istimewa paling sedikit.

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

------

## Contoh konfigurasi tindakan
<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"
        }
    ]
}
```

------

## Lihat juga
<a name="action-reference-StepFunctions-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS AppConfig](https://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig.html)— Untuk informasi tentang AWS AppConfig penerapan, lihat *AWS Systems Manager Panduan Pengguna*.
+ [Tutorial: Buat pipeline yang digunakan AWS AppConfig sebagai penyedia penyebaran](tutorials-AppConfig.md)— Tutorial ini membuat Anda mulai menyiapkan file konfigurasi dan AppConfig sumber daya penyebaran sederhana, dan menunjukkan cara menggunakan konsol untuk membuat pipeline dengan tindakan AWS AppConfig penerapan.

# CloudFormation menyebarkan referensi tindakan
<a name="action-reference-CloudFormation"></a>

Mengeksekusi operasi pada CloudFormation tumpukan. Tumpukan adalah kumpulan sumber AWS daya yang dapat Anda kelola sebagai satu unit. Sumber daya dalam tumpukan ditentukan oleh CloudFormation template tumpukan. Set perubahan membuat perbandingan yang dapat dilihat tanpa mengubah tumpukan asli. Untuk informasi tentang jenis CloudFormation tindakan yang dapat dilakukan pada tumpukan dan set perubahan, lihat `ActionMode` parameter.

Untuk membuat pesan kesalahan untuk CloudFormation tindakan di mana operasi tumpukan gagal, CodePipeline panggil CloudFormation `DescribeStackEvents` API. Jika peran IAM tindakan memiliki izin untuk mengakses API tersebut, detail tentang sumber daya pertama yang gagal akan disertakan dalam pesan CodePipeline kesalahan. Jika tidak, jika kebijakan peran tidak memiliki izin yang sesuai, CodePipeline akan mengabaikan mengakses API dan menampilkan pesan kesalahan umum sebagai gantinya. Untuk melakukan ini, `cloudformation:DescribeStackEvents` izin harus ditambahkan ke peran layanan atau peran IAM lainnya untuk pipeline.

Jika Anda tidak ingin detail sumber daya muncul dalam pesan kesalahan pipeline, Anda dapat mencabut izin ini untuk peran IAM tindakan dengan menghapus izin. `cloudformation:DescribeStackEvents`

**Topics**
+ [Tipe tindakan](#action-reference-CloudFormation-type)
+ [Parameter konfigurasi](#action-reference-CloudFormation-config)
+ [Artefak masukan](#action-reference-CloudFormation-input)
+ [Artefak keluaran](#action-reference-CloudFormation-output)
+ [Variabel keluaran](#action-reference-CloudFormation-variables)
+ [Izin peran layanan: tindakan CloudFormation](#edit-role-cloudformation)
+ [Deklarasi tindakan](#action-reference-CloudFormation-example)
+ [Lihat juga](#action-reference-CloudFormation-links)

## Tipe tindakan
<a name="action-reference-CloudFormation-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `CloudFormation`
+ Versi: `1`

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

**ActionMode**  
Wajib: Ya  
`ActionMode`adalah nama tindakan yang CloudFormation dilakukan pada tumpukan atau set perubahan. Mode aksi berikut tersedia:  
+ `CHANGE_SET_EXECUTE`mengeksekusi set perubahan untuk tumpukan sumber daya yang didasarkan pada serangkaian pembaruan sumber daya yang ditentukan. Dengan tindakan ini, CloudFormation mulai mengubah tumpukan.
+ `CHANGE_SET_REPLACE` membuat set perubahan, jika tidak ada, berdasarkan nama tumpukan dan templat yang Anda kirimkan. Jika set perubahan ada, CloudFormation menghapusnya, dan kemudian membuat yang baru. 
+ `CREATE_UPDATE`membuat tumpukan jika tidak ada. Jika tumpukan ada, CloudFormation perbarui tumpukan. Gunakan tindakan ini untuk memperbarui tumpukan yang ada. Tidak seperti`REPLACE_ON_FAILURE`, jika tumpukan ada dan dalam keadaan gagal, CodePipeline tidak akan menghapus dan mengganti tumpukan.
+ `DELETE_ONLY` akan menghapus tumpukan. Jika Anda menentukan tumpukan yang tidak ada, tindakan berhasil diselesaikan tanpa menghapus tumpukan.
+ `REPLACE_ON_FAILURE`membuat tumpukan, jika tidak ada. Jika tumpukan ada dan dalam keadaan gagal, CloudFormation hapus tumpukan, lalu buat tumpukan baru. Jika tumpukan tidak dalam keadaan gagal, CloudFormation perbarui. 

  Tumpukan dalam keadaan gagal ketika salah satu jenis status berikut ditampilkan di CloudFormation: 
  + `ROLLBACK_FAILED`
  + `CREATE_FAILED`
  + `DELETE_FAILED`
  + `UPDATE_ROLLBACK_FAILED`

  Gunakan tindakan ini untuk secara otomatis mengganti tumpukan yang gagal tanpa memulihkan atau memecahkan masalahnya.
**penting**  
Kami menyarankan Anda menggunakan `REPLACE_ON_FAILURE` untuk tujuan pengujian hanya karena mungkin menghapus tumpukan Anda.

**StackName**  
Wajib: Ya  
`StackName`adalah nama tumpukan yang ada atau tumpukan yang ingin Anda buat.

**Kemampuan**  
Diperlukan: Kondisional  
Penggunaan `Capabilities` mengakui bahwa template mungkin memiliki kemampuan untuk membuat dan memperbarui beberapa sumber daya sendiri, dan bahwa kemampuan ini ditentukan berdasarkan jenis sumber daya dalam template.  
Properti ini diperlukan jika Anda memiliki sumber daya IAM di template tumpukan Anda atau Anda membuat tumpukan langsung dari template yang berisi makro. Agar CloudFormation tindakan berhasil beroperasi dengan cara ini, Anda harus secara eksplisit mengakui bahwa Anda ingin melakukannya dengan salah satu kemampuan berikut:  
+ `CAPABILITY_IAM` 
+ `CAPABILITY_NAMED_IAM` 
+ `CAPABILITY_AUTO_EXPAND` 
 Anda dapat menentukan lebih dari satu kemampuan dengan menggunakan koma (tanpa spasi) di antara kemampuan. Contoh di [Deklarasi tindakan](#action-reference-CloudFormation-example) menunjukkan entri dengan properti CAPABILITY\$1IAM dan CAPABILITY\$1AUTO\$1EXPAND.  
Untuk informasi selengkapnya`Capabilities`, lihat properti [UpdateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html)di bawah *Referensi AWS CloudFormation API*.

**ChangeSetName**  
Diperlukan: Kondisional  
`ChangeSetName`adalah nama set perubahan yang ada atau set perubahan baru yang ingin Anda buat untuk tumpukan yang ditentukan.  
 Properti ini diperlukan untuk mode tindakan berikut: CHANGE\$1SET\$1REPLACE dan CHANGE\$1SET\$1EXECUTE. Untuk semua mode tindakan lainnya, properti ini diabaikan.

**RoleArn**  
Diperlukan: Kondisional  
`RoleArn`Ini adalah ARN dari peran layanan IAM yang CloudFormation mengasumsikan ketika beroperasi pada sumber daya di tumpukan yang ditentukan. `RoleArn`tidak diterapkan saat menjalankan set perubahan. Jika Anda tidak menggunakan CodePipeline untuk membuat set perubahan, pastikan bahwa set perubahan atau tumpukan memiliki peran terkait.  
Peran ini harus dalam akun yang sama dengan peran untuk tindakan yang sedang berjalan, seperti yang dikonfigurasi dalam deklarasi tindakan`RoleArn`.
Properti ini diperlukan untuk mode tindakan berikut:  
+ CREATE\$1UPDATE
+ REPLACE\$1ON\$1FAILURE
+ DELETE\$1ONLY
+ CHANGE\$1SET\$1REPLACE
CloudFormation diberikan URL bertanda S3 ke template; oleh karena itu, ini `RoleArn` tidak memerlukan izin untuk mengakses bucket artefak. Namun, tindakan tersebut `RoleArn` *memang* memerlukan izin untuk mengakses bucket artefak, untuk menghasilkan URL yang ditandatangani.

**TemplatePath**  
Diperlukan: Kondisional  
`TemplatePath`mewakili file CloudFormation template. Anda menyertakan file dalam artefak input untuk tindakan ini. Nama file mengikuti format ini:  
`Artifactname::TemplateFileName`  
`Artifactname` adalah nama artefak input seperti yang muncul di CodePipeline. Sebagai contoh, tahap sumber dengan nama artefak `SourceArtifact` dan nama file `template-export.json` membuat nama `TemplatePath` seperti yang ditunjukkan dalam contoh ini:  

```
"TemplatePath": "SourceArtifact::template-export.json"
```
Properti ini diperlukan untuk mode tindakan berikut:   
+ CREATE\$1UPDATE
+ REPLACE\$1ON\$1FAILURE
+ CHANGE\$1SET\$1REPLACE
Untuk semua mode tindakan lainnya, properti ini diabaikan.  
File CloudFormation template yang berisi badan template memiliki panjang minimal 1 byte dan panjang maksimum 1 MB. Untuk tindakan CloudFormation penerapan di CodePipeline, ukuran artefak input maksimum selalu 256 MB. Untuk informasi selengkapnya, lihat [Kuota di AWS CodePipeline](limits.md) dan [CloudFormation Batas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html).

**OutputFileName**  
Wajib: Tidak  
Gunakan `OutputFileName` untuk menentukan nama file keluaran, seperti`CreateStackOutput.json`, yang CodePipeline menambah artefak keluaran pipeline untuk tindakan ini. File JSON berisi isi `Outputs` bagian dari CloudFormation tumpukan.  
Jika Anda tidak menentukan nama, CodePipeline tidak menghasilkan file keluaran atau artefak.

**ParameterOverrides**  
Wajib: Tidak  
Parameter didefinisikan dalam template tumpukan Anda dan memungkinkan Anda untuk memberikan nilai untuk mereka pada saat pembuatan tumpukan atau pembaruan. Anda dapat menggunakan objek JSON untuk mengatur nilai parameter dalam template Anda. (Nilai-nilai ini mengesampingkan yang ditetapkan dalam file konfigurasi template.) Untuk informasi selengkapnya tentang penggunaan penggantian parameter, lihat [Properti Konfigurasi (Objek JSON](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html#w4363ab1c13c13b9)).  
Kami menyarankan Anda menggunakan file konfigurasi template untuk sebagian besar nilai parameter Anda. Gunakan penggantian parameter hanya untuk nilai yang tidak diketahui sampai pipeline berjalan. Untuk informasi selengkapnya, lihat [Menggunakan Fungsi Ganti Parameter dengan CodePipeline Pipelines](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html) di *AWS CloudFormation Panduan Pengguna*.  
Semua nama parameter harus ada dalam templat tumpukan.

**TemplateConfiguration**  
Wajib: Tidak  
`TemplateConfiguration` adalah file konfigurasi templat. Anda menyertakan file dalam artefak input untuk tindakan ini. Ini dapat berisi nilai parameter template dan kebijakan tumpukan. Untuk informasi selengkapnya tentang format file konfigurasi templat, lihat [AWS CloudFormation Artefak](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html).   
Nama file konfigurasi template mengikuti format ini:   
`Artifactname::TemplateConfigurationFileName`  
`Artifactname` adalah nama artefak input seperti yang muncul di CodePipeline. Sebagai contoh, tahap sumber dengan nama artefak `SourceArtifact` dan nama file `test-configuration.json` membuat nama `TemplateConfiguration` seperti yang ditunjukkan dalam contoh ini:  

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

## Artefak masukan
<a name="action-reference-CloudFormation-input"></a>
+ **Jumlah artefak:** `0 to 10`
+ **Deskripsi:** Sebagai masukan, CloudFormation tindakan secara opsional menerima artefak untuk tujuan ini:
  + Untuk menyediakan file template stack untuk dieksekusi. (Lihat `TemplatePath` parameternya.)
  + Untuk menyediakan file konfigurasi template yang akan digunakan. (Lihat `TemplateConfiguration` parameternya.) Untuk informasi selengkapnya tentang format file konfigurasi templat, lihat [AWS CloudFormation Artefak](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html). 
  + Untuk menyediakan artefak untuk fungsi Lambda yang akan digunakan sebagai bagian dari tumpukan. CloudFormation 

## Artefak keluaran
<a name="action-reference-CloudFormation-output"></a>
+ **Jumlah artefak:** `0 to 1` 
+ **Deskripsi:** Jika `OutputFileName` parameter ditentukan, ada artefak keluaran yang dihasilkan oleh tindakan ini yang berisi file JSON dengan nama yang ditentukan. File JSON berisi isi bagian Output dari tumpukan. CloudFormation 

  Untuk informasi selengkapnya tentang bagian output yang dapat Anda buat untuk CloudFormation tindakan Anda, lihat [Keluaran](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html).

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk CloudFormation tindakan, variabel dihasilkan dari nilai apa pun yang ditunjuk di `Outputs` bagian template tumpukan. Perhatikan bahwa satu-satunya mode CloudFormation tindakan yang menghasilkan output adalah mode yang menghasilkan atau memperbarui tumpukan, seperti pembuatan tumpukan, pembaruan tumpukan, dan eksekusi set perubahan. Mode tindakan terkait yang menghasilkan variabel adalah:
+ `CHANGE_SET_EXECUTE`
+ `CHANGE_SET_REPLACE`
+ `CREATE_UPDATE`
+ `REPLACE_ON_FAILURE`

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md). Untuk tutorial yang menunjukkan cara membuat pipeline dengan tindakan CloudFormation penerapan dalam pipeline yang menggunakan variabel CloudFormation keluaran, lihat[Tutorial: Buat pipeline yang menggunakan variabel dari AWS CloudFormation tindakan penerapan](tutorials-cloudformation-action.md).

## Izin peran layanan: tindakan CloudFormation
<a name="edit-role-cloudformation"></a>

Saat CodePipeline menjalankan tindakan, kebijakan peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat ke ARN sumber daya pipeline untuk mempertahankan akses dengan hak istimewa paling sedikit. Misalnya, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

------

Perhatikan bahwa `cloudformation:DescribeStackEvents` izin adalah opsional. Hal ini memungkinkan CloudFormation tindakan untuk menampilkan pesan kesalahan yang lebih rinci. Izin ini dapat dicabut dari peran IAM jika Anda tidak ingin detail sumber daya muncul dalam pesan kesalahan pipeline.

## Deklarasi tindakan
<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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-CloudFormation-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Referensi Properti Konfigurasi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html) - Bab referensi ini dalam *Panduan AWS CloudFormation Pengguna* memberikan lebih banyak deskripsi dan contoh untuk CodePipeline parameter ini.
+ [AWS CloudFormation Referensi API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/) — [CreateStack](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)Parameter dalam *Referensi AWS CloudFormation API* menjelaskan parameter tumpukan untuk CloudFormation template.

# CloudFormation StackSets menyebarkan referensi tindakan
<a name="action-reference-StackSets"></a>

CodePipeline menawarkan kemampuan untuk melakukan CloudFormation StackSets operasi sebagai bagian dari proses CI/CD Anda. Anda menggunakan kumpulan tumpukan untuk membuat tumpukan di AWS akun di seluruh AWS Wilayah dengan menggunakan satu CloudFormation templat. Semua sumber daya yang disertakan dalam setiap tumpukan ditentukan oleh CloudFormation template set tumpukan. Saat Anda membuat kumpulan tumpukan, Anda menentukan template yang akan digunakan, serta parameter dan kemampuan apa pun yang dibutuhkan template.

Untuk informasi selengkapnya tentang konsep CloudFormation StackSets, lihat [StackSets konsep](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html) di *Panduan AWS CloudFormation Pengguna*.

Anda mengintegrasikan pipeline Anda dengan CloudFormation StackSets melalui dua tipe tindakan berbeda yang Anda gunakan bersama-sama:
+ `CloudFormationStackSet`Tindakan membuat atau memperbarui stack set atau stack instance dari template yang disimpan di lokasi sumber pipeline. Setiap kali kumpulan tumpukan dibuat atau diperbarui, ia memulai penerapan perubahan tersebut ke instance tertentu. Di konsol, Anda dapat memilih penyedia tindakan **CloudFormation Stack Set** saat membuat atau mengedit pipeline.
+ `CloudFormationStackInstances`Tindakan ini menerapkan perubahan dari `CloudFormationStackSet` tindakan ke instance tertentu, membuat instance tumpukan baru, dan mendefinisikan penggantian parameter ke instance tertentu. Di konsol, Anda dapat memilih penyedia tindakan **CloudFormation Stack Instances** saat mengedit pipeline yang ada.

Anda dapat menggunakan tindakan ini untuk menyebarkan ke AWS akun target atau menargetkan unit AWS IDs organisasi Organizations.

**catatan**  
Untuk menyebarkan ke akun AWS Organizations target atau unit organisasi IDs dan menggunakan model izin yang dikelola layanan, Anda harus mengaktifkan akses tepercaya antara dan Organizations. AWS CloudFormation StackSets AWS Untuk informasi selengkapnya, lihat [Mengaktifkan akses tepercaya dengan AWS CloudFormation Stacksets](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html#integrate-enable-ta-cloudformation).

**Topics**
+ [Bagaimana CloudFormation StackSets tindakan bekerja](#action-reference-StackSets-concepts)
+ [Cara menyusun StackSets tindakan dalam pipa](#action-reference-StackSets-bestpractices)
+ [Tindakan `CloudFormationStackSet`](#action-reference-StackSet)
+ [CloudFormationStackInstances Tindakan](#action-reference-StackInstances)
+ [Izin peran layanan: tindakan `CloudFormationStackSet`](#edit-role-cfn-stackset)
+ [Izin peran layanan: tindakan `CloudFormationStackInstances`](#edit-role-cfn-stackinstances)
+ [Model izin untuk operasi set tumpukan](#action-reference-StackSets-permissions)
+ [Jenis data parameter template](#action-reference-StackSets-datatypes)
+ [Lihat juga](#action-reference-CloudFormation-links)

## Bagaimana CloudFormation StackSets tindakan bekerja
<a name="action-reference-StackSets-concepts"></a>

`CloudFormationStackSet`Tindakan membuat atau memperbarui sumber daya tergantung pada apakah tindakan tersebut berjalan untuk pertama kalinya.

`CloudFormationStackSet`Tindakan *membuat* atau *memperbarui* kumpulan tumpukan dan menyebarkan perubahan tersebut ke instance tertentu.

**catatan**  
Jika Anda menggunakan tindakan ini untuk membuat pembaruan yang menyertakan penambahan instance tumpukan, instance baru akan diterapkan terlebih dahulu dan pembaruan selesai terakhir. Instans baru pertama menerima versi lama, dan kemudian pembaruan diterapkan ke semua instance.
+ *Buat*: Ketika tidak ada instance yang ditentukan dan kumpulan tumpukan tidak ada, **CloudFormationStackSet**tindakan membuat kumpulan tumpukan tanpa membuat instance apa pun.
+ *Pembaruan*: Saat **CloudFormationStackSet**tindakan dijalankan untuk kumpulan tumpukan yang sudah dibuat, tindakan akan memperbarui kumpulan tumpukan. Jika tidak ada instance yang ditentukan dan kumpulan tumpukan sudah ada, semua instance diperbarui. Jika tindakan ini digunakan untuk memperbarui instance tertentu, semua instance yang tersisa akan berpindah ke status USANG.

  Anda dapat menggunakan **CloudFormationStackSet**tindakan untuk memperbarui kumpulan tumpukan dengan cara berikut. 
  + Perbarui template pada beberapa atau semua contoh.
  + Perbarui parameter pada beberapa atau semua contoh.
  + Perbarui peran eksekusi untuk kumpulan tumpukan (ini harus cocok dengan peran eksekusi yang ditentukan dalam peran Administrator).
  + Ubah model izin (hanya jika tidak ada instance yang dibuat).
  + Aktifkan/Nonaktifkan `AutoDeployment` jika model izin set tumpukan adalah. `Service Managed`
  + Bertindak sebagai administrator yang didelegasikan di akun anggota jika model izin set tumpukan adalah. `Service Managed`
  + Perbarui peran Administrator.
  + Perbarui deskripsi pada set tumpukan.
  + Tambahkan target penerapan ke pembaruan set tumpukan untuk membuat instance tumpukan baru.

`CloudFormationStackInstances`Tindakan ini membuat instance tumpukan baru atau memperbarui instance tumpukan yang sudah ketinggalan zaman. Sebuah instance menjadi usang ketika kumpulan tumpukan diperbarui, tetapi tidak semua instance di dalamnya diperbarui.
+ *Buat*: Jika tumpukan sudah ada, `CloudFormationStackInstances` tindakan hanya memperbarui instance dan tidak membuat instance tumpukan.
+ *Pembaruan*: Setelah `CloudFormationStackSet` tindakan dilakukan, jika templat atau parameter telah diperbarui hanya dalam beberapa kasus, sisanya akan ditandai`OUTDATED`. Pada tahap pipeline selanjutnya, `CloudFormationStackInstances` perbarui sisa instance di tumpukan yang disetel dalam gelombang sehingga semua instance ditandai. `CURRENT` Tindakan ini juga dapat digunakan untuk menambahkan instance tambahan atau mengganti parameter pada instance baru atau yang sudah ada.

Sebagai bagian dari pembaruan, `CloudFormationStackInstances` tindakan `CloudFormationStackSet` dan dapat menentukan target penerapan baru, yang membuat instance tumpukan baru.

Sebagai bagian dari pembaruan, `CloudFormationStackInstances` tindakan `CloudFormationStackSet` dan tidak menghapus kumpulan tumpukan, instance, atau sumber daya. Saat tindakan memperbarui tumpukan tetapi tidak menentukan semua instance yang akan diperbarui, instance yang tidak ditentukan untuk pembaruan akan dihapus dari pembaruan dan disetel ke status. `OUTDATED`

Selama penerapan, instance tumpukan juga dapat menampilkan status `OUTDATED` jika penerapan ke instance gagal.

## Cara menyusun StackSets tindakan dalam pipa
<a name="action-reference-StackSets-bestpractices"></a>

Sebagai praktik terbaik, Anda harus membangun pipeline Anda sehingga kumpulan tumpukan dibuat dan awalnya diterapkan ke subset atau satu instance. Setelah Anda menguji penerapan dan melihat kumpulan tumpukan yang dihasilkan, lalu tambahkan `CloudFormationStackInstances` tindakan sehingga instance yang tersisa dibuat dan diperbarui.

Gunakan konsol atau CLI untuk membuat struktur pipa yang direkomendasikan sebagai berikut:

1. Buat pipeline dengan aksi sumber (wajib) dan `CloudFormationStackSet` tindakan sebagai tindakan penerapan. Jalankan pipeline Anda.

1. Saat pipeline Anda pertama kali berjalan, `CloudFormationStackSet` tindakan akan *membuat* kumpulan tumpukan Anda dan setidaknya satu instance awal. Verifikasi pembuatan set tumpukan dan tinjau penerapan ke instance awal Anda. Misalnya, untuk pembuatan set tumpukan awal untuk akun Account-A `us-east-1` dimana Region yang ditentukan, instance stack dibuat dengan set stack:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/action-reference-StackSets.html)

1. Edit pipeline Anda untuk ditambahkan `CloudFormationStackInstances` sebagai tindakan penerapan kedua untuk create/update menumpuk instance untuk target yang Anda tetapkan. Misalnya, untuk pembuatan instance tumpukan untuk akun `Account-A` tempat `eu-central-1` Wilayah `us-east-2` dan ditentukan, instance tumpukan yang tersisa dibuat dan instance awal tetap diperbarui sebagai berikut:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/action-reference-StackSets.html)

1. Jalankan pipeline sesuai kebutuhan untuk memperbarui kumpulan tumpukan dan memperbarui atau membuat instance tumpukan.

Saat Anda memulai pembaruan tumpukan di mana Anda telah menghapus target penerapan dari konfigurasi tindakan, maka instance tumpukan yang tidak ditunjuk untuk pembaruan akan dihapus dari penerapan dan dipindahkan ke status USANG. Misalnya, untuk pembaruan instans tumpukan untuk akun `Account-A` di mana `us-east-2` Wilayah dihapus dari konfigurasi tindakan, instance tumpukan yang tersisa dibuat dan instance yang dihapus disetel ke USANG sebagai berikut:


****  

| Contoh tumpukan | Region | Status | 
| --- | --- | --- | 
| StackInstanceID-1 | us-east-1 | SAAT INI | 
| StackInstanceID-2 | us-east-2 | KETINGGALAN JAMAN | 
| StackInstanceID-3 | eu-central-1 | SAAT INI | 

Untuk informasi selengkapnya tentang praktik terbaik untuk menerapkan kumpulan tumpukan, lihat [Praktik terbaik](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html) untuk StackSets di *Panduan AWS CloudFormation Pengguna*.

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

Tindakan ini membuat atau memperbarui kumpulan tumpukan dari template yang disimpan di lokasi sumber pipeline. 

Setelah menentukan kumpulan tumpukan, Anda dapat membuat, memperbarui, atau menghapus tumpukan di akun target dan Wilayah yang ditentukan dalam parameter konfigurasi. Saat membuat, memperbarui, dan menghapus tumpukan, Anda dapat menentukan preferensi lain, seperti urutan Wilayah untuk operasi yang akan dilakukan, persentase toleransi kegagalan di luar operasi tumpukan berhenti, dan jumlah akun tempat operasi dilakukan pada tumpukan secara bersamaan.

Satu set tumpukan adalah sumber daya regional. Jika Anda membuat kumpulan tumpukan di satu AWS Wilayah, Anda tidak dapat mengaksesnya dari Wilayah lain.

Saat tindakan ini digunakan sebagai tindakan pembaruan ke kumpulan tumpukan, pembaruan ke tumpukan tidak diizinkan tanpa penerapan ke setidaknya satu instance tumpukan.

**Topics**
+ [Tipe tindakan](#action-reference-StackSet-type)
+ [Parameter konfigurasi](#action-reference-StackSet-config)
+ [Artefak masukan](#action-reference-StackSet-input)
+ [Artefak keluaran](#action-reference-StackSet-output)
+ [Variabel keluaran](#action-reference-StackSet-variables)
+ [Contoh konfigurasi **CloudFormationStackSet**tindakan](#action-reference-StackSet-example)

### Tipe tindakan
<a name="action-reference-StackSet-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `CloudFormationStackSet`
+ Versi: `1`

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

**StackSetName**  
Wajib: Ya  
Nama yang akan dikaitkan dengan set tumpukan. Nama ini harus unik di Wilayah tempat ia dibuat.  
Nama mungkin hanya berisi karakter alfanumerik dan tanda hubung. Itu harus dimulai dengan karakter alfabet dan 128 karakter atau kurang.

**Deskripsi**  
Wajib: Tidak  
Deskripsi set tumpukan. Anda dapat menggunakan ini untuk menggambarkan tujuan kumpulan tumpukan atau informasi relevan lainnya.

**TemplatePath**  
Wajib: Ya  
Lokasi template yang mendefinisikan sumber daya dalam kumpulan tumpukan. Ini harus menunjuk ke template dengan ukuran maksimum 460.800 byte.  
Masukkan path ke nama artefak sumber dan file template dalam format`"InputArtifactName::TemplateFileName"`, seperti yang ditunjukkan pada contoh berikut.  

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

**Parameter**  
Wajib: Tidak  
Daftar parameter template untuk kumpulan tumpukan Anda yang diperbarui selama penerapan.  
Anda dapat memberikan parameter sebagai daftar literal atau jalur file:  
+ Anda dapat memasukkan parameter dalam format sintaks singkatan berikut:. `ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string` Untuk informasi selengkapnya tentang tipe data ini, lihat[Jenis data parameter template](#action-reference-StackSets-datatypes).

  Contoh berikut menunjukkan parameter bernama `BucketName` dengan nilai`amzn-s3-demo-source-bucket`.

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

  Contoh berikut menunjukkan entri dengan beberapa parameter:

  ```
                                                                                                        
    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
    ParameterKey=Asset1,ParameterValue=true              
    ParameterKey=Asset2,ParameterValue=true
  ```
+ Anda dapat memasukkan lokasi file yang berisi daftar penggantian parameter template yang dimasukkan dalam format`"InputArtifactName::ParametersFileName"`, seperti yang ditunjukkan pada contoh berikut.

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

  Contoh berikut menunjukkan isi file untuk`parameters.txt`.

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

**Kemampuan**  
Wajib: Tidak  
Menunjukkan bahwa template dapat membuat dan memperbarui sumber daya, tergantung pada jenis sumber daya dalam template.  
Anda harus menggunakan properti ini jika Anda memiliki sumber daya IAM di template tumpukan Anda atau Anda membuat tumpukan langsung dari template yang berisi makro. Agar CloudFormation tindakan berhasil beroperasi dengan cara ini, Anda harus menggunakan salah satu dari kemampuan berikut:  
+ `CAPABILITY_IAM` 
+ `CAPABILITY_NAMED_IAM` 
 Anda dapat menentukan lebih dari satu kemampuan dengan menggunakan koma dan tidak ada spasi di antara kemampuan. Contoh di [Contoh konfigurasi **CloudFormationStackSet**tindakan](#action-reference-StackSet-example) menunjukkan entri dengan beberapa kemampuan.

**PermissionModel**  
Wajib: Tidak  
Menentukan bagaimana peran IAM dibuat dan dikelola. Jika bidang tidak ditentukan, default digunakan. Untuk informasi, lihat [Model izin untuk operasi set tumpukan](#action-reference-StackSets-permissions).  
Nilai yang valid adalah:   
+ `SELF_MANAGED`(default): Anda harus membuat peran administrator dan eksekusi untuk menyebarkan ke akun target.
+ `SERVICE_MANAGED`: CloudFormation StackSets secara otomatis membuat peran IAM yang diperlukan untuk menyebarkan ke akun yang dikelola oleh Organizations AWS . Ini membutuhkan akun untuk menjadi anggota Organisasi.
Parameter ini hanya dapat diubah ketika tidak ada instance tumpukan di set tumpukan.

****AdministrationRoleArn****  
Karena CloudFormation StackSets melakukan operasi di beberapa akun, Anda harus menentukan izin yang diperlukan di akun tersebut sebelum Anda dapat membuat kumpulan tumpukan.
Wajib: Tidak  
Parameter ini opsional untuk model izin SELF\$1MANAGED dan tidak digunakan untuk model izin SERVICE\$1MANAGED.
ARN dari peran IAM di akun administrator yang digunakan untuk melakukan operasi set tumpukan.  
Nama mungkin berisi karakter alfanumerik, salah satu karakter berikut: \$1\$1=, .@-, dan tidak ada spasi. Namanya tidak peka huruf besar/kecil. Nama peran ini harus memiliki panjang minimal 20 karakter dan panjang maksimum 2048 karakter. Nama peran harus unik di dalam akun. Nama peran yang ditentukan di sini harus berupa nama peran yang ada. Jika Anda tidak menentukan nama peran, itu diatur ke AWSCloudFormationStackSetAdministrationRole. Jika Anda menentukan ServiceManaged, Anda tidak boleh menentukan nama peran.

****ExecutionRoleName****  
Karena CloudFormation StackSets melakukan operasi di beberapa akun, Anda harus menentukan izin yang diperlukan di akun tersebut sebelum Anda dapat membuat kumpulan tumpukan.
Wajib: Tidak  
Parameter ini opsional untuk model izin SELF\$1MANAGED dan tidak digunakan untuk model izin SERVICE\$1MANAGED.
Nama peran IAM dalam akun target yang digunakan untuk melakukan operasi set tumpukan. Nama mungkin berisi karakter alfanumerik, salah satu karakter berikut: \$1\$1=, .@-, dan tidak ada spasi. Namanya tidak peka huruf besar/kecil. Nama peran ini harus memiliki panjang minimal 1 karakter dan panjang maksimum 64 karakter. Nama peran harus unik di dalam akun. Nama peran yang ditentukan di sini harus berupa nama peran yang ada. Jangan tentukan peran ini jika Anda menggunakan peran eksekusi yang disesuaikan. Jika Anda tidak menentukan nama peran, itu diatur ke`AWSCloudFormationStackSetExecutionRole`. Jika Anda menyetel Service\$1Managed ke true, Anda tidak boleh menentukan nama peran.

****OrganizationsAutoDeployment****  
Wajib: Tidak  
Parameter ini opsional untuk model izin SERVICE\$1MANAGED dan tidak digunakan untuk model izin SELF\$1MANAGED.
Menjelaskan apakah CloudFormation StackSets secara otomatis menyebarkan ke akun AWS Organizations yang ditambahkan ke organisasi target atau unit organisasi (OU). Jika `OrganizationsAutoDeployment` ditentukan, jangan tentukan `DeploymentTargets` dan`Regions`.   
Jika tidak ada input yang disediakan`OrganizationsAutoDeployment`, maka nilai defaultnya adalah`Disabled`.
Nilai yang valid adalah:  
+ `Enabled`. Diperlukan: Tidak. 

  StackSets secara otomatis menyebarkan instance tumpukan tambahan ke akun AWS Organizations yang ditambahkan ke organisasi target atau unit organisasi (OU) di Wilayah yang ditentukan. Jika akun dihapus dari organisasi target atau OU, CloudFormation StackSets menghapus instance tumpukan dari akun di Wilayah yang ditentukan.
+ `Disabled`. Diperlukan: Tidak. 

  StackSets tidak secara otomatis menyebarkan instance tumpukan tambahan ke akun AWS Organizations yang ditambahkan ke organisasi target atau unit organisasi (OU) di Wilayah yang ditentukan.
+ `EnabledWithStackRetention`. Diperlukan: Tidak.

  Sumber daya tumpukan dipertahankan ketika akun dihapus dari organisasi target atau OU.

****DeploymentTargets****  
Wajib: Tidak  
Untuk model izin SERVICE\$1MANAGED, Anda dapat memberikan ID root organisasi atau Unit IDs organisasi untuk target penerapan. Untuk model izin SELF\$1MANAGED, Anda hanya dapat menyediakan akun.
Ketika parameter ini dipilih, Anda juga harus memilih **Wilayah**.
Daftar AWS akun atau unit organisasi IDs tempat instance stack set harus dibuat/diperbarui.  
+ **Akun**:

  Anda dapat memberikan akun sebagai daftar literal atau jalur file:
  + *Literal*: Masukkan parameter dalam format sintaks singkatan`account_ID,account_ID`, seperti yang ditunjukkan pada contoh berikut.

    ```
    111111222222,333333444444
    ```
  + *Jalur file:* Lokasi file yang berisi daftar AWS akun tempat instance kumpulan tumpukan harus dibuat/diperbarui, dimasukkan dalam format. `InputArtifactName::AccountsFileName` Jika Anda menggunakan jalur file untuk menentukan salah satu **akun** atau **OrganizationalUnitIds**, format file harus dalam JSON, seperti yang ditunjukkan pada contoh berikut.

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

    Contoh berikut menunjukkan isi file untuk`accounts.txt`.

    ```
    [
        "111111222222"
    ]
    ```

    Contoh berikut menunjukkan isi file `accounts.txt` saat mencantumkan lebih dari satu akun:

    ```
    [
        "111111222222","333333444444"
    ]
    ```
+ **OrganizationalUnitIds**: 
**catatan**  
Parameter ini opsional untuk model izin SERVICE\$1MANAGED dan tidak digunakan untuk model izin SELF\$1MANAGED. Jangan gunakan ini jika Anda memilih **OrganizationsAutoDeployment**.

  Unit AWS organisasi untuk memperbarui instance tumpukan terkait.

  Anda dapat menyediakan unit organisasi IDs sebagai daftar literal atau jalur file:
  + *Literal*: Masukkan array string dipisahkan dengan koma, seperti yang ditunjukkan pada contoh berikut.

    ```
    ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    ```
  + *Jalur file:* Lokasi file yang berisi daftar tempat untuk membuat atau memperbarui instance kumpulan tumpukan. OrganizationalUnitIds Jika Anda menggunakan jalur file untuk menentukan salah satu **akun** atau **OrganizationalUnitIds**, format file harus dalam JSON, seperti yang ditunjukkan pada contoh berikut.

    Masukkan jalur ke file dalam format`InputArtifactName::OrganizationalUnitIdsFileName`.

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

    Contoh berikut menunjukkan isi file untuk`OU-IDs.txt`:

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

****Daerah****  
Wajib: Tidak  
Ketika parameter ini dipilih, Anda juga harus memilih **DeploymentTargets**.
Daftar AWS Wilayah tempat instance kumpulan tumpukan dibuat atau diperbarui. Wilayah diperbarui dalam urutan di mana mereka dimasukkan.  
Masukkan daftar AWS Wilayah yang valid dalam format`Region1,Region2`, seperti yang ditunjukkan pada contoh berikut.  

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

****FailureTolerancePercentage****  
Wajib: Tidak  
Persentase akun per Wilayah yang operasi tumpukan ini dapat gagal sebelum CloudFormation menghentikan operasi di Wilayah tersebut. Jika operasi dihentikan di Wilayah, CloudFormation tidak mencoba operasi di Wilayah berikutnya. Saat menghitung jumlah akun berdasarkan persentase yang ditentukan, CloudFormation *bulatkan ke* nomor bulat berikutnya.

****MaxConcurrentPercentage****  
Wajib: Tidak  
Persentase maksimum akun untuk melakukan operasi ini pada satu waktu. Saat menghitung jumlah akun berdasarkan persentase yang ditentukan, CloudFormation *bulatkan ke* nomor bulat berikutnya. Jika pembulatan ke bawah akan menghasilkan nol, CloudFormation tetapkan angka sebagai satu sebagai gantinya. Meskipun Anda menggunakan pengaturan ini untuk menentukan *maksimum*, untuk penerapan besar jumlah aktual akun yang ditindaklanjuti secara bersamaan mungkin lebih rendah karena pelambatan layanan.

**RegionConcurrencyType**  
Wajib: Tidak  
Anda dapat menentukan apakah kumpulan tumpukan harus diterapkan Wilayah AWS secara berurutan atau paralel dengan mengonfigurasi parameter penerapan konkurensi Wilayah. Ketika konkurensi Wilayah ditentukan untuk menyebarkan tumpukan di beberapa Wilayah AWS secara paralel, ini dapat menghasilkan waktu penerapan keseluruhan yang lebih cepat.  
+ *Paralel*: Penerapan set tumpukan akan dilakukan pada saat yang sama, selama kegagalan penerapan Wilayah tidak melebihi toleransi kegagalan yang ditentukan.
+ *Berurutan*: Penerapan set tumpukan akan dilakukan satu per satu, selama kegagalan penerapan Wilayah tidak melebihi toleransi kegagalan yang ditentukan. Deployment berurutan adalah pilihan default.

**ConcurrencyMode**  
Wajib: Tidak  
Mode konkurensi memungkinkan Anda memilih bagaimana tingkat konkurensi berperilaku selama operasi set tumpukan, baik dengan toleransi kegagalan yang ketat atau lunak. **Toleransi Kegagalan Ketat** menurunkan kecepatan penerapan karena kegagalan operasi set tumpukan terjadi karena konkurensi menurun untuk setiap kegagalan. **Soft Failure Tolerance** memprioritaskan kecepatan penerapan sambil tetap memanfaatkan CloudFormation kemampuan keselamatan.   
+ `STRICT_FAILURE_TOLERANCE`: Opsi ini secara dinamis menurunkan tingkat konkurensi untuk memastikan jumlah akun yang gagal tidak pernah melebihi toleransi kegagalan tertentu. Ini adalah perilaku default.
+ `SOFT_FAILURE_TOLERANCE`: Opsi ini memisahkan toleransi kegagalan dari konkurensi yang sebenarnya. Hal ini memungkinkan operasi stack set berjalan pada tingkat konkurensi yang ditetapkan, terlepas dari jumlah kegagalan.

**CallAs**  
Wajib: Tidak  
Parameter ini opsional untuk model `SERVICE_MANAGED` izin dan tidak digunakan untuk model `SELF_MANAGED` izin.
Menentukan apakah Anda bertindak di akun manajemen organisasi atau sebagai administrator yang didelegasikan dalam akun anggota.  
Jika parameter ini disetel ke`DELEGATED_ADMIN`, pastikan bahwa peran IAM pipeline memiliki `organizations:ListDelegatedAdministrators` izin. Jika tidak, tindakan akan gagal saat berjalan dengan kesalahan yang mirip dengan berikut ini:`Account used is not a delegated administrator`.
+ `SELF`: Penyebaran set tumpukan akan menggunakan izin yang dikelola layanan saat masuk ke akun manajemen.
+ `DELEGATED_ADMIN`: Penyebaran set tumpukan akan menggunakan izin yang dikelola layanan saat masuk ke akun administrator yang didelegasikan.

### Artefak masukan
<a name="action-reference-StackSet-input"></a>

Anda harus menyertakan setidaknya satu artefak masukan yang berisi template untuk kumpulan tumpukan dalam `CloudFormationStackSet` tindakan. Anda dapat menyertakan lebih banyak artefak masukan untuk daftar target penyebaran, akun, dan parameter.
+ **Jumlah artefak:** `1 to 3`
+ **Deskripsi:** Anda dapat memasukkan artefak untuk menyediakan:
  + File template tumpukan. (Lihat `TemplatePath` parameternya.)
  + File parameter. (Lihat `Parameters` parameternya.)
  + File akun. (Lihat `DeploymentTargets` parameternya.)

### Artefak keluaran
<a name="action-reference-StackSet-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

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

Jika Anda mengonfigurasi tindakan ini, ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir di pipeline. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.
+ **StackSetId**: ID dari set tumpukan.
+ **OperationId**: ID operasi stack set.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

### Contoh konfigurasi **CloudFormationStackSet**tindakan
<a name="action-reference-StackSet-example"></a>

Contoh berikut menunjukkan konfigurasi tindakan untuk **CloudFormationStackSet**tindakan tersebut.

#### Contoh untuk model izin yang dikelola sendiri
<a name="action-reference-StackSet-example-selfmanaged"></a>

Contoh berikut menunjukkan **CloudFormationStackSet**tindakan di mana target penyebaran yang dimasukkan adalah ID AWS akun.

------
#### [ 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"
}
```

------

#### Contoh untuk model izin yang dikelola layanan
<a name="action-reference-StackSet-example-servicemanaged"></a>

Contoh berikut menunjukkan **CloudFormationStackSet**tindakan untuk model izin yang dikelola layanan di mana opsi untuk penerapan otomatis ke AWS Organizations diaktifkan dengan penyimpanan tumpukan.

------
#### [ 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"
}
```

------

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

Tindakan ini membuat instance baru dan menyebarkan kumpulan tumpukan ke instance tertentu. Instans tumpukan adalah referensi ke tumpukan di akun target dalam Wilayah. Sebuah instance stack bisa ada tanpa stack; misalnya, jika pembuatan stack tidak berhasil, instance stack menunjukkan alasan kegagalan pembuatan stack. Sebuah instans templat dikaitkan dengan hanya satu set tumpukan.

Setelah pembuatan awal kumpulan tumpukan, Anda dapat menambahkan instance tumpukan baru dengan menggunakan`CloudFormationStackInstances`. Nilai parameter template dapat diganti pada tingkat instance tumpukan selama membuat atau memperbarui operasi instance set tumpukan.

Setiap set tumpukan memiliki satu template dan set parameter template. Saat Anda memperbarui parameter template atau template, Anda memperbaruinya untuk seluruh rangkaian. Kemudian semua status instance disetel ke `OUTDATED` sampai perubahan diterapkan ke instance itu.

Untuk mengganti nilai parameter pada instance tertentu, misalnya, jika templat berisi parameter untuk `stage` dengan nilai`prod`, Anda dapat mengganti nilai parameter tersebut menjadi atau. `beta` `gamma`

**Topics**
+ [Tipe tindakan](#action-reference-StackInstances-type)
+ [Parameter konfigurasi](#action-reference-StackInstances-config)
+ [Artefak masukan](#action-reference-StackInstances-input)
+ [Artefak keluaran](#action-reference-StackInstances-output)
+ [Variabel keluaran](#action-reference-StackInstances-variables)
+ [Contoh konfigurasi tindakan](#action-reference-StackInstances-example)

### Tipe tindakan
<a name="action-reference-StackInstances-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `CloudFormationStackInstances`
+ Versi: `1`

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

**StackSetName**  
Wajib: Ya  
Nama yang akan dikaitkan dengan set tumpukan. Nama ini harus unik di Wilayah tempat ia dibuat.  
Nama mungkin hanya berisi karakter alfanumerik dan tanda hubung. Itu harus dimulai dengan karakter alfabet dan 128 karakter atau kurang.

****DeploymentTargets****  
Wajib: Tidak  
Untuk model izin SERVICE\$1MANAGED, Anda dapat memberikan ID root organisasi atau Unit IDs organisasi untuk target penerapan. Untuk model izin SELF\$1MANAGED, Anda hanya dapat menyediakan akun.
Ketika parameter ini dipilih, Anda juga harus memilih **Wilayah**.
Daftar AWS akun atau unit organisasi IDs tempat instance stack set harus dibuat/diperbarui.  
+ **Akun**:

  Anda dapat memberikan akun sebagai daftar literal atau jalur file:
  + *Literal*: Masukkan parameter dalam format sintaks singkatan`account_ID,account_ID`, seperti yang ditunjukkan pada contoh berikut.

    ```
    111111222222,333333444444
    ```
  + *Jalur file:* Lokasi file yang berisi daftar AWS akun tempat instance kumpulan tumpukan harus dibuat/diperbarui, dimasukkan dalam format. `InputArtifactName::AccountsFileName` Jika Anda menggunakan jalur file untuk menentukan salah satu **akun** atau **OrganizationalUnitIds**, format file harus dalam JSON, seperti yang ditunjukkan pada contoh berikut.

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

    Contoh berikut menunjukkan isi file untuk`accounts.txt`:

    ```
    [
        "111111222222"
    ]
    ```

    Contoh berikut menunjukkan isi file `accounts.txt` saat mencantumkan lebih dari satu akun:

    ```
    [
        "111111222222","333333444444"
    ]
    ```
+ **OrganizationalUnitIds**: 
**catatan**  
Parameter ini opsional untuk model izin SERVICE\$1MANAGED dan tidak digunakan untuk model izin SELF\$1MANAGED. Jangan gunakan ini jika Anda memilih **OrganizationsAutoDeployment**.

  Unit AWS organisasi untuk memperbarui instance tumpukan terkait.

  Anda dapat menyediakan unit organisasi IDs sebagai daftar literal atau jalur file.
  + *Literal*: Masukkan array string dipisahkan dengan koma, seperti yang ditunjukkan pada contoh berikut.

    ```
    ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
    ```
  + *Jalur file:* Lokasi file yang berisi daftar tempat untuk membuat atau memperbarui instance kumpulan tumpukan. OrganizationalUnitIds Jika Anda menggunakan jalur file untuk menentukan salah satu **akun** atau **OrganizationalUnitIds**, format file harus dalam JSON, seperti yang ditunjukkan pada contoh berikut.

    Masukkan jalur ke file dalam format`InputArtifactName::OrganizationalUnitIdsFileName`.

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

    Contoh berikut menunjukkan isi file untuk`OU-IDs.txt`:

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

****Daerah****  
Wajib: Ya  
Ketika parameter ini dipilih, Anda juga harus memilih **DeploymentTargets**.
Daftar AWS Wilayah tempat instance kumpulan tumpukan dibuat atau diperbarui. Wilayah diperbarui dalam urutan di mana mereka dimasukkan.  
Masukkan daftar AWS Wilayah yang valid dalam format:`Region1,Region2`, seperti yang ditunjukkan pada contoh berikut.  

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

**ParameterOverrides**  
Wajib: Tidak  
Daftar parameter set tumpukan yang ingin Anda timpa dalam instance tumpukan yang dipilih. Nilai parameter yang diganti diterapkan ke semua instance tumpukan di akun dan Wilayah yang ditentukan.  
Anda dapat memberikan parameter sebagai daftar literal atau jalur file:  
+ Anda dapat memasukkan parameter dalam format sintaks singkatan berikut:. `ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string` Untuk informasi selengkapnya tentang tipe data ini, lihat[Jenis data parameter template](#action-reference-StackSets-datatypes).

  Contoh berikut menunjukkan parameter bernama `BucketName` dengan nilai`amzn-s3-demo-source-bucket`.

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

  Contoh berikut menunjukkan entri dengan beberapa parameter.

  ```
                                                                                                        
    ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
    ParameterKey=Asset1,ParameterValue=true              
    ParameterKey=Asset2,ParameterValue=true
  ```
+ Anda dapat memasukkan lokasi file yang berisi daftar penggantian parameter template yang dimasukkan dalam format`InputArtifactName::ParameterOverridessFileName`, seperti yang ditunjukkan pada contoh berikut.

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

  Contoh berikut menunjukkan isi file untuk`parameter-overrides.txt`.

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

****FailureTolerancePercentage****  
Wajib: Tidak  
Persentase akun per Wilayah yang operasi tumpukan ini dapat gagal sebelum CloudFormation menghentikan operasi di Wilayah tersebut. Jika operasi dihentikan di Wilayah, CloudFormation tidak mencoba operasi di Wilayah berikutnya. Saat menghitung jumlah akun berdasarkan persentase yang ditentukan, CloudFormation *bulatkan ke* nomor bulat berikutnya.

****MaxConcurrentPercentage****  
Wajib: Tidak  
Persentase maksimum akun untuk melakukan operasi ini pada satu waktu. Saat menghitung jumlah akun berdasarkan persentase yang ditentukan, CloudFormation *bulatkan ke* nomor bulat berikutnya. Jika pembulatan ke bawah akan menghasilkan nol, CloudFormation tetapkan angka sebagai satu sebagai gantinya. Meskipun Anda menentukan *maksimum*, untuk penerapan besar jumlah aktual akun yang ditindaklanjuti secara bersamaan mungkin lebih rendah karena pelambatan layanan.

**RegionConcurrencyType**  
Wajib: Tidak  
Anda dapat menentukan apakah kumpulan tumpukan harus diterapkan Wilayah AWS secara berurutan atau paralel dengan mengonfigurasi parameter penerapan konkurensi wilayah. Ketika konkurensi Wilayah ditentukan untuk menyebarkan tumpukan di beberapa Wilayah AWS secara paralel, ini dapat menghasilkan waktu penerapan keseluruhan yang lebih cepat.  
+ *Paralel*: Penerapan set tumpukan akan dilakukan pada saat yang sama, selama kegagalan penerapan Wilayah tidak melebihi toleransi kegagalan yang ditentukan.
+ *Berurutan*: Penerapan set tumpukan akan dilakukan satu per satu, selama kegagalan penerapan Wilayah tidak melebihi toleransi kegagalan yang ditentukan. Deployment berurutan adalah pilihan default.

**ConcurrencyMode**  
Wajib: Tidak  
Mode konkurensi memungkinkan Anda memilih bagaimana tingkat konkurensi berperilaku selama operasi set tumpukan, baik dengan toleransi kegagalan yang ketat atau lunak. **Toleransi Kegagalan Ketat** menurunkan kecepatan penerapan karena kegagalan operasi set tumpukan terjadi karena konkurensi menurun untuk setiap kegagalan. **Soft Failure Tolerance** memprioritaskan kecepatan penerapan sambil tetap memanfaatkan CloudFormation kemampuan keselamatan.   
+ `STRICT_FAILURE_TOLERANCE`: Opsi ini secara dinamis menurunkan tingkat konkurensi untuk memastikan jumlah akun yang gagal tidak pernah melebihi toleransi kegagalan tertentu. Ini adalah perilaku default.
+ `SOFT_FAILURE_TOLERANCE`: Opsi ini memisahkan toleransi kegagalan dari konkurensi yang sebenarnya. Hal ini memungkinkan operasi stack set berjalan pada tingkat konkurensi yang ditetapkan, terlepas dari jumlah kegagalan.

**CallAs**  
Wajib: Tidak  
Parameter ini opsional untuk model `SERVICE_MANAGED` izin dan tidak digunakan untuk model `SELF_MANAGED` izin.
Menentukan apakah Anda bertindak di akun manajemen organisasi atau sebagai administrator yang didelegasikan dalam akun anggota.  
Jika parameter ini disetel ke`DELEGATED_ADMIN`, pastikan bahwa peran IAM pipeline memiliki `organizations:ListDelegatedAdministrators` izin. Jika tidak, tindakan akan gagal saat berjalan dengan kesalahan yang mirip dengan berikut ini:`Account used is not a delegated administrator`.
+ `SELF`: Penyebaran set tumpukan akan menggunakan izin yang dikelola layanan saat masuk ke akun manajemen.
+ `DELEGATED_ADMIN`: Penyebaran set tumpukan akan menggunakan izin yang dikelola layanan saat masuk ke akun administrator yang didelegasikan.

### Artefak masukan
<a name="action-reference-StackInstances-input"></a>

`CloudFormationStackInstances`dapat berisi artefak yang mencantumkan target dan parameter penerapan.
+ **Jumlah artefak:** `0 to 2`
+ **Deskripsi:** Sebagai masukan, aksi kumpulan tumpukan secara opsional menerima artefak untuk tujuan ini:
  + Untuk menyediakan file parameter yang akan digunakan. (Lihat `ParameterOverrides` parameternya.)
  + Untuk menyediakan file akun target untuk digunakan. (Lihat `DeploymentTargets` parameternya.)

### Artefak keluaran
<a name="action-reference-StackInstances-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.
+ **StackSetId**: ID dari set tumpukan.
+ **OperationId**: ID operasi stack set.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

### Contoh konfigurasi tindakan
<a name="action-reference-StackInstances-example"></a>

Contoh berikut menunjukkan konfigurasi tindakan untuk **CloudFormationStackInstances**tindakan tersebut.

#### Contoh untuk model izin yang dikelola sendiri
<a name="action-reference-StackInstances-example-selfmanaged"></a>

Contoh berikut menunjukkan **CloudFormationStackInstances**tindakan di mana target penyebaran yang dimasukkan adalah Akun AWS ID`111111222222`.

------
#### [ 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"
}
```

------

#### Contoh untuk model izin yang dikelola layanan
<a name="action-reference-StackInstances-example-servicemanaged"></a>

Contoh berikut menunjukkan **CloudFormationStackInstances**tindakan untuk model izin yang dikelola layanan di mana target penerapan adalah ID unit AWS organisasi Organizations. `ou-1111-1example`

------
#### [ 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"
}
```

------

## Izin peran layanan: tindakan `CloudFormationStackSet`
<a name="edit-role-cfn-stackset"></a>

Untuk CloudFormation StackSets tindakan, izin minimum berikut diperlukan.

Untuk `CloudFormationStackSet` tindakan tersebut, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

## Izin peran layanan: tindakan `CloudFormationStackInstances`
<a name="edit-role-cfn-stackinstances"></a>

Untuk `CloudFormationStackInstances` tindakan tersebut, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

## Model izin untuk operasi set tumpukan
<a name="action-reference-StackSets-permissions"></a>

Karena CloudFormation StackSets melakukan operasi di beberapa akun, Anda harus menentukan izin yang diperlukan di akun tersebut sebelum Anda dapat membuat kumpulan tumpukan. Anda dapat menentukan izin melalui izin yang dikelola sendiri atau izin yang dikelola layanan.

Dengan izin yang dikelola sendiri, Anda membuat dua peran IAM yang diperlukan oleh StackSets - peran administrator seperti AWSCloud FormationStackSetAdministrationRole di akun tempat Anda menentukan kumpulan tumpukan dan peran eksekusi seperti AWSCloud FormationStackSetExecutionRole di setiap akun tempat Anda menerapkan instance kumpulan tumpukan. Menggunakan model izin ini, StackSets dapat menyebarkan ke AWS akun mana pun di mana pengguna memiliki izin untuk membuat peran IAM. Untuk informasi selengkapnya, lihat [Memberikan izin yang dikelola sendiri](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) di *AWS CloudFormation Panduan Pengguna*.

**catatan**  
Karena CloudFormation StackSets melakukan operasi di beberapa akun, Anda harus menentukan izin yang diperlukan di akun tersebut sebelum Anda dapat membuat kumpulan tumpukan.

Dengan izin yang dikelola layanan, Anda dapat menerapkan instance tumpukan ke akun yang dikelola oleh Organizations. AWS Dengan menggunakan model izin ini, Anda tidak perlu membuat peran IAM yang diperlukan karena StackSets membuat peran IAM atas nama Anda. Dengan model ini, Anda juga dapat mengaktifkan penerapan otomatis ke akun yang ditambahkan ke organisasi di masa mendatang. Lihat [Mengaktifkan akses tepercaya dengan AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html) di *Panduan AWS CloudFormation Pengguna*.

## Jenis data parameter template
<a name="action-reference-StackSets-datatypes"></a>

Parameter template yang digunakan dalam operasi stack set termasuk tipe data berikut. Untuk informasi selengkapnya, lihat [DescribeStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html).

ParameterKey  
+ Deskripsi: Kunci yang terkait dengan parameter. Jika Anda tidak menentukan kunci dan nilai untuk parameter tertentu, AWS CloudFormation gunakan nilai default yang ditentukan dalam template.
+ Contoh:

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

ParameterValue  
+ Deskripsi: Nilai masukan yang terkait dengan parameter.
+ Contoh:

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

UsePreviousValue  
+ Selama pembaruan tumpukan, gunakan nilai parameter yang ada yang digunakan tumpukan untuk kunci parameter yang diberikan. Jika Anda menentukan`true`, jangan tentukan nilai parameter.
+ Contoh:

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

Setiap set tumpukan memiliki satu template dan set parameter template. Saat Anda memperbarui parameter template atau template, Anda memperbaruinya untuk seluruh rangkaian. Kemudian semua status instance disetel ke USANG hingga perubahan diterapkan ke instance itu.

Untuk mengganti nilai parameter pada instance tertentu, misalnya, jika templat berisi parameter untuk `stage` dengan nilai`prod`, Anda dapat mengganti nilai parameter tersebut menjadi atau. `beta` `gamma`

## Lihat juga
<a name="action-reference-CloudFormation-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Jenis parameter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties-type) - Bab referensi di *Panduan AWS CloudFormation Pengguna* ini memberikan lebih banyak deskripsi dan contoh untuk parameter CloudFormation templat.
+ Praktik terbaik — Untuk informasi selengkapnya tentang praktik terbaik untuk menerapkan kumpulan tumpukan, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html) di *Panduan AWS CloudFormation Pengguna*.
+ [AWS CloudFormation Referensi API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/) - Anda dapat mereferensikan CloudFormation tindakan berikut di *Referensi AWS CloudFormation API* untuk informasi selengkapnya tentang parameter yang digunakan dalam operasi kumpulan tumpukan:

  
  + [CreateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html)Tindakan membuat set tumpukan.
  + [UpdateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html)Tindakan ini memperbarui kumpulan tumpukan dan instance tumpukan terkait di akun dan Wilayah yang ditentukan. Bahkan jika operasi set tumpukan yang dibuat dengan memperbarui kumpulan tumpukan gagal (sepenuhnya atau sebagian, di bawah atau di atas toleransi kegagalan yang ditentukan), kumpulan tumpukan diperbarui dengan perubahan ini. CreateStackInstances Panggilan selanjutnya pada set tumpukan yang ditentukan menggunakan set tumpukan yang diperbarui.
  + [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html)Tindakan ini membuat instance tumpukan untuk semua wilayah tertentu dalam semua akun yang ditentukan pada model izin yang dikelola sendiri, atau dalam semua target penerapan yang ditentukan pada model izin yang dikelola layanan. Anda dapat mengganti parameter untuk instance yang dibuat oleh tindakan ini. Jika instance sudah ada, CreateStackInstances panggilan UpdateStackInstances dengan parameter input yang sama. Saat Anda menggunakan tindakan ini untuk membuat instance, tindakan ini tidak mengubah status instance tumpukan lainnya.
  + [UpdateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackInstances.html)Tindakan ini memperbarui instance tumpukan dengan kumpulan tumpukan untuk semua wilayah tertentu dalam semua akun tertentu pada model izin yang dikelola sendiri, atau dalam semua target penerapan yang ditentukan pada model izin yang dikelola layanan. Anda dapat mengganti parameter untuk instance yang diperbarui oleh tindakan ini. Saat Anda menggunakan tindakan ini untuk memperbarui subset instance, tindakan ini tidak mengubah status instance tumpukan lainnya.
  + [DescribeStackSetOperation](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackSetOperation.html)Tindakan mengembalikan deskripsi operasi stack set yang ditentukan.
  + [DescribeStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeStackSet.html)Tindakan mengembalikan deskripsi set stack yang ditentukan.

# AWS CodeBuild membangun dan menguji referensi tindakan
<a name="action-reference-CodeBuild"></a>

Memungkinkan Anda menjalankan build dan pengujian sebagai bagian dari pipeline Anda. Saat Anda menjalankan tindakan CodeBuild build atau test, perintah yang ditentukan dalam buildspec dijalankan di dalam container. CodeBuild Semua artefak yang ditetapkan sebagai artefak masukan untuk suatu CodeBuild tindakan tersedia di dalam wadah yang menjalankan perintah. CodeBuild dapat memberikan tindakan build atau test. Untuk informasi selengkapnya, silakan lihat [Panduan Pengguna AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/).

Saat Anda menggunakan CodePipeline wizard di konsol untuk membuat proyek build, proyek CodeBuild build akan menunjukkan penyedia sumbernya CodePipeline. Saat membuat proyek build di CodeBuild konsol, Anda tidak dapat menentukan CodePipeline sebagai penyedia sumber, tetapi menambahkan tindakan build ke pipeline akan menyesuaikan sumber di CodeBuild konsol. Untuk informasi selengkapnya, lihat [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) di dalam *Referensi API AWS CodeBuild *. 

**Topics**
+ [Tipe tindakan](#action-reference-CodeBuild-type)
+ [Parameter konfigurasi](#action-reference-CodeBuild-config)
+ [Artefak masukan](#action-reference-CodeBuild-input)
+ [Artefak keluaran](#action-reference-CodeBuild-output)
+ [Variabel keluaran](#action-reference-CodeBuild-variables)
+ [Izin peran layanan: tindakan CodeBuild](#edit-role-codebuild)
+ [Deklarasi tindakan (CodeBuild contoh)](#action-reference-CodeBuild-example)
+ [Lihat juga](#action-reference-CodeBuild-links)

## Tipe tindakan
<a name="action-reference-CodeBuild-type"></a>
+ Kategori: `Build` atau `Test`
+ Pemilik: `AWS`
+ Penyedia: `CodeBuild`
+ Versi: `1`

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

**ProjectName**  
Wajib: Ya  
`ProjectName`adalah nama proyek pembangunan di CodeBuild.

**PrimarySource**  
Diperlukan: Kondisional  
Nilai `PrimarySource` parameter harus menjadi nama salah satu artefak input untuk tindakan. CodeBuild mencari file buildspec dan menjalankan perintah buildspec di direktori yang berisi versi unzip artefak ini.  
Parameter ini diperlukan jika beberapa artefak masukan ditentukan untuk suatu CodeBuild tindakan. Ketika hanya ada satu artefak sumber untuk aksi, artefak default ke `PrimarySource` artefak itu.

**BatchEnabled**  
Wajib: Tidak  
Nilai Boolean dari `BatchEnabled` parameter memungkinkan tindakan untuk menjalankan beberapa build dalam eksekusi build yang sama.  
Ketika opsi ini diaktifkan, `CombineArtifacts` opsi tersedia.  
Untuk contoh pipeline dengan build batch diaktifkan, lihat [CodePipeline integrasi dengan CodeBuild dan build batch](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**BuildspecOverride**  
Wajib: Tidak  
Definisi buildspec sebaris atau deklarasi file buildspec yang mengganti definisi terbaru yang ditentukan dalam proyek build, hanya untuk build ini. Buildspec yang didefinisikan pada proyek tidak diubah.  
Jika nilai ini diatur, itu bisa menjadi salah satu dari yang berikut:  
+ Definisi buildspec sebaris. Untuk informasi selengkapnya, lihat referensi sintaks di sintaks [Buildspec](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax).
+ Jalur ke file buildspec alternatif relatif terhadap nilai variabel `CODEBUILD_SRC_DIR` lingkungan bawaan atau jalur ke bucket S3. Ember harus Wilayah AWS sama dengan proyek pembangunan. Tentukan file buildspec menggunakan ARN (misalnya,). `arn:aws:s3:::my-codebuild-sample2/buildspec.yml` Jika nilai ini tidak disediakan atau diatur ke string kosong, kode sumber harus berisi file buildspec di direktori root nya. Untuk informasi selengkapnya tentang menambahkan jalur, lihat [Nama File Buildspec dan](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage) Lokasi Penyimpanan.
Karena properti ini memungkinkan Anda untuk mengubah perintah build yang akan berjalan di container, Anda harus mencatat bahwa prinsipal IAM dengan kemampuan untuk memanggil API ini dan menyetel parameter ini dapat mengganti pengaturan default. Selain itu, kami menganjurkan agar Anda menggunakan lokasi buildspec yang dapat dipercaya seperti file di repositori sumber Anda atau bucket Amazon S3.

**CombineArtifacts**  
Wajib: Tidak  
Nilai Boolean `CombineArtifacts` parameter menggabungkan semua artefak build dari build batch menjadi file artefak tunggal untuk aksi build.  
Untuk menggunakan opsi ini, `BatchEnabled` parameter harus diaktifkan.

**EnvironmentVariables**  
Wajib: Tidak  
Nilai parameter ini digunakan untuk mengatur variabel lingkungan untuk CodeBuild tindakan di pipeline Anda. Nilai untuk `EnvironmentVariables` parameter mengambil bentuk array JSON dari objek variabel lingkungan. Lihat parameter contoh di[Deklarasi tindakan (CodeBuild contoh)](#action-reference-CodeBuild-example).  
Setiap objek memiliki tiga bagian, yang semuanya adalah string:  
+ `name`: Nama atau kunci variabel lingkungan. 
+ `value`: Nilai variabel lingkungan. Saat menggunakan `SECRETS_MANAGER` tipe `PARAMETER_STORE` atau, nilai ini harus berupa nama parameter yang telah Anda simpan di AWS Systems Manager Parameter Store atau rahasia yang telah Anda simpan di AWS Secrets Manager, masing-masing.
**catatan**  
Kami sangat tidak menyarankan penggunaan variabel lingkungan untuk menyimpan nilai sensitif, terutama AWS kredensyal. Saat Anda menggunakan CodeBuild konsol atau AWS CLI, variabel lingkungan ditampilkan dalam teks biasa. Untuk nilai sensitif, kami sarankan Anda menggunakan `SECRETS_MANAGER` tipe sebagai gantinya. 
+ `type`: (Opsional) Jenis variabel lingkungan. Nilai yang valid adalah `PARAMETER_STORE`, `SECRETS_MANAGER`, atau `PLAINTEXT`. Ketika tidak ditentukan, ini default ke. `PLAINTEXT`
Saat Anda memasukkan`name`,`value`, dan `type` untuk konfigurasi variabel lingkungan Anda, terutama jika variabel lingkungan berisi sintaks variabel CodePipeline keluaran, jangan melebihi batas 1000 karakter untuk bidang nilai konfigurasi. Kesalahan validasi dikembalikan ketika batas ini terlampaui.
Untuk informasi selengkapnya, lihat [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)di Referensi AWS CodeBuild API. Untuk contoh CodeBuild tindakan dengan variabel lingkungan yang menyelesaikan ke nama GitHub cabang, lihat. [Contoh: Gunakan BranchName variabel dengan variabel CodeBuild lingkungan](actions-variables.md#actions-variables-examples-env-branchname)

## Artefak masukan
<a name="action-reference-CodeBuild-input"></a>
+ **Jumlah artefak:** `1 to 5`
+ **Deskripsi:** CodeBuild mencari file buildspec dan menjalankan perintah buildspec dari direktori artefak sumber utama. Ketika salah satu sumber input ditentukan atau ketika lebih dari satu sumber input ditentukan untuk CodeBuild tindakan, artefak tunggal, atau artefak utama dalam kasus beberapa sumber input, harus diatur menggunakan parameter konfigurasi `PrimarySource` tindakan di. CodePipeline 

  Setiap artefak input diekstraksi ke direktorinya sendiri, lokasi yang disimpan dalam variabel lingkungan. Direktori untuk artefak sumber utama tersedia dengan`$CODEBUILD_SRC_DIR`. Direktori untuk semua artefak input lainnya tersedia dengan. `$CODEBUILD_SRC_DIR_yourInputArtifactName`
**catatan**  
Artefak yang dikonfigurasi dalam CodeBuild proyek Anda menjadi artefak input yang digunakan oleh CodeBuild aksi di pipeline Anda.

## Artefak keluaran
<a name="action-reference-CodeBuild-output"></a>
+ **Jumlah artefak:** `0 to 5` 
+ **Deskripsi:** Ini dapat digunakan untuk membuat artefak yang didefinisikan dalam file CodeBuild buildspec tersedia untuk tindakan selanjutnya dalam pipeline. Ketika hanya satu artefak keluaran yang didefinisikan, artefak ini dapat didefinisikan langsung di bawah `artifacts` bagian file buildspec. Ketika lebih dari satu artefak keluaran ditentukan, semua artefak yang direferensikan harus didefinisikan sebagai artefak sekunder dalam file buildspec. Nama-nama artefak keluaran CodePipeline harus cocok dengan pengidentifikasi artefak dalam file buildspec.
**catatan**  
Artefak yang dikonfigurasi dalam CodeBuild proyek Anda menjadi artefak CodePipeline masukan dalam aksi pipeline Anda.

  Jika `CombineArtifacts` parameter dipilih untuk build batch, lokasi artefak keluaran berisi artefak gabungan dari beberapa build yang dijalankan dalam eksekusi yang sama.

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

Tindakan ini akan menghasilkan sebagai variabel semua variabel lingkungan yang diekspor sebagai bagian dari build. Untuk detail selengkapnya tentang cara mengekspor variabel lingkungan, lihat [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)di *Panduan AWS CodeBuild API*.

Untuk informasi selengkapnya tentang penggunaan variabel CodeBuild lingkungan di CodePipeline, lihat contoh di[CodeBuild variabel keluaran aksi](reference-variables.md#reference-variables-list-configured-codebuild). Untuk daftar variabel lingkungan yang dapat Anda gunakan CodeBuild, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) di *Panduan AWS CodeBuild Pengguna*.

## Izin peran layanan: tindakan CodeBuild
<a name="edit-role-codebuild"></a>

Untuk CodeBuild dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

****  

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

------

## Deklarasi tindakan (CodeBuild contoh)
<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"
                }
            ]
        }
    ]
}
```

------

## Lihat juga
<a name="action-reference-CodeBuild-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS CodeBuild Panduan Pengguna](https://docs.aws.amazon.com/codebuild/latest/userguide/) — Untuk contoh pipeline dengan CodeBuild tindakan, lihat [Menggunakan CodePipeline dengan CodeBuild untuk Menguji Kode dan Menjalankan Build.](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html) Untuk contoh proyek dengan beberapa CodeBuild artefak input dan output, lihat [CodePipelineIntegrasi dengan CodeBuild dan Beberapa Sumber Input dan Contoh Artefak Output dan Beberapa Sumber Input dan Contoh](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-multi-input-output.html) [Artefak Output](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html).
+ [Tutorial: Membuat pipeline yang membangun dan menguji aplikasi Android Anda AWS Device Farm](tutorials-codebuild-devicefarm.md)— Tutorial ini menyediakan contoh file buildspec dan contoh aplikasi untuk membuat pipeline dengan GitHub sumber yang membangun dan menguji aplikasi Android dengan dan. CodeBuild AWS Device Farm
+ [Referensi Spesifikasi Bangun untuk CodeBuild ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) — Topik referensi ini memberikan definisi dan contoh untuk memahami file CodeBuild buildspec. Untuk daftar variabel lingkungan yang dapat Anda gunakan CodeBuild, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) di *Panduan AWS CodeBuild Pengguna*.

# AWS CodePipeline memanggil referensi tindakan
<a name="action-reference-PipelineInvoke"></a>

Anda menggunakan tindakan CodePipeline pemanggilan untuk menyederhanakan pemicu eksekusi pipa hilir dan meneruskan variabel pipeline dan revisi sumber antar pipeline.

**catatan**  
Tindakan ini hanya didukung untuk pipeline tipe V2.

**Topics**
+ [Tipe tindakan](#action-reference-PipelineInvoke-type)
+ [Parameter konfigurasi](#action-reference-PipelineInvoke-parameters)
+ [Artefak masukan](#action-reference-PipelineInvoke-input)
+ [Artefak keluaran](#action-reference-PipelineInvoke-output)
+ [Izin kebijakan peran layanan untuk tindakan CodePipeline pemanggilan](#action-reference-PipelineInvoke-permissions-action)
+ [Deklarasi tindakan](#action-reference-PipelineInvoke-example)
+ [Lihat juga](#action-reference-PipelineInvoke-links)

## Tipe tindakan
<a name="action-reference-PipelineInvoke-type"></a>
+ Kategori: `Invoke`
+ Pemilik: `AWS`
+ Penyedia: `CodePipeline`
+ Versi: `1`

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

**PipelineName**  
Wajib: Ya  
Nama pipa yang akan, setelah berjalan, memulai pipa target saat ini. Anda harus sudah membuat pipeline pemanggilan. Tindakan akan memulai pipeline `s3-pipeline-test` (target) saat pipeline (pemanggilan) bernama `my-s3-pipeline` memulai eksekusi.

**SourceRevisions**  
Wajib: Tidak  
Revisi sumber yang Anda inginkan untuk digunakan pipeline target saat dimulai oleh pipeline pemanggilan. Misalnya, aksi sumber S3 menyediakan variabel keluaran seperti ID Versi S3 dan Kunci Objek. Anda dapat menentukan nilai revisi yang akan digunakan saat pipeline dipanggil.   
Untuk CLI, Anda menentukan revisi sumber sebagai string JSON serial. *Untuk informasi selengkapnya tentang penggunaan penggantian revisi sumber, lihat [SourceRevisionOverride](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_SourceRevisionOverride.html)di Panduan API. CodePipeline *  
Pemetaan menggunakan format string seperti yang ditunjukkan pada contoh berikut:  

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

**Variabel**  
Wajib: Tidak  
Nama dan nilai variabel yang Anda ingin tindakan untuk mendukung.  
Untuk CLI, Anda menentukan variabel sebagai string JSON serial. Untuk informasi selengkapnya tentang penggunaan variabel pipeline, lihat [PipelineVariable](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PipelineVariable.html)di *Panduan CodePipeline API*.  
Pemetaan menggunakan format string seperti yang ditunjukkan pada contoh berikut:  

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

Gambar berikut menunjukkan contoh tindakan yang ditambahkan ke pipeline di konsol. 

![\[Pipeline dengan sumber S3 dan tahap pembuatan yang menyertakan aksi pemanggilan pipeline\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/example-pipeline-invoke-run.png)


Gambar berikut menunjukkan contoh halaman **Edit** untuk tindakan tersebut. Dalam contoh berikut, pipeline bernama `s3-pipeline-test` memiliki tindakan pemanggilan pipeline yang dikonfigurasi seperti yang ditunjukkan untuk konsol. Tindakan akan memulai `s3-pipeline-test` pipeline ketika pipeline bernama `my-s3-pipeline` menyelesaikan eksekusi. Contoh menunjukkan bahwa penggantian revisi sumber untuk penggantian sumber S3\$1OBJECT\$1VERSION\$1ID dengan nilai revisi tertentu dari. `zq8mjNYEexample`

![\[Halaman tindakan Edit untuk pipeline baru dengan tindakan pemanggilan pipeline\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/example-pipeline-invoke-edit.png)


## Artefak masukan
<a name="action-reference-PipelineInvoke-input"></a>
+ **Jumlah artefak:** `0`
+ **Deskripsi:** Artefak masukan tidak berlaku untuk jenis tindakan ini.

## Artefak keluaran
<a name="action-reference-PipelineInvoke-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin kebijakan peran layanan untuk tindakan CodePipeline pemanggilan
<a name="action-reference-PipelineInvoke-permissions-action"></a>

Saat CodePipeline menjalankan tindakan, kebijakan peran CodePipeline layanan memerlukan `codepipeline:StartPipelineExecution` izin, yang dicakup dengan tepat ke ARN sumber daya pipeline untuk mempertahankan akses dengan hak istimewa paling sedikit.

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

## Deklarasi tindakan
<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\"}]"
    }
},
```

------

## Lihat juga
<a name="action-reference-PipelineInvoke-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+  [Mulai pipeline dengan penggantian revisi sumber](pipelines-trigger-source-overrides.md)— Bagian ini menjelaskan memulai pipa dengan revisi sumber secara manual atau melalui transformator input EventBridge peristiwa.

# CodeCommit referensi tindakan sumber
<a name="action-reference-CodeCommit"></a>

Memulai pipeline saat komit baru dibuat pada CodeCommit repositori dan cabang yang dikonfigurasi.

Jika Anda menggunakan konsol untuk membuat atau mengedit pipeline, CodePipeline buat EventBridge aturan yang memulai pipeline saat terjadi perubahan di repositori.

**catatan**  
Untuk Amazon ECR, Amazon S3, CodeCommit atau sumber, Anda juga dapat membuat penggantian sumber menggunakan entri transformasi input untuk menggunakan `revisionValue` peristiwa EventBridge in untuk pipeline Anda, yang berasal dari variabel peristiwa sumber untuk kunci objek, komit, atau ID gambar Anda. `revisionValue` Untuk informasi selengkapnya, lihat langkah opsional untuk entri transformasi masukan yang disertakan dalam prosedur di bawah[Tindakan sumber dan sumber daya Amazon ECR EventBridge](create-cwe-ecr-source.md),[Menyambungkan ke tindakan sumber Amazon S3 dengan sumber yang diaktifkan untuk acara](create-S3-source-events.md), atau[CodeCommit tindakan sumber dan EventBridge](triggering.md).

Anda harus sudah membuat CodeCommit repositori sebelum menghubungkan pipeline melalui tindakan. CodeCommit 

Setelah perubahan kode terdeteksi, Anda memiliki opsi berikut untuk meneruskan kode ke tindakan selanjutnya:
+ **Default** - Mengkonfigurasi tindakan CodeCommit sumber untuk menampilkan file ZIP dengan salinan dangkal dari komit Anda.
+ **Full clone** — Mengonfigurasi aksi sumber untuk menampilkan referensi URL Git ke repositori untuk tindakan selanjutnya.

  Saat ini, referensi URL Git hanya dapat digunakan oleh CodeBuild tindakan hilir untuk mengkloning repo dan metadata Git terkait. Mencoba meneruskan referensi URL Git ke CodeBuild non-tindakan menghasilkan kesalahan.

**Topics**
+ [Tipe tindakan](#action-reference-CodeCommit-type)
+ [Parameter konfigurasi](#action-reference-CodeCommit-config)
+ [Artefak masukan](#action-reference-CodeCommit-input)
+ [Artefak keluaran](#action-reference-CodeCommit-output)
+ [Variabel keluaran](#action-reference-CodeCommit-variables)
+ [Izin peran layanan: tindakan CodeCommit](#edit-role-codecommit)
+ [Contoh konfigurasi tindakan](#action-reference-CodeCommit-example)
+ [Lihat juga](#action-reference-CodeCommit-links)

## Tipe tindakan
<a name="action-reference-CodeCommit-type"></a>
+ Kategori: `Source`
+ Pemilik: `AWS`
+ Penyedia: `CodeCommit`
+ Versi: `1`

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

**RepositoryName**  
Wajib: Ya  
Nama repositori tempat perubahan sumber akan dideteksi.

**BranchName**  
Wajib: Ya  
Nama cabang tempat perubahan sumber harus dideteksi.

**PollForSourceChanges**  
Wajib: Tidak  
`PollForSourceChanges`mengontrol apakah CodePipeline polling CodeCommit repositori untuk perubahan sumber. Kami menyarankan Anda menggunakan CloudWatch Acara untuk mendeteksi perubahan sumber sebagai gantinya. Untuk informasi selengkapnya tentang mengonfigurasi CloudWatch Acara, lihat [Migrasi jalur pemungutan suara (CodeCommit sumber) (CLI)](update-change-detection.md#update-change-detection-cli-codecommit) atau[Migrasikan jalur pemungutan suara (CodeCommit sumber) (templat)CloudFormation](update-change-detection.md#update-change-detection-cfn-codecommit).  
Jika ingin mengonfigurasi aturan CloudWatch Peristiwa, Anda harus mengatur `PollForSourceChanges` `false` untuk menghindari eksekusi pipeline duplikat.
Nilai yang valid untuk parameter ini:  
+ `true`: Jika disetel, CodePipeline polling repositori Anda untuk perubahan sumber.
**catatan**  
Jika Anda menghilangkan`PollForSourceChanges`, CodePipeline default untuk polling repositori Anda untuk perubahan sumber. Perilaku ini sama seperti jika `PollForSourceChanges` disertakan dan disetel ke`true`.
+ `false`: Jika disetel, CodePipeline tidak melakukan polling repositori Anda untuk perubahan sumber. Gunakan setelan ini jika Anda ingin mengonfigurasi aturan CloudWatch Peristiwa untuk mendeteksi perubahan sumber.

****OutputArtifactFormat****  
Wajib: Tidak  
Format artefak keluaran. Nilai dapat berupa `CODEBUILD_CLONE_REF` atau`CODE_ZIP`. Jika tidak ditentukan, defaultnya adalah`CODE_ZIP`.  
`CODEBUILD_CLONE_REF`Opsi ini hanya dapat digunakan oleh tindakan CodeBuild hilir.  
Jika Anda memilih opsi ini, Anda perlu menambahkan `codecommit:GitPull` izin ke peran CodeBuild layanan Anda seperti yang ditunjukkan pada[Tambahkan CodeBuild GitClone izin untuk tindakan CodeCommit sumber](troubleshooting.md#codebuild-role-codecommitclone). Anda juga perlu menambahkan `codecommit:GetRepository` izin ke peran CodePipeline layanan Anda seperti yang ditunjukkan pada[Menambahkan izin ke peran CodePipeline layanan](how-to-custom-role.md#how-to-update-role-new-services). Untuk tutorial yang menunjukkan cara menggunakan opsi **klon Penuh**, lihat[Tutorial: Gunakan klon lengkap dengan sumber CodeCommit pipa](tutorials-codecommit-gitclone.md).

## Artefak masukan
<a name="action-reference-CodeCommit-input"></a>
+ **Jumlah artefak:** `0`
+ **Deskripsi:** Artefak masukan tidak berlaku untuk jenis tindakan ini.

## Artefak keluaran
<a name="action-reference-CodeCommit-output"></a>
+ **Jumlah artefak:** `1` 
+ **Deskripsi:** Artefak keluaran dari tindakan ini adalah file ZIP yang berisi konten repositori dan cabang yang dikonfigurasi pada komit yang ditentukan sebagai revisi sumber untuk eksekusi pipeline. Artefak yang dihasilkan dari repositori adalah artefak keluaran untuk tindakan tersebut. CodeCommit ID komit kode sumber ditampilkan CodePipeline sebagai revisi sumber untuk eksekusi pipeline yang dipicu.

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**CommitId**  
ID CodeCommit komit yang memicu eksekusi pipeline. Komit IDs adalah SHA penuh dari komit.

**CommitMessage**  
Pesan deskripsi, jika ada, terkait dengan komit yang memicu eksekusi pipeline.

**RepositoryName**  
Nama CodeCommit repositori tempat komit yang memicu pipeline dibuat.

**BranchName**  
Nama cabang untuk CodeCommit repositori tempat perubahan sumber dilakukan.

**AuthorDate**  
Tanggal ketika komit ditulis, dalam format stempel waktu.

**CommitterDate**  
Tanggal ketika komit dilakukan, dalam format stempel waktu.

## Izin peran layanan: tindakan CodeCommit
<a name="edit-role-codecommit"></a>

Saat CodePipeline menjalankan tindakan, kebijakan peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat ke ARN sumber daya pipeline untuk mempertahankan akses dengan hak istimewa paling sedikit. Misalnya, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

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

------



## Contoh konfigurasi tindakan
<a name="action-reference-CodeCommit-example"></a>

### Contoh untuk format artefak keluaran default
<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"
}
```

------

### Contoh untuk format artefak keluaran klon penuh
<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"
}
```

------

## Lihat juga
<a name="action-reference-CodeCommit-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Buat pipeline sederhana (CodeCommit repositori)](tutorials-simple-codecommit.md)— Tutorial ini menyediakan contoh file spesifikasi aplikasi dan contoh CodeDeploy aplikasi dan kelompok penyebaran. Gunakan tutorial ini untuk membuat pipeline dengan CodeCommit sumber yang menyebarkan ke instans Amazon EC2.

# AWS CodeDeploy menyebarkan referensi tindakan
<a name="action-reference-CodeDeploy"></a>

Anda menggunakan AWS CodeDeploy tindakan untuk menyebarkan kode aplikasi ke armada penyebaran Anda. Armada penerapan Anda dapat terdiri dari instans Amazon EC2, instans lokal, atau keduanya.

**catatan**  
Topik referensi ini menjelaskan tindakan CodeDeploy penerapan CodePipeline di mana platform penerapan adalah Amazon EC2. Untuk informasi referensi tentang Amazon Elastic Container Service untuk tindakan CodeDeploy blue/green penerapan CodePipeline, lihat[Amazon Elastic Container Service dan CodeDeploy referensi aksi penerapan biru-hijau](action-reference-ECSbluegreen.md).

**Topics**
+ [Tipe tindakan](#action-reference-CodeDeploy-type)
+ [Parameter konfigurasi](#action-reference-CodeDeploy-config)
+ [Artefak masukan](#action-reference-CodeDeploy-input)
+ [Artefak keluaran](#action-reference-CodeDeploy-output)
+ [Izin peran layanan: tindakan AWS CodeDeploy](#edit-role-codedeploy)
+ [Deklarasi tindakan](#action-reference-CodeDeploy-example)
+ [Lihat juga](#action-reference-CodeDeploy-links)

## Tipe tindakan
<a name="action-reference-CodeDeploy-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `CodeDeploy`
+ Versi: `1`

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

**ApplicationName**  
Wajib: Ya  
Nama aplikasi yang Anda buat CodeDeploy.

**DeploymentGroupName**  
Wajib: Ya  
Grup penyebaran yang Anda buat. CodeDeploy

## Artefak masukan
<a name="action-reference-CodeDeploy-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** AppSpec File yang CodeDeploy digunakan untuk menentukan:
  + Apa yang harus diinstal ke instans Anda dari revisi aplikasi Anda di Amazon S3 atau. GitHub
  + Peristiwa siklus hidup mana yang akan dijalankan sebagai respons terhadap peristiwa siklus hidup penerapan.

  Untuk informasi selengkapnya tentang AppSpec file, lihat [Referensi CodeDeploy AppSpec File](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html).

  

## Artefak keluaran
<a name="action-reference-CodeDeploy-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: tindakan AWS CodeDeploy
<a name="edit-role-codedeploy"></a>

Untuk AWS CodeDeploy dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

------
#### [ 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": [
                "*"
            ]
        }
    ]
}
```

------

## Deklarasi tindakan
<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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-CodeDeploy-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Buat pipeline sederhana (ember S3)](tutorials-simple-s3.md)— Tutorial ini memandu Anda melalui pembuatan bucket sumber, instans EC2, dan CodeDeploy sumber daya untuk menyebarkan aplikasi sampel. Anda kemudian membuat pipeline dengan tindakan CodeDeploy penerapan yang menerapkan kode yang dikelola di bucket S3 ke instans Amazon EC2.
+ [Tutorial: Buat pipeline sederhana (CodeCommit repositori)](tutorials-simple-codecommit.md)— Tutorial ini memandu Anda melalui pembuatan repositori CodeCommit sumber Anda, instans EC2, dan CodeDeploy sumber daya untuk menyebarkan aplikasi sampel. Anda kemudian membuat pipeline dengan tindakan CodeDeploy penerapan yang menerapkan kode dari CodeCommit repositori ke instans Amazon EC2.
+ [CodeDeploy AppSpec Referensi File](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html) — Bab referensi dalam *Panduan AWS CodeDeploy Pengguna* ini memberikan informasi referensi dan contoh untuk CodeDeploy AppSpec file.

# CodeStarSourceConnection untuk Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com, dan tindakan yang dikelola GitLab sendiri
<a name="action-reference-CodestarConnectionSource"></a>

Tindakan sumber untuk koneksi didukung oleh AWS CodeConnections. CodeConnections memungkinkan Anda untuk membuat dan mengelola koneksi antara AWS sumber daya dan repositori pihak ketiga seperti. GitHub Memulai pipeline saat komit baru dibuat pada repositori kode sumber pihak ketiga. Tindakan sumber mengambil perubahan kode saat pipeline dijalankan secara manual atau saat peristiwa webhook dikirim dari penyedia sumber. 

Anda dapat mengonfigurasi tindakan dalam pipeline Anda untuk menggunakan konfigurasi Git yang memungkinkan Anda memulai pipeline dengan pemicu. Untuk mengonfigurasi konfigurasi pemicu pipeline untuk memfilter dengan pemicu, lihat detail selengkapnya di[Tambahkan pemicu dengan tipe acara permintaan push atau pull kode](pipelines-filter.md).

**catatan**  
Fitur ini tidak tersedia di Asia Pasifik (Hong Kong), Asia Pasifik (Hyderabad), Asia Pasifik (Jakarta), Asia Pasifik (Melbourne), Asia Pasifik (Osaka), Afrika (Cape Town), Timur Tengah (Bahrain), Timur Tengah (UEA), Eropa (Spanyol), Eropa (Zurich), Israel (Tel Aviv), atau (AS-Barat) Wilayah. AWS GovCloud Untuk mereferensikan tindakan lain yang tersedia, lihat[Integrasi produk dan layanan dengan CodePipeline](integrations.md). Untuk pertimbangan dengan tindakan ini di Wilayah Eropa (Milan), lihat catatan di[CodeStarSourceConnection untuk Bitbucket Cloud, GitHub Enterprise Server GitHub, GitLab .com, dan tindakan yang dikelola GitLab sendiri](#action-reference-CodestarConnectionSource).

Koneksi dapat mengaitkan AWS sumber daya Anda dengan repositori pihak ketiga berikut:
+ Bitbucket Cloud (melalui opsi penyedia **Bitbucket** di CodePipeline konsol atau `Bitbucket` penyedia di CLI)
**catatan**  
Anda dapat membuat koneksi ke repositori Bitbucket Cloud. Jenis penyedia Bitbucket yang diinstal, seperti Bitbucket Server, tidak didukung. 
+ 
**catatan**  
Jika Anda menggunakan ruang kerja Bitbucket, Anda harus memiliki akses administrator untuk membuat koneksi.
+ GitHub dan GitHub Enterprise Cloud (melalui opsi penyedia **GitHub (melalui GitHub Aplikasi)** di CodePipeline konsol atau `GitHub` penyedia di CLI)
**catatan**  
Jika repositori Anda ada di GitHub organisasi, Anda harus menjadi pemilik organisasi untuk membuat koneksi. Jika Anda menggunakan repositori yang tidak ada dalam organisasi, Anda harus menjadi pemilik repositori.
+ GitHub Server Perusahaan (melalui opsi penyedia **Server GitHub Perusahaan** di CodePipeline konsol atau `GitHub Enterprise Server` penyedia di CLI)
+ GitLab.com (melalui opsi **GitLab**penyedia di CodePipeline konsol atau `GitLab` penyedia di CLI)
**catatan**  
Anda dapat membuat koneksi ke repositori tempat Anda memiliki peran **Pemilik** GitLab, dan kemudian koneksi dapat digunakan dengan repositori dengan sumber daya seperti. CodePipeline Untuk repositori dalam grup, Anda tidak perlu menjadi pemilik grup.
+ Instalasi yang dikelola sendiri untuk GitLab (Edisi Perusahaan atau Edisi Komunitas) (melalui opsi penyedia yang **GitLab dikelola sendiri** di CodePipeline konsol atau `GitLabSelfManaged` penyedia di CLI)

**catatan**  
Setiap koneksi mendukung semua repositori yang Anda miliki dengan penyedia itu. Anda hanya perlu membuat koneksi baru untuk setiap jenis penyedia.

Koneksi memungkinkan pipeline Anda mendeteksi perubahan sumber melalui aplikasi penginstalan penyedia pihak ketiga. Misalnya, webhook digunakan untuk berlangganan jenis GitHub acara dan dapat diinstal pada organisasi, repositori, atau Aplikasi. GitHub Koneksi Anda menginstal webhook repositori di GitHub Aplikasi Anda yang berlangganan peristiwa jenis push. GitHub 

Setelah perubahan kode terdeteksi, Anda memiliki opsi berikut untuk meneruskan kode ke tindakan selanjutnya:
+ Default: Seperti tindakan CodePipeline sumber lain yang ada, `CodeStarSourceConnection` dapat menampilkan file ZIP dengan salinan dangkal dari komit Anda.
+ Klon lengkap: juga `CodeStarSourceConnection` dapat dikonfigurasi untuk menampilkan referensi URL ke repo untuk tindakan selanjutnya.

  Saat ini, referensi URL Git hanya dapat digunakan oleh CodeBuild tindakan hilir untuk mengkloning repo dan metadata Git terkait. Mencoba meneruskan referensi URL Git ke CodeBuild non-tindakan menghasilkan kesalahan.

CodePipeline meminta Anda untuk menambahkan aplikasi penginstalan AWS Konektor ke akun pihak ketiga saat Anda membuat koneksi. Anda harus sudah membuat akun dan repositori penyedia pihak ketiga Anda sebelum Anda dapat terhubung melalui tindakan. `CodeStarSourceConnection`

**catatan**  
Untuk membuat atau melampirkan kebijakan ke peran Anda dengan izin yang diperlukan untuk menggunakan AWS CodeStar koneksi, lihat Referensi [izin koneksi](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections). Bergantung pada kapan peran CodePipeline layanan dibuat, Anda mungkin perlu memperbarui izinnya untuk mendukung AWS CodeStar koneksi. Untuk petunjuk, lihat [Menambahkan izin ke peran CodePipeline layanan](how-to-custom-role.md#how-to-update-role-new-services).

**catatan**  
Untuk menggunakan koneksi di Eropa (Milan) Wilayah AWS, Anda harus:   
Instal aplikasi khusus Wilayah
Aktifkan Wilayah
Aplikasi khusus Wilayah ini mendukung koneksi di Wilayah Eropa (Milan). Ini diterbitkan di situs penyedia pihak ketiga, dan terpisah dari aplikasi yang ada yang mendukung koneksi untuk Wilayah lain. Dengan menginstal aplikasi ini, Anda memberi wewenang kepada penyedia pihak ketiga untuk membagikan data Anda dengan layanan untuk Wilayah ini saja, dan Anda dapat mencabut izin kapan saja dengan mencopot pemasangan aplikasi.  
Layanan tidak akan memproses atau menyimpan data Anda kecuali Anda mengaktifkan Wilayah. Dengan mengaktifkan Wilayah ini, Anda memberikan izin layanan kami untuk memproses dan menyimpan data Anda.  
Meskipun Wilayah tidak diaktifkan, penyedia pihak ketiga masih dapat membagikan data Anda dengan layanan kami jika aplikasi khusus Wilayah tetap diinstal, jadi pastikan untuk menghapus instalan aplikasi setelah Anda menonaktifkan Wilayah. Untuk informasi selengkapnya, lihat [Mengaktifkan Wilayah](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable).

**Topics**
+ [Tipe tindakan](#action-reference-CodestarConnectionSource-type)
+ [Parameter konfigurasi](#action-reference-CodestarConnectionSource-config)
+ [Artefak masukan](#action-reference-CodestarConnectionSource-input)
+ [Artefak keluaran](#action-reference-CodestarConnectionSource-output)
+ [Variabel keluaran](#action-reference-CodestarConnectionSource-variables)
+ [Izin peran layanan: tindakan CodeConnections](#edit-role-connections)
+ [Deklarasi tindakan](#action-reference-CodestarConnectionSource-example)
+ [Menginstal aplikasi instalasi dan membuat koneksi](#action-reference-CodestarConnectionSource-auth)
+ [Lihat juga](#action-reference-CodestarConnectionSource-links)

## Tipe tindakan
<a name="action-reference-CodestarConnectionSource-type"></a>
+ Kategori: `Source`
+ Pemilik: `AWS`
+ Penyedia: `CodeStarSourceConnection`
+ Versi: `1`

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

****ConnectionArn****  
Wajib: Ya  
Koneksi ARN yang dikonfigurasi dan diautentikasi untuk penyedia sumber.

****FullRepositoryId****  
Wajib: Ya  
Pemilik dan nama repositori tempat perubahan sumber dideteksi.  
Contoh: `some-user/my-repo`  
Anda harus mempertahankan kasus yang benar untuk **FullRepositoryId**nilainya. Misalnya, jika nama pengguna Anda `some-user` dan nama repo adalah`My-Repo`, nilai yang disarankan **FullRepositoryId**adalah`some-user/My-Repo`.

****BranchName****  
Wajib: Ya  
Nama cabang tempat perubahan sumber harus dideteksi.

****OutputArtifactFormat****  
Wajib: Tidak  
Menentukan format artefak keluaran. Bisa salah satu `CODEBUILD_CLONE_REF` atau`CODE_ZIP`. Jika tidak ditentukan, defaultnya adalah`CODE_ZIP`.  
`CODEBUILD_CLONE_REF`Opsi ini hanya dapat digunakan oleh tindakan CodeBuild hilir.  
Jika Anda memilih opsi ini, Anda perlu memperbarui izin untuk peran layanan CodeBuild proyek Anda seperti yang ditunjukkan pada[Tambahkan CodeBuild GitClone izin untuk koneksi ke Bitbucket,, GitHub Enterprise Server GitHub, atau .com GitLab](troubleshooting.md#codebuild-role-connections). Untuk tutorial yang menunjukkan cara menggunakan opsi **klon Penuh**, lihat[Tutorial: Gunakan klon lengkap dengan sumber GitHub pipa](tutorials-github-gitclone.md).

**DetectChanges**  
 Wajib: Tidak  
Kontrol secara otomatis memulai pipeline Anda ketika komit baru dibuat pada repositori dan cabang yang dikonfigurasi. Jika tidak ditentukan, nilai default adalah`true`, dan bidang tidak ditampilkan secara default. Nilai yang valid untuk parameter ini:  
+ `true`: CodePipeline secara otomatis memulai pipeline Anda pada komit baru.
+ `false`: CodePipeline tidak memulai pipeline Anda pada komit baru.

## Artefak masukan
<a name="action-reference-CodestarConnectionSource-input"></a>
+ **Jumlah artefak:** `0`
+ **Deskripsi:** Artefak masukan tidak berlaku untuk jenis tindakan ini.

## Artefak keluaran
<a name="action-reference-CodestarConnectionSource-output"></a>
+ **Jumlah artefak:** `1` 
+ **Deskripsi:** Artefak yang dihasilkan dari repositori adalah artefak keluaran untuk tindakan tersebut. `CodeStarSourceConnection` ID komit kode sumber ditampilkan CodePipeline sebagai revisi sumber untuk eksekusi pipeline yang dipicu. Anda dapat mengonfigurasi artefak keluaran dari tindakan ini di:
  + File ZIP yang berisi isi repositori dan cabang yang dikonfigurasi pada komit yang ditentukan sebagai revisi sumber untuk eksekusi pipeline.
  + File JSON yang berisi referensi URL ke repositori sehingga tindakan hilir dapat melakukan perintah Git secara langsung.
**penting**  
Opsi ini hanya dapat digunakan oleh tindakan CodeBuild hilir.  
Jika Anda memilih opsi ini, Anda perlu memperbarui izin untuk peran layanan CodeBuild proyek Anda seperti yang ditunjukkan pada[Pemecahan masalah CodePipeline](troubleshooting.md). Untuk tutorial yang menunjukkan cara menggunakan opsi **klon Penuh**, lihat[Tutorial: Gunakan klon lengkap dengan sumber GitHub pipa](tutorials-github-gitclone.md).

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

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

AuthorDate  
Tanggal ketika komit ditulis, dalam format stempel waktu.

BranchName  
Nama cabang untuk repositori tempat perubahan sumber dilakukan.

CommitId  
ID komit yang memicu eksekusi pipeline.

CommitMessage  
Pesan deskripsi, jika ada, terkait dengan komit yang memicu eksekusi pipeline.

ConnectionArn  
Koneksi ARN yang dikonfigurasi dan diautentikasi untuk penyedia sumber.

FullRepositoryName  
Nama repositori tempat komit yang memicu pipeline dibuat.

## Izin peran layanan: tindakan CodeConnections
<a name="edit-role-connections"></a>

Untuk CodeConnections, izin berikut diperlukan untuk membuat pipeline dengan sumber yang menggunakan koneksi, seperti Bitbucket Cloud.

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

Untuk informasi selengkapnya tentang izin IAM untuk koneksi, lihat Referensi [izin koneksi](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html#permissions-reference-connections).

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

Dalam contoh berikut, artefak keluaran diatur ke format ZIP default `CODE_ZIP` untuk koneksi dengan ARN`arn:aws:codestar-connections:region:account-id:connection/connection-id`.

------
#### [ 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"
        }
    ]
},
```

------

## Menginstal aplikasi instalasi dan membuat koneksi
<a name="action-reference-CodestarConnectionSource-auth"></a>

Pertama kali Anda menggunakan konsol untuk menambahkan koneksi baru ke repositori pihak ketiga, Anda harus mengotorisasi CodePipeline akses ke repositori Anda. Anda memilih atau membuat aplikasi instalasi yang membantu Anda terhubung ke akun tempat Anda membuat repositori kode pihak ketiga.

 Ketika Anda menggunakan AWS CLI atau CloudFormation template, Anda harus menyediakan koneksi ARN dari koneksi yang telah melalui jabat tangan instalasi. Jika tidak, pipa tidak dipicu. 

**catatan**  
Untuk tindakan `CodeStarSourceConnection` sumber, Anda tidak perlu menyiapkan webhook atau default ke polling. Tindakan koneksi mengelola deteksi perubahan sumber Anda untuk Anda.

## Lihat juga
<a name="action-reference-CodestarConnectionSource-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS::CodeStarConnections::Connection](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarconnections-connection.html)— Referensi CloudFormation template untuk sumber daya AWS CodeStar Connections menyediakan parameter dan contoh untuk koneksi dalam CloudFormation template.
+ [AWS CodeStarReferensi API AWS](https://docs.aws.amazon.com/codestar-connections/latest/APIReference/Welcome.html) * CodeStar Koneksi — Referensi API Koneksi* menyediakan informasi referensi untuk tindakan koneksi yang tersedia.
+ Untuk melihat langkah-langkah untuk membuat pipeline dengan tindakan sumber yang didukung oleh koneksi, lihat berikut ini:
  + Untuk Bitbucket Cloud, gunakan opsi **Bitbucket** di konsol atau `CodestarSourceConnection` tindakan di CLI. Lihat [Koneksi Bitbucket Cloud](connections-bitbucket.md).
  + Untuk GitHub dan GitHub Enterprise Cloud, gunakan opsi **GitHub**penyedia di konsol atau `CodestarSourceConnection` tindakan di CLI. Lihat [GitHub koneksi](connections-github.md).
  + Untuk GitHub Enterprise Server, gunakan opsi penyedia **GitHub Enterprise Server** di konsol atau `CodestarSourceConnection` tindakan di CLI. Lihat [GitHub Koneksi Enterprise Server](connections-ghes.md).
  +  GitLabUntuk.com, gunakan opsi **GitLab**penyedia di konsol atau `CodestarSourceConnection` tindakan dengan `GitLab` penyedia di CLI. Lihat [GitLabkoneksi .com](connections-gitlab.md).
+ Untuk melihat tutorial Memulai yang membuat pipeline dengan sumber Bitbucket dan CodeBuild tindakan, lihat [Memulai koneksi](https://docs.aws.amazon.com/dtconsole/latest/userguide/getting-started-connections.html).
+ Untuk tutorial yang menunjukkan cara menghubungkan ke GitHub repositori dan menggunakan opsi **klon Penuh** dengan tindakan hilir CodeBuild , lihat. [Tutorial: Gunakan klon lengkap dengan sumber GitHub pipa](tutorials-github-gitclone.md)

# Referensi tindakan perintah
<a name="action-reference-Commands"></a>

Tindakan Commands memungkinkan Anda menjalankan perintah shell dalam instance komputasi virtual. Saat Anda menjalankan tindakan, perintah yang ditentukan dalam konfigurasi tindakan dijalankan dalam wadah terpisah. Semua artefak yang ditetapkan sebagai artefak masukan untuk suatu CodeBuild tindakan tersedia di dalam wadah yang menjalankan perintah. Tindakan ini memungkinkan Anda untuk menentukan perintah tanpa terlebih dahulu membuat CodeBuild proyek. Untuk informasi selengkapnya, lihat [ActionDeclaration](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ActionDeclaration.html)dan [OutputArtifact](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_OutputArtifact.html)di *Referensi AWS CodePipeline API*.

**penting**  
Tindakan ini menggunakan CodeBuild komputasi CodePipeline terkelola untuk menjalankan perintah di lingkungan build. Menjalankan tindakan perintah akan dikenakan biaya terpisah di AWS CodeBuild.

**catatan**  
Tindakan Commands hanya tersedia untuk pipeline tipe V2.

**Topics**
+ [Pertimbangan untuk tindakan Perintah](#action-reference-Commands-considerations)
+ [Izin kebijakan peran layanan](#action-reference-Commands-policy)
+ [Tipe tindakan](#action-reference-Commands-type)
+ [Parameter konfigurasi](#action-reference-Commands-config)
+ [Artefak masukan](#action-reference-Commands-input)
+ [Artefak keluaran](#action-reference-Commands-output)
+ [Variabel-variabel lingkungan](#action-reference-Commands-envvars)
+ [Izin peran layanan: Tindakan perintah](#edit-role-Commands)
+ [Deklarasi tindakan (contoh)](#action-reference-Commands-example)
+ [Lihat juga](#action-reference-Commands-links)

## Pertimbangan untuk tindakan Perintah
<a name="action-reference-Commands-considerations"></a>

Pertimbangan berikut berlaku untuk tindakan Perintah.
+ Tindakan perintah menggunakan CodeBuild sumber daya yang mirip dengan CodeBuild tindakan, sambil mengizinkan perintah lingkungan shell dalam instance komputasi virtual tanpa perlu mengaitkan atau membuat proyek build.
**catatan**  
Menjalankan tindakan perintah akan dikenakan biaya terpisah di AWS CodeBuild.
+ Karena tindakan Command CodePipeline menggunakan CodeBuild resource, build yang dijalankan oleh action akan dikaitkan dengan batas build untuk akun Anda. CodeBuild Build yang dijalankan oleh tindakan Command akan dihitung terhadap batas build bersamaan seperti yang dikonfigurasi untuk akun tersebut.
+ Batas waktu untuk build dengan tindakan Commands adalah 55 menit, berdasarkan CodeBuild build.
+ Instance komputasi menggunakan lingkungan build yang terisolasi di CodeBuild. 
**catatan**  
Karena lingkungan build terisolasi digunakan di tingkat akun, instance dapat digunakan kembali untuk eksekusi pipeline lainnya.
+ Semua format didukung kecuali format multi-baris. Anda harus menggunakan format satu baris saat memasukkan perintah.
+ Tindakan perintah didukung untuk tindakan lintas akun. Untuk menambahkan tindakan perintah lintas akun, tambahkan `actionRoleArn` dari akun target Anda dalam deklarasi tindakan.
+ Untuk tindakan ini, CodePipeline akan mengambil peran layanan pipeline dan menggunakan peran itu untuk memungkinkan akses ke sumber daya saat runtime. Disarankan untuk mengonfigurasi peran layanan sehingga izin dicakup ke tingkat tindakan.
+ Izin yang ditambahkan ke peran CodePipeline layanan dirinci dalam[Menambahkan izin ke peran CodePipeline layanan](how-to-custom-role.md#how-to-update-role-new-services).
+ Izin yang diperlukan untuk melihat log di konsol dirinci di[Izin diperlukan untuk melihat log komputasi di konsol](security-iam-permissions-console-logs.md).
+ Tidak seperti tindakan lain di CodePipeline, Anda tidak menyetel bidang dalam konfigurasi tindakan; Anda mengatur bidang konfigurasi tindakan di luar konfigurasi tindakan.

## Izin kebijakan peran layanan
<a name="action-reference-Commands-policy"></a>

Saat CodePipeline menjalankan tindakan, CodePipeline buat grup log menggunakan nama pipeline sebagai berikut. Ini memungkinkan Anda untuk mengurangi izin untuk mencatat sumber daya menggunakan nama pipeline.

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

Jika Anda menggunakan peran layanan yang ada, untuk menggunakan tindakan Perintah, Anda perlu menambahkan izin berikut untuk peran layanan.
+ log: CreateLogGroup
+ log: CreateLogStream
+ log: PutLogEvents

Dalam pernyataan kebijakan peran layanan, cakupkan izin ke tingkat pipeline seperti yang ditunjukkan pada contoh berikut.

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

Untuk melihat log di konsol menggunakan halaman dialog detail tindakan, izin untuk melihat log harus ditambahkan ke peran konsol. Untuk informasi selengkapnya, lihat contoh kebijakan izin konsol di[Izin diperlukan untuk melihat log komputasi di konsol](security-iam-permissions-console-logs.md).

## Tipe tindakan
<a name="action-reference-Commands-type"></a>
+ Kategori: `Compute`
+ Pemilik: `AWS`
+ Penyedia: `Commands`
+ Versi: `1`

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

**Commands**  
Wajib: Ya  
Anda dapat memberikan perintah shell untuk menjalankan `Commands` tindakan. Di konsol, perintah dimasukkan pada baris terpisah. Di CLI, perintah dimasukkan sebagai string terpisah.  
Format multi-baris tidak didukung dan akan menghasilkan pesan kesalahan. Format baris tunggal harus digunakan untuk memasukkan perintah di bidang **Perintah**.
 ComputeType Nilai EnvironmentType dan cocok dengan yang ada di CodeBuild. Kami mendukung subset dari jenis yang tersedia. Untuk informasi selengkapnya, lihat [Membangun Jenis Komputasi Lingkungan](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html).

**EnvironmentType**  
Wajib: Tidak  
Gambar OS untuk lingkungan build yang mendukung tindakan Command. Berikut ini adalah nilai yang valid untuk lingkungan build:  
+ LINUX\$1CONTAINER
+ WINDOWS\$1SERVER\$12022\$1CONTAINER
Pemilihan untuk kemudian **EnvironmentType**akan memungkinkan jenis komputasi untuk OS itu di **ComputeType**lapangan. Untuk informasi selengkapnya tentang jenis CodeBuild komputasi yang tersedia untuk tindakan ini, lihat referensi [mode komputasi dan tipe lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) di CodeBuild Panduan Pengguna.  
Jika tidak ditentukan, komputasi default menjadi berikut untuk lingkungan build:  
+ **Jenis komputasi:** GENERAL1 BUILD\$1 \$1SMALL
+ **Jenis lingkungan:** LINUX\$1CONTAINER

**ComputeType**  
Wajib: Tidak  
Berdasarkan pilihan untuk EnvironmentType, jenis komputasi dapat disediakan. Berikut ini adalah nilai yang tersedia untuk komputasi; Namun, perhatikan bahwa opsi yang tersedia dapat bervariasi menurut OS.  
+ BANGUN\$1 \$1KECIL GENERAL1
+ BANGUN\$1 \$1SEDANG GENERAL1
+ BANGUN\$1 \$1BESAR GENERAL1
Beberapa jenis komputasi tidak kompatibel dengan jenis lingkungan tertentu. Misalnya, WINDOWS\$1SERVER\$12022\$1CONTAINER tidak kompatibel dengan BUILD\$1 \$1SMALL. GENERAL1 Menggunakan kombinasi yang tidak kompatibel menyebabkan tindakan gagal dan menghasilkan kesalahan runtime.

**OutputVariabel**  
Wajib: Tidak  
Tentukan nama variabel di lingkungan Anda yang ingin Anda ekspor. Untuk referensi variabel CodeBuild lingkungan, lihat [Variabel lingkungan di lingkungan build](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) di *Panduan CodeBuild Pengguna*. 

**Berkas**  
Wajib: Tidak  
Anda dapat menyediakan file yang ingin Anda ekspor sebagai artefak keluaran untuk tindakan tersebut.  
Format yang didukung untuk file sama dengan pola CodeBuild file. Misalnya, masukkan `**/` untuk semua file. Untuk informasi selengkapnya, lihat [Membangun referensi spesifikasi untuk CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.artifacts.files) di *Panduan CodeBuild Pengguna*.  

![\[Halaman Edit tindakan untuk pipeline baru dengan tindakan Commands\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/commands-edit-screen.png)


**VpcId**  
Wajib: Tidak  
ID VPC untuk sumber daya Anda.

**Subnet**  
Wajib: Tidak  
Subnet untuk VPC. Bidang ini diperlukan ketika perintah Anda perlu terhubung ke sumber daya di VPC.

**SecurityGroupIds**  
Wajib: Tidak  
Kelompok keamanan untuk VPC. Bidang ini diperlukan ketika perintah Anda perlu terhubung ke sumber daya di VPC.

Berikut ini adalah contoh JSON dari tindakan dengan bidang konfigurasi yang ditampilkan untuk lingkungan dan jenis komputasi, bersama dengan variabel lingkungan contoh.

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

## Artefak masukan
<a name="action-reference-Commands-input"></a>
+ **Jumlah artefak:** `1 to 10`

## Artefak keluaran
<a name="action-reference-Commands-output"></a>
+ **Jumlah artefak:** `0 to 1` 

## Variabel-variabel lingkungan
<a name="action-reference-Commands-envvars"></a>

**Key**  
Kunci dalam pasangan variabel lingkungan kunci-nilai, seperti. `BEDROCK_TOKEN`

**Nilai**  
Nilai untuk pasangan kunci-nilai, seperti. `apiTokens:bedrockToken` Nilai dapat diparameterisasi dengan variabel keluaran dari tindakan pipa atau variabel pipa.  
Saat menggunakan `SECRETS_MANAGER` tipe, nilai ini harus berupa nama rahasia yang telah Anda simpan di AWS Secrets Manager.

**Tipe**  
Menentukan jenis penggunaan untuk nilai variabel lingkungan. Nilai dapat berupa `PLAINTEXT` atau `SECRETS_MANAGER`, salah satu. Jika nilainya`SECRETS_MANAGER`, berikan referensi Rahasia dalam `EnvironmentVariable` nilainya. Ketika tidak ditentukan, ini default ke. `PLAINTEXT`  
Kami sangat tidak menyarankan penggunaan variabel lingkungan *plaintext* untuk menyimpan nilai sensitif, terutama kredenal. AWS Saat Anda menggunakan CodeBuild konsol atau AWS CLI, variabel lingkungan *plaintext* ditampilkan dalam teks biasa. Untuk nilai sensitif, kami sarankan Anda menggunakan `SECRETS_MANAGER` tipe sebagai gantinya.

**catatan**  
Saat Anda memasukkan`name`,`value`, dan `type` untuk konfigurasi variabel lingkungan Anda, terutama jika variabel lingkungan berisi sintaks variabel CodePipeline keluaran, jangan melebihi batas 1000 karakter untuk bidang nilai konfigurasi. Kesalahan validasi dikembalikan ketika batas ini terlampaui.

Untuk contoh deklarasi tindakan yang menunjukkan variabel lingkungan, lihat[Parameter konfigurasi](#action-reference-Commands-config).

**catatan**  
`SECRETS_MANAGER`Jenis ini hanya didukung untuk tindakan Command.
Rahasia yang direferensikan dalam tindakan Perintah akan disunting di log build yang mirip dengan. CodeBuild Tetapi pengguna pipeline yang memiliki akses **Edit** ke pipeline masih berpotensi mengakses nilai rahasia ini dengan memodifikasi perintah.
Untuk menggunakannya SecretsManager, Anda harus menambahkan izin berikut ke peran layanan pipeline Anda:  

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

## Izin peran layanan: Tindakan perintah
<a name="edit-role-Commands"></a>

Untuk dukungan Perintah, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

------
#### [ 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*"
            ]
        }
    ]
}
```

------

## Deklarasi tindakan (contoh)
<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"
}
```

------

## Lihat juga
<a name="action-reference-Commands-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Tutorial: Buat pipeline yang menjalankan perintah dengan komputasi (tipe V2)](tutorials-commands.md)— Tutorial ini menyediakan contoh pipeline dengan tindakan Commands.

# AWS Device Farm referensi tindakan uji
<a name="action-reference-DeviceFarm"></a>

Dalam pipeline, Anda dapat mengonfigurasi tindakan pengujian yang digunakan AWS Device Farm untuk menjalankan dan menguji aplikasi di perangkat. Device Farm menggunakan kumpulan pengujian perangkat dan kerangka pengujian untuk menguji aplikasi pada perangkat tertentu. Untuk informasi tentang jenis framework pengujian yang didukung oleh tindakan Device Farm, lihat [Bekerja dengan Jenis Pengujian di AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**Topics**
+ [Tipe tindakan](#action-reference-DeviceFarm-type)
+ [Parameter konfigurasi](#action-reference-DeviceFarm-config)
+ [Artefak masukan](#action-reference-DeviceFarm-input)
+ [Artefak keluaran](#action-reference-DeviceFarm-output)
+ [Izin peran layanan: tindakan AWS Device Farm](#edit-role-devicefarm)
+ [Deklarasi tindakan](#action-reference-DeviceFarm-example)
+ [Lihat juga](#action-reference-DeviceFarm-links)

## Tipe tindakan
<a name="action-reference-DeviceFarm-type"></a>
+ Kategori: `Test`
+ Pemilik: `AWS`
+ Penyedia: `DeviceFarm`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-DeviceFarm-config"></a>

**AppType**  
Wajib: Ya  
OS dan jenis aplikasi yang Anda uji. Berikut ini adalah daftar nilai yang valid:  
+ `iOS`
+ `Android`
+ `Web`

**ProjectId**  
Wajib: Ya  
ID proyek Device Farm.   
Untuk menemukan ID proyek Anda, di konsol Device Farm, pilih project Anda. Di browser, salin URL proyek baru Anda. URL berisi ID proyek. ID proyek adalah nilai dalam URL setelahnya`projects/`. Dalam contoh berikut, ID proyek adalah`eec4905f-98f8-40aa-9afc-4c1cfexample`.  

```
https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
```

**Aplikasi**  
Wajib: Ya  
Nama dan lokasi file aplikasi di artefak input Anda. Misalnya: `s3-ios-test-1.ipa`

**TestSpec**  
Bersyarat: Ya  
Lokasi file definisi spesifikasi pengujian di artefak input Anda. Ini diperlukan untuk uji mode kustom.

**DevicePoolArn**  
Wajib: Ya  
Perangkat Device Farm menggabungkan ARN.   
Untuk mendapatkan kumpulan perangkat yang tersedia ARNs untuk proyek, termasuk ARN untuk Perangkat Teratas, gunakan AWS CLI untuk memasukkan perintah berikut:   

```
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID
```

**TestType**  
Wajib: Ya  
Menentukan kerangka pengujian yang didukung untuk pengujian Anda. Berikut ini adalah daftar nilai yang valid untuk`TestType`:  
+ **APPIUM\$1JAVA\$1JUNIT**
+ **APPIUM\$1JAVA\$1TESTNG**
+ **APPIUM\$1NODE**
+ **APPIUM\$1RUBY**
+ **APPIUM\$1PYTHON**
+ **APPIUM\$1WEB\$1JAVA\$1JUNIT**
+ **APPIUM\$1WEB\$1JAVA\$1TESTNG**
+ **APPIUM\$1WEB\$1NODE**
+ **APPIUM\$1WEB\$1RUBY**
+ **APPIUM\$1WEB\$1PYTHON**
+ **BUILTIN\$1FUZZ**
+ **INSTRUMENTASI**
+ **XCTEST**
+ **XCTEST\$1UI**
Jenis pengujian berikut tidak didukung oleh tindakan di CodePipeline:`WEB_PERFORMANCE_PROFILE`,`REMOTE_ACCESS_RECORD`, dan`REMOTE_ACCESS_REPLAY`.
Untuk informasi tentang jenis pengujian Device Farm, lihat [Bekerja dengan Jenis Pengujian di AWS Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html).

**RadioBluetoothEnabled**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah akan mengaktifkan Bluetooth di awal pengujian.

**RecordAppPerformanceData**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah akan merekam data kinerja perangkat seperti CPU, FPS, dan kinerja memori selama pengujian.

**RecordVideo**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah akan merekam video selama pengujian.

**RadioWifiEnabled**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah akan mengaktifkan Wi-Fi di awal pengujian.

**RadioNfcEnabled**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah akan mengaktifkan NFC di awal pengujian.

**RadioGpsEnabled**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah akan mengaktifkan GPS di awal pengujian.

**Uji**  
Wajib: Tidak  
Nama dan jalur file definisi pengujian di lokasi sumber Anda. Jalur relatif terhadap akar artefak input untuk pengujian Anda.

**FuzzEventCount**  
Wajib: Tidak  
Jumlah peristiwa antarmuka pengguna untuk uji fuzz yang akan dilakukan, antara 1 dan 10.000.

**FuzzEventThrottle**  
Wajib: Tidak  
Jumlah milidetik untuk uji fuzz untuk menunggu sebelum melakukan acara antarmuka pengguna berikutnya, antara 1 dan 1.000.

**FuzzRandomizerSeed**  
Wajib: Tidak  
Benih untuk uji fuzz yang akan digunakan untuk mengacak peristiwa antarmuka pengguna. Menggunakan nomor yang sama untuk tes bulu halus berikutnya menghasilkan urutan peristiwa yang identik.

**CustomHostMachineArtifacts**  
Wajib: Tidak  
Lokasi pada mesin host tempat artefak kustom akan disimpan.

**CustomDeviceArtifacts**  
Wajib: Tidak  
Lokasi pada perangkat tempat artefak khusus akan disimpan.  


**UnmeteredDevicesOnly**  
Wajib: Tidak  
Nilai Boolean yang menunjukkan apakah hanya akan menggunakan perangkat yang tidak diukur saat menjalankan pengujian pada langkah ini.

**JobTimeoutMinutes**  
Wajib: Tidak  
Jumlah menit uji coba akan dijalankan per perangkat sebelum waktu habis.

**Lintang**  
Wajib: Tidak  
Garis lintang perangkat dinyatakan dalam derajat sistem koordinat geografis.

**Bujur**  
Wajib: Tidak  
Bujur perangkat dinyatakan dalam derajat sistem koordinat geografis.

## Artefak masukan
<a name="action-reference-DeviceFarm-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Set artefak yang akan dibuat tersedia untuk tindakan uji. Device Farm mencari aplikasi yang dibangun dan definisi pengujian untuk digunakan.

## Artefak keluaran
<a name="action-reference-DeviceFarm-output"></a>
+ **Jumlah Artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: tindakan AWS Device Farm
<a name="edit-role-devicefarm"></a>

Saat CodePipeline menjalankan tindakan, kebijakan peran CodePipeline layanan memerlukan izin berikut, yang dicakup dengan tepat ke ARN sumber daya pipeline untuk mempertahankan akses dengan hak istimewa paling sedikit. Misalnya, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

```
{
    "Effect": "Allow",
    "Action": [
        "devicefarm:ListProjects",
        "devicefarm:ListDevicePools",
        "devicefarm:GetRun",
        "devicefarm:GetUpload",
        "devicefarm:CreateUpload",
        "devicefarm:ScheduleRun"
    ],
    "Resource": "resource_ARN"
},
```

## Deklarasi tindakan
<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"
},
```

------

## Lihat juga
<a name="action-reference-DeviceFarm-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Bekerja dengan Jenis Pengujian di Device Farm](https://docs.aws.amazon.com/devicefarm/latest/developerguide/test-types.html) — Bab referensi dalam *Panduan Pengembang Device Farm* ini memberikan deskripsi selengkapnya tentang kerangka kerja pengujian Aplikasi Android, iOS, dan Web yang didukung oleh Device Farm.
+ [Tindakan di Device Farm](https://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html) — Panggilan dan parameter API di *Referensi API Device Farm* dapat membantu Anda bekerja dengan proyek Device Farm.
+ [Tutorial: Membuat pipeline yang membangun dan menguji aplikasi Android Anda AWS Device Farm](tutorials-codebuild-devicefarm.md)— Tutorial ini menyediakan contoh file spesifikasi build dan contoh aplikasi untuk membuat pipeline dengan GitHub sumber yang membangun dan menguji aplikasi Android dengan CodeBuild dan Device Farm.
+ [Tutorial: Buat pipeline yang menguji aplikasi iOS Anda AWS Device Farm](tutorials-codebuild-devicefarm-S3.md)— Tutorial ini menyediakan contoh aplikasi untuk membuat pipeline dengan sumber Amazon S3 yang menguji aplikasi iOS yang dibangun dengan Device Farm.

# Referensi aksi penyebaran Elastic Beanstalk
<a name="action-reference-Beanstalk"></a>

Elastic Beanstalk adalah AWS platform di dalamnya yang digunakan untuk menyebarkan dan menskalakan aplikasi web. Anda menggunakan tindakan Elastic Beanstalk untuk menyebarkan kode aplikasi ke lingkungan penerapan Anda.

**Topics**
+ [Tipe tindakan](#action-reference-Beanstalk-type)
+ [Parameter konfigurasi](#action-reference-Beanstalk-config)
+ [Artefak masukan](#action-reference-Beanstalk-input)
+ [Artefak keluaran](#action-reference-Beanstalk-output)
+ [Izin peran layanan: tindakan `ElasticBeanstalk` penerapan](#edit-role-beanstalk)
+ [Deklarasi tindakan](#action-reference-Beanstalk-example)
+ [Lihat juga](#action-reference-Beanstalk-links)

## Tipe tindakan
<a name="action-reference-Beanstalk-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `ElasticBeanstalk`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-Beanstalk-config"></a>

**ApplicationName**  
Wajib: Ya  
Nama aplikasi yang Anda buat di Elastic Beanstalk. 

**EnvironmentName**  
Wajib: Ya  
Nama lingkungan yang Anda buat di Elastic Beanstalk. Lingkungan adalah kumpulan AWS sumber daya yang menjalankan versi aplikasi. Setiap lingkungan hanya berlangsung satu versi aplikasi pada satu waktu, namun, Anda dapat menjalankan versi aplikasi yang sama atau versi aplikasi yang berbeda di banyak lingkungan secara bersamaan.

## Artefak masukan
<a name="action-reference-Beanstalk-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Artefak masukan untuk aksi.

## Artefak keluaran
<a name="action-reference-Beanstalk-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: tindakan `ElasticBeanstalk` penerapan
<a name="edit-role-beanstalk"></a>

Untuk Elastic Beanstalk, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan penerapan. `ElasticBeanstalk`

```
{
    "Effect": "Allow",
    "Action": [
        "elasticbeanstalk:*",
        "ec2:*",
        "elasticloadbalancing:*",
        "autoscaling:*",
        "cloudwatch:*",
        "s3:*",
        "sns:*",
        "cloudformation:*",
        "rds:*",
        "sqs:*",
        "ecs:*"
    ],
    "Resource": "resource_ARN"
},
```

**catatan**  
Anda harus mengganti wildcard dalam kebijakan sumber daya dengan sumber daya untuk akun yang ingin Anda batasi aksesnya. Untuk informasi selengkapnya tentang membuat kebijakan yang memberikan akses hak istimewa paling sedikit, lihat. [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)

## Deklarasi tindakan
<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"
        }
    ]
},
```

------

## Lihat juga
<a name="action-reference-Beanstalk-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Menyebarkan aplikasi Flask ke Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-flask.html) - Tutorial ini memandu Anda melalui pembuatan aplikasi dan sumber daya lingkungan Anda di Elastic Beanstalk menggunakan contoh aplikasi Flask. Anda kemudian dapat membangun pipeline Anda dengan tindakan penyebaran Elastic Beanstalk yang menyebarkan aplikasi Anda dari repositori sumber ke lingkungan Elastic Beanstalk Anda.

# Amazon Inspector `InspectorScan` memanggil referensi tindakan
<a name="action-reference-InspectorScan"></a>

Amazon Inspector adalah layanan manajemen kerentanan yang secara otomatis menemukan beban kerja dan terus memindai mereka untuk kerentanan perangkat lunak dan paparan jaringan yang tidak diinginkan. `InspectorScan`Tindakan dalam CodePipeline mengotomatiskan mendeteksi dan memperbaiki kerentanan keamanan dalam kode sumber terbuka Anda. Tindakan ini adalah tindakan komputasi terkelola dengan kemampuan pemindaian keamanan. Anda dapat menggunakan InspectorScan dengan kode sumber aplikasi di repositori pihak ketiga Anda, seperti GitHub atau Bitbucket Cloud, atau dengan gambar untuk aplikasi kontainer. Tindakan Anda akan memindai dan melaporkan tingkat kerentanan dan peringatan yang Anda konfigurasikan. 

**penting**  
Tindakan ini menggunakan CodeBuild komputasi CodePipeline terkelola untuk menjalankan perintah di lingkungan build. Menjalankan tindakan akan dikenakan biaya terpisah. AWS CodeBuild

**Topics**
+ [ID tipe tindakan](#action-reference-InspectorScan-type)
+ [Parameter konfigurasi](#action-reference-InspectorScan-parameters)
+ [Artefak masukan](#action-reference-InspectorScan-input)
+ [Artefak keluaran](#action-reference-InspectorScan-output)
+ [Variabel keluaran](#w2aac56c62c19)
+ [Izin peran layanan: tindakan `InspectorScan`](#edit-role-InspectorScan)
+ [Deklarasi tindakan](#w2aac56c62c23)
+ [Lihat juga](#action-reference-InspectorScan-links)

## ID tipe tindakan
<a name="action-reference-InspectorScan-type"></a>
+ Kategori: `Invoke`
+ Pemilik: `AWS`
+ Penyedia: `InspectorScan`
+ Versi: `1`

Contoh:

```
            {
                "Category": "Invoke",
                "Owner": "AWS",
                "Provider": "InspectorScan",
                "Version": "1"
            },
```

## Parameter konfigurasi
<a name="action-reference-InspectorScan-parameters"></a>

**InspectorRunMode**  
(Wajib) String yang menunjukkan mode pemindaian. Nilai yang valid adalah `SourceCodeScan | ECRImageScan`.

**ECRRepositoryNama**  
Nama repositori Amazon ECR tempat gambar didorong.

**ImageTag**  
Tag yang digunakan untuk gambar.

Parameter untuk tindakan ini memindai tingkat kerentanan yang Anda tentukan. Level berikut untuk ambang kerentanan tersedia:

**CriticalThreshold **  
Jumlah kerentanan tingkat keparahan kritis yang ditemukan di sumber Anda di luar yang CodePipeline seharusnya gagal dalam tindakan.

**HighThreshold **  
Jumlah kerentanan tingkat keparahan tinggi yang ditemukan di sumber Anda di luar yang CodePipeline seharusnya gagal dalam tindakan.

**MediumThreshold**  
Jumlah kerentanan tingkat keparahan sedang yang ditemukan di sumber Anda di luar yang CodePipeline seharusnya gagal dalam tindakan.

**LowThreshold **  
Jumlah kerentanan tingkat keparahan rendah yang ditemukan di sumber Anda di luar yang CodePipeline seharusnya gagal dalam tindakan. 

![\[\]](http://docs.aws.amazon.com/id_id/codepipeline/latest/userguide/images/inspectorscan-edit.png)


## Artefak masukan
<a name="action-reference-InspectorScan-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Kode sumber untuk memindai kerentanan. Jika pemindaian adalah untuk repositori ECR, artefak input ini tidak diperlukan.

## Artefak keluaran
<a name="action-reference-InspectorScan-output"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Rincian kerentanan sumber Anda dalam bentuk file Software Bill of Materials (SBOM).

## Variabel keluaran
<a name="w2aac56c62c19"></a>

Ketika dikonfigurasi, tindakan ini menghasilkan variabel yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline. Tindakan ini menghasilkan variabel yang dapat dilihat sebagai variabel keluaran, bahkan jika tindakan tidak memiliki namespace. Anda mengonfigurasi tindakan dengan namespace untuk membuat variabel-variabel tersebut tersedia untuk konfigurasi tindakan hilir.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**HighestScannedSeverity **  
Output tingkat keparahan tertinggi dari pemindaian. Nilai yang valid adalah `medium | high | critical`.

## Izin peran layanan: tindakan `InspectorScan`
<a name="edit-role-InspectorScan"></a>

Untuk dukungan `InspectorScan` tindakan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

```
{
        "Effect": "Allow",
        "Action": "inspector-scan:ScanSbom",
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "ecr:GetDownloadUrlForLayer",
            "ecr:BatchGetImage",
            "ecr:BatchCheckLayerAvailability"
        ],
        "Resource": "resource_ARN"
    },
```

Selain itu, jika belum ditambahkan untuk tindakan Perintah, tambahkan izin berikut ke peran layanan Anda untuk melihat CloudWatch log.

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

**catatan**  
Cakupkan izin ke tingkat sumber daya pipeline dengan menggunakan izin berbasis sumber daya dalam pernyataan kebijakan peran layanan.

## Deklarasi tindakan
<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"
                    },
```

------

## Lihat juga
<a name="action-reference-InspectorScan-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ Untuk informasi selengkapnya tentang Amazon Inspector, lihat Panduan Pengguna [Amazon Inspector](https://aws.amazon.com/inspector/).

# AWS Lambda memanggil referensi tindakan
<a name="action-reference-Lambda"></a>

Memungkinkan Anda menjalankan fungsi Lambda sebagai tindakan di pipeline Anda. Menggunakan objek peristiwa yang merupakan input ke fungsi ini, fungsi memiliki akses ke konfigurasi tindakan, lokasi artefak input, lokasi artefak keluaran, dan informasi lain yang diperlukan untuk mengakses artefak. Untuk contoh peristiwa yang diteruskan ke fungsi pemanggilan Lambda, lihat. [Contoh acara JSON](#action-reference-Lambda-event) Sebagai bagian dari implementasi fungsi Lambda, harus ada panggilan ke atau. `[PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html)` `[PutJobFailureResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobFailureResult.html)` Jika tidak, eksekusi tindakan ini akan hang sampai waktu tindakan habis. Jika Anda menentukan artefak keluaran untuk tindakan, artefak tersebut harus diunggah ke bucket S3 sebagai bagian dari implementasi fungsi.

**penting**  
Jangan mencatat peristiwa JSON yang CodePipeline dikirim ke Lambda karena ini dapat mengakibatkan kredensi pengguna masuk Log. CloudWatch CodePipeline Peran tersebut menggunakan acara JSON untuk meneruskan kredensi sementara ke Lambda di lapangan. `artifactCredentials` Untuk contoh acara, lihat[Contoh acara JSON](actions-invoke-lambda-function.md#actions-invoke-lambda-function-json-event-example).

## Tipe tindakan
<a name="action-reference-Lambda-type"></a>
+ Kategori: `Invoke`
+ Pemilik: `AWS`
+ Penyedia: `Lambda`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-Lambda-config"></a>

**FunctionName**  
Wajib: Ya  
`FunctionName`adalah nama fungsi yang dibuat di Lambda.

**UserParameters**  
Wajib: Tidak  
String yang dapat diproses sebagai input oleh fungsi Lambda.

## Artefak masukan
<a name="action-reference-Lambda-input"></a>
+ **Jumlah Artefak:** `0 to 5`
+ **Deskripsi:** Kumpulan artefak yang akan tersedia untuk fungsi Lambda.

## Artefak keluaran
<a name="action-reference-Lambda-output"></a>
+ **Jumlah Artefak:** `0 to 5` 
+ **Deskripsi:** Kumpulan artefak yang dihasilkan sebagai output oleh fungsi Lambda.

## Variabel keluaran
<a name="action-reference-Lambda-variables"></a>

Tindakan ini akan menghasilkan sebagai variabel semua pasangan kunci-nilai yang disertakan dalam `outputVariables` bagian permintaan [PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html).

Untuk informasi lebih lanjut tentang variabel di CodePipeline, lihat[Referensi variabel](reference-variables.md).

## Contoh konfigurasi tindakan
<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"
        }
    ]
},
```

------

## Contoh acara JSON
<a name="action-reference-Lambda-event"></a>

Tindakan Lambda mengirimkan peristiwa JSON yang berisi ID pekerjaan, konfigurasi tindakan pipeline, lokasi artefak input dan output, dan informasi enkripsi apa pun untuk artefak. Pekerja kerja mengakses detail ini untuk menyelesaikan tindakan Lambda. Untuk informasi lebih lanjut, lihat [detail pekerjaan](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_JobDetails.html). Berikut adalah contoh kasusnya.

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

Acara JSON memberikan rincian pekerjaan berikut untuk tindakan Lambda di: CodePipeline
+ `id`: ID unik yang dihasilkan sistem dari pekerjaan.
+ `accountId`: ID AWS akun yang terkait dengan pekerjaan.
+ `data`: Informasi lain yang diperlukan bagi pekerja kerja untuk menyelesaikan pekerjaan. 
  + `actionConfiguration`: Parameter tindakan untuk tindakan Lambda. Untuk definisi, lihat[Parameter konfigurasi](#action-reference-Lambda-config).
  + `inputArtifacts`: Artefak dipasok ke aksi.
    + `location`: Lokasi toko artefak.
      + `s3Location`: Informasi lokasi artefak masukan untuk tindakan.
        + `bucketName`: Nama penyimpanan artefak pipa untuk aksi (misalnya, ember Amazon S3 codepipeline-us-east bernama -2-1234567890).
        + `objectKey`: Nama aplikasi (misalnya,`CodePipelineDemoApplication.zip`).
      + `type`: Jenis artefak di lokasi. Saat ini, `S3` adalah satu-satunya jenis artefak yang valid.
    + `revision`: ID revisi artefak. Bergantung pada jenis objek, ini bisa berupa ID komit (GitHub) atau ID revisi (Amazon Simple Storage Service). Untuk informasi selengkapnya, lihat [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: Nama artefak yang akan dikerjakan, seperti`MyApp`.
  + `outputArtifacts`: Output dari tindakan.
    + `location`: Lokasi toko artefak.
      + `s3Location`: Informasi lokasi artefak keluaran untuk tindakan tersebut.
        + `bucketName`: Nama penyimpanan artefak pipa untuk aksi (misalnya, ember Amazon S3 codepipeline-us-east bernama -2-1234567890).
        + `objectKey`: Nama aplikasi (misalnya,`CodePipelineDemoApplication.zip`).
      + `type`: Jenis artefak di lokasi. Saat ini, `S3` adalah satu-satunya jenis artefak yang valid.
    + `revision`: ID revisi artefak. Bergantung pada jenis objek, ini bisa berupa ID komit (GitHub) atau ID revisi (Amazon Simple Storage Service). Untuk informasi selengkapnya, lihat [ArtifactRevision](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ArtifactRevision.html).
    + `name`: Nama output dari artefak, seperti`MyApp`.
  + `artifactCredentials`: Kredensi AWS sesi yang digunakan untuk mengakses artefak input dan output di bucket Amazon S3. Kredensial ini adalah kredensial sementara yang dikeluarkan oleh (). AWS Security Token Service AWS STS
    + `secretAccessKey`: Kunci akses rahasia untuk sesi tersebut.
    + `sessionToken`: Token untuk sesi.
    + `accessKeyId`: Kunci akses rahasia untuk sesi tersebut.
  + `continuationToken`: Token yang dihasilkan oleh tindakan. Tindakan masa depan menggunakan token ini untuk mengidentifikasi instance tindakan yang sedang berjalan. Ketika tindakan selesai, tidak ada token kelanjutan yang harus diberikan.
  + `encryptionKey`: Kunci enkripsi yang digunakan untuk mengenkripsi data di toko artefak, seperti kunci. AWS KMS Jika ini tidak ditentukan, kunci default untuk Amazon Simple Storage Service digunakan. 
    + `id`: ID yang digunakan untuk mengidentifikasi kunci. Untuk AWS KMS kunci, Anda dapat menggunakan ID kunci, kunci ARN, atau alias ARN. 
    + `type`: Jenis kunci enkripsi, seperti AWS KMS kunci.

## Lihat juga
<a name="action-reference-Lambda-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS CloudFormation Panduan Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) [— Untuk informasi selengkapnya tentang tindakan Lambda dan CloudFormation artefak untuk saluran pipa, lihat [Menggunakan Fungsi Pengganti Parameter dengan Saluran Pipa, [Mengotomatiskan Penerapan Aplikasi Berbasis Lambda, dan CodePipeline Artefak](https://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-parameter-override-functions.html).AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-cfn-artifacts.html)
+ [Memanggil AWS Lambda fungsi dalam pipeline di CodePipeline](actions-invoke-lambda-function.md)— Prosedur ini menyediakan contoh fungsi Lambda dan menunjukkan cara menggunakan konsol untuk membuat pipeline dengan tindakan pemanggilan Lambda.

# AWS OpsWorks menyebarkan referensi tindakan
<a name="action-reference-OpsWorks"></a>

Anda menggunakan AWS OpsWorks tindakan untuk menerapkan dengan OpsWorks menggunakan pipeline Anda.

## Tipe tindakan
<a name="action-reference-StepFunctions-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `OpsWorks`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-OpsWorks-config"></a>

**Aplikasi**  
Wajib: Ya  
 OpsWorks Tumpukan. Tumpukan adalah wadah untuk infrastruktur aplikasi Anda.

**Tumpukan**  
Wajib: Ya  
 OpsWorks Aplikasi. Aplikasi ini mewakili kode yang ingin Anda terapkan dan jalankan.

**Lapisan**  
Wajib: Tidak  
 OpsWorks Tumpukan. Lapisan menentukan konfigurasi dan sumber daya untuk satu set instance.

## Artefak masukan
<a name="action-reference-OpsWorks-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Ini adalah artefak masukan untuk tindakan Anda.

## Artefak keluaran
<a name="action-reference-OpsWorks-output"></a>
+ **Jumlah artefak:** `0 to 1` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: tindakan AWS OpsWorks
<a name="edit-role-opsworks"></a>

Untuk AWS OpsWorks dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

```
{
    "Effect": "Allow",
    "Action": [
        "opsworks:CreateDeployment",
        "opsworks:DescribeApps",
        "opsworks:DescribeCommands",
        "opsworks:DescribeDeployments",
        "opsworks:DescribeInstances",
        "opsworks:DescribeStacks",
        "opsworks:UpdateApp",
        "opsworks:UpdateStack"
    ],
    "Resource": "resource_ARN"
},
```

## Contoh konfigurasi tindakan
<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"
    }
}
```

------

## Lihat juga
<a name="action-reference-OpsWorks-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS OpsWorks Panduan Pengguna](https://docs.aws.amazon.com/step-functions/latest/dg/) - Untuk informasi tentang penerapan dengan AWS OpsWorks, lihat *Panduan AWS OpsWorks Pengguna*.

# AWS Service Catalog menyebarkan referensi tindakan
<a name="action-reference-ServiceCatalog"></a>

Anda menggunakan AWS Service Catalog tindakan untuk menerapkan template menggunakan pipeline Anda. Ini adalah template sumber daya yang telah Anda buat di Service Catalog.

## Tipe tindakan
<a name="action-reference-ServiceCatalog-type"></a>
+ Kategori: `Deploy`
+ Pemilik: `AWS`
+ Penyedia: `ServiceCatalog`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-ServiceCatalog-config"></a>

**TemplateFilePath**  
Wajib: Ya  
Jalur file untuk template sumber daya Anda di lokasi sumber Anda.

**ProductVersionName**  
Wajib: Ya  
Versi produk di Service Catalog.

**ProductType**  
Wajib: Ya  
Jenis produk di Service Catalog.

**ProductId**  
Wajib: Ya  
ID produk di Service Catalog.

**ProductVersionDescription**  
Wajib: Tidak  
Deskripsi versi produk di Service Catalog.

## Artefak masukan
<a name="action-reference-ServiceCatalog-input"></a>
+ **Jumlah artefak:** `1`
+ **Deskripsi:** Ini adalah artefak masukan untuk tindakan Anda.

## Artefak keluaran
<a name="action-reference-ServiceCatalog-output"></a>
+ **Jumlah artefak:** `0` 
+ **Deskripsi:** Artefak keluaran tidak berlaku untuk jenis tindakan ini.

## Izin peran layanan: Tindakan Service Catalog
<a name="edit-role-servicecatalog"></a>

Untuk dukungan Service Catalog, tambahkan berikut ini ke pernyataan kebijakan Anda:

```
{
    "Effect": "Allow",
    "Action": [
        "servicecatalog:ListProvisioningArtifacts",
        "servicecatalog:CreateProvisioningArtifact",
        "servicecatalog:DescribeProvisioningArtifact",
        "servicecatalog:DeleteProvisioningArtifact",
        "servicecatalog:UpdateProduct"
    ],
    "Resource": "resource_ARN"
},
{
    "Effect": "Allow",
    "Action": [
        "cloudformation:ValidateTemplate"
    ],
    "Resource": "resource_ARN"
}
```

## Contoh konfigurasi tindakan berdasarkan jenis file konfigurasi
<a name="action-reference-ServiceCatalog-example"></a>

Contoh berikut menunjukkan konfigurasi yang valid untuk tindakan penerapan yang menggunakan Service Catalog, untuk pipeline yang dibuat di konsol tanpa file konfigurasi terpisah:

```
"configuration": {
  "TemplateFilePath": "S3_template.json",
  "ProductVersionName": "devops S3 v2",
  "ProductType": "CLOUD_FORMATION_TEMPLATE",
  "ProductVersionDescription": "Product version description",
  "ProductId": "prod-example123456"
}
```

Contoh berikut menunjukkan konfigurasi yang valid untuk tindakan penerapan yang menggunakan Service Catalog, untuk pipeline yang dibuat di konsol dengan file `sample_config.json` konfigurasi terpisah:

```
"configuration": {
  "ConfigurationFilePath": "sample_config.json",
  "ProductId": "prod-example123456"
}
```

### Contoh konfigurasi tindakan
<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"
    }
}
```

------

## Lihat juga
<a name="action-reference-ServiceCatalog-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [Panduan Pengguna Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/userguide/) — Untuk informasi tentang sumber daya dan templat di Service Catalog, lihat *Panduan Pengguna Service Catalog*.
+ [Tutorial: Buat pipeline yang di-deploy ke Service Catalog](tutorials-S3-servicecatalog.md)— Tutorial tutorial ini menunjukkan cara membuat dan mengkonfigurasi pipeline untuk menyebarkan template produk Anda ke Service Catalog dan memberikan perubahan yang telah Anda buat di repositori sumber Anda.

# AWS Step Functions memanggil referensi tindakan
<a name="action-reference-StepFunctions"></a>

 AWS CodePipeline Tindakan yang melakukan hal berikut:
+ Memulai eksekusi mesin AWS Step Functions status dari pipeline Anda.
+ Menyediakan status awal ke mesin status melalui properti dalam konfigurasi tindakan atau file yang terletak di artefak pipa untuk diteruskan sebagai input.
+ Secara opsional menetapkan awalan ID eksekusi untuk mengidentifikasi eksekusi yang berasal dari tindakan.
+ Mendukung mesin status [Standar dan Ekspres](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html).

**catatan**  
Tindakan Step Functions berjalan di Lambda, dan karena itu memiliki kuota ukuran artefak yang sama dengan kuota ukuran artefak untuk fungsi Lambda. Untuk informasi selengkapnya, lihat [Kuota Lambda di Panduan Pengembang](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) Lambda.

## Tipe tindakan
<a name="action-reference-StepFunctions-type"></a>
+ Kategori: `Invoke`
+ Pemilik: `AWS`
+ Penyedia: `StepFunctions`
+ Versi: `1`

## Parameter konfigurasi
<a name="action-reference-StepFunctions-config"></a>

**StateMachineArn**  
Wajib: Ya  
Nama Sumber Daya Amazon (ARN) untuk mesin status yang akan dipanggil.

**ExecutionNamePrefix**  
Wajib: Tidak  
Secara default, ID eksekusi tindakan digunakan sebagai nama eksekusi mesin negara. Jika awalan disediakan, itu ditambahkan ke ID eksekusi tindakan dengan tanda hubung dan bersama-sama digunakan sebagai nama eksekusi mesin negara.  

```
myPrefix-1624a1d1-3699-43f0-8e1e-6bafd7fde791
```
Untuk mesin keadaan ekspres, nama hanya boleh berisi 0-9, A-Z, a-z, - dan \$1.

**InputType**  
Wajib: Tidak  
+ **Literal** (default): Ketika ditentukan, nilai di bidang **Input** diteruskan langsung ke input mesin status.

  Contoh entri untuk bidang **Input** saat **Literal** dipilih:

  ```
  {"action": "test"}
  ```
+ **FilePath**: Isi file dalam artefak input yang ditentukan oleh bidang **Input** digunakan sebagai input untuk eksekusi mesin negara. Artefak input diperlukan saat **InputType**diatur ke **FilePath**.

  Contoh entri untuk bidang **Input** saat **FilePath**dipilih:

  ```
  assets/input.json
  ```

**Input**  
Diperlukan: Kondisional  
+ **Literal**: Ketika **InputType**diatur ke **Literal** (default), bidang ini opsional. 

  Jika disediakan, bidang **Input** digunakan secara langsung sebagai input untuk eksekusi mesin status. Jika tidak, mesin status dipanggil dengan objek JSON kosong. `{}`
+ **FilePath**: Kapan **InputType**diatur ke **FilePath**, bidang ini diperlukan.

  Artefak input juga diperlukan saat **InputType**diatur ke **FilePath**.

  Isi file dalam artefak input yang ditentukan digunakan sebagai input untuk eksekusi mesin negara.

## Artefak masukan
<a name="action-reference-StepFunctions-input"></a>
+ **Jumlah artefak:** `0 to 1`
+ **Deskripsi:** Jika **InputType**diatur ke **FilePath**, artefak ini diperlukan dan digunakan untuk sumber input untuk eksekusi mesin status.

## Artefak keluaran
<a name="action-reference-StepFunctions-output"></a>
+ **Jumlah artefak:** `0 to 1` 
+ **Deskripsi**:
  + **Mesin Negara Standar**: Jika disediakan, artefak keluaran diisi dengan output dari mesin negara. Ini diperoleh dari `output` properti respons [Step Functions DescribeExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) setelah eksekusi mesin status berhasil diselesaikan.
  + **Mesin Negara Ekspres**: Tidak didukung.

## Variabel keluaran
<a name="action-reference-StepFunctions-variables"></a>

Tindakan ini menghasilkan variabel keluaran yang dapat direferensikan oleh konfigurasi tindakan tindakan hilir dalam pipeline.

Untuk informasi selengkapnya, lihat [Referensi variabel](reference-variables.md).

**StateMachineArn**  
ARN dari mesin negara.

**ExecutionArn**  
ARN dari eksekusi mesin negara. Hanya mesin negara standar.

## Izin peran layanan: tindakan `StepFunctions`
<a name="edit-role-stepfunctions"></a>

Untuk `StepFunctions` tindakan, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan pemanggilan Step Functions.

```
{
    "Effect": "Allow",
    "Action": [
        "states:DescribeStateMachine",
        "states:DescribeExecution",
        "states:StartExecution"
    ],
    "Resource": "resource_ARN"
},
```

## Contoh konfigurasi tindakan
<a name="action-reference-StepFunctions-example"></a>

### Contoh untuk input default
<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"
    }
}
```

------

### Contoh untuk masukan literal
<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\"}"
    }
}
```

------

### Contoh untuk file input
<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"
    }
}
```

------

## Perilaku
<a name="action-reference-StepFunctions-types"></a>

Selama rilis, CodePipeline jalankan mesin status yang dikonfigurasi menggunakan input seperti yang ditentukan dalam konfigurasi tindakan.

Kapan **InputType**diatur ke **Literal**, konten bidang konfigurasi tindakan **Input** digunakan sebagai input untuk mesin status. Ketika input literal tidak disediakan, eksekusi mesin negara menggunakan objek `{}` JSON kosong. Untuk informasi selengkapnya tentang menjalankan eksekusi mesin status tanpa input, lihat [Step Functions StartExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html).

Ketika **InputType**diatur ke **FilePath**, tindakan membuka ritsleting artefak input dan menggunakan konten file yang ditentukan dalam bidang konfigurasi tindakan **Input** sebagai input untuk mesin status. Kapan **FilePath**ditentukan, bidang **Input** diperlukan dan artefak input harus ada; jika tidak, tindakan gagal.

Setelah eksekusi awal berhasil, perilaku akan menyimpang untuk dua jenis mesin status, *standar* dan *ekspres*.

### Mesin negara standar
<a name="action-reference-StepFunctions-types-standard"></a>

Jika eksekusi mesin status standar berhasil dimulai, CodePipeline polling `DescribeExecution` API hingga eksekusi mencapai status terminal. Jika eksekusi berhasil diselesaikan, tindakan berhasil; jika tidak, itu gagal.

Jika artefak keluaran dikonfigurasi, artefak akan berisi nilai pengembalian mesin status. Ini diperoleh dari `output` properti respons [Step Functions DescribeExecution API](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html) setelah eksekusi mesin status berhasil diselesaikan. Perhatikan bahwa ada batasan panjang keluaran yang diberlakukan pada API ini.

#### Penanganan kesalahan
<a name="action-reference-StepFunctions-types-standard-handling"></a>
+ Jika tindakan gagal memulai eksekusi mesin negara, eksekusi tindakan gagal.
+ Jika eksekusi mesin status gagal mencapai status terminal sebelum tindakan CodePipeline Step Functions mencapai batas waktu (default 7 hari), eksekusi tindakan gagal. Mesin negara mungkin terus berlanjut meskipun kegagalan ini. Untuk informasi selengkapnya tentang batas waktu eksekusi mesin status di Step Functions, lihat Alur [Kerja Standar vs Ekspres.](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)
**catatan**  
Anda dapat meminta peningkatan kuota untuk batas waktu tindakan pemanggilan untuk akun dengan tindakan tersebut. Namun, peningkatan kuota berlaku untuk semua tindakan jenis ini di semua Wilayah untuk akun tersebut.
+ Jika eksekusi mesin status mencapai status terminal FAILED, TIMED\$1OUT, atau ABORTED, eksekusi tindakan gagal.

### Mesin negara ekspres
<a name="action-reference-StepFunctions-types-express"></a>

Jika eksekusi mesin keadaan ekspres berhasil dimulai, eksekusi aksi pemanggilan selesai dengan sukses.

Pertimbangan untuk tindakan yang dikonfigurasi untuk mesin keadaan ekspres:
+ Anda tidak dapat menunjuk artefak keluaran.
+ Tindakan tidak menunggu eksekusi mesin negara selesai.
+ Setelah eksekusi tindakan dimulai CodePipeline, eksekusi tindakan berhasil bahkan jika eksekusi mesin status gagal.

#### Penanganan kesalahan
<a name="action-reference-StepFunctions-types-express-handling"></a>
+ Jika CodePipeline gagal memulai eksekusi mesin status, eksekusi tindakan gagal. Kalau tidak, tindakan segera berhasil. Tindakan berhasil CodePipeline terlepas dari berapa lama eksekusi mesin negara untuk menyelesaikan atau hasilnya.

## Lihat juga
<a name="action-reference-StepFunctions-links"></a>

Sumber daya terkait berikut dapat membantu Anda saat Anda bekerja dengan tindakan ini.
+ [AWS Step Functions Panduan Pengembang](https://docs.aws.amazon.com/step-functions/latest/dg/) — Untuk informasi tentang mesin status, eksekusi, dan input untuk mesin status, lihat Panduan *AWS Step Functions Pengembang*.
+ [Tutorial: Gunakan AWS Step Functions tindakan pemanggilan dalam pipeline](tutorials-step-functions.md)— Tutorial ini membantu Anda memulai dengan contoh mesin status standar dan menunjukkan cara menggunakan konsol untuk memperbarui pipeline dengan menambahkan tindakan pemanggilan Step Functions.