调用GetTemplateParameterConstraints接口查询模板参数的取值。

使用说明

本文将提供一个示例,查询杭州地域模板{"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}中参数ZoneInfo的取值。

GetTemplateParameterConstraints接口支持查询的参数和模板内容要求如下:

  • 当前支持查询的参数如下表所示。

    资源类型

    参数

    ALIYUN::CS::KubernetesCluster

    MasterInstanceTypes、MasterSystemDiskCategory、WorkerInstanceTypes、WorkerSystemDiskCategory、WorkerVSwitchIds、PodVswitchIds、MasterDataDisks和WorkerDataDisks中的Category

    ALIYUN::CS::ManagedKubernetesCluster

    WorkerInstanceTypes、WorkerSystemDiskCategory、 VSwitchIds、PodVswitchIds和WorkerDataDisks中的Category

    ALIYUN::CS::ManagedEdgeKubernetesCluster

    WorkerInstanceTypes、WorkerSystemDiskCategory、WorkerDataDiskCategory、VSwitchIds和WorkerDataDisks中的Category

    ALIYUN::ECS::Instance

    ZoneId、SystemDiskCategory、InstanceType和DiskMappings中的Category

    ALIYUN::ECS::InstanceGroup

    ZoneId、SystemDiskCategory、InstanceType和DiskMappings中的Category

    ALIYUN::ECS::VSwitch

    ZoneId

    ALIYUN::RDS::DBInstance

    ZoneId、EngineVersion、Category、DBInstanceStorageType和DBInstanceClass

    ALIYUN::RDS::PrepayDBInstance

    ZoneId、EngineVersion、Category、DBInstanceStorageType和DBInstanceClass

    ALIYUN::POLARDB::DBCluster

    ZoneId和DBNodeClass

    ALIYUN::REDIS::Instance

    ZoneId、EngineVersion和InstanceClass

    ALIYUN::REDIS::PrepayInstance

    ZoneId、EngineVersion和InstanceClass

    ALIYUN::VPC::NatGateway

    ZoneId

    ALIYUN::ADB::DBCluster

    ZoneId

  • 模板内容中必须包含参数信息,即模板结构中包含Parameters模块。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String GetTemplateParameterConstraints

要执行的操作,取值:GetTemplateParameterConstraints。

TemplateBody String {"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}

模板的结构。

长度为1~524,288个字节。如果长度较长,建议通过HTTP POST+Body Param的方式,将参数放在请求体中进行传递,避免URL过长而导致请求失败。

说明 您必须且仅能指定TemplateBody、TemplateURL和TemplateId其中一个参数。
RegionId String cn-hangzhou

地域ID。

您可以调用DescribeRegions接口查看最新的阿里云地域列表。

TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。URL必须指向位于Web服务器(HTTP或HTTPS)或阿里云OSS存储空间(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的模板,模板的最大长度为524,288个字节。如未指定OSS地域,默认与接口参数RegionId相同。

说明 您必须且仅能指定TemplateBody、TemplateURL和TemplateId其中一个参数。
TemplateId String 5ecd1e10-b0e9-4389-a565-e4c15efc****

模板ID。支持共享模板和私有模板。

说明 您必须且仅能指定TemplateBody、TemplateURL和TemplateId其中一个参数。
TemplateVersion String v1

模板版本。如果不指定,默认取最新版本。

说明 TemplateVersion仅在指定TemplateId时生效。
ParametersKeyFilter Array of String ZoneInfo

需要查询的参数。

ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求的幂等性。

该值由客户端生成,并且必须是全局唯一的。长度不超过64个字符,可包含英文字母、数字、短划线(-)和下划线(_)。

更多信息,请参见如何保证幂等性

Parameters.N.ParameterKey String ZoneInfo

模板中已定义的参数的名称。

说明 Parameters为可选参数。若指定了Parameters,则ParameterKey为必选参数。
Parameters.N.ParameterValue String cn-hangzhou-h

模板中已定义的参数的取值。

说明 Parameters为可选参数。若指定了Parameters,则ParameterValue为必选参数。

返回数据

名称 类型 示例值 描述
RequestId String 9816785B-BCF8-514D-8B76-C1EC2BC954FC

请求ID。

ParameterConstraints Array of ParameterConstraint

参数信息。

ParameterKey String ZoneInfo

参数的名称。

Type String String

参数的类型。

AllowedValues Array of String cn-hangzhou-h

参数的取值。

Behavior String NoLimit

参数的行为。取值:

  • NoLimit:无限制,此参数没有取值限制。
  • NotSupport:不支持,此参数不支持查询取值。
  • QueryError:查询失败。
说明 当查询结果没有返回AllowedValues时,会额外返回Behavior和BehaviorReason,说明参数的行为和原因。
BehaviorReason String No resource property refer to the parameter

参数行为出现的原因。

AssociationParameterNames Array of String InstanceType

关联参数列表。

示例

请求示例

http(s)://ros.aliyuncs.com/?Action=GetTemplateParameterConstraints
&TemplateBody={"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}
&RegionId=cn-hangzhou
&ParametersKeyFilter=["ZoneInfo"]
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetTemplateParameterConstraintsResponse>
    <RequestId>9816785B-BCF8-514D-8B76-C1EC2BC954FC</RequestId>
    <ParameterConstraints>
        <Type>String</Type>
        <AllowedValues>cn-hangzhou-h</AllowedValues>
        <AllowedValues>cn-hangzhou-i</AllowedValues>
        <AllowedValues>cn-hangzhou-j</AllowedValues>
        <AllowedValues>cn-hangzhou-k</AllowedValues>
        <AllowedValues>cn-hangzhou-e</AllowedValues>
        <AllowedValues>cn-hangzhou-f</AllowedValues>
        <AllowedValues>cn-hangzhou-g</AllowedValues>
        <AllowedValues>cn-hangzhou-b</AllowedValues>
        <AssociationParameterNames>InstanceType</AssociationParameterNames>
        <ParameterKey>ZoneInfo</ParameterKey>
    </ParameterConstraints>
</GetTemplateParameterConstraintsResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "9816785B-BCF8-514D-8B76-C1EC2BC954FC",
  "ParameterConstraints" : [ {
    "Type" : "String",
    "AllowedValues" : [ "cn-hangzhou-h", "cn-hangzhou-i", "cn-hangzhou-j", "cn-hangzhou-k", "cn-hangzhou-e", "cn-hangzhou-f", "cn-hangzhou-g", "cn-hangzhou-b" ],
    "AssociationParameterNames" : [ "InstanceType" ],
    "ParameterKey" : "ZoneInfo"
  } ]
}

错误码

访问错误中心查看更多错误码。