All Products
Search
Document Center

Cloud Config:Elemen dasar dari aturan kondisi kustom

Last Updated:Jun 27, 2025

Cloud Config menggunakan aturan kondisi kustom sebagai salah satu cara untuk menerapkan dan mengimplementasikan aturan. Aturan kondisi kustom terdiri dari beberapa elemen dasar seperti Resource, Condition, dan DryRun.

Condition merupakan elemen utama dari aturan kondisi kustom. Condition terdiri dari klausa kondisi. Beberapa klausa dapat digabungkan menggunakan operator logika AND dan OR untuk membentuk struktur logika yang lebih kompleks. Sekelompok klausa yang digabungkan oleh operator logika disebut grup kondisi. Klausa adalah inti dari grup kondisi dan terdiri dari elemen featurePath, operator, dan desired.

Elemen

Diperlukan

Deskripsi

featurePath

Ya

Karakteristik sumber daya. Properti suatu sumber daya atau sumber karakteristik terkait dari suatu sumber daya dijelaskan menggunakan JSONPath. Sebagai contoh, properti status sumber daya adalah Status, dan deskripsi karakteristiknya adalah $.Status.

featureSource

Ya

Sumber karakteristik sumber daya.

operator

Ya

Operator kondisi.

desired

Tidak

Operator unary. Elemen desired dapat dibiarkan kosong. Contoh operator adalah IsStringEmpty.

featurePath

Kebijakan mendukung format JSONPath. Saat membuat atau memperbarui kebijakan, Cloud Config memeriksa apakah kebijakan tersebut memenuhi standar sintaksis JSONPath. Anda juga dapat menggunakan validator dan editor JSONPath pihak ketiga untuk memeriksa apakah kebijakan tersebut sesuai dengan standar sintaksis JSONPath. Untuk informasi lebih lanjut tentang standar sintaksis JSONPath, lihat JSONPath.

JSONPath

Deskripsi

$

Objek atau elemen root.

@

Objek atau elemen saat ini.

. atau []

Operator anak.

..

Penurunan rekursif. JSONPath meminjam sintaks ini dari E4X.

*

Wildcard. Semua objek atau elemen tanpa memandang nama mereka.

[]

Operator subscript. XPath menggunakannya untuk mengulangi koleksi elemen dan untuk predikat. Dalam Javascript dan JSON, ini adalah operator array asli.

[,]

Operator Union dalam XPath menghasilkan kombinasi set node. JSONPath memungkinkan nama alternatif atau indeks array sebagai set.

[start:end:step]

Operator slice array yang dipinjam dari ES4.

?()

Menerapkan ekspresi filter (skrip).

()

Ekspresi skrip, menggunakan mesin skrip dasar.

  • Contoh 1: Karakteristik status ACS::ECS::Instance adalah $.Status, tipe ditentukan sebagai String, dan operator tipe String direkomendasikan.

  • Contoh 2: Karakteristik tag ACS::ECS::Instance adalah $.Tags[*].TagKey, dan hasilnya adalah Array.

  • Contoh 3: Karakteristik konfigurasi izin ACS::ECS::SecurityGroup adalah $.Permissions.Permission[?(@.Policy=='Accept')][?(@.IpProtocol=='TCP' || @.IpProtocol=='UDP')][?(@.SourceCidrIp=='0.0.0.0/0')].PortRange. Ini menunjukkan bahwa sistem mengizinkan entri di mana protokolnya adalah TCP atau UDP, alamat IP sumber adalah alamat IP apa pun dari port, dan rentang port dapat dikonfigurasi apakah termasuk 22, 3389, dan port lainnya.

    {
          "featureSource": "CONFIGURATION",
          "desired": "21/21,22/22,23/23,3389/3389,445/445,-1/-1",
          "children": [],
          "operator": "ExcludeAll",
          "featurePath": "$.Permissions.Permission[?(@.Policy=='Accept')][?(@.IpProtocol=='TCP' || @.IpProtocol=='UDP')][?(@.SourceCidrIp=='0.0.0.0/0')].PortRange"
        }

featureSource

Sumber karakteristik sumber daya.

  • CONFIGURATION (nilai default): konfigurasi properti sumber daya. Jika elemen featureSource dibiarkan kosong, sistem tetap melakukan pemrosesan berdasarkan properti sumber daya.

  • RESOURCE_RELATIONSHIP_${targetResourceType}: hubungan sumber daya, seperti RESOURCE_RELATIONSHIP_ACS::ECS::DISK.

operator

Operator mencakup operator logika dan operator perhitungan. Operator logika mencakup operator logika AND dan operator logika OR. Tabel berikut menjelaskan operator perhitungan.

Operator

Deskripsi

SizeLess

Jumlah elemen array kurang dari.

DistinctSizeGreater

Jumlah elemen setelah deduplikasi lebih besar dari.

AllGreaterOrEquals

Semua elemen lebih besar dari atau sama dengan.

InAllItem

Semua elemen berisi.

AllLessOrEquals

Semua elemen lebih kecil dari atau sama dengan.

AllGreater

Semua elemen lebih besar dari.

SizeGreater

Jumlah elemen array lebih besar dari.

NotContainsIP

Array tidak berisi alamat IP tertentu.

ContainsIP

Array berisi alamat IP tertentu.

ContainsAny

Array tidak berisi objek apa pun di array tujuan.

NotContainsNull

Array tidak berisi elemen kosong.

NotContainsInternetCidr

Tidak berisi blok CIDR publik.

IsNotEmpty

Tidak kosong.

AllIn

Semua ada.

IsEmpty

Kosong.

ExcludeAll

Kecualikan semua.

ContainsAll

Memuat semua.

NotIn

Tidak ada.

In

Ada.

NotContains

Tidak memuat.

Contains

Memuat.

NotBase64Contains

Tidak memuat.

Base64Contains

Memuat.

NotBoolEquals

Tidak sama dengan.

BoolEquals

Sama dengan.

NotEquals

Tidak sama dengan.

Equals

Sama dengan.

LessOrEquals

Kurang dari atau sama dengan.

Less

Kurang dari.

Greater

Lebih besar dari.

GreaterOrEquals

Lebih besar dari atau sama dengan.

StringItemSizeGreater

Jumlah elemen pembagian string melebihi nilai yang ditentukan.

StringMatch

Pencocokan ekspresi reguler.

NotStringTrimIn

Nilai valid tidak ada.

StringTrimIn

Nilai valid ada.

IsNotStringEmpty

Tidak kosong.

IsStringEmpty

Kosong.

NotStringContains

Tidak memuat.

StringContains

Memuat.

NotStringIn

Tidak ada.

StringIn

Ada.

NotStringEquals

Tidak sama dengan.

StringEquals

Sama dengan.

desired

Elemen desired dapat dibiarkan kosong. Contoh operator adalah IsStringEmpty.