

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

# Membuat profil konfigurasi bendera fitur di AWS AppConfig
<a name="appconfig-creating-configuration-and-profile-feature-flags"></a>

Anda dapat menggunakan bendera fitur untuk mengaktifkan atau menonaktifkan fitur dalam aplikasi Anda atau untuk mengonfigurasi karakteristik yang berbeda dari fitur aplikasi Anda menggunakan atribut bendera. AWS AppConfig menyimpan konfigurasi bendera fitur di penyimpanan konfigurasi yang AWS AppConfig dihosting dalam format bendera fitur yang berisi data dan metadata tentang bendera Anda dan atribut bendera.

**catatan**  
Saat membuat profil konfigurasi flag fitur, Anda dapat membuat flag fitur dasar sebagai bagian dari alur kerja profil konfigurasi. AWS AppConfig juga mendukung bendera fitur multi-varian. *Bendera fitur multi-varian* memungkinkan Anda untuk menentukan satu set nilai bendera yang mungkin untuk dikembalikan untuk permintaan. Saat meminta flag yang dikonfigurasi dengan varian, aplikasi Anda menyediakan konteks yang AWS AppConfig mengevaluasi terhadap serangkaian aturan yang ditetapkan pengguna. Bergantung pada konteks yang ditentukan dalam permintaan dan aturan yang ditetapkan untuk varian, AWS AppConfig mengembalikan nilai flag yang berbeda ke aplikasi.  
Untuk membuat flag fitur multi-varian, buat profil konfigurasi terlebih dahulu, lalu edit flag apa pun di dalam profil konfigurasi untuk menambahkan varian. Untuk informasi selengkapnya, lihat [Membuat bendera fitur multi-varian](appconfig-creating-multi-variant-feature-flags.md).

**Topics**
+ [

## Memahami atribut bendera fitur
](#appconfig-creating-configuration-profile-feature-flag-attributes)
+ [

# Membuat profil konfigurasi bendera fitur (konsol)
](appconfig-creating-feature-flag-configuration-create-console.md)
+ [

# Membuat profil konfigurasi bendera fitur (baris perintah)
](appconfig-creating-feature-flag-configuration-commandline.md)
+ [

# Membuat bendera fitur multi-varian
](appconfig-creating-multi-variant-feature-flags.md)
+ [

# Memahami referensi tipe untuk AWS.AppConfig.FeatureFlags
](appconfig-type-reference-feature-flags.md)
+ [

# Menyimpan versi bendera fitur sebelumnya ke versi baru
](appconfig-creating-configuration-profile-feature-flags-editing-version.md)

## Memahami atribut bendera fitur
<a name="appconfig-creating-configuration-profile-feature-flag-attributes"></a>

Saat membuat profil konfigurasi flag fitur—atau membuat flag baru dalam profil konfigurasi yang ada—Anda dapat menentukan atribut dan batasan yang sesuai untuk flag tersebut. Atribut adalah bidang yang Anda kaitkan dengan flag fitur untuk mengekspresikan properti yang terkait dengan flag fitur Anda. Atribut dikirimkan ke aplikasi Anda dengan kunci bendera dan `enable` atau `disable` nilai bendera.

Batasan memastikan bahwa nilai atribut yang tidak terduga tidak diterapkan ke aplikasi Anda. Gambar berikut menunjukkan sebuah contoh.

![\[Contoh atribut bendera untuk bendera AWS AppConfig fitur\]](http://docs.aws.amazon.com/id_id/appconfig/latest/userguide/images/appconfig-flag-attributes.png)


**catatan**  
Perhatikan informasi berikut tentang atribut bendera.  
Untuk nama atribut, kata “diaktifkan” dicadangkan. Anda tidak dapat membuat atribut flag fitur yang disebut “enabled”. Tidak ada kata-kata lain yang dicadangkan.
Atribut flag fitur hanya disertakan dalam `GetLatestConfiguration` respons jika flag tersebut diaktifkan. 
Kunci atribut bendera untuk bendera tertentu harus unik. 

AWS AppConfig mendukung jenis atribut bendera berikut dan kendala yang sesuai.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/appconfig/latest/userguide/appconfig-creating-configuration-and-profile-feature-flags.html)

# Membuat profil konfigurasi bendera fitur (konsol)
<a name="appconfig-creating-feature-flag-configuration-create-console"></a>

Gunakan prosedur berikut untuk membuat profil konfigurasi tanda AWS AppConfig fitur dengan menggunakan AWS AppConfig konsol. Pada saat Anda membuat profil konfigurasi, Anda juga dapat membuat bendera fitur dasar. 

**Untuk membuat profil konfigurasi**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Di panel navigasi, pilih **Aplikasi**, lalu pilih aplikasi yang Anda buat. [Membuat namespace untuk aplikasi Anda di AWS AppConfig](appconfig-creating-namespace.md)

1. Pada tab **Profil konfigurasi dan bendera fitur**, pilih **Buat konfigurasi**.

1. Di bagian **Opsi konfigurasi**, pilih **Bendera fitur**.

1. Di bagian **Profil konfigurasi**, untuk **nama profil Konfigurasi**, masukkan nama.

1. (Opsional) Perluas **Deskripsi** dan masukkan deskripsi.

1. (Opsional) Perluas **Opsi tambahan** dan selesaikan yang berikut ini, seperlunya.

   1. Dalam daftar **Enkripsi**, pilih tombol AWS Key Management Service (AWS KMS) dari daftar. Kunci yang dikelola pelanggan ini memungkinkan Anda mengenkripsi versi data konfigurasi baru di toko konfigurasi yang AWS AppConfig dihosting. Untuk informasi selengkapnya tentang kunci ini, lihat **AWS AppConfig mendukung kunci manajer pelanggan**[Keamanan di AWS AppConfig](appconfig-security.md).

   1. Di bagian **Tag**, pilih **Tambahkan tag baru**, lalu tentukan kunci dan nilai opsional. 

1. Pilih **Berikutnya**.

1. Di bagian **Definisi bendera fitur**, untuk **nama Bendera**, masukkan nama.

1. Untuk **tombol Bendera** masukkan pengenal bendera untuk membedakan bendera dalam profil konfigurasi yang sama. Bendera dalam profil konfigurasi yang sama tidak dapat memiliki kunci yang sama. Setelah bendera dibuat, Anda dapat mengedit nama bendera, tetapi bukan tombol bendera. 

1. (Opsional) Perluas **Deskripsi** dan masukkan informasi tentang bendera ini.

1. Pilih **Ini adalah bendera jangka pendek** dan secara opsional memilih tanggal kapan bendera harus dinonaktifkan atau dihapus. AWS AppConfig *tidak* menonaktifkan bendera pada tanggal penghentian. 

1. (Opsional) Di bagian **atribut bendera fitur**, pilih **Tentukan atribut**. Atribut memungkinkan Anda untuk memberikan nilai tambahan dalam flag Anda. Untuk informasi selengkapnya tentang atribut dan kendala, lihat. [Memahami atribut bendera fitur](appconfig-creating-configuration-and-profile-feature-flags.md#appconfig-creating-configuration-profile-feature-flag-attributes)

   1. Untuk **Key**, tentukan tombol bendera dan pilih jenisnya dari daftar **Type**. Untuk informasi tentang opsi yang didukung untuk bidang **Nilai** dan Batasan, lihat bagian **yang** direferensikan sebelumnya tentang atribut.

   1. Pilih **Nilai yang diperlukan** untuk menentukan apakah nilai atribut diperlukan.

   1. Pilih **Tentukan atribut** untuk menambahkan atribut tambahan.

1. Di bagian **Nilai tanda fitur**, pilih **Diaktifkan** untuk mengaktifkan bendera. Gunakan sakelar yang sama ini untuk menonaktifkan tanda saat mencapai tanggal penghentian yang ditentukan, jika berlaku.

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan simpan**, verifikasi detail bendera dan kemudian **Simpan dan lanjutkan untuk menerapkan**.

Lanjut ke [Menerapkan flag fitur dan data konfigurasi di AWS AppConfig](deploying-feature-flags.md).

# Membuat profil konfigurasi bendera fitur (baris perintah)
<a name="appconfig-creating-feature-flag-configuration-commandline"></a>

Prosedur berikut menjelaskan cara menggunakan AWS Command Line Interface (di Linux atau Windows) atau Alat untuk Windows PowerShell untuk membuat profil konfigurasi bendera AWS AppConfig fitur. Pada saat Anda membuat profil konfigurasi, Anda juga dapat membuat bendera fitur dasar.

**Untuk membuat konfigurasi flag fitur**

1. Buka AWS CLI.

1. Buat profil konfigurasi bendera fitur yang menentukan **Tipe** sebagai`AWS.AppConfig.FeatureFlags`. Profil konfigurasi harus digunakan `hosted` untuk URI lokasi.

------
#### [ Linux ]

   ```
   aws appconfig create-configuration-profile \
     --application-id APPLICATION_ID \
     --name CONFIGURATION_PROFILE_NAME \
     --location-uri hosted \
     --type AWS.AppConfig.FeatureFlags
   ```

------
#### [ Windows ]

   ```
   aws appconfig create-configuration-profile ^
     --application-id APPLICATION_ID ^
     --name CONFIGURATION_PROFILE_NAME ^
     --location-uri hosted ^
     --type AWS.AppConfig.FeatureFlags
   ```

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

   ```
   New-APPCConfigurationProfile `
     -Name CONFIGURATION_PROFILE_NAME `
     -ApplicationId APPLICATION_ID `
     -LocationUri hosted `
     -Type AWS.AppConfig.FeatureFlags
   ```

------

1. Buat data konfigurasi bendera fitur Anda. Data Anda harus dalam format JSON dan sesuai dengan skema `AWS.AppConfig.FeatureFlags` JSON. Untuk informasi lebih lanjut tentang skema, lihat[Memahami referensi tipe untuk AWS.AppConfig.FeatureFlags](appconfig-type-reference-feature-flags.md).

1. Gunakan `CreateHostedConfigurationVersion` API untuk menyimpan data konfigurasi flag fitur Anda AWS AppConfig.

------
#### [ Linux ]

   ```
   aws appconfig create-hosted-configuration-version \
     --application-id APPLICATION_ID \
     --configuration-profile-id CONFIGURATION_PROFILE_ID \
     --content-type "application/json" \
     --content file://path/to/feature_flag_configuration_data.json \
     --cli-binary-format raw-in-base64-out
   ```

------
#### [ Windows ]

   ```
   aws appconfig create-hosted-configuration-version ^
     --application-id APPLICATION_ID ^
     --configuration-profile-id CONFIGURATION_PROFILE_ID ^
     --content-type "application/json" ^
     --content file://path/to/feature_flag_configuration_data.json ^
     --cli-binary-format raw-in-base64-out
   ```

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

   ```
   New-APPCHostedConfigurationVersion `
     -ApplicationId APPLICATION_ID `
     -ConfigurationProfileId CONFIGURATION_PROFILE_ID `
     -ContentType "application/json" `
     -Content file://path/to/feature_flag_configuration_data.json
   ```

------

   Perintah memuat konten yang ditentukan untuk `Content` parameter dari disk. Konten harus mirip dengan contoh berikut.

   ```
   {
       "flags": {
           "ui_refresh": {
               "name": "UI Refresh"
           }
       },
       "values": {
           "ui_refresh": {
               "enabled": false,
               "attributeValues": {
                   "dark_mode_support": true
               }
           }
       },
       "version": "1"
   }
   ```

   Sistem mengembalikan informasi seperti berikut ini.

------
#### [ Linux ]

   ```
   {
      "ApplicationId"          : "ui_refresh",
      "ConfigurationProfileId" : "UI Refresh",
      "VersionNumber"          : "1",
      "ContentType"            : "application/json"
   }
   ```

------
#### [ Windows ]

   ```
   {
      "ApplicationId"          : "ui_refresh",
      "ConfigurationProfileId" : "UI Refresh",
      "VersionNumber"          : "1",
      "ContentType"            : "application/json"
   }
   ```

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

   ```
   ApplicationId          : ui_refresh
   ConfigurationProfileId : UI Refresh
   VersionNumber          : 1
   ContentType            : application/json
   ```

------

   `service_returned_content_file`Berisi data konfigurasi Anda yang mencakup beberapa AWS AppConfig metadata yang dihasilkan.
**catatan**  
Saat Anda membuat versi konfigurasi yang dihosting, AWS AppConfig verifikasi bahwa data Anda sesuai dengan skema `AWS.AppConfig.FeatureFlags` JSON. AWS AppConfig Selain itu memvalidasi bahwa setiap atribut flag fitur dalam data Anda memenuhi batasan yang Anda tetapkan untuk atribut tersebut.

# Membuat bendera fitur multi-varian
<a name="appconfig-creating-multi-variant-feature-flags"></a>

Varian bendera fitur memungkinkan Anda untuk menentukan satu set nilai bendera yang mungkin untuk kembali untuk permintaan. Anda juga dapat mengonfigurasi status yang berbeda (diaktifkan atau dinonaktifkan) untuk bendera multi-varian. Saat meminta flag yang dikonfigurasi dengan varian, aplikasi Anda menyediakan konteks yang AWS AppConfig mengevaluasi terhadap serangkaian aturan yang ditetapkan pengguna. Bergantung pada konteks yang ditentukan dalam permintaan dan aturan yang ditetapkan untuk varian, AWS AppConfig mengembalikan nilai flag yang berbeda ke aplikasi.

Tangkapan layar berikut menunjukkan contoh bendera fitur dengan tiga varian yang ditentukan pengguna dan varian default.

![\[Contoh tangkapan layar dari bendera fitur dengan varian.\]](http://docs.aws.amazon.com/id_id/appconfig/latest/userguide/images/flag-variant-example.png)


**Topics**
+ [

# Memahami konsep bendera fitur multi-varian dan kasus penggunaan umum
](appconfig-creating-multi-variant-feature-flags-concepts.md)
+ [

# Memahami aturan bendera fitur multi-varian
](appconfig-creating-multi-variant-feature-flags-rules.md)
+ [

# Membuat bendera fitur multi-varian
](appconfig-creating-multi-variant-feature-flags-procedures.md)

# Memahami konsep bendera fitur multi-varian dan kasus penggunaan umum
<a name="appconfig-creating-multi-variant-feature-flags-concepts"></a>

Untuk membantu Anda lebih memahami varian bendera fitur, bagian ini menjelaskan konsep varian bendera dan kasus penggunaan umum.

**Konsep**
+ **Bendera fitur**: Jenis AWS AppConfig konfigurasi yang digunakan untuk mengontrol perilaku fitur dalam aplikasi. Bendera memiliki status (diaktifkan atau dinonaktifkan) dan kumpulan atribut opsional yang berisi nilai string, numerik, boolean, atau array arbitrer.
+ **Varian bendera fitur**: Kombinasi spesifik dari nilai status dan atribut milik bendera fitur. Bendera fitur mungkin memiliki beberapa varian.
+ **Aturan varian**: Ekspresi yang ditentukan pengguna yang digunakan untuk memilih varian bendera fitur. Setiap varian memiliki aturannya sendiri yang AWS AppConfig mengevaluasi untuk menentukan apakah akan mengembalikannya atau tidak.
+ **Varian default**: Varian khusus yang dikembalikan ketika tidak ada varian lain yang dipilih. Semua flag fitur multi-varian memiliki varian default.

  Catatan, varian default harus terakhir dalam urutan varian Anda, dan tidak dapat memiliki aturan yang terkait dengannya. Jika tidak didefinisikan terakhir, AWS AppConfig mengembalikan `BadRequestException` ketika Anda mencoba untuk membuat bendera multi-varian.
+ **Konteks**: Kunci dan nilai yang ditentukan pengguna diteruskan AWS AppConfig pada waktu pengambilan konfigurasi. Nilai konteks digunakan selama evaluasi aturan untuk memilih varian bendera fitur yang akan dikembalikan.

**catatan**  
AWS AppConfig agen mengevaluasi aturan varian dan menentukan aturan mana yang berlaku untuk permintaan berdasarkan konteks yang disediakan. Untuk informasi selengkapnya tentang mengambil flag fitur multi-varient, lihat. [Mengambil flag fitur dasar dan multi-varian](appconfig-integration-retrieving-feature-flags.md)

**Kasus penggunaan umum**

Bagian ini menjelaskan dua kasus penggunaan umum untuk varian bendera fitur.

*Segmentasi pengguna*

Segmentasi pengguna adalah proses membagi pengguna berdasarkan atribut tertentu. Sebagai contoh, Anda dapat menggunakan varian bendera untuk mengekspos fitur ke beberapa pengguna tetapi tidak yang lain berdasarkan ID pengguna, lokasi geografis, jenis perangkat, atau frekuensi pembelian mereka.

Dengan menggunakan contoh frekuensi pembelian, misalkan aplikasi perdagangan Anda mendukung fitur untuk meningkatkan loyalitas pelanggan. Anda dapat menggunakan varian bendera untuk mengonfigurasi jenis insentif yang berbeda untuk ditampilkan kepada pengguna berdasarkan kapan mereka terakhir membeli sesuatu. Pengguna baru mungkin ditawari diskon kecil untuk mendorong mereka menjadi pelanggan, sedangkan pelanggan tetap mungkin diberi diskon yang lebih besar jika mereka membeli sesuatu dari kategori baru.

*Pemisahan lalu lintas*

Pemisahan lalu lintas adalah proses memilih varian bendera acak, tetapi konsisten, berdasarkan nilai konteks yang Anda tentukan. Misalnya, Anda mungkin ingin melakukan eksperimen di mana sebagian kecil pengguna Anda (diidentifikasi oleh ID pengguna mereka) melihat varian tertentu. Atau, Anda mungkin ingin menjalankan peluncuran fitur bertahap di mana fitur pertama kali diekspos ke 5% pengguna Anda, kemudian 15%, kemudian 40%, lalu 100%, sambil mempertahankan pengalaman pengguna yang konsisten selama peluncuran.

Menggunakan contoh eksperimen, Anda dapat menggunakan varian bendera untuk menguji gaya tombol baru untuk tindakan utama di beranda aplikasi Anda untuk melihat apakah itu mendorong lebih banyak klik. Untuk eksperimen, Anda dapat membuat varian bendera dengan aturan pemisahan lalu lintas yang memilih 5% pengguna untuk melihat gaya baru, sedangkan varian default menunjukkan pengguna yang harus terus melihat gaya yang ada. Jika percobaan berhasil, Anda dapat meningkatkan nilai persentase, atau bahkan mengubah varian itu menjadi default.

# Memahami aturan bendera fitur multi-varian
<a name="appconfig-creating-multi-variant-feature-flags-rules"></a>

Saat Anda membuat varian bendera fitur, Anda menentukan aturan untuk itu. Aturan adalah ekspresi yang mengambil nilai konteks sebagai input dan menghasilkan hasil boolean sebagai output. Misalnya, Anda dapat menentukan aturan untuk memilih varian bendera untuk pengguna beta, yang diidentifikasi oleh ID akun mereka, menguji penyegaran antarmuka pengguna. Untuk skenario ini, Anda melakukan hal berikut:

1. Buat profil konfigurasi flag fitur baru yang disebut *UI Refresh*.

1. Buat flag fitur baru yang disebut *ui\$1refresh*.

1. Edit bendera fitur setelah Anda membuatnya untuk menambahkan varian.

1. Buat dan aktifkan varian baru yang disebut *BetaUsers*.

1. Tentukan aturan untuk *BetaUsers*memilih varian jika ID akun dari konteks permintaan ada dalam daftar akun yang IDs disetujui untuk melihat pengalaman beta baru.

1. Konfirmasikan bahwa status varian default disetel ke **Dinonaktifkan**.

**catatan**  
Varian dievaluasi sebagai daftar berurutan berdasarkan urutan yang ditentukan di konsol. Varian di bagian atas daftar dievaluasi terlebih dahulu. Jika tidak ada aturan yang cocok dengan konteks yang disediakan, AWS AppConfig mengembalikan varian Default.

Saat AWS AppConfig memproses permintaan flag fitur, ia membandingkan konteks yang disediakan, yang menyertakan accountID (untuk contoh ini) dengan varian terlebih dahulu. BetaUsers Jika konteksnya cocok dengan aturan untuk BetaUsers, AWS AppConfig mengembalikan data konfigurasi untuk pengalaman beta. Jika konteks tidak menyertakan ID akun atau jika ID akun berakhir dengan apa pun selain 123, AWS AppConfig mengembalikan data konfigurasi untuk aturan Default, yang berarti pengguna melihat pengalaman saat ini dalam produksi.

**catatan**  
Untuk informasi tentang mengambil flag fitur multi-varian, lihat. [Mengambil flag fitur dasar dan multi-varian](appconfig-integration-retrieving-feature-flags.md)

# Mendefinisikan aturan untuk flag fitur multi-varian
<a name="appconfig-creating-multi-variant-feature-flags-rules-operators"></a>

Aturan varian adalah ekspresi yang terdiri dari satu atau lebih operan dan operator. Operan adalah nilai spesifik yang digunakan selama evaluasi aturan. Nilai operan dapat berupa statis, seperti angka literal atau string, atau variabel, seperti nilai yang ditemukan dalam konteks atau hasil ekspresi lain. Operator, seperti “lebih besar dari”, adalah tes atau tindakan yang diterapkan pada operannya yang menghasilkan nilai. Ekspresi aturan varian harus menghasilkan “true” atau “false” agar valid.

**Operan**


****  

| Tipe | Deskripsi | Contoh | 
| --- | --- | --- | 
|  String  |  Urutan karakter UTF-8, terlampir dalam tanda kutip ganda.  |  <pre>"apple", "Ḽơᶉëᶆ ȋṕšᶙṁ"</pre>  | 
|  Bilangan Bulat  |  Nilai integer 64-bit.  |  <pre>-7, 42 </pre>  | 
|  Desimal  |  Nilai floating-point 64-bit IEEE-754.  |  <pre>3.14, 1.234e-5</pre>  | 
|  Stempel waktu  |  Momen tertentu dalam waktu seperti yang dijelaskan oleh [catatan W3C pada format tanggal dan waktu](https://www.w3.org/TR/NOTE-datetime).  |  <pre>2012-03-04T05:06:07-08:00, 2024-01</pre>  | 
|  Boolean  |  Nilai benar atau salah.  |  <pre>true, false</pre>  | 
|  Nilai konteks  |  Nilai parameter dalam bentuk \$1 *key* yang diambil dari konteks selama evaluasi aturan.  |  <pre>$country, $userId</pre>  | 

**Operator perbandingan**


****  

| Operator | Deskripsi | Contoh | 
| --- | --- | --- | 
|  persamaan  |  Menentukan apakah nilai konteks sama dengan nilai yang diberikan.  |  <pre>(eq $state "Virginia")</pre>  | 
|  gt  |  Menentukan apakah nilai konteks lebih besar dari nilai yang diberikan.  |  <pre>(gt $age 65)</pre>  | 
|  gte  |  Menentukan apakah nilai konteks lebih besar dari atau sama dengan nilai yang diberikan.  |  <pre>(gte $age 65)</pre>  | 
|  lt  |  Menentukan apakah nilai konteks kurang dari nilai yang diberikan.  |  <pre>(lt $age 65)</pre>  | 
|  lte  |  Menentukan apakah nilai konteks kurang dari atau sama dengan nilai yang diberikan.  |  <pre>(lte $age 65)</pre>  | 

**Operator logis**


****  

| Operator | Deskripsi | Contoh | 
| --- | --- | --- | 
|  and  |  Menentukan apakah kedua operan benar.  |  <pre>(and <br />    (eq $state "Virginia") <br />    (gt $age 65)<br />)</pre>  | 
|  atau  |  Menentukan apakah setidaknya salah satu operan benar.  |  <pre>(or<br />    (eq $state "Virginia") <br />    (gt $age 65)<br />)</pre>  | 
|  tidak  |  Membalikkan nilai ekspresi.  |  <pre>(not (eq $state "Virginia"))</pre>  | 

**Operator kustom**


****  

| Operator | Deskripsi | Contoh | 
| --- | --- | --- | 
|  mulai\$1dengan  |  Menentukan apakah nilai konteks dimulai dengan awalan yang diberikan.  |  <pre>(begins_with $state "A")</pre>  | 
|  berakhir\$1dengan  |  Menentukan apakah nilai konteks berakhir dengan awalan yang diberikan.  |  <pre>(ends_with $email "amazon.com")</pre>  | 
|  mengandung  |  Menentukan apakah nilai konteks berisi substring yang diberikan.  |  <pre>(contains $promoCode "WIN")</pre>  | 
|  in  |  Menentukan apakah nilai konteks terkandung dalam daftar konstanta.  |  <pre>(in $userId ["123", "456"])</pre>  | 
|  korek api  |  Menentukan apakah nilai konteks cocok dengan pola regex yang diberikan.  |  <pre>(matches in::$greeting pattern::"h.*y")</pre>  | 
|  exists  |  Menentukan apakah ada nilai yang disediakan untuk kunci konteks.  |  <pre>(exists key::"country")</pre>  | 
|  terbelah  |  Mengevaluasi `true` untuk persentase lalu lintas tertentu berdasarkan hash yang konsisten dari nilai konteks yang disediakan. Untuk penjelasan rinci tentang cara `split` kerja, lihat bagian selanjutnya dalam topik ini,[Memahami operator split](appconfig-creating-multi-variant-feature-flags-rules.md#appconfig-creating-multi-variant-feature-flags-rules-operators-split). Perhatikan bahwa `seed` ini adalah properti opsional. Jika Anda tidak menentukan`seed`, hash konsisten *secara lokal*, yang berarti lalu lintas akan dibagi secara konsisten untuk flag itu, tetapi flag lain yang menerima nilai konteks yang sama dapat membagi lalu lintas secara berbeda. Jika `seed` disediakan, setiap nilai unik dijamin untuk membagi lalu lintas secara konsisten di seluruh bendera fitur, profil konfigurasi, dan Akun AWS.  |  <pre>(split pct::10 by::$userId seed::"abc")</pre>  | 

## Memahami operator split
<a name="appconfig-creating-multi-variant-feature-flags-rules-operators-split"></a>

Bagian berikut menjelaskan bagaimana `split` operator berperilaku ketika digunakan dalam skenario yang berbeda. Sebagai pengingat, `split` evaluasi `true` untuk persentase lalu lintas tertentu berdasarkan hash yang konsisten dari nilai konteks yang disediakan. Untuk memahami hal ini dengan lebih baik, pertimbangkan skenario dasar berikut yang menggunakan split dengan dua varian:

```
A: (split by::$uniqueId pct::20)
C: <no rule>
```

Seperti yang diharapkan, memberikan serangkaian `uniqueId` nilai acak menghasilkan distribusi yang kira-kira:

```
A: 20%
C: 80%
```

Jika Anda menambahkan varian ketiga, tetapi gunakan persentase split yang sama seperti:

```
A: (split by::$uniqueId pct::20)
B: (split by::$uniqueId pct::20)
C: <default>
```

Anda berakhir dengan distribusi berikut:

```
A: 20%
B: 0%
C: 80%
```

Distribusi yang berpotensi tidak terduga ini terjadi karena setiap aturan varian dievaluasi secara berurutan dan kecocokan pertama menentukan varian yang dikembalikan. Ketika aturan A dievaluasi, 20% `uniqueId` nilai cocok dengannya, jadi varian pertama dikembalikan. Selanjutnya, aturan B dievaluasi. Namun, semua `uniqueId` nilai yang akan cocok dengan pernyataan split kedua sudah dicocokkan dengan aturan varian A, jadi tidak ada nilai yang cocok B. Varian default dikembalikan sebagai gantinya.

Sekarang perhatikan contoh ketiga.

```
A: (split by::$uniqueId pct::20)
B: (split by::$uniqueId pct::25)
C: <default>
```

Seperti contoh sebelumnya, 20% `uniqueId` nilai pertama cocok dengan aturan A. Untuk aturan varian B, 25% dari semua `uniqueId` nilai akan cocok, tetapi sebagian besar dari aturan yang sebelumnya cocok A. Itu menyisakan 5% dari total untuk varian B, dengan sisanya menerima varian C. Distribusi akan terlihat seperti berikut:

```
A: 20%
B: 5%
C: 75%
```

**Menggunakan `seed` properti**  
Anda dapat menggunakan `seed` properti untuk memastikan lalu lintas dibagi secara konsisten untuk nilai konteks tertentu terlepas dari di mana operator split digunakan. Jika Anda tidak menentukan`seed`, hash konsisten *secara lokal*, yang berarti lalu lintas akan dibagi secara konsisten untuk flag itu, tetapi flag lain yang menerima nilai konteks yang sama dapat membagi lalu lintas secara berbeda. Jika `seed` disediakan, setiap nilai unik dijamin untuk membagi lalu lintas secara konsisten di seluruh bendera fitur, profil konfigurasi, dan Akun AWS.

Biasanya, pelanggan menggunakan `seed` nilai yang sama di seluruh varian dalam bendera saat memisahkan lalu lintas pada properti konteks yang sama. Namun, terkadang masuk akal untuk menggunakan nilai benih yang berbeda. Berikut adalah contoh yang menggunakan benih berbeda untuk aturan A dan B:

```
A: (split by::$uniqueId pct::20 seed::"seed_one")
B: (split by::$uniqueId pct::25 seed::"seed_two")
C: <default>
```

Seperti sebelumnya, 20% dari `uniqueId` nilai yang cocok dengan aturan A. Itu berarti 80% nilai jatuh dan diuji terhadap aturan varian B. Karena benih berbeda, tidak ada korelasi antara nilai yang cocok dengan A dan nilai yang cocok B. Namun, hanya 80% `uniqueId` nilai yang dibagi dengan 25% dari aturan pencocokan angka B dan 75% tidak. Itu berhasil untuk distribusi berikut:

```
A: 20%
B: 20% (25% of what falls through from A, or 25% of 80%) 
C: 60%
```

# Membuat bendera fitur multi-varian
<a name="appconfig-creating-multi-variant-feature-flags-procedures"></a>

Gunakan prosedur di bagian ini untuk membuat varian bendera fitur.

**Sebelum Anda mulai**  
Perhatikan informasi penting berikut.
+ Anda dapat membuat varian bendera fitur yang ada dengan mengeditnya. Anda tidak dapat membuat varian tanda fitur baru *saat membuat profil konfigurasi baru*. Anda harus menyelesaikan alur kerja membuat profil konfigurasi baru terlebih dahulu. Setelah Anda membuat profil konfigurasi, Anda dapat menambahkan varian ke bendera apa pun dalam profil konfigurasi. Untuk informasi tentang cara membuat profil konfigurasi baru, lihat[Membuat profil konfigurasi bendera fitur di AWS AppConfig](appconfig-creating-configuration-and-profile-feature-flags.md).
+ Untuk mengambil data varian tanda fitur untuk platform komputasi Amazon EC2, Amazon ECS, dan Amazon EKS, Anda harus AWS AppConfig menggunakan Agen versi 2.0.4416 atau yang lebih baru.
+ Untuk alasan kinerja, AWS CLI dan panggilan SDK untuk AWS AppConfig tidak mengambil data varian. Untuk informasi lebih lanjut tentang AWS AppConfig Agen, lihat[Cara menggunakan AWS AppConfig Agen untuk mengambil data konfigurasi](appconfig-agent-how-to-use.md).
+ Saat Anda membuat varian bendera fitur, Anda menentukan aturan untuk itu. Aturan adalah ekspresi yang mengambil konteks permintaan sebagai input dan menghasilkan hasil boolean sebagai output. Sebelum Anda membuat varian, tinjau operan dan operator yang didukung untuk menandai aturan varian. Anda dapat membuat aturan sebelum membuat varian. Untuk informasi selengkapnya, lihat [Memahami aturan bendera fitur multi-varian](appconfig-creating-multi-variant-feature-flags-rules.md).

**Topics**
+ [

## Membuat bendera fitur multi-varian (konsol)
](#appconfig-creating-multi-variant-feature-flags-procedures-console)
+ [

## Membuat bendera fitur multi-varian (baris perintah)
](#appconfig-creating-multi-variant-feature-flags-procedures-commandline)

## Membuat bendera fitur multi-varian (konsol)
<a name="appconfig-creating-multi-variant-feature-flags-procedures-console"></a>

Prosedur berikut menjelaskan cara membuat flag fitur multi-varian untuk profil konfigurasi yang ada dengan menggunakan AWS AppConfig konsol. Anda juga dapat mengedit bendera fitur yang ada untuk membuat varian.

**Untuk membuat bendera fitur multi-varian**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Di panel navigasi, pilih **Aplikasi**, lalu pilih aplikasi.

1. Pada tab **Profil konfigurasi dan bendera fitur**, pilih profil konfigurasi bendera fitur yang ada.

1. Di bagian **Bendera**, pilih **Tambahkan bendera baru**.

1. Di bagian **Definisi bendera fitur**, untuk **nama Bendera**, masukkan nama.

1. Untuk **tombol Bendera** masukkan pengenal bendera untuk membedakan bendera dalam profil konfigurasi yang sama. Bendera dalam profil konfigurasi yang sama tidak dapat memiliki kunci yang sama. Setelah bendera dibuat, Anda dapat mengedit nama bendera, tetapi bukan tombol bendera. 

1. (Opsional) Di bidang **Deskripsi**, masukkan informasi tentang bendera ini.

1. Di bagian **Varian**, pilih **Bendera Multi-varian**.

1. (Opsional) Di bagian **atribut bendera fitur**, pilih **Tentukan atribut**. Atribut memungkinkan Anda untuk memberikan nilai tambahan dalam flag Anda. Untuk informasi selengkapnya tentang atribut dan kendala, lihat. [Memahami atribut bendera fitur](appconfig-creating-configuration-and-profile-feature-flags.md#appconfig-creating-configuration-profile-feature-flag-attributes)

   1. Untuk **Key**, tentukan tombol bendera dan pilih jenisnya dari daftar **Type**. Untuk informasi tentang opsi yang didukung untuk bidang **Nilai** dan Batasan, lihat bagian **yang** direferensikan sebelumnya tentang atribut.

   1. Pilih **Nilai yang diperlukan** untuk menentukan apakah nilai atribut diperlukan.

   1. Pilih **Tentukan atribut** untuk menambahkan atribut tambahan.

   1. Pilih **Terapkan** untuk menyimpan perubahan atribut.

1. Di bagian **varian bendera fitur**, pilih **Buat varian**.

   1. Untuk **nama Variant**, masukkan nama.

   1. Gunakan sakelar **nilai Diaktifkan** untuk mengaktifkan varian.

   1. Di kotak teks **Aturan**, masukkan aturan.

   1. Gunakan opsi **Buat varian>** **Buat varian di atas** atau **Buat varian di bawah** ini untuk membuat varian tambahan untuk bendera ini. 

   1. Di bagian **varian Default**, gunakan sakelar **Nilai diaktifkan** untuk mengaktifkan varian default. Secara opsional, berikan nilai untuk atribut yang ditentukan pada langkah 10.

   1. Pilih **Terapkan**.

1. Verifikasi detail bendera dan variannya dan pilih **Buat bendera**.

Untuk informasi tentang penerapan flag fitur baru Anda dengan varian, lihat[Menerapkan flag fitur dan data konfigurasi di AWS AppConfig](deploying-feature-flags.md).

## Membuat bendera fitur multi-varian (baris perintah)
<a name="appconfig-creating-multi-variant-feature-flags-procedures-commandline"></a>

Prosedur berikut menjelaskan cara menggunakan AWS Command Line Interface (di Linux atau Windows) atau Alat untuk Windows PowerShell untuk membuat bendera fitur multi-varian untuk profil konfigurasi yang ada. Anda juga dapat mengedit bendera fitur yang ada untuk membuat varian.

**Sebelum Anda mulai**  
Selesaikan tugas-tugas berikut sebelum Anda membuat flag fitur multi-varian dengan menggunakan. AWS CLI
+ Buat profil konfigurasi bendera fitur. Untuk informasi selengkapnya, lihat [Membuat profil konfigurasi bendera fitur di AWS AppConfig](appconfig-creating-configuration-and-profile-feature-flags.md).
+ Perbarui ke versi terbaru dari AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) dari *Panduan AWS Command Line Interface Pengguna*. AWS CLI

**Untuk membuat bendera fitur multi-varian**

1. Buat file konfigurasi di mesin lokal Anda yang menentukan detail bendera multi-varian yang ingin Anda buat. Simpan file dengan ekstensi `.json` file. File harus mematuhi skema [https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html)JSON. Isi skema file konfigurasi Anda akan mirip dengan yang berikut ini.

   ```
   {
     "flags": {
       "FLAG_NAME": {
         "attributes": {
             "ATTRIBUTE_NAME": {
             "constraints": {
               "type": "CONSTRAINT_TYPE"
             }
           }
         },
         "description": "FLAG_DESCRIPTION",
         "name": "VARIANT_NAME"
       }
     },
     "values": {
       "VARIANT_VALUE_NAME": {
         "_variants": [
           {
             "attributeValues": {
               "ATTRIBUTE_NAME": BOOLEAN
             },
             "enabled": BOOLEAN,
             "name": "VARIANT_NAME",
             "rule": "VARIANT_RULE"
           },
           {
             "attributeValues": {
               "ATTRIBUTE_NAME": BOOLEAN
             },
             "enabled": BOOLEAN,
             "name": "VARIANT_NAME",
             "rule": "VARIANT_RULE"
           },
           {
             "attributeValues": {
               "ATTRIBUTE_NAME": BOOLEAN
             },
             "enabled": BOOLEAN,
             "name": "VARIANT_NAME",
             "rule": "VARIANT_RULE"
           },
           {
             "attributeValues": {
               "ATTRIBUTE_NAME": BOOLEAN
             },
             "enabled": BOOLEAN,
             "name": "VARIANT_NAME",
             "rule": "VARIANT_RULE"
           }
         ]
       }
     },
     "version": "VERSION_NUMBER"
   }
   ```

   Berikut adalah contoh dengan tiga varian dan varian default.

   ```
   {
     "flags": {
       "ui_refresh": {
         "attributes": {
           "dark_mode_support": {
             "constraints": {
               "type": "boolean"
             }
           }
         },
         "description": "A release flag used to release a new UI",
         "name": "UI Refresh"
       }
     },
     "values": {
       "ui_refresh": {
         "_variants": [
           {
             "attributeValues": {
               "dark_mode_support": true
             },
             "enabled": true,
             "name": "QA",
             "rule": "(ends_with $email \"qa-testers.mycompany.com\")"
           },
           {
             "attributeValues": {
               "dark_mode_support": true
             },
             "enabled": true,
             "name": "Beta Testers",
             "rule": "(exists key::\"opted_in_to_beta\")"
           },
           {
             "attributeValues": {
               "dark_mode_support": false
             },
             "enabled": true,
             "name": "Sample Population",
             "rule": "(split pct::10 by::$email)"
           },
           {
             "attributeValues": {
               "dark_mode_support": false
             },
             "enabled": false,
             "name": "Default Variant"
           }
         ]
       }
     },
     "version": "1"
   }
   ```

1. Gunakan `CreateHostedConfigurationVersion` API untuk menyimpan data konfigurasi flag fitur Anda AWS AppConfig.

------
#### [ Linux ]

   ```
   aws appconfig create-hosted-configuration-version \
     --application-id APPLICATION_ID \
     --configuration-profile-id CONFIGURATION_PROFILE_ID \
     --content-type "application/json" \
     --content file://path/to/feature_flag_configuration_data.json \
     --cli-binary-format raw-in-base64-out \
     outfile
   ```

------
#### [ Windows ]

   ```
   aws appconfig create-hosted-configuration-version ^
     --application-id APPLICATION_ID ^
     --configuration-profile-id CONFIGURATION_PROFILE_ID ^
     --content-type "application/json" ^
     --content file://path/to/feature_flag_configuration_data.json ^
     --cli-binary-format raw-in-base64-out ^
     outfile
   ```

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

   ```
   New-APPCHostedConfigurationVersion `
     -ApplicationId APPLICATION_ID `
     -ConfigurationProfileId CONFIGURATION_PROFILE_ID `
     -ContentType "application/json" `
     -Content file://path/to/feature_flag_configuration_data.json `
     -Raw
   ```

------

   `service_returned_content_file`Berisi data konfigurasi Anda yang mencakup beberapa AWS AppConfig metadata yang dihasilkan.
**catatan**  
Saat Anda membuat versi konfigurasi yang dihosting, AWS AppConfig verifikasi bahwa data Anda sesuai dengan skema [https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-type-reference-feature-flags.html)JSON. AWS AppConfig Selain itu memvalidasi bahwa setiap atribut flag fitur dalam data Anda memenuhi batasan yang Anda tetapkan untuk atribut tersebut.

# Memahami referensi tipe untuk AWS.AppConfig.FeatureFlags
<a name="appconfig-type-reference-feature-flags"></a>

Gunakan skema `AWS.AppConfig.FeatureFlags` JSON sebagai referensi untuk membuat data konfigurasi flag fitur Anda.

```
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "flagSetDefinition": {
      "type": "object",
      "properties": {
        "version": {
          "$ref": "#/definitions/flagSchemaVersions"
        },
        "flags": {
          "$ref": "#/definitions/flagDefinitions"
        },
        "values": {
          "$ref": "#/definitions/flagValues"
        }
      },
      "required": ["version"],
      "additionalProperties": false
    },
    "flagDefinitions": {
      "type": "object",
      "patternProperties": {
        "^[a-z][a-zA-Z\\d_-]{0,63}$": {
          "$ref": "#/definitions/flagDefinition"
        }
      },
      "additionalProperties": false
    },
    "flagDefinition": {
      "type": "object",
      "properties": {
        "name": {
          "$ref": "#/definitions/customerDefinedName"
        },
        "description": {
          "$ref": "#/definitions/customerDefinedDescription"
        },
        "_createdAt": {
          "type": "string"
        },
        "_updatedAt": {
          "type": "string"
        },
        "_deprecation": {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "enum": ["planned"]
            },
            "date": {
              "type": "string",
              "format": "date"
            }
          },
         "additionalProperties": false
        },
        "attributes": {
          "$ref": "#/definitions/attributeDefinitions"
        }
      },
      "additionalProperties": false
    },
    "attributeDefinitions": {
      "type": "object",
      "patternProperties": {
        "^[a-z][a-zA-Z\\d_-]{0,63}$": {
          "$ref": "#/definitions/attributeDefinition"
        }
      },
      "maxProperties": 25,
      "additionalProperties": false
    },
    "attributeDefinition": {
      "type": "object",
      "properties": {
        "description": {
          "$ref": "#/definitions/customerDefinedDescription"
        },
        "constraints": {
          "oneOf": [
            { "$ref": "#/definitions/numberConstraints" },
            { "$ref": "#/definitions/stringConstraints" },
            { "$ref": "#/definitions/arrayConstraints" },
            { "$ref": "#/definitions/boolConstraints" }
          ]
        }
      },
      "additionalProperties": false
    },
    "flagValues": {
      "type": "object",
      "patternProperties": {
        "^[a-z][a-zA-Z\\d_-]{0,63}$": {
          "$ref": "#/definitions/flagValue"
        }
      },
      "additionalProperties": false
    },
    "flagValue": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "_createdAt": {
          "type": "string"
        },
        "_updatedAt": {
          "type": "string"
        },
        "_variants": {
          "type": "array",
          "maxLength": 32,
          "items": {
            "$ref": "#/definitions/variant"
          }
        }
      },
      "patternProperties": {
        "^[a-z][a-zA-Z\\d_-]{0,63}$": {
          "$ref": "#/definitions/attributeValue",
          "maxProperties": 25
        }
      },
      "additionalProperties": false
    },
    "attributeValue": {
      "oneOf": [
        { "type": "string", "maxLength": 1024 },
        { "type": "number" },
        { "type": "boolean" },
        {
          "type": "array",
          "oneOf": [
            {
              "items": {
                "type": "string",
                "maxLength": 1024
              }
            },
            {
              "items": {
                "type": "number"
              }
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    "stringConstraints": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["string"]
        },
        "required": {
          "type": "boolean"
        },
        "pattern": {
          "type": "string",
          "maxLength": 1024
        },
        "enum": {
          "type": "array",
          "maxLength": 100,
          "items": {
            "oneOf": [
              {
                "type": "string",
                "maxLength": 1024
              },
              {
                "type": "integer"
              }
            ]
          }
        }
      },
      "required": ["type"],
      "not": {
        "required": ["pattern", "enum"]
      },
      "additionalProperties": false
    },
    "numberConstraints": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["number"]
        },
        "required": {
          "type": "boolean"
        },
        "minimum": {
          "type": "integer"
        },
        "maximum": {
          "type": "integer"
        }
      },
      "required": ["type"],
      "additionalProperties": false
    },
    "arrayConstraints": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["array"]
        },
        "required": {
          "type": "boolean"
        },
        "elements": {
          "$ref": "#/definitions/elementConstraints"
        }
      },
      "required": ["type"],
      "additionalProperties": false
    },
    "boolConstraints": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["boolean"]
        },
        "required": {
          "type": "boolean"
        }
      },
      "required": ["type"],
      "additionalProperties": false
    },
    "elementConstraints": {
      "oneOf": [
        { "$ref": "#/definitions/numberConstraints" },
        { "$ref": "#/definitions/stringConstraints" }
      ]
    },
    "variant": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "name": {
          "$ref": "#/definitions/customerDefinedName"
        },
        "rule": {
          "type": "string",
          "maxLength": 16384
        },
        "attributeValues": {
          "type": "object", 
          "patternProperties": {
            "^[a-z][a-zA-Z\\d_-]{0,63}$": {
              "$ref": "#/definitions/attributeValue"
            }
          },
          "maxProperties": 25,
          "additionalProperties": false
        }
      },
      "required": ["name", "enabled"],
      "additionalProperties": false
    },
    "customerDefinedName": {
      "type": "string",
      "pattern": "^[^\\n]{1,64}$"
    },
    "customerDefinedDescription": {
      "type": "string",
      "maxLength": 1024
    },
    "flagSchemaVersions": {
      "type": "string",
      "enum": ["1"]
    }
  },
  "type": "object",
  "$ref": "#/definitions/flagSetDefinition",
  "additionalProperties": false
}
```

**penting**  
Untuk mengambil data konfigurasi flag fitur, aplikasi Anda harus memanggil `GetLatestConfiguration` API. Anda tidak dapat mengambil data konfigurasi flag fitur dengan memanggil`GetConfiguration`, yang sudah usang. Untuk informasi selengkapnya, lihat [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetLatestConfiguration.html) di dalam *Referensi API AWS AppConfig *. 

Saat aplikasi Anda memanggil [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_GetLatestConfiguration.html)dan menerima konfigurasi yang baru diterapkan, informasi yang menentukan flag dan atribut fitur Anda akan dihapus. JSON yang disederhanakan berisi peta kunci yang cocok dengan masing-masing tombol bendera yang Anda tentukan. JSON yang disederhanakan juga berisi nilai yang dipetakan dari `true` atau `false` untuk atribut. `enabled` Jika bendera disetel `enabled` ke`true`, atribut apa pun dari bendera akan hadir juga. Skema JSON berikut menjelaskan format output JSON.

```
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "patternProperties": {
    "^[a-z][a-zA-Z\\d_-]{0,63}$": {
      "$ref": "#/definitions/attributeValuesMap"
    }
  },
  "additionalProperties": false,
  "definitions": {
    "attributeValuesMap": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        }
      },
      "required": ["enabled"],
      "patternProperties": {
        "^[a-z][a-zA-Z\\d_-]{0,63}$": {
          "$ref": "#/definitions/attributeValue"
        }
      },
      "maxProperties": 25,
      "additionalProperties": false
    },
    "attributeValue": {
      "oneOf": [
        { "type": "string","maxLength": 1024 },
        { "type": "number" },
        { "type": "boolean" },
        {
          "type": "array",
          "oneOf": [
            {
              "items": {
                "oneOf": [
                  {
                    "type": "string",
                    "maxLength": 1024
                  }
                ]
              }
            },
            {
              "items": {
                "oneOf": [
                  {
                    "type": "number"
                  }
                ]
              }
            }
          ]
        }
      ],
      "additionalProperties": false
    }
  }
}
```

# Menyimpan versi bendera fitur sebelumnya ke versi baru
<a name="appconfig-creating-configuration-profile-feature-flags-editing-version"></a>

Saat Anda memperbarui bendera fitur, AWS AppConfig secara otomatis menyimpan perubahan Anda ke versi baru. Jika Anda ingin menggunakan versi bendera fitur sebelumnya, Anda harus menyalinnya ke versi draf dan kemudian menyimpannya. Anda tidak dapat mengedit dan menyimpan perubahan ke versi bendera sebelumnya tanpa menyimpannya ke versi baru. 

**Untuk mengedit versi bendera fitur sebelumnya dan menyimpannya ke versi baru**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Di panel navigasi, pilih **Aplikasi**, lalu pilih aplikasi dengan bendera fitur yang ingin Anda edit dan simpan ke versi baru.

1. Pada tab **Profil konfigurasi dan bendera fitur**, pilih profil konfigurasi dengan tanda fitur yang ingin Anda edit dan simpan ke versi baru.

1. Pada tab **Feature flags**, gunakan daftar **Versi** untuk memilih versi yang ingin Anda edit dan simpan ke versi baru.

1. Pilih **Salin ke versi draf**.

1. Di bidang **label Versi**, masukkan label baru (opsional, tetapi disarankan).

1. Di bidang **Deskripsi versi**, masukkan deskripsi baru (opsional, tetapi disarankan).

1. Pilih **Simpan versi**.

1. Pilih **Mulai penerapan** untuk menerapkan versi baru.