AWS fungsi aturan - AWS CloudFormation

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

AWS fungsi aturan

Dalam syarat atau pernyataan aturan, Anda dapat menggunakan fungsi intrinsik, seperti Fn::Equals, Fn::Not, dan Fn::RefAll. Properti kondisi menentukan apakah AWS CloudFormation berlaku pernyataan. Jika kondisi mengevaluasitrue, CloudFormation mengevaluasi pernyataan untuk memverifikasi apakah nilai parameter valid ketika produk yang disediakan dibuat atau diperbarui. Jika nilai parameter tidak valid, CloudFormation tidak membuat atau memperbarui tumpukan. Jika kondisi dievaluasifalse, CloudFormation tidak memeriksa nilai parameter dan melanjutkan operasi tumpukan.

Fn::And

Menghasilkan true jika semua syarat yang ditentukan mengevaluasi ke true; menghasilkan false jika salah satu syarat mengevaluasi ke false. Fn::And bertindak sebagai operator AND. Jumlah minimum syarat yang dapat Anda sertakan adalah dua, dan maksimum adalah sepuluh.

Pernyataan

"Fn::And" : [{condition}, {...}]

Parameter

syarat

Fungsi intrinsik khusus aturan yang mengevaluasi ke true atau false.

Contoh

Contoh berikut mengevaluasi ke true jika nama grup keamanan yang direferensikan sama dengan sg-mysggroup dan jika nilai parameter InstanceType adalah m1.large atau m1.small:

"Fn::And": [ { "Fn::Equals": [ "sg-mysggroup", {"Ref": "ASecurityGroup"} ] }, { "Fn::Contains": [ [ "m1.large", "m1.small" ], {"Ref": "InstanceType"} ] } ]

Fn::Contains

Menghasilkan true jika string yang ditentukan cocok dengan setidaknya satu nilai dalam daftar string.

Pernyataan

"Fn::Contains" : [[list_of_strings], string]

Parameter

list_of_strings

Daftar string, seperti "A", "B", "C".

string

Sebuah string, seperti "A", yang ingin Anda bandingkan terhadap daftar string.

Contoh

Fungsi berikut mengevaluasi ke true jika nilai parameter InstanceType yang terdapat dalam daftar (m1.large atau m1.small):

"Fn::Contains" : [ ["m1.large", "m1.small"], {"Ref" : "InstanceType"} ]

Fn::EachMemberEquals

Menghasilkan true jika string yang ditentukan cocok dengan semua nilai dalam daftar.

Pernyataan

"Fn::EachMemberEquals" : [[list_of_strings], string]

Parameter

list_of_strings

Daftar string, seperti "A", "B", "C".

string

Sebuah string, seperti "A", yang ingin Anda bandingkan terhadap daftar string.

Contoh

Fungsi berikut mengembalikan true jika Department tag untuk semua parameter tipe AWS::EC2::VPC::Id memiliki nilaiIT:

"Fn::EachMemberEquals" : [ {"Fn::ValueOfAll" : ["AWS::EC2::VPC::Id", "Tags.Department"]}, "IT" ]

Fn::EachMemberIn

Menghasilkan true jika setiap anggota dalam daftar string cocok dengan setidaknya satu nilai dalam daftar string kedua.

Pernyataan

"Fn::EachMemberIn" : [[strings_to_check], [strings_to_match]]

Parameter

strings_to_check

Daftar string, seperti"A", "B", "C". CloudFormation memeriksa apakah setiap anggota dalam strings_to_check parameter ada dalam strings_to_match parameter.

strings_to_match

Daftar string, seperti "A", "B", "C". Setiap anggota di parameter strings_to_match dibandingkan terhadap anggota parameter strings_to_check.

Contoh

Fungsi berikut memeriksa apakah pengguna menentukan subnet yang di Virtual Private Cloud (VPC) yang valid. VPC harus ada di akun dan Wilayah tempat pengguna bekerja dengan tumpukan. Fungsi ini berlaku untuk semua parameter tipe AWS::EC2::Subnet::Id.

"Fn::EachMemberIn" : [ {"Fn::ValueOfAll" : ["AWS::EC2::Subnet::Id", "VpcId"]}, {"Fn::RefAll" : "AWS::EC2::VPC::Id"} ]

Fn::Equals

Membandingkan dua nilai untuk menentukan apakah mereka sama. Menghasilkan true jika dua nilai sama dan false jika tidak.

Pernyataan

"Fn::Equals" : ["value_1", "value_2"]

Parameter

value

Nilai dari jenis apa pun yang ingin Anda bandingkan dengan nilai lain.

Contoh

Contoh berikut mengevaluasi ke true jika nilai untuk parameter EnvironmentType adalah sama dengan prod:

"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "prod"]

Fn::Not

Menghasilkan true untuk syarat yang mengevaluasi ke false, dan menghasilkan false untuk syarat yang mengevaluasi ke true. Fn::Not bertindak sebagai operator NOT.

Pernyataan

"Fn::Not" : [{condition}]

Parameter

condition

Fungsi intrinsik khusus aturan yang mengevaluasi ke true atau false.

Contoh

Contoh berikut mengevaluasi ke true jika nilai untuk parameter EnvironmentType tidak sama dengan prod:

"Fn::Not" : [{"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "prod"]}]

Fn::Or

Menghasilkan true jika salah satu dari syarat yang ditentukan mengevaluasi ke true; menghasilkan false jika semua syarat mengevaluasi ke false. Fn::Or bertindak sebagai operator OR. Jumlah minimum syarat yang dapat Anda sertakan adalah dua, dan maksimum adalah sepuluh.

Pernyataan

"Fn::Or" : [{condition}, {...}]

Parameter

condition

Fungsi intrinsik khusus aturan yang mengevaluasi ke true atau false.

Contoh

Contoh berikut mengevaluasi ke true jika nama grup keamanan yang direferensikan sama dengan sg-mysggroup atau jika nilai parameter InstanceType adalah m1.large atau m1.small:

"Fn::Or" : [ {"Fn::Equals" : ["sg-mysggroup", {"Ref" : "ASecurityGroup"}]}, {"Fn::Contains" : [["m1.large", "m1.small"], {"Ref" : "InstanceType"}]} ]

Fn::RefAll

Menghasilkan semua nilai untuk tipe parameter tertentu.

Pernyataan

"Fn::RefAll" : "parameter_type"

Parameter

parameter_type

Jenis parameter AWS-spesifik, seperti AWS::EC2::SecurityGroup::Id atauAWS::EC2::VPC::Id. Untuk informasi selengkapnya, lihat Parameter dalam Panduan Pengguna AWS CloudFormation .

Contoh

Fungsi berikut mengembalikan daftar semua ID VPC untuk Wilayah dan Akun AWS di mana tumpukan sedang dibuat atau diperbarui:

"Fn::RefAll" : "AWS::EC2::VPC::Id"

Fn::ValueOf

Menghasilkan nilai atribut atau daftar nilai untuk parameter dan atribut tertentu.

Pernyataan

"Fn::ValueOf" : [ "parameter_logical_id", "attribute" ]

Parameter

atribut

Nama dari atribut yang ingin Anda ambil nilainya. Untuk informasi selengkapnya tentang perubahan atribut, lihat Atribut yang didukung.

parameter_logical_id

Nama parameter yang ingin Anda ambil nilai atributnya. Parameter harus dideklarasikan di bagian Parameters dari templat.

Contoh

Contoh berikut menghasilkan nilai dari tanda Department untuk VPC yang ditentukan oleh parameter ElbVpc:

"Fn::ValueOf" : ["ElbVpc", "Tags.Department"]

Jika Anda menentukan beberapa nilai untuk parameter, ValueOf fungsi Fn:: dapat mengembalikan daftar. Misalnya, Anda dapat menentukan beberapa subnet dan mendapatkan daftar Availability Zone di mana setiap anggota adalah Availability Zone dari subnet tertentu:

"Fn::ValueOf" : ["ListOfElbSubnets", "AvailabilityZone"]

Fn::ValueOfAll

Menghasilkan daftar semua nilai atribut untuk tipe parameter dan atribut tertentu.

Pernyataan

"Fn::ValueOfAll" : ["parameter_type", "attribute"]

Parameter

atribut

Nama dari atribut yang ingin Anda ambil nilainya. Untuk informasi selengkapnya tentang perubahan atribut, lihat Atribut yang didukung.

parameter_type

Jenis parameter AWS-spesifik, seperti AWS::EC2::SecurityGroup::Id atauAWS::EC2::VPC::Id. Untuk informasi selengkapnya, lihat Parameter dalam Panduan Pengguna AWS CloudFormation .

Contoh

Pada contoh berikut, fungsi Fn::ValueOfAll menghasilkan daftar nilai, yang mana setiap anggota adalah nilai tanda Department untuk VPC dengan tanda tersebut:

"Fn::ValueOfAll" : ["AWS::EC2::VPC::Id", "Tags.Department"]

Fungsi yang didukung

Anda tidak dapat menggunakan fungsi lain dalam fungsi Fn::ValueOf dan Fn::ValueOfAll. Namun, Anda dapat menggunakan fungsi berikut dalam semua fungsi intrinsik khusus aturan lainnya:

  • Ref

  • Fungsi intrinsik khusus aturan lainnya

Atribut yang didukung

Daftar berikut ini menjelaskan nilai atribut yang dapat Anda ambil untuk sumber daya dan tipe parameter tertentu:

Jenis AWS::EC2::VPC::Id parameter atau ID VPC.
  • DefaultNetworkAcl

  • DefaultSecurityGroup

  • Tanda.tag_key

Jenis AWS::EC2::Subnet::Id parameter atau ID subnet,
  • AvailabilityZone

  • Tanda.tag_key

  • VpcId

Jenis AWS::EC2::SecurityGroup::Id parameter atau ID grup keamanan.
  • Tanda.tag_key