GetTemplateParameterConstraints - 获取模版参数约束

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

接口说明

使用说明

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

关于本接口支持查询的参数和模板内容,请参见参数约束查询

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ros:GetTemplateParameterConstraintsget
  • 全部资源
    *

请求参数

名称类型必填描述示例值
TemplateBodystring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。
{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { "ZoneInfo": { "Type": "String" }, "InstanceType": { "Type": "String" } }, "Resources": { "ECS": { "Type": "ALIYUN::ECS::Instance", "Properties": { "ZoneId": { "Ref": "ZoneInfo" }, "InstanceType": { "Ref": "InstanceType" } } } } }
RegionIdstring

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

cn-hangzhou
TemplateURLstring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL 和 TemplateId 其中一个参数。
oss://ros-template/demo
TemplateIdstring

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

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

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

说明 TemplateVersion 仅在指定 TemplateId 时生效。
v1
Parametersarray<object>

模板中已定义的参数。

object
ParameterKeystring

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

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

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

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

需要查询的参数列表。

string

需要查询的参数。

ZoneInfo
ClientTokenstring

保证请求的幂等性。 该值由客户端生成,并且必须是全局唯一的。长度不超过 64 个字符,可包含英文字母、数字、短划线(-)和下划线(_)。 更多信息,请参见如何保证幂等性

123e4567-e89b-12d3-a456-42665544****
ParametersOrderarray

参数依赖关系。

string

参数依赖关系的顺序。

说明 默认按照模板中Metadata参数的依赖关系。
["ZoneId", "InstanceType"]
StackIdstring

资源栈 ID。

当填写此参数时,表示查询变配场景的参数约束。

c754d2a4-28f1-46df-b557-9586173a****

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

9816785B-BCF8-514D-8B76-C1EC2BC954FC
ParameterConstraintsarray<object>

参数约束信息。

object
ParameterKeystring

参数的名称。

ZoneInfo
Typestring

参数的类型。

String
AllowedValuesarray

参数的取值列表。

string

参数的取值。

cn-hangzhou-h
Behaviorstring

参数的行为。取值:

  • NoLimit:无限制,此参数没有取值限制。

  • NotSupport:不支持,此参数不支持查询取值。

  • QueryError:查询失败。

说明 当查询结果没有返回 AllowedValues 时,会额外返回 Behavior 和 BehaviorReason,说明参数的行为和原因。
NoLimit
BehaviorReasonstring

参数行为出现的原因。

No resource property refer to the parameter
AssociationParameterNamesarray

关联参数列表。

string

关联参数名称的列表。

InstanceType
IllegalValueByParameterConstraintsarray

不符合参数约束的值列表。

说明 当查询结果有返回 AllowedValues 时,会额外返回 IllegalValueByParameterConstraints 和 IllegalValueByRules,说明被参数约束和模板规则过滤掉的不合法的值。
any

不符合参数约束的值。

说明 当查询结果返回AllowedValues时,会同时返回被参数约束和模板规则过滤掉的不合法的值IllegalValueByParameterConstraintsIllegalValueByRules
cn-hangzhou-h
IllegalValueByRulesarray

不符合模板规则的值列表。

说明 当查询结果有返回 AllowedValues 时,会额外返回 IllegalValueByParameterConstraints 和 IllegalValueByRules,说明被参数约束和模板规则过滤掉的不合法的值。
any

不符合模板规则的值。

说明 当查询结果返回AllowedValues时,会同时返回被参数约束和模板规则过滤掉的不合法的值IllegalValueByParameterConstraintsIllegalValueByRules
cn-hangzhou-h
NotSupportResourcesarray<object>

不支持的资源详情。

object

不支持的资源详情。

Behavior取值为NotSupport时,返回该信息。

ResourceTypestring

资源类型。

ALIYUN::ECS::InstanceGroup
PropertyNamestring

资源属性名称。

InstanceName
QueryErrorsarray<object>

查询失败的详情。

object

查询失败的详情。

Behavior取值为QueryError时,返回该信息。

ErrorMessagestring

错误详情。

ALIYUN::ECS::InstanceGroup
ResourceNamestring

资源名称。

MyECS
ResourceTypestring

资源类型。

InstanceType is needed while query DataDisk
OriginalConstraintsarray<object>

原始约束信息。

object

原始约束信息。

ResourceNamestring

模板中定义的资源名称。

MyECS
AllowedValuesarray

参数的取值列表。

any

参数的取值。

cn-hangzhou-a
ResourceTypestring

资源类型。

ALIYUN::ECS::InstanceGroup
PropertyNamestring

属性名称。

ZoneId
QueryTimeoutDetailsarray<object>

查询超时的详情。

object
ResourceTypestring

资源类型。

ALIYUN::RDS::DBInstance
ResourceNamestring

资源名称。

rds
ErrorMessagestring

错误信息。

query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout

示例

正常返回示例

JSON格式

{
  "RequestId": "9816785B-BCF8-514D-8B76-C1EC2BC954FC",
  "ParameterConstraints": [
    {
      "ParameterKey": "ZoneInfo",
      "Type": "String",
      "AllowedValues": [
        "cn-hangzhou-h"
      ],
      "Behavior": "NoLimit",
      "BehaviorReason": "No resource property refer to the parameter",
      "AssociationParameterNames": [
        "InstanceType"
      ],
      "IllegalValueByParameterConstraints": [
        "cn-hangzhou-h"
      ],
      "IllegalValueByRules": [
        "cn-hangzhou-h"
      ],
      "NotSupportResources": [
        {
          "ResourceType": "ALIYUN::ECS::InstanceGroup",
          "PropertyName": "InstanceName"
        }
      ],
      "QueryErrors": [
        {
          "ErrorMessage": "ALIYUN::ECS::InstanceGroup",
          "ResourceName": "MyECS",
          "ResourceType": "InstanceType is needed while query DataDisk"
        }
      ],
      "OriginalConstraints": [
        {
          "ResourceName": "MyECS",
          "AllowedValues": [
            "cn-hangzhou-a"
          ],
          "ResourceType": "ALIYUN::ECS::InstanceGroup\n",
          "PropertyName": "ZoneId"
        }
      ],
      "QueryTimeoutDetails": [
        {
          "ResourceType": "ALIYUN::RDS::DBInstance",
          "ResourceName": "rds",
          "ErrorMessage": "query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout"
        }
      ]
    }
  ]
}

错误码

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

变更历史

变更时间变更内容概要操作
2024-07-18OpenAPI 返回结构发生变更查看变更详情
2023-06-21API 内部配置变更,不影响调用查看变更详情
2023-06-02OpenAPI 返回结构发生变更查看变更详情