Saat menggunakan Resource Orchestration Service (ROS) untuk membuat stack yang mengelola beberapa resource, Anda sering perlu membuka berbagai konsol guna mencari informasi parameter. Untuk menyederhanakan proses ini, Anda dapat menentukan `AssociationProperty` dalam pengaturan parameter templat agar secara otomatis mengambil resource di wilayah yang dipilih. Selain itu, Anda juga dapat menentukan `AssociationPropertyMetadata` untuk menambahkan kondisi filter pada parameter tertentu, sehingga memungkinkan pemilihan konfigurasi parameter secara dinamis di konsol.
Deskripsi parameter
Parameter `AssociationPropertyMetadata` menerima nilai-nilai berikut:
-
Anda dapat menentukan nilai spesifik untuk parameter tersebut. Misalnya, jika Anda menetapkan
"RegionId": "cn-hangzhou", ROS akan menggunakan wilayah `cn-hangzhou`. -
Anda dapat menentukan variabel untuk parameter tersebut dalam format
${ParameterKey}. Misalnya, jika Anda menetapkan"VpcId": "${VpcId}", ROS akan secara dinamis mengambil nilai parameter `VpcId` dari templat saat ini.Catatan-
Untuk menetapkan
${ParameterKey}sebagai bidang statis, tambahkan tanda seru (!). Misalnya,${!Literal}dievaluasi menjadi string literal${Literal}. -
Untuk menggunakan variabel parameter dalam templat Terraform, tambahkan
$sebelum$. Misalnya, jika Anda menetapkan"VpcId": "$${VpcId}", ROS akan secara dinamis mengambil nilai `VpcId` dari templat Terraform.
-
`AssociationPropertyMetadata` yang diperlukan bervariasi tergantung pada jenis resource yang ditentukan dalam `AssociationProperty`.
-
Resource kustom: Mengonfigurasi resource kustom, seperti kueri data berdasarkan parameter OpenAPI produk Alibaba Cloud.
-
Resource dasar: Mengonfigurasi jenis parameter dasar umum.
-
Resource ACR: Resource Container Registry Edisi Pribadi.
-
Resource APIG: Resource API Gateway.
-
Resource ALB: Resource Application Load Balancer.
-
Sumber daya Bailian: sumber daya Model Studio.
-
Sumber daya BSS: Sumber daya Pusat Pengguna.
-
Resource CAS: Resource Sertifikat SSL.
-
Resource CEN: Resource Cloud Enterprise Network.
-
Resource CMS: Resource Cloud Monitor.
-
Resource CR: Resource Container Registry Edisi Perusahaan.
-
Resource CS: Resource Container Service for Kubernetes.
-
Resource ComputeNest: Resource Compute Nest.
-
Sumber daya pemasok Compute Nest: Sumber daya dari pemasok Compute Nest.
-
Sumber daya DNS: Sumber daya Alibaba Cloud DNS.
-
Resource DashVector: Resource Layanan Pengambilan Vektor DashVector.
-
Resource Domain: Resource Nama Domain.
-
Resource EAS: Resource Machine Learning PAI-EAS.
-
sumber daya ECD: sumber daya Desktop Cloud.
-
Resource ECI: Resource Elastic Container Instance.
-
Resource ECS: Resource Elastic Computing Service (ECS).
-
Resource EHPC: Resource Elastic High Performance Computing.
-
Resource ESS: Resource Auto Scaling.
-
Resource Elasticsearch: Resource Elasticsearch.
-
Resource Emr: Resource E-MapReduce.
-
Resource FC3: Resource Function Compute (FC3).
-
Resource FC: Resource Function Compute.
-
Sumber daya Flow: Sumber daya Logic Composer.
-
Resource Hologres: Resource Hologres.
-
Resource InfluxDB: Resource Time Series Database InfluxDB.
-
Resource Kafka: Resource Message Queue for Kafka.
-
Resource Lindorm: Resource dalam layanan Lindorm.
-
Resource MongoDB: Resource ApsaraDB for MongoDB.
-
Resource NAS: Resource Penyimpanan File NAS.
-
Resource NLB: Resource Network Load Balancer (NLB).
-
Resource OOS: Resource Operation Orchestration Service (OOS).
-
Resource OSS: Resource Object Storage Service (OSS).
-
Resource PolarDB: Resource PolarDB.
-
Sumber daya RAM: sumber daya Resource Access Management (RAM).
-
Resource RDS: Resource ApsaraDB RDS.
-
Resource Redis: Resource Redis.
-
Sumber daya ResourceManager: Sumber daya Resource Management.
-
Resource SAE: Resource Serverless App Engine (SAE).
-
Resource SLB: Resource Server Load Balancer (SLB).
-
Resource ServiceCatalog: Resource Service Catalog.
-
Tag sumber daya: Memberi tag pada sumber daya.
-
Sumber daya pengguna: Sumber daya milik pengguna.
-
Sumber daya VPC: Sumber daya Virtual Private Cloud (VPC).
Contoh
Contoh 1: Contoh AssociationProperty
Anda dapat mengatur `AssociationProperty` ke `ALIYUN::ECS::Image::ImageId` dalam parameter untuk mengambil semua ID image di wilayah yang dipilih.
Contoh JSON:
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"UserName": {
"Label": "Username",
"Description": "Enter a username",
"Default": "anonymous",
"Type": "String",
"MinLength": "6",
"MaxLength": "12",
"AllowedValues": [
"anonymous",
"user-one",
"user-two"
]
},
"PassWord": {
"Label": "Password",
"NoEcho": "True",
"Description": "Enter a user password",
"Type": "String",
"MinLength": "1",
"MaxLength": "41",
"AllowedPattern": "[a-zA-Z0-9]*"
},
"ImageId": {
"Label": "Image",
"Type": "String",
"Description": "Select an image",
"AssociationProperty": "ALIYUN::ECS::Image::ImageId",
"Default": "centos_7_7_x64_20G_alibase_2020****.vhd"
}
}
}
Contoh YAML:
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
UserName:
Label: Username
Description: Enter a username
Default: anonymous
Type: String
MinLength: '6'
MaxLength: '12'
AllowedValues:
- anonymous
- user-one
- user-two
PassWord:
Label: Password
NoEcho: 'True'
Description: Enter a user password
Type: String
MinLength: '1'
MaxLength: '41'
AllowedPattern: '[a-zA-Z0-9]*'
ImageId:
Label: Image
Type: String
Description: Select an image
AssociationProperty: ALIYUN::ECS::Image::ImageId
Default: centos_7_7_x64_20G_alibase_2020****.vhd
Deskripsi parameter:
-
UserName: Username. Parameter ini berupa string dengan panjang antara 6 hingga 12 karakter. Nilai yang valid:
-
anonymous (default)
-
user-one
-
user-two
-
-
PassWord: Kata sandi. Parameter ini berupa string dengan panjang antara 1 hingga 41 karakter dan tidak memiliki nilai default. Kata sandi dapat berisi huruf kapital, huruf kecil, dan angka.
Jika `NoEcho` diatur ke `true`, nilai parameter tidak dikembalikan saat Anda melakukan kueri terhadap stack.
-
ImageId: ID image. Jenis string.
Ketika `AssociationProperty` diatur ke `ALIYUN::ECS::Image::ImageId`, konsol ROS memvalidasi ID image yang ditentukan saat Anda membuat stack dan menampilkan daftar ID image lain yang tersedia di wilayah yang dipilih dalam bentuk daftar drop-down.
Contoh 2: Contoh AssociationPropertyMetadata
Anda dapat menentukan `AssociationProperty` dan `AssociationPropertyMetadata` yang sesuai (`RegionId`, `VpcId`, dan `ZoneId`) dalam parameter untuk mengambil vSwitch untuk virtual private cloud (VPC) dan zona tertentu. Dalam contoh ini, `RegionId` diatur ke bidang statis `cn-hangzhou`. `VpcId` dan `ZoneId` diatur ke variabel `${VpcId}` dan `${EcsZone}`. Nilai variabel ini diperbarui secara dinamis berdasarkan nilai yang dipilih untuk `ALIYUN::ECS::VPC::VPCId` dan `ZoneId`, sehingga mengaitkan vSwitch dengan VPC dan zona tersebut.
Untuk parameter seperti `EcsZone` yang telah dikonfigurasi dengan `AllowedValues`, Anda dapat menambahkan `AutoChangeType` ke `AssociationPropertyMetadata` dan mengatur nilainya ke `false`. Pengaturan ini menampilkan parameter `AllowedValues` sebagai daftar drop-down di konsol ROS.
Contoh JSON:
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"EcsZone": {
"Type": "String",
"AllowedValues": [
"cn-hangzhou-i",
"cn-hangzhou-j",
"cn-hangzhou-k",
"cn-hangzhou-h"
],
"AssociationPropertyMetadata": {
"AutoChangeType": false
}
},
"VSwitchId": {
"Type": "String",
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"RegionId": "cn-hangzhou",
"VpcId": "${VpcId}",
"ZoneId": "${EcsZone}"
}
}
}
}
Contoh YAML:
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
EcsZone:
Type: String
AllowedValues:
- cn-hangzhou-i
- cn-hangzhou-j
- cn-hangzhou-k
- cn-hangzhou-h
AssociationPropertyMetadata:
AutoChangeType: false
VSwitchId:
Type: String
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
AssociationPropertyMetadata:
RegionId: cn-hangzhou
VpcId: ${VpcId}
ZoneId: ${EcsZone}
Contoh 3: Contoh transformasi otomatis Terraform
Ketika `AssociationProperty` diatur ke `Auto`, ROS secara otomatis menghasilkan field seperti `AssociationProperty` dan `AssociationPropertyMetadata` berdasarkan struktur data Terraform asli.
Contoh lainnya
Anda juga dapat menggunakan `AssociationProperty` dan `AssociationPropertyMetadata` untuk: