All Products
Search
Document Center

Resource Orchestration Service:Kueri batasan parameter

Last Updated:Jul 06, 2025

Gunakan fitur kueri batasan parameter untuk mendapatkan nilai parameter yang didefinisikan dalam template.

Informasi latar belakang

Saat menggunakan AssociationProperty dan AssociationPropertyMetadata untuk menyaring parameter, hasil penyaringan mungkin tidak memenuhi kebutuhan Anda dalam skenario tertentu.

Sebagai contoh, parameter ZoneId didukung oleh beberapa layanan Alibaba Cloud, tetapi nilai validnya berbeda antar layanan. Dalam hal ini, Anda dapat menjalankan kueri batasan parameter untuk mendapatkan nilai ZoneId yang didefinisikan dalam template Anda.

Properti yang didukung

  • Jika properti dari tipe sumber daya dirujuk oleh parameter menggunakan fungsi Ref, Anda dapat memanggil operasi GetTemplateParameterConstraints untuk mendapatkan nilai properti tersebut. Tabel berikut mencantumkan semua properti yang mendukung fitur kueri batasan parameter beserta tipe sumber dayanya.

  • Anda juga dapat memanggil operasi GetFeatureDetails untuk mendapatkan tipe sumber daya yang propertinya mendukung fitur kueri batasan parameter.

Catatan

Template tempat Anda ingin menanyakan batasan parameter harus mencakup bagian Parameters.

Tipe sumber daya

Properti

Deskripsi

ALIYUN::ADB::DBCluster

  • ZoneId

Tidak ada.

ALIYUN::ALB::LoadBalancer

  • ZoneId di ZoneMappings

Tidak ada.

ALIYUN::AMQP::Instance

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::ApiGateway::Instance

  • PricingCycle

  • Duration

Tidak ada.

ALIYUN::CDDC::DedicatedHost

  • Period

  • UsedTime

Tidak ada.

ALIYUN::CEN::CenBandwidthPackage

  • PricingCycle

  • Period

Tidak ada.

ALIYUN::ClickHouse::DBCluster

  • Period

  • ZoneId

  • UsedTime

Tidak ada.

ALIYUN::CloudPhone::InstanceGroup

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::CS::AnyCluster

  • PeriodUnit

  • Period

  • MasterInstanceTypes

  • WorkerZoneIds

  • PodVswitchIds

  • WorkerSystemDiskCategory

  • MasterZoneIds

  • WorkerVSwitchIds

  • KubernetesVersion

  • WorkerInstanceTypes

  • ScalingGroup.SystemDiskCategory di NodePools

  • ScalingGroup.ZoneIds di NodePools

  • ScalingGroup.InstanceTypes di NodePools

  • MasterSystemDiskCategory

  • Category di WorkerDataDisks

  • Category di MasterDataDisks

  • Category di ScalingGroup.DataDisks dari NodePools

Tidak ada.

ALIYUN::CS::ClusterNodePool

  • PeriodUnit di ScalingGroup

  • Period di ScalingGroup

  • InstanceTypes di ScalingGroup

  • ZoneIds di ScalingGroup

  • Category di ScalingGroup.DataDisks

  • SystemDiskCategory di ScalingGroup

Tidak ada.

ALIYUN::CS::KubernetesCluster

  • MasterInstanceTypes

  • MasterSystemDiskCategory

  • WorkerInstanceTypes

  • WorkerSystemDiskCategory

  • WorkerVSwitchIds

  • PodVswitchIds

  • KubernetesVersion

  • PeriodUnit

  • WorkerZoneIds

  • Period

  • MasterZoneIds

  • ScalingGroup.InstanceTypes di NodePools

  • Category di ScalingGroup.DataDisks dari NodePools

  • ScalingGroup.ZoneIds di NodePools

  • ScalingGroup.SystemDiskCategory di NodePools

  • Category di MasterDataDisks

  • Category di WorkerDataDisks

Tidak ada.

ALIYUN::CS::ManagedEdgeKubernetesCluster

  • WorkerInstanceTypes

  • PeriodUnit

  • Period

  • ZoneIds

  • VSwitchIds

  • WorkerSystemDiskCategory

  • WorkerDataDiskCategory

Tidak ada.

ALIYUN::CS::ManagedKubernetesCluster

  • WorkerInstanceTypes

  • WorkerSystemDiskCategory

  • VSwitchIds

  • PodVswitchIds

  • KubernetesVersion

  • PeriodUnit

  • Period

  • ZoneIds

  • ScalingGroup.ZoneIds di NodePools

  • ScalingGroup.InstanceTypes di NodePools

  • Category di ScalingGroup.DataDisks dari NodePools

  • Category di WorkerDataDisks

  • ScalingGroup.SystemDiskCategory di NodePools

Tidak ada.

ALIYUN::CS::ServerlessKubernetesCluster

  • PeriodUnit

  • Period

  • KubernetesVersion

Tidak ada.

ALIYUN::DRDS::DrdsInstance

  • PricingCycle

  • Duration

Tidak ada.

ALIYUN::DTS::SubscriptionInstance

  • Period

  • UsedTime

Tidak ada.

ALIYUN::DTS::SynchronizationJob

  • Period

  • UsedTime

Tidak ada.

ALIYUN::ECD::Desktops

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::ECS::DedicatedHost

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::ECS::Disk

  • DiskCategory

  • ZoneId

Tidak ada.

ALIYUN::ECS::Instance

  • ZoneId

  • PeriodUnit

  • InstanceType

  • Period

  • SystemDiskCategory

  • Category di DiskMappings

Tidak ada.

ALIYUN::ECS::InstanceGroup

  • ZoneId

  • PeriodUnit

  • InstanceType

  • Period

  • SystemDiskCategory

  • Category di DiskMappings

Tidak ada.

ALIYUN::ECS::InstanceGroupClone

  • PeriodUnit

  • Period

  • SystemDiskCategory

  • Category di DiskMappings

  • PeriodUnit

  • Period

  • InstanceType

  • ZoneId

Tidak ada.

ALIYUN::ECS::PrepayInstance

  • PeriodUnit

  • Period

  • SystemDiskCategory

  • Category di DiskMappings

  • PeriodUnit

  • Period

  • InstanceType

  • ZoneId

Tidak ada.

ALIYUN::ECS::PrepayInstanceGroupClone

  • PeriodUnit

  • Period

  • SystemDiskCategory

  • Category di DiskMappings

  • PeriodUnit

  • Period

  • InstanceType

  • ZoneId

Tidak ada.

ALIYUN::ECS::VSwitch

  • ZoneId

  • Period

  • PeriodType

Tidak ada.

ALIYUN::EHPC::Cluster

  • PeriodUnit

  • Period

  • EcsOrderManagerInstanceType

  • EcsOrderComputeInstanceType

  • EcsOrderLoginInstanceType

  • SystemDiskType

  • ZoneId

Tidak ada.

ALIYUN::ElasticSearch::Instance

  • PeriodUnit

  • ZoneId

  • Period

  • Spec di DataNode

  • Spec di MasterNode

  • Spec di KibanaNode

Anda hanya dapat menanyakan spesifikasi berdasarkan zona.

ALIYUN::EMR::Cluster

  • DiskType di HostGroup

  • NetType

  • SysDiskType di HostGroup

  • InstanceType di HostGroup

  • ZoneId

Tidak ada.

ALIYUN::Flink::Instance

  • PricingCycle

  • Duration

  • ZoneId

Tidak ada.

ALIYUN::GA::Accelerator

  • PricingCycle

  • Duration

Tidak ada.

ALIYUN::GA::BandwidthPackage

  • PricingCycle

  • Duration

Tidak ada.

ALIYUN::GPDB::DBInstance

  • ZoneId

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::GPDB::ElasticDBInstance

  • ZoneId

  • EngineVersion

  • InstanceSpec

  • DBInstanceCategory

  • SegStorageType

Tidak ada.

ALIYUN::GWS::Instance

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::MONGODB::Instance

  • StorageType

  • DBInstanceClass

  • EngineVersion

  • ZoneId

Tidak ada.

ALIYUN::MONGODB::PrepayInstance

  • StorageType

  • DBInstanceClass

  • EngineVersion

  • ZoneId

Tidak ada.

ALIYUN::MONGODB::ServerlessInstance

  • StorageType

  • DBInstanceClass

  • EngineVersion

  • ZoneId

Tidak ada.

ALIYUN::MONGODB::ShardingInstance

  • StorageType

  • DBInstanceClass

  • EngineVersion

  • ZoneId

Tidak ada.

ALIYUN::NAS::FileSystem

  • ProtocolType

  • StorageType

  • ZoneId

Tidak ada.

ALIYUN::POLARDB::DBCluster

  • ZoneId

  • Duration

  • PricingCycle

  • DBNodeClass

Tidak ada.

ALIYUN::PrivateLink::VpcEndpointService

  • ZoneId di Resource

Tidak ada.

ALIYUN::RDS::DBInstance

  • ZoneId

  • Period

  • PeriodType

  • EngineVersion

  • Category

  • DBInstanceStorageType

  • DBInstanceClass

Catatan
  • Untuk memastikan validasi lengkap, Anda harus menentukan ZoneId, DBInstanceStorageType, dan Category.

  • Untuk memastikan validasi lengkap, Anda harus mengatur MultiAZ ke false.

  • Untuk memastikan validasi lengkap, Anda harus meletakkan parameter terkait properti Engine dari ApsaraDB RDS sebelum parameter terkait properti lainnya dari ApsaraDB RDS saat menggunakan Metadata untuk menentukan urutan parameter.

ALIYUN::RDS::DBInstanceClone

  • PeriodType

  • Period

  • Category

  • EngineVersion

  • PeriodType

  • DBInstanceClass

  • DBInstanceStorageType

  • Period

  • ZoneId

Catatan
  • Untuk memastikan validasi lengkap, Anda harus menentukan ZoneId, DBInstanceStorageType, dan Category.

  • Untuk memastikan validasi lengkap, Anda harus mengatur MultiAZ ke false.

  • Untuk memastikan validasi lengkap, Anda harus meletakkan parameter terkait properti Engine dari ApsaraDB RDS sebelum parameter terkait properti lainnya dari ApsaraDB RDS saat menggunakan Metadata untuk menentukan urutan parameter.

ALIYUN::RDS::PrepayDBInstance

  • ZoneId

  • EngineVersion

  • Category

  • DBInstanceStorageType

  • DBInstanceClass

  • Period

  • PeriodType

Catatan
  • Untuk memastikan validasi lengkap, Anda harus menentukan ZoneId, DBInstanceStorageType, dan Category.

  • Untuk memastikan validasi lengkap, Anda harus mengatur MultiAZ ke false.

  • Untuk memastikan validasi lengkap, Anda harus meletakkan parameter terkait properti Engine dari ApsaraDB RDS sebelum parameter terkait properti lainnya dari ApsaraDB RDS saat menggunakan Metadata untuk menentukan urutan parameter.

ALIYUN::RDS::ReadOnlyDBInstance

  • PeriodType

  • Period

  • Category

  • DBInstanceClass

  • EngineVersion

  • DBInstanceStorageType

  • ZoneId

Catatan
  • Untuk memastikan validasi lengkap, Anda harus menentukan ZoneId, DBInstanceStorageType, dan Category.

  • Untuk memastikan validasi lengkap, Anda harus mengatur MultiAZ ke false.

  • Untuk memastikan validasi lengkap, Anda harus meletakkan parameter terkait properti Engine dari ApsaraDB RDS sebelum parameter terkait properti lainnya dari ApsaraDB RDS saat menggunakan Metadata untuk menentukan urutan parameter.

ALIYUN::REDIS::Instance

  • ZoneId

  • EngineVersion

  • InstanceClass

  • PeriodUnit

  • Period

Tidak ada.

ALIYUN::REDIS::PrepayInstance

  • ZoneId

  • Period

  • PeriodUnit

  • EngineVersion

  • InstanceClass

Tidak ada.

ALIYUN::SLB::AnyTunnel

  • PricingCycle

  • Duration

  • MasterZoneId

  • SlaveZoneId

Tidak ada.

ALIYUN::SLB::LoadBalancer

  • MasterZoneId

  • SlaveZoneId

  • Duration

  • PricingCycle

Tidak ada.

ALIYUN::TSDB::HiTSDBInstance

  • InstanceClass

  • ZoneId

  • Duration

  • PricingCycle

Tidak ada.

ALIYUN::VPC::EIP

  • PricingCycle

  • Period

Tidak ada.

ALIYUN::VPC::EIPPro

  • PricingCycle

  • Period

Tidak ada.

ALIYUN::VPC::NatGateway

  • ZoneId

  • Duration

  • PricingCycle

Tidak ada.

ALIYUN::VPC::RouterInterface

  • PricingCycle

  • Period

Tidak ada.

Hubungan ketergantungan antar parameter

Saat menggunakan template untuk membuat sumber daya Elastic Compute Service (ECS) di Resource Orchestration Service (ROS), Anda perlu menentukan parameter seperti ZoneInfo dan InstanceType.

Tipe instance ECS yang didukung bervariasi berdasarkan zona. Oleh karena itu, nilai tertentu dari parameter InstanceType mungkin menjadi tidak tersedia setelah menentukan parameter ZoneInfo.

Jika Anda hanya ingin menggunakan nilai tertentu dari parameter InstanceType, Anda dapat mengonfigurasi hubungan ketergantungan antara InstanceType dan ZoneInfo melalui bagian Metadata.

Catatan

Untuk informasi lebih lanjut, lihat Metadata.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ZoneInfo:
    Type: String
  InstanceType:
    Type: String
Resources:
  ECS:
    Type: ALIYUN::ECS::Instance
    Properties:
      ZoneId:
        Ref: ZoneInfo
      InstanceType:
        Ref: InstanceType
      ImageId: ubuntu
Metadata:
  ALIYUN::ROS::Interface:
    ParameterGroups:
      - Parameters:
          - InstanceType
          - ZoneInfo

Konfigurasi manual kueri batasan parameter untuk template Terraform

Tambahkan ResourcesForParameterConstraints ke ALIYUN::ROS::Interface di bagian Metadata atau file .metadata untuk mengonfigurasi batasan parameter.

Definisikan sumber daya yang relevan dengan batasan parameter dan tentukan propertinya. Untuk detail sintaks ResourcesForParameterConstraints, lihat Resources.

Konfigurasi bagian Mappings, Conditions, dan Rules yang didefinisikan dalam template secara otomatis berlaku selama kueri batasan parameter. Untuk informasi lebih lanjut, lihat (Opsional) Mappings, (Opsional) Conditions, dan (Opsional) Rules.

ROSTemplateFormatVersion: '2015-09-01'
Transform: Aliyun::Terraform-v1.1
Workspace:
  .metadata: |-
    {
        "ALIYUN::ROS::Interface": {
            "ResourcesForParameterConstraints": {
                "instance": {
                    "Type": "ALIYUN::ECS::Instance",
                    "Properties": {
                        "ImageId": {
                            "Ref": "image_id"
                        },
                        "InstanceType": {
                            "Ref": "instance_type"
                        },
                        "ZoneId": {
                            "Ref": "zone_id"
                        }
                    }
                }
            },
            "Hidden": [
                "image_id"
            ]
        }
    }
  main.tf: |-
    variable "image_id" {
      type    = string
      default = "ubuntu_18_04_64_20G_alibase_2019****.vhd"
    }

    variable "instance_type" {
      type = string
    }

    variable "zone_id" {
      type = string
    }

    resource "alicloud_vpc" "vpc" {
      cidr_block = "172.16.X.X/16"
    }

    resource "alicloud_security_group" "group" {
      vpc_id = alicloud_vpc.vpc.id
    }

    resource "alicloud_vswitch" "vswitch" {
      vpc_id     = alicloud_vpc.vpc.id
      cidr_block = "172.16.X.X/24"
      zone_id    = var.zone_id
    }

    resource "alicloud_instance" "instance" {
      availability_zone = var.zone_id
      security_groups   = [alicloud_security_group.group.id]
      instance_type     = var.instance_type
      image_id          = var.image_id
      vswitch_id        = alicloud_vswitch.vswitch.id
    }

Pada template Terraform di atas, empat sumber daya didefinisikan. Batasan dikonfigurasi untuk parameter zone_id dan instance_type, serta parameter tersebut dihubungkan dengan alicloud_instance.

Di ResourcesForParameterConstraints, hanya tipe sumber daya ALIYUN::ECS::Instance dari ROS yang sesuai dengan alicloud_instance yang didefinisikan. Tipe sumber daya ini dihubungkan dengan parameter image_id, instance_type, dan zone_id untuk mengonfigurasi batasan. Dalam contoh ini, parameter image_id disembunyikan.