Pemecahan masalah AWS CloudFormation Guard - AWS CloudFormation Guard

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

Pemecahan masalah AWS CloudFormation Guard

Jika Anda mengalami masalah saat bekerja dengan AWS CloudFormation Guard, lihat topik di bagian ini.

Klausul gagal ketika tidak ada sumber daya dari jenis yang dipilih

Ketika kueri menggunakan filter sepertiResources.*[ Type == 'AWS::ApiGateway::RestApi' ], jika tidak ada AWS::ApiGateway::RestApi sumber daya dalam input, klausa akan dievaluasi. FAIL

%api_gws.Properties.EndpointConfiguration.Types[*] == "PRIVATE"

Untuk menghindari hasil ini, tetapkan filter ke variabel dan gunakan pemeriksaan when kondisi.

let api_gws = Resources.*[ Type == 'AWS::ApiGateway::RestApi' ] when %api_gws !empty { ...}

Guard tidak mengevaluasi CloudFormation template dengan referensi bentuk pendek Fn::GetAtt

Penjaga tidak mendukung bentuk pendek fungsi intrinsik. Misalnya, menggunakan!Join, !Sub dalam AWS CloudFormation templat YAML berformat -tidak didukung. Sebaliknya, gunakan bentuk fungsi CloudFormation intrinsik yang diperluas. Misalnya, gunakanFn::Join, Fn::Sub dalam CloudFormation templat YAML berformat -saat mengevaluasi mereka terhadap aturan Guard.

Untuk informasi selengkapnya tentang fungsi intrinsik, lihat referensi fungsi intrinsik di Panduan Pengguna.AWS CloudFormation

Topik pemecahan masalah umum

  • Verifikasi bahwa string literal tidak berisi string escaped yang disematkan. Saat ini, Guard tidak mendukung string escape yang disematkan dalam string literal.

  • Verifikasi bahwa != perbandingan Anda membandingkan tipe data yang kompatibel. Misalnya, a string dan an int bukan tipe data yang kompatibel untuk perbandingan. Saat melakukan != perbandingan, jika nilainya tidak kompatibel, kesalahan terjadi secara internal. Saat ini, kesalahan ditekan dan dikonversi false untuk memenuhi PartialEqsifat di Rust.