Consulta los valores de uno o más parámetros de una plantilla.
Descripción
Este tema muestra un ejemplo de cómo consultar los valores de un parámetro. En este ejemplo, se consultan los valores del parámetro ZoneInfo en una plantilla creada en la región China (Hangzhou). El cuerpo de la plantilla es {"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}}.
Para obtener más información, consulte Consultar las restricciones de los parámetros. En ese tema se describen los parámetros de plantilla cuyos valores puede consultar mediante esta operación y el código de ejemplo de la plantilla.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | GetTemplateParameterConstraints | La operación que desea realizar. Establezca el valor en GetTemplateParameterConstraints. |
| TemplateBody | String | No | {"Parameters":{"ZoneInfo":{"Type": "String"},"InstanceType": {"Type": "String"}},"ROSTemplateFormatVersion": "2015-09-01","Resources":{"ECS":{"Properties":{"ZoneId":{"Ref": "ZoneInfo"},"InstanceType": {"Ref": "InstanceType"}},"Type": "ALIYUN::ECS::Instance"}}} | La estructura que contiene el cuerpo de la plantilla. El cuerpo de la plantilla debe tener una longitud de 1 a 524,288 bytes. Si la longitud del cuerpo de la plantilla supera el límite superior, se recomienda agregar parámetros al cuerpo de la solicitud HTTP POST. Esto evita errores en la solicitud causados por URL demasiado largas. Nota Especifique exactamente uno de los parámetros que se muestran a continuación: TemplateBody, TemplateURL y TemplateId. |
| RegionId | String | Sí | cn-hangzhou | El ID de la región. Llame a la operación DescribeRegions para consultar la lista de regiones más reciente. |
| TemplateURL | String | No | oss://ros-template/demo | La URL del archivo que contiene el cuerpo de la plantilla. La URL debe apuntar a una plantilla ubicada en un servidor web HTTP o HTTPS, o en un bucket de Object Storage Service (OSS). Por ejemplo: oss://ros/template/demo o oss://ros/template/demo?RegionId=cn-hangzhou. El cuerpo de la plantilla puede tener una longitud máxima de 524,288 bytes. Si no especifica el ID de región del bucket de OSS, se usa el valor del parámetro RegionId. Nota Especifique exactamente uno de los parámetros que se muestran a continuación: TemplateBody, TemplateURL y TemplateId. |
| TemplateId | String | No | 5ecd1e10-b0e9-4389-a565-e4c15efc**** | El ID de la plantilla. Este parámetro se aplica a plantillas compartidas y privadas. Nota Especifique exactamente uno de los parámetros que se muestran a continuación: TemplateBody, TemplateURL y TemplateId. |
| TemplateVersion | String | No | v1 | La versión de la plantilla. Si no especifica este parámetro, se usa la versión más reciente. Nota Este parámetro solo surte efecto cuando se especifica el parámetro TemplateId. |
| Parameters.N.ParameterKey | String | Sí | ZoneInfo | El nombre del parámetro N definido en la plantilla. Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar Parameters.N.ParameterKey. |
| Parameters.N.ParameterValue | String | Sí | cn-hangzhou-h | El valor del parámetro N definido en la plantilla. Nota El parámetro Parameters es opcional. Si especifica Parameters, debe especificar Parameters.N.ParameterValue. |
| ParametersKeyFilter | Array of String | No | ZoneInfo | Los parámetros cuyos valores desea consultar. |
| ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | El token de cliente. Asegúrese de la idempotencia de la solicitud mediante este token. Puede usar el cliente para generar el token, pero debe comprobar que el token sea único entre distintas solicitudes. El token puede tener una longitud máxima de 64 caracteres y contener letras, dígitos, guiones (-) y guiones bajos (_). Para obtener más información, consulte Asegúrese de la idempotencia. |
| ParametersOrder | Array of String | No | ["ZoneId", "InstanceType"] | El orden en que se disponen los parámetros asociados. Nota De forma predeterminada, se usa el orden de los parámetros asociados especificado en la sección Metadata de la plantilla. |
| StackId | String | No | c754d2a4-28f1-46df-b557-9586173a**** | El ID de la pila. Si especifica este parámetro en una solicitud, la solicitud se usa para consultar los valores de los parámetros cuyas configuraciones cambiaron. |
Parámetros de respuesta
| Parámetro | Tipo | Ejemplo | Descripción |
| RequestId | String | 9816785B-BCF8-514D-8B76-C1EC2BC954FC | El ID de la solicitud. |
| ParameterConstraints | Array of ParameterConstraint | Las restricciones de los parámetros. | |
| ParameterKey | String | ZoneInfo | El nombre del parámetro. |
| Type | String | String | El tipo de datos del parámetro. |
| AllowedValues | Array of String | cn-hangzhou-h | Los valores del parámetro. |
| Behavior | String | NoLimit | El comportamiento del parámetro. Valores válidos:
Nota Si no se devuelve el parámetro AllowedValues, se devuelven los parámetros Behavior y BehaviorReason. |
| BehaviorReason | String | No resource property refer to the parameter | El motivo por el que se devuelve el comportamiento del parámetro. |
| AssociationParameterNames | Array of String | InstanceType | Los nombres de los parámetros asociados. |
| IllegalValueByParameterConstraints | Array of Any | cn-hangzhou-h | Los valores que no cumplen las restricciones del parámetro. Nota Si se devuelve el parámetro AllowedValues, se devuelven al mismo tiempo los parámetros IllegalValueByParameterConstraints e IllegalValueByRules. |
| IllegalValueByRules | Array of Any | cn-hangzhou-h | Los valores que no coinciden con las reglas de la plantilla. Nota Si se devuelve el parámetro AllowedValues, se devuelven al mismo tiempo los parámetros IllegalValueByParameterConstraints e IllegalValueByRules. |
| NotSupportResources | Array of NotSupportResource | Los recursos no compatibles de la plantilla. |
|
| ResourceType | String | ALIYUN::ECS::InstanceGroup | El tipo de recurso. |
| PropertyName | String | InstanceName | El nombre de la propiedad del recurso. |
| QueryErrors | Array of QueryError | Los detalles de error que se devuelven si la solicitud falla. |
|
| ResourceType | String | ALIYUN::ECS::InstanceGroup | El tipo de recurso. |
| ResourceName | String | MyECS | El nombre del recurso. |
| ResourceType | String | InstanceType is needed while query DataDisk | El mensaje de error. |
Ejemplos
Solicitudes de ejemplo
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"]
&<Common request parameters>
Respuestas correctas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<GetTemplateParameterConstraintsResponse>
<RequestId>9816785B-BCF8-514D-8B76-C1EC2BC954FC</RequestId>
<ParameterConstraints>
<ParameterKey>ZoneInfo</ParameterKey>
<Type>String</Type>
<AllowedValues>cn-hangzhou-i</AllowedValues>
<AllowedValues>cn-hangzhou-k</AllowedValues>
<AllowedValues>cn-hangzhou-d</AllowedValues>
<AssociationParameterNames>InstanceType</AssociationParameterNames>
<IllegalValueByParameterConstraints>cn-hangzhou-h</IllegalValueByParameterConstraints>
<IllegalValueByRules>cn-hangzhou-h</IllegalValueByRules>
</ParameterConstraints>
</GetTemplateParameterConstraintsResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "9816785B-BCF8-514D-8B76-C1EC2BC954FC",
"ParameterConstraints" : [ {
"ParameterKey" : "ZoneInfo",
"Type" : "String",
"AllowedValues" : [ "cn-hangzhou-i", "cn-hangzhou-k", "cn-hangzhou-d" ],
"AssociationParameterNames" : [ "InstanceType" ],
"IllegalValueByParameterConstraints" : [ "cn-hangzhou-h" ],
"IllegalValueByRules" : [ "cn-hangzhou-h" ]
} ]
}
Códigos de error
Para ver una lista de códigos de error, consulte Códigos de error del servicio.