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.
Fungsi
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
ataufalse
.
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 dalamstrings_to_check
parameter ada dalamstrings_to_match
parameter. - strings_to_match
-
Daftar string, seperti
"A", "B", "C"
. Setiap anggota di parameterstrings_to_match
dibandingkan terhadap anggota parameterstrings_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
ataufalse
.
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
ataufalse
.
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
-