Valida una plantilla que desea usar para crear una pila.
Este tema proporciona un ejemplo sobre cómo validar una plantilla que desea usar para crear una pila. En este ejemplo, el parámetro TemplateURL se establece en oss://ros/template/demo.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | ValidateTemplate | La operación que desea ejecutar. Establezca el valor en ValidateTemplate. |
| 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), como oss://ros/template/demo u oss://ros/template/demo?RegionId=cn-hangzhou. El cuerpo de la plantilla puede tener una longitud máxima de 524,288 bytes. Nota Si no especifica el ID de región del bucket de OSS, se usa el valor del parámetro RegionId. Solo puede especificar uno de los parámetros TemplateBody y TemplateURL. La URL puede tener una longitud máxima de 1,024 bytes. |
| RegionId | String | No | cn-hangzhou | El ID de la región donde reside la plantilla. Puede llamar a la operación DescribeRegions para consultar la lista de regiones más reciente. |
| TemplateBody | String | No | {"ROSTemplateFormatVersion":"2015-09-01"} | 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 excede el límite superior, le recomendamos agregar parámetros al cuerpo de la solicitud HTTP POST para evitar fallos en la solicitud causados por URL excesivamente largas. Solo puede especificar uno de los parámetros TemplateBody y TemplateURL. |
| ClientToken | String | No | 123e4567-e89b-12d3-a456-42665544**** | El token de cliente que se usa para garantizar la idempotencia de la solicitud. Puede usar el cliente para generar el valor, pero debe asegurarse de que sea único entre diferentes solicitudes. El token puede tener una longitud máxima de 64 caracteres y puede contener letras, dígitos, guiones (-) y guiones bajos (_). Para obtener más información, consulte Garantizar la idempotencia. |
| ValidationOption | String | No | Ninguna | Especifica si se habilita la validación adicional para la plantilla. Valor predeterminado: None. Valores válidos:
|
Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.
Parámetros de respuesta
| Parámetro | Tipo | Ejemplo | Descripción |
| Description | String | No description | La descripción de la plantilla. |
| Parameters | Array of Object | [{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}] | Los parámetros en la sección Parameters de la plantilla. La sección Parameters contiene los parámetros que debe especificar cuando usa la plantilla para crear una pila. Puede usar los parámetros para especificar los detalles de la pila, como el nombre de usuario, la contraseña y el tipo de instancia de Elastic Compute Service (ECS) en la región especificada. |
| RequestId | String | B288A0BE-D927-4888-B0F7-B35EF84B6E6F | El ID de la solicitud. |
| Outputs | Array of Output | Los elementos de salida de la plantilla. | |
| OutputKey | String | instance_id | El nombre del elemento de salida. |
| Description | String | The instance ID of my ECS. | La descripción del elemento de salida. |
| Label | String | Instance ID | El alias del elemento de salida. |
| ResourceTypes | Object | Los tipos de recursos que se usan en la plantilla. | |
| Resources | Array of String | ALIYUN::ECS::InstanceGroup | Los tipos de recursos regulares. |
| DataSources | Array of String | DATASOURCE::VPC::Vpcs | Los tipos de recursos DataSource. |
| Resources | Array of Resource | Los recursos regulares definidos en la plantilla. Nota
| |
| ResourceType | String | ALIYUN::ECS::InstanceGroup | El tipo de recurso regular. |
| ResourcePath | String | server | La ruta del recurso regular. En la mayoría de los casos, la ruta de un recurso regular es igual al nombre del recurso. |
| LogicalResourceIdPattern | String | server | El patrón mediante el cual se forman los ID lógicos de los recursos regulares. Si los recursos se definen en una plantilla de ROS, se aplican las siguientes reglas:
Si los recursos y los módulos se definen en una plantilla de Terraform, se aplican las siguientes reglas:
Ejemplos del parámetro LogicalResourceIdPattern para recursos en una plantilla de Terraform:
|
| UpdateInfo | Object | La información de actualización sobre la pila. | |
| ParametersAllowedToBeModified | Array of String | param1 | Los parámetros que se pueden modificar. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, no se producen errores de validación. |
| ParametersCauseInterruptionIfModified | Array of String | param1 | Los parámetros cuyos cambios provocan interrupciones del servicio. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, se producen interrupciones del servicio. Nota
|
| ParametersConditionallyAllowedToBeModified | Array of String | param2 | Los parámetros que se pueden modificar bajo condiciones específicas. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, los nuevos valores de los parámetros determinan si se producen errores de validación. |
| ParametersConditionallyCauseInterruptionIfModified | Array of String | param2 | Los parámetros cuyos cambios provocan interrupciones del servicio bajo condiciones específicas. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, los nuevos valores y el tipo de actualización determinan si se producen interrupciones del servicio. Nota
|
| ParametersNotAllowedToBeModified | Array of String | param3 | Los parámetros que no se pueden modificar. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, se producen errores de validación. |
| ParametersUncertainlyAllowedToBeModified | Array of String | param4 | Los parámetros que se pueden modificar bajo condiciones inciertas. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, el entorno de ejecución real determina si se producen errores de validación. |
| ParametersUncertainlyCauseInterruptionIfModified | Array of String | param4 | Los parámetros cuyos cambios provocan interrupciones del servicio bajo condiciones inciertas. Si solo cambia los valores de los parámetros en una plantilla de pila y usa la plantilla para actualizar la pila, el entorno de ejecución real determina si se producen interrupciones del servicio. Nota
|
Ejemplos
Solicitudes de muestra
http(s)://ros.aliyuncs.com/?Action=ValidateTemplate
&TemplateURL=oss://ros/template/demo
&<Common request parameters>
Respuestas exitosas de muestra
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<ValidateTemplateResponse>
<Description>No description</Description>
<Parameters>
<Description/>
<Label>param_integer</Label>
<NoEcho>false</NoEcho>
<ParameterKey>param_integer</ParameterKey>
<Type>Number</Type>
</Parameters>
<Parameters>
<Description/>
<Label>param_float</Label>
<NoEcho>false</NoEcho>
<ParameterKey>param_float</ParameterKey>
<Type>Number</Type>
</Parameters>
<RequestId>B288A0BE-D927-4888-B0F7-B35EF84B6E6F</RequestId>
<Outputs>
<OutputKey>instance_id</OutputKey>
<Description>The instance ID of my ECS.</Description>
</Outputs>
<ResourceTypes>
<Resources>ALIYUN::ECS::InstanceGroup</Resources>
<DataSources>DATASOURCE::VPC::Vpcs</DataSources>
</ResourceTypes>
</ValidateTemplateResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"Description" : "No description",
"Parameters" : [ {
"Description" : "",
"Label" : "param_integer",
"NoEcho" : "false",
"ParameterKey" : "param_integer",
"Type" : "Number"
}, {
"Description" : "",
"Label" : "param_float",
"NoEcho" : "false",
"ParameterKey" : "param_float",
"Type" : "Number"
} ],
"RequestId" : "B288A0BE-D927-4888-B0F7-B35EF84B6E6F",
"Outputs" : {
"OutputKey" : "instance_id",
"Description" : "The instance ID of my ECS."
},
"ResourceTypes" : {
"Resources" : "ALIYUN::ECS::InstanceGroup",
"DataSources" : "DATASOURCE::VPC::Vpcs"
}
}
Códigos de error
Para obtener una lista de códigos de error, consulte Códigos de error del servicio.
|
Código de error |
Mensaje de error |
Código de estado HTTP |
Descripción |
|
InvalidTemplate |
{reason}. |
400 |
El mensaje de error devuelto porque la plantilla especificada no es válida. reason indica la causa del error. |
|
IInvalidParameter |
{reason}. |
400 |
El mensaje de error devuelto porque el parámetro especificado en la plantilla no es válido. reason indica la causa del error. |