

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

# Atribut
<a name="workingcookbook-installingcustom-components-attributes"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Resep dan template bergantung pada berbagai nilai, seperti pengaturan konfigurasi. Daripada hardcode nilai-nilai tersebut secara langsung dalam resep atau template, Anda dapat membuat file atribut dengan atribut yang mewakili setiap nilai. Anda kemudian menggunakan atribut dalam resep atau templat Anda alih-alih nilai eksplisit. Keuntungan menggunakan atribut adalah Anda dapat mengganti nilainya tanpa menyentuh buku masak. Untuk alasan ini, Anda harus selalu menggunakan atribut untuk menentukan jenis nilai berikut:
+ Nilai yang mungkin bervariasi dari tumpukan ke tumpukan atau dengan waktu, seperti nama pengguna.

  Jika Anda hardcode nilai-nilai tersebut, Anda harus mengubah resep atau template setiap kali Anda perlu mengubah nilai. Dengan menggunakan atribut untuk menentukan nilai-nilai ini, Anda dapat menggunakan buku masak yang sama untuk setiap tumpukan dan hanya mengganti atribut yang sesuai.
+ Nilai sensitif, seperti kata sandi atau kunci rahasia.

  Menempatkan nilai sensitif eksplisit dalam buku masak Anda dapat meningkatkan risiko paparan. Sebagai gantinya, tentukan atribut dengan nilai dummy dan timpa untuk menetapkan nilai sebenarnya. Cara terbaik untuk mengganti atribut tersebut adalah dengan JSON khusus. Untuk informasi selengkapnya, lihat [Menggunakan JSON Kustom](workingcookbook-json-override.md).

Untuk informasi selengkapnya tentang atribut dan cara menggantinya, lihat[Mengesampingkan Atribut](workingcookbook-attributes.md). 

Contoh berikut adalah bagian dari file atribut contoh.

```
...
default["apache"]["listen_ports"] = [ '80','443' ]
default["apache"]["contact"] = 'ops@example.com'
default["apache"]["timeout"] = 120
default["apache"]["keepalive"] = 'Off'
default["apache"]["keepaliverequests"] = 100
default["apache"]["keepalivetimeout"] = 3
default["apache"]["prefork"]["startservers"] = 16
default["apache"]["prefork"]["minspareservers"] = 16
default["apache"]["prefork"]["maxspareservers"] = 32
default["apache"]["prefork"]["serverlimit"] = 400
default["apache"]["prefork"]["maxclients"] = 400
default["apache"]["prefork"]["maxrequestsperchild"] = 10000
...
```

 OpsWorks Stacks mendefinisikan atribut dengan menggunakan sintaks berikut:

```
node.type["attribute"]["subattribute"]["..."]=value
```

Anda juga dapat menggunakan titik dua (:), sebagai berikut:

```
node.type[:attribute][:subattribute][:...]=value
```

Definisi atribut memiliki komponen-komponen berikut:

## `node.`
<a name="node"></a>

`node.`Awalan adalah opsional dan biasanya dihilangkan, seperti yang ditunjukkan pada contoh.

## `type`
<a name="type"></a>

Tipe mengatur apakah atribut dapat diganti. OpsWorks Atribut tumpukan biasanya menggunakan salah satu dari jenis berikut:
+ `default`adalah tipe yang paling umum digunakan, karena memungkinkan atribut untuk diganti.
+ `normal`mendefinisikan atribut yang menggantikan salah satu nilai atribut OpsWorks Stacks standar.

**catatan**  
Chef mendukung jenis tambahan, yang tidak diperlukan untuk OpsWorks Stacks tetapi mungkin berguna untuk proyek Anda. Untuk informasi selengkapnya, lihat [Tentang Atribut](http://docs.chef.io/attributes.html).

## `attribute name`
<a name="attribute-name"></a>

Nama atribut menggunakan sintaks simpul Chef standar,`[:attribute][:subattribute][...]`. Anda dapat menggunakan nama apa pun yang Anda suka untuk atribut Anda. [Namun, seperti yang dibahas dalam[Mengesampingkan Atribut](workingcookbook-attributes.md), atribut buku masak khusus digabungkan ke dalam objek node instance, bersama dengan atribut dari konfigurasi tumpukan dan atribut penerapan, dan alat Ohai Chef.](https://docs.chef.io/ohai.html) Nama konfigurasi yang umum digunakan seperti *port* atau *pengguna* mungkin muncul di berbagai buku masak.

Untuk menghindari tabrakan nama, konvensi adalah membuat nama atribut yang memenuhi syarat dengan setidaknya dua elemen, seperti yang ditunjukkan pada contoh. Elemen pertama harus unik dan biasanya didasarkan pada nama produk seperti *Apache*. Ini diikuti oleh satu atau lebih subattribut yang mengidentifikasi nilai tertentu, seperti atau. `[:user]` `[:port]` Anda dapat menggunakan subattribut sebanyak yang sesuai untuk proyek Anda.

## `value`
<a name="value"></a>

Atribut dapat diatur ke jenis nilai berikut:
+ Sebuah string, seperti`default[:apache][:keepalive] = 'Off'`.
+ Angka (tanpa tanda kutip) seperti`default[:apache][:timeout] = 120`.
+ Nilai Boolean, yang bisa berupa `true` atau `false` (tidak ada tanda kutip).
+ Daftar nilai, seperti `default[:apache][:listen_ports] = [ '80','443' ]`

File atribut adalah aplikasi Ruby, sehingga Anda juga dapat menggunakan sintaks node dan operator logis untuk menetapkan nilai berdasarkan atribut lainnya. Untuk informasi selengkapnya tentang cara mendefinisikan atribut, lihat [Tentang Atribut s](https://docs.chef.io/chef_overview_attributes.html). [Untuk contoh file atribut yang berfungsi, lihat buku masak bawaan OpsWorks Stacks di opsworks-cookbooks. https://github.com/aws/](https://github.com/aws/opsworks-cookbooks)