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:GetTemplateParameterConstraints

get

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

TemplateBody

string

模板主体的结构。长度为 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" } } } } }

RegionId

string

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

cn-hangzhou

TemplateURL

string

包含模板主体的文件的位置。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

TemplateId

string

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

说明

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

5ecd1e10-b0e9-4389-a565-e4c15efc****

TemplateVersion

string

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

说明

TemplateVersion 仅在指定 TemplateId 时生效。

v1

Parameters

array<object>

模板中已定义的参数。

object

ParameterKey

string

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

说明

Parameters 为可选参数。若指定了 Parameters,则 ParameterKey 为必选参数。

ZoneInfo

ParameterValue

string

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

说明

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

cn-hangzhou-h

ParametersKeyFilter

array

需要查询的参数列表。

string

需要查询的参数。

ZoneInfo

ClientToken

string

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

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

ParametersOrder

array

参数依赖关系。

string

参数依赖关系的顺序。

说明

默认按照模板中Metadata参数的依赖关系。

["ZoneId", "InstanceType"]

StackId

string

资源栈 ID。

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

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

返回参数

名称

类型

描述

示例值

object

RequestId

string

请求 ID。

9816785B-BCF8-514D-8B76-C1EC2BC954FC

ParameterConstraints

array<object>

参数约束信息。

object

ParameterKey

string

参数的名称。

ZoneInfo

Type

string

参数的类型。

String

AllowedValues

array

参数的取值列表。

string

参数的取值。

cn-hangzhou-h

Behavior

string

参数的行为。取值:

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

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

  • QueryError:查询失败。

说明

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

NoLimit

BehaviorReason

string

参数行为出现的原因。

No resource property refer to the parameter

AssociationParameterNames

array

关联参数列表。

string

关联参数名称的列表。

InstanceType

IllegalValueByParameterConstraints

array

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

说明

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

any

不符合参数约束的值。

说明

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

cn-hangzhou-h

IllegalValueByRules

array

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

说明

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

any

不符合模板规则的值。

说明

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

cn-hangzhou-h

NotSupportResources

array<object>

不支持的资源详情。

object

不支持的资源详情。

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

ResourceType

string

资源类型。

ALIYUN::ECS::InstanceGroup

PropertyName

string

资源属性名称。

InstanceName

QueryErrors

array<object>

查询失败的详情。

object

查询失败的详情。

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

ErrorMessage

string

错误详情。

ALIYUN::ECS::InstanceGroup

ResourceName

string

资源名称。

MyECS

ResourceType

string

资源类型。

InstanceType is needed while query DataDisk

OriginalConstraints

array<object>

原始约束信息。

object

原始约束信息。

ResourceName

string

模板中定义的资源名称。

MyECS

AllowedValues

array

参数的取值列表。

any

参数的取值。

cn-hangzhou-a

ResourceType

string

资源类型。

ALIYUN::ECS::InstanceGroup

PropertyName

string

属性名称。

ZoneId

Behavior

string

参数的行为。

QueryError

BehaviorReason

string

参数行为出现的原因。

No resource property refer to the parameter

PropertiesData

string

参数约束查询过程中使用的查询参数。

{ "ZoneId":"cn-hangzhou-h", "SystemDiskCategory":"cloud_essd" }

RequestInfo

string

参数约束查询过程中,调用云产品查询接口的请求信息。

ecs:2014-05-26:DescribeAvailableResource:4C5B6929-EB64-5086-A821-9CCB553A5AE9

QueryTimeoutDetails

array<object>

查询超时的详情。

object

查询超时的详情。

ResourceType

string

资源类型。

ALIYUN::RDS::DBInstance

ResourceName

string

资源名称。

rds

ErrorMessage

string

错误信息。

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",
          "Behavior": "QueryError",
          "BehaviorReason": "No resource property refer to the parameter",
          "PropertiesData": "{\n    \"ZoneId\":\"cn-hangzhou-h\",\n    \"SystemDiskCategory\":\"cloud_essd\"\n}",
          "RequestInfo": "ecs:2014-05-26:DescribeAvailableResource:4C5B6929-EB64-5086-A821-9CCB553A5AE9"
        }
      ],
      "QueryTimeoutDetails": [
        {
          "ResourceType": "ALIYUN::RDS::DBInstance",
          "ResourceName": "rds",
          "ErrorMessage": "query property SlaveZoneIds.* in resource rds error, error message: query 8 seconds timeout"
        }
      ]
    }
  ]
}

错误码

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

变更历史

更多信息,参考变更详情