

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

# validasi
<a name="cfn-guard-validate"></a>

Memvalidasi data terhadap AWS CloudFormation Guard aturan untuk menentukan keberhasilan atau kegagalan.

## Sintaks
<a name="cfn-guard-validate-synopsis"></a>

```
cfn-guard validate
--data <value>
--output-format <value>
--rules <value>
--show-summary <value>
--type <value>
```

## Parameter
<a name="cfn-guard-validate-flags"></a>

`-a`, `--alphabetical`

Memvalidasi file dalam direktori yang diurutkan menurut abjad.

`-h`, `--help`

Mencetak informasi bantuan.

`-m`, `--last-modified`

Memvalidasi file dalam direktori yang diurutkan berdasarkan waktu modifikasi terakhir.

`-P`, `--payload`

Berikan aturan dan data dalam format JSON berikut melalui`stdin`:

```
{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}
```

Contoh:

```
{"data": ["{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}","{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}"], "rules" : [ "Parameters.InstanceName == \"TestInstance\"","Parameters.InstanceName == \"TestInstance\"" ]}
```

Untuk “aturan”, tentukan daftar versi string dari file aturan. Untuk “data”, tentukan daftar versi string file data.

Kapan `--payload` ditentukan `--rules` dan `--data` tidak dapat ditentukan.

`-p`, `--print-json`

Mencetak output dalam format JSON.

`-s`, `--show-clause-failures`

Menunjukkan kegagalan klausa termasuk ringkasan.

`-V`, `--version`

Mencetak informasi versi.

`-v`, `--verbose`

Meningkatkan verbositas output. Dapat ditentukan beberapa kali.

`-z`, `--structured`

Mencetak daftar format output yang terstruktur dan validJSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip: single-line-summary

## Opsi
<a name="cfn-guard-validate-options"></a>

`-d`, `--data` (string)

Menyediakan file data atau direktori file data di JSON atau YAMAL. Mendukung melewati beberapa nilai dengan menggunakan opsi ini berulang kali.

Contoh: `--data template1.yaml --data ./data-dir1 --data template2.yaml`

Untuk argumen direktori seperti `data-dir1` di atas, pemindaian hanya didukung untuk file dengan ekstensi berikut: .yaml, .yml.json, .jsn, .template

Jika Anda menentukan `--payload` bendera, jangan tentukan `--data` opsi.

`-i`, `--input-parameters` (string)

Menyediakan file parameter atau direktori file parameter di JSON atau YAMAL yang menentukan parameter tambahan untuk digunakan bersama dengan file data yang akan digunakan sebagai konteks gabungan. Semua file parameter yang diteruskan sebagai input digabungkan dan konteks gabungan ini digabungkan lagi dengan setiap file yang diteruskan sebagai argumen untuk. `data` Karena ini, setiap file diharapkan mengandung properti yang saling eksklusif, tanpa tumpang tindih. Mendukung melewati beberapa nilai dengan menggunakan opsi ini berulang kali.

Untuk argumen direktori, pemindaian hanya didukung untuk file dengan ekstensi berikut: .yaml, .yml.json, .jsn, .template

`-o`, `--output-format` (string)

Menentukan format untuk output.

*Default*: `single-line-summary`

*Nilai yang diizinkan*: `json` \$1 `yaml` \$1 `single-line-summary` \$1 `junit` \$1 `sarif`

`-r`, `--rules` (string)

Menyediakan file aturan atau direktori file aturan. Mendukung melewati beberapa nilai dengan menggunakan opsi ini berulang kali.

Contoh: `--rules rule1.guard --rules ./rules-dir1 --rules rule2.guard`

Untuk argumen direktori seperti `rules-dir1` di atas, pemindaian hanya didukung untuk file dengan ekstensi berikut: .guard, .ruleset

Jika Anda menentukan `--payload` bendera, jangan tentukan `--rules` opsi.

`--show-summary`(tali)

Kontrol jika tabel ringkasan perlu ditampilkan. `--show-summary fail`(default) atau `--show-summary pass,fail` (hanya tampilkan aturan yang lulus/gagal) atau `--show-summary none` (untuk mematikannya) atau `--show-summary all` (untuk menampilkan semua aturan yang lulus, gagal, atau lewati).

*Default*: `fail`

*Nilai yang diizinkan*: `none` \$1 `all` \$1 `pass` \$1 `fail` \$1 `skip`

`-t`, `--type` (string)

Menyediakan format data input Anda. Saat Anda menentukan tipe data input, Guard menampilkan nama logis sumber daya CloudFormation template dalam output. Secara default, Guard menampilkan jalur dan nilai properti, seperti`Property [/Resources/vol2/Properties/Encrypted`.

*Nilai yang diizinkan*: `CFNTemplate`

## Contoh
<a name="cfn-guard-validate-examples"></a>

```
cfn-guard validate --data example.json --rules rules.guard
```

## Output
<a name="cfn-guard-validate-output"></a>

Jika Guard berhasil memvalidasi template, `validate` perintah mengembalikan status keluar `0` (`$?`dalam bash). Jika Guard mengidentifikasi pelanggaran aturan, `validate` perintah mengembalikan laporan status aturan yang gagal.

```
example.json Status = FAIL
FAILED rules
rules.guard/policy_effect_is_deny    FAIL
---
Evaluation of rules rules.guard against data example.json 
--
Property [/path/to/Effect] in data [example.json] is not compliant with [policy_effect_is_deny] because provided value ["Allow"] did not match expected value ["Deny"]. Error Message [ Policy statement "Effect" must be "Deny".]
```

## Lihat juga
<a name="cfn-guard-validate-see-also"></a>
+ [Memvalidasi data input terhadap aturan Guard](validating-rules.md)
+ [Menggunakan parameter input dengan aturan Guard](using-input-parameters.md)