

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

# CloudFormation referensi properti konfigurasi
<a name="continuous-delivery-codepipeline-action-reference"></a>

Saat Anda membangun CodePipeline pipeline, Anda menambahkan `Deploy` tindakan ke pipeline dengan CloudFormation sebagai penyedia. Anda kemudian harus menentukan CloudFormation tindakan mana yang dipanggil pipeline dan pengaturan tindakan. Topik ini menjelaskan properti konfigurasi CloudFormation . Untuk menentukan properti, Anda dapat menggunakan CodePipeline konsol, atau Anda dapat membuat objek JSON yang akan digunakan untuk AWS CLI, CodePipeline API, atau CloudFormation templat.

**Topics**
+ [Properti konfigurasi (konsol)](#continuous-delivery-codepipeline-action-reference-console)
+ [Properti konfigurasi (objek JSON)](#continuous-delivery-codepipeline-action-reference-json)
+ [Lihat juga](#continuous-delivery-codepipeline-action-reference-see-also)

## Properti konfigurasi (konsol)
<a name="continuous-delivery-codepipeline-action-reference-console"></a>

 CodePipeline [Konsol](https://console.aws.amazon.com/codepipeline/) menampilkan properti konfigurasi dan menunjukkan properti yang diperlukan berdasarkan mode tindakan yang Anda pilih.

**catatan**  
Bila Anda membuat alur, Anda dapat menentukan mode aksi **Membuat atau memperbarui tumpukan** atau **Membuat atau mengganti satu set perubahan** saja. Properti di bagian **Lanjutan** tersedia hanya ketika Anda mengedit alur.

**Mode aksi**  
 CloudFormation Tindakan yang CodePipeline dipanggil saat memproses tahap terkait. Pilih salah satu mode tindakan berikut ini:  
+ **Membuat atau mengganti satu set perubahan** membuat set perubahan jika tidak ada berdasarkan nama tumpukan dan template yang Anda kirimkan. Jika set perubahan ada, CloudFormation menghapusnya, dan kemudian membuat yang baru.
+ **Membuat atau memperbarui tumpukan** membuat tumpukan jika tumpukan yang ditentukan tidak ada. Jika tumpukan ada, CloudFormation perbarui tumpukan. Gunakan tindakan ini untuk memperbarui tumpukan yang ada. CodePipeline tidak akan menggantikan tumpukan.
+ **Menghapus tumpukan** akan menghapus tumpukan. Jika Anda menentukan tumpukan yang tidak ada, tindakan berhasil diselesaikan tanpa menghapus tumpukan.
+ **Mengeksekusi set perubahan** akan mengeksekusi satu set perubahan.
+ **Ganti tumpukan gagal** membuat tumpukan jika tumpukan yang ditentukan tidak ada. Jika tumpukan ada dan dalam keadaan gagal (dilaporkan sebagai`ROLLBACK_COMPLETE`,, `ROLLBACK_FAILED``CREATE_FAILED`,`DELETE_FAILED`, atau`UPDATE_ROLLBACK_FAILED`), CloudFormation menghapus tumpukan dan kemudian membuat yang baru. Jika tumpukan tidak dalam keadaan gagal, CloudFormation perbarui. Gunakan tindakan ini untuk mengganti tumpukan yang gagal tanpa memulihkan atau memecahkan masalahnya. Anda biasanya akan memilih mode ini untuk pengujian.

**Nama tumpukan**  
Nama yang terkait dengan tumpukan yang ada atau tumpukan yang ingin Anda buat. Nama harus unik di AWS Wilayah tempat Anda membuat tumpukan.  
Nama tumpukan hanya dapat berisi karakter alfanumerik (peka huruf besar dan kecil) dan tanda hubung. Nama itu harus dimulai dengan karakter abjad dan tidak boleh lebih dari 128 karakter.

**Ubah nama set**  
Nama set perubahan yang ada atau set perubahan baru yang ingin Anda buat untuk tumpukan tertentu.

**Template**  
Lokasi file CloudFormation template, yang mengikuti format`ArtifactName::TemplateFileName`.

**Konfigurasi template**  
Lokasi file konfigurasi template, yang mengikuti format `ArtifactName::TemplateConfigurationFileName`. File konfigurasi templat dapat berisi nilai parameter templat, kebijakan tumpukan, dan tag. Jika Anda menyertakan informasi sensitif, seperti kata sandi, batasi akses ke file ini. Untuk informasi selengkapnya, lihat [CloudFormation artefak](continuous-delivery-codepipeline-cfn-artifacts.md).

**Kemampuan**  
Untuk tumpukan yang berisi sumber daya tertentu, pengakuan eksplisit yang CloudFormation mungkin membuat atau memperbarui sumber daya tersebut. Misalnya, Anda harus menentukan `CAPABILITY_IAM` apakah template tumpukan Anda berisi sumber daya AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, lihat parameter permintaan operasi [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)API.  
Jika Anda memiliki sumber daya IAM di template tumpukan Anda, Anda harus menentukan properti ini.  
Anda dapat menentukan lebih dari satu kemampuan.

**Nama peran**  
Nama peran layanan IAM yang CloudFormation mengasumsikan ketika beroperasi pada sumber daya dalam tumpukan yang ditentukan.

**Nama berkas keluaran**  
Di bagian **Lanjutan**, Anda dapat menentukan nama file keluaran, seperti`CreateStackOutput.json`, yang CodePipeline menambah [artefak keluaran](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-artifacts) setelah melakukan tindakan yang ditentukan. Artefak keluaran berisi file JSON dengan isi `Outputs` bagian template. CloudFormation   
Jika Anda tidak menentukan nama, CodePipeline tidak menghasilkan artefak keluaran.

**Penggantian parameter**  
Parameter ditetapkan di templat Anda dan memungkinkan Anda untuk memasukkan nilai kustom saat membuat atau memperbarui tumpukan. Anda dapat menentukan sebuah objek JSON yang menimpa nilai parameter templat dalam file konfigurasi templat. Semua nama parameter harus ada dalam templat tumpukan. Untuk informasi selengkapnya, lihat [CloudFormation Parameterssintaks template](parameters-section-structure.md).  
Ada batas ukuran maksimum 1 kilobyte untuk objek JSON yang dapat disimpan dalam properti `ParameterOverrides`.
Kami merekomendasikan agar Anda menggunakan file konfigurasi templat untuk menentukan sebagian besar nilai parameter Anda. Gunakan penimpaan parameter untuk menentukan hanya nilai parameter dinamis. Parameter dinamis tidak diketahui sebelum Anda menjalankan alur.  
Contoh berikut menetapkan nilai untuk parameter `ParameterName` menggunakan fungsi penimpaan parameter. Fungsi mengambil nilai dari artefak CodePipeline input. Untuk informasi lebih lanjut tentang fungsi penimpaan parameter, lihat [Menggunakan fungsi penggantian parameter dengan saluran pipa CodePipeline](continuous-delivery-codepipeline-parameter-override-functions.md).  

```
{
  "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]}
}
```

## Properti konfigurasi (objek JSON)
<a name="continuous-delivery-codepipeline-action-reference-json"></a>

Bila Anda menentukan `CloudFormation` sebagai penyedia untuk tindakan tahap, menentukan properti berikut di properti `Configuration`. Gunakan objek JSON untuk AWS CLI, CodePipeline API, atau CloudFormation template. Sebagai contoh, lihat [Panduan: Membangun alur untuk tumpukan uji dan produksi](continuous-delivery-codepipeline-basic-walkthrough.md) dan [CloudFormation referensi properti konfigurasi](#continuous-delivery-codepipeline-action-reference).

`ActionMode`  
 CloudFormation Tindakan yang CodePipeline dipanggil ketika memproses tahap terkait. Tentukan hanya salah satu mode tindakan berikut:  
+ `CHANGE_SET_EXECUTE` mengeksekusi set perubahan.
+ `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 tumpukan yang ditentukan tidak ada. Jika tumpukan ada, CloudFormation akan memperbarui tumpukan. Gunakan tindakan ini untuk memperbarui tumpukan yang ada. CodePipeline tidak akan menggantikan 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 tumpukan yang ditentukan tidak ada. Jika tumpukan ada dan dalam keadaan gagal (dilaporkan sebagai`ROLLBACK_COMPLETE`,,`ROLLBACK_FAILED`, `CREATE_FAILED``DELETE_FAILED`, atau`UPDATE_ROLLBACK_FAILED`), CloudFormation menghapus tumpukan dan kemudian membuat tumpukan baru. Jika tumpukan tidak dalam keadaan gagal, CloudFormation perbarui. Gunakan tindakan ini untuk secara otomatis mengganti tumpukan yang gagal tanpa memulihkan atau memecahkan masalahnya. Anda biasanya akan memilih mode ini untuk pengujian.
Properti ini diperlukan.

`Capabilities`  
Untuk tumpukan yang berisi sumber daya tertentu, pengakuan eksplisit yang CloudFormation mungkin membuat atau memperbarui sumber daya tersebut. Misalnya, Anda harus menentukan `CAPABILITY_IAM` apakah template tumpukan Anda berisi sumber daya AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, lihat parameter permintaan operasi [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html)API.  
Properti ini bersyarat. Jika Anda memiliki sumber daya IAM di template tumpukan Anda, Anda harus menentukan properti ini.  
Anda dapat menentukan beberapa kemampuan. Contoh berikut menambahkan `CAPABILITY_IAM` dan `CAPABILITY_AUTO_EXPAND` properti ke template:  

```
configuration:
  ActionMode: CHANGE_SET_REPLACE
  Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
  ChangeSetName: pipeline-changeset
  RoleArn: CloudFormation_Role_ARN
  StackName: my-pipeline-stack
  TemplateConfiguration: 'my-pipeline-stack::template-configuration.json'
  TemplatePath: 'my-pipeline-stack::template-export.yml'
```

```
 "configuration": {
        "ActionMode": "CHANGE_SET_REPLACE",
        "Capabilities": "CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND",
        "ChangeSetName": "pipeline-changeset",
        "RoleArn": "CloudFormation_Role_ARN",
        "StackName": "my-pipeline-stack",
        "TemplateConfiguration": "my-pipeline-stack::template-configuration.json",
        "TemplatePath": "my-pipeline-stack::template-export.yml"
    }
```

`ChangeSetName`  
Nama set perubahan yang ada atau set perubahan baru yang ingin Anda buat untuk tumpukan tertentu.  
Properti ini diperlukan untuk mode tindakan berikut: `CHANGE_SET_REPLACE` dan `CHANGE_SET_EXECUTE`. Untuk semua mode tindakan lainnya, properti ini diabaikan.

`OutputFileName`  
Sebuah nama untuk file output, seperti`CreateStackOutput.json`. CodePipeline menambahkan file ke [artefak output](https://docs.aws.amazon.com/codepipeline/latest/userguide/concepts.html#concepts-artifacts) setelah melakukan tindakan yang ditentukan. Artefak keluaran berisi file JSON dengan isi `Outputs` bagian template. CloudFormation   
Properti ini adalah opsional. Jika Anda tidak menentukan nama, CodePipeline tidak menghasilkan artefak keluaran.

`ParameterOverrides`  
Parameter ditetapkan di templat Anda dan memungkinkan Anda untuk memasukkan nilai kustom saat membuat atau memperbarui tumpukan. Anda dapat menentukan sebuah objek JSON yang menimpa nilai parameter templat dalam file konfigurasi templat. Semua nama parameter harus ada dalam templat tumpukan. Untuk informasi selengkapnya, lihat [CloudFormation Parameterssintaks template](parameters-section-structure.md).  
Contoh berikut menambahkan penimpaan parameter `InstanceType` dan `KeyName` ke templat:  

```
configuration:
  ActionMode: CHANGE_SET_REPLACE
  Capabilities: CAPABILITY_NAMED_IAM
  ChangeSetName: pipeline-changeset
  ParameterOverrides: '{"InstanceType": "t2.small","KeyName": "my-keypair"}'
  RoleArn: CloudFormation_Role_ARN
  StackName: my-pipeline-stack
  TemplateConfiguration: 'my-pipeline-stack::template-configuration.json'
  TemplatePath: 'my-pipeline-stack::template-export.yml'
```

```
"configuration": {
        "ActionMode": "CHANGE_SET_REPLACE",
        "Capabilities": "CAPABILITY_NAMED_IAM",
        "ChangeSetName": "pipeline-changeset",
        "ParameterOverrides": "{\"InstanceType\": \"t2.small\",\"KeyName\": \"my-keypair\"}",
        "RoleArn": "CloudFormation_Role_ARN",
        "StackName": "my-pipeline-stack",
        "TemplateConfiguration": "my-pipeline-stack::template-configuration.json",
        "TemplatePath": "my-pipeline-stack::template-export.yml"
    }
```
Ukuran maksimum untuk objek JSON yang dapat disimpan dalam properti `ParameterOverrides` adalah 1 kilobyte.
Kami merekomendasikan agar Anda menggunakan file konfigurasi templat untuk menentukan sebagian besar nilai parameter Anda. Gunakan penimpaan parameter untuk menentukan hanya nilai parameter dinamis. Nilai parameter dinamis tidak diketahui sampai Anda menjalankan alur.  
Contoh berikut menetapkan nilai untuk parameter `ParameterName` menggunakan fungsi penimpaan parameter. Fungsi mengambil nilai dari artefak CodePipeline input. Untuk informasi lebih lanjut tentang fungsi penimpaan parameter, lihat [Menggunakan fungsi penggantian parameter dengan saluran pipa CodePipeline](continuous-delivery-codepipeline-parameter-override-functions.md).  

```
{
  "ParameterName" : { "Fn::GetParam" : ["ArtifactName", "config-file-name.json", "ParamName"]}
}
```
Properti ini adalah opsional.

`RoleArn`  
Nama Sumber Daya Amazon (ARN) dari peran layanan IAM yang CloudFormation mengasumsikan ketika beroperasi pada sumber daya dalam tumpukan.  
Properti ini diperlukan untuk mode tindakan berikut: `CREATE_UPDATE`, `REPLACE_ON_FAILURE`, `DELETE_ONLY`, dan `CHANGE_SET_REPLACE`. `RoleArn` tidak diterapkan ketika mengeksekusi set perubahan. Jika Anda tidak menggunakan CodePipeline untuk membuat set perubahan, pastikan bahwa set perubahan atau tumpukan memiliki peran terkait.

`StackName`  
Nama tumpukan yang ada atau tumpukan yang ingin Anda buat.  
Properti ini diperlukan untuk semua mode tindakan.

`TemplateConfiguration`  
`TemplateConfiguration` adalah file konfigurasi templat. Anda menyertakan file dalam artefak input untuk tindakan ini. 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"
```
File konfigurasi templat dapat berisi nilai parameter template dan kebijakan tumpukan. Jika Anda menyertakan informasi sensitif, seperti kata sandi, batasi akses ke file ini. Untuk contoh file konfigurasi template, lihat[CloudFormation artefak](continuous-delivery-codepipeline-cfn-artifacts.md).  
Properti ini adalah opsional.

`TemplatePath`  
`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.yaml` membuat nama `TemplatePath` seperti yang ditunjukkan dalam contoh ini:  

```
"TemplatePath": "SourceArtifact::template.yaml"
```
Properti ini diperlukan untuk mode tindakan berikut: `CREATE_UPDATE`, `REPLACE_ON_FAILURE`, dan `CHANGE_SET_REPLACE`. Untuk semua mode tindakan lainnya, properti ini diabaikan.

## Lihat juga
<a name="continuous-delivery-codepipeline-action-reference-see-also"></a>

Sumber daya terkait berikut dapat membantu Anda saat menggunakan parameter ini.
+ Untuk informasi selengkapnya tentang parameter CloudFormation tindakan CodePipeline, lihat [referensi konfigurasi tindakan CloudFormation penerapan](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CloudFormation.html) di *Panduan AWS CodePipeline Pengguna*.
+ Misalnya nilai templat menurut penyedia tindakan, seperti untuk `Owner` bidang atau `configuration` bidang, lihat [referensi struktur tindakan](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) di *Panduan AWS CodePipeline Pengguna*.
+ Untuk mengunduh contoh templat tumpukan pipeline dalam format YAMAL atau JSON, lihat [Tutorial: Membuat pipeline dengan CloudFormationAWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-cloudformation.html) *Panduan Pengguna*.