Fungsi bawaan Fn::Select mengembalikan elemen data dari daftar atau kamus berdasarkan indeks.
Deklarasi
Mengambil satu atau lebih elemen data dari daftar atau larik
Mengambil elemen data tunggal berdasarkan indeks
JSON
{ "Fn::Select": [ "indeks", [ "nilai1", "nilai2", ... ], "nilai_default" ] }YAML
Sintaks untuk nama fungsi lengkap:
Fn::Select: - indeks - - nilai1 - nilai2 - ... - nilai_defaultSintaks untuk bentuk singkat:
!Select [indeks, [nilai1, nilai2, ...], nilai_default]
Mengambil beberapa elemen data berdasarkan indeks
JSON
{ "Fn::Select": [ "mulai:berhenti:langkah", [ "nilai1", "nilai2", ... ] ] }YAML
Sintaks untuk nama fungsi lengkap:
Fn::Select: - mulai:berhenti:langkah - - nilai1 - nilai2 - ...Sintaks untuk bentuk singkat:
!Select [mulai:berhenti:langkah, [nilai1, nilai2, ...]]
Mengambil nilai kunci dari kamus atau tabel pemetaan
JSON
{ "Fn::Select": [ "kunci", { "kunci1": "nilai1", "kunci2": "nilai2", ... }, "nilai_default" ] }YAML
Sintaks untuk nama fungsi lengkap:
Fn::Select: - kunci - kunci1: nilai1 kunci2: nilai2 ... - nilai_defaultSintaks untuk bentuk singkat:
!Select [kunci, {kunci1:nilai1, kunci2:nilai2}, nilai_default]
Parameter
indeks: Menentukan indeks elemen data yang ingin diperiksa. Indeks adalah bilangan bulat dalam rentang 0 hingga N - 1 atau -N hingga -1, dengan N sebagai jumlah elemen data dalam daftar. Tanda negatif menunjukkan pembacaan elemen dari kanan ke kiri. Jika indeks tidak valid dan nilai default ditentukan, nilai default akan dikembalikan; jika tidak, string kosong dikembalikan.mulai,berhenti, danlangkah: Parameter mulai dan berhenti menentukan posisi awal dan akhir pemeriksaan elemen data dalam daftar. Parameter langkah menentukan ukuran interval pemeriksaan. Fungsi mengembalikan daftar elemen data berdasarkan interval tersebut.mulai:berhenti: Persyaratan validitas mulai, berhenti, dan indeks sama. Nilai default untuk mulai adalah 0, dan untuk berhenti adalah N. Fungsi memeriksa elemen dari posisi mulai + 1 hingga berhenti. Jika parameter tidak valid, daftar kosong dikembalikan.mulai:berhenti:langkah: Nilai default untuk langkah adalah 1. Jika langkah negatif, indeks mulai harus lebih besar dari indeks berhenti. Fungsi memeriksa elemen pada interval -(langkah - 1) dari mulai hingga berhenti + 1.
kunci: Menentukan kunci dalam kamus. Fungsi mengembalikan nilai kunci tersebut. Jika kunci tidak ada dan nilai default ditentukan, nilai default dikembalikan; jika tidak, string kosong dikembalikan.nilai_default: Menentukan nilai default untuk parameter indeks atau kunci yang tidak valid. Jika nilai_default tidak ditentukan, string kosong dikembalikan.
Nilai pengembalian
Satu atau lebih elemen data.
Contoh
Mengambil satu atau lebih elemen data dari daftar atau larik
!Select ['1', [apel, anggur, jeruk, mangga]]{ "Fn::Select": [ "1", ["apel", "anggur", "jeruk", "mangga"] ] }Dalam contoh ini, "anggur" dikembalikan.
!Select ['1:3', [1,2,3,4,5]]{ "Fn::Select": [ "1:3", [1,2,3,4,5] ] }Dalam contoh ini, [2, 3] dikembalikan.
!Select ['::2', [1,2,3,4,5]]{ "Fn::Select": [ "::2", [1,2,3,4,5] ] }Dalam contoh ini, [1, 3, 5] dikembalikan.
!Select ['5:0:-2', [1,2,3,4,5]]{ "Fn::Select": [ "5:0:-2", [1,2,3,4,5] ] }Dalam contoh ini, [5, 3] dikembalikan.
Mengambil nilai kunci dari kamus
!Select [kunci1, {kunci1: anggur, kunci2: mangga}]{
"Fn:Select": [
"kunci1",
{
"kunci1": "anggur",
"kunci2": "mangga"
}
]
}Dalam contoh ini, "anggur" dikembalikan.
Mengambil elemen data dari daftar dipisahkan koma
Parameters:
userParam:
Type: CommaDelimitedList
Default: 10.0.0.1, 10.0.0.2, 10.0.0.3
Resources:
resourceID:
Properties:
CidrBlock:
!Select:
- '0'
- !Ref userParamDalam contoh ini, 10.0.0.1 dikembalikan.
Fungsi yang didukung
Untuk nilai indeks Fn::Select, Anda dapat menggunakan fungsi Ref.
Untuk daftar objek Fn::Select, Anda dapat menggunakan fungsi berikut: