Todos los productos
Search
Centro de documentos

:ValidateTemplate

Última actualización: Sep 04, 2026

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

OpenAPI Explorer calcula automáticamente el valor de la firma. Para su comodidad, le recomendamos llamar a esta operación en OpenAPI Explorer. OpenAPI Explorer genera dinámicamente el código de muestra de la operación para diferentes SDK.

Parámetros de solicitud

ParámetroTipoObligatorioEjemploDescripción
ActionStringSíValidateTemplate

La operación que desea ejecutar. Establezca el valor en ValidateTemplate.

TemplateURLStringNooss://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.

RegionIdStringNocn-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.

TemplateBodyStringNo{"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.

ClientTokenStringNo123e4567-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.

ValidationOptionStringNoNinguna

Especifica si se habilita la validación adicional para la plantilla. Valor predeterminado: None. Valores válidos:

  • None: no habilita la validación adicional.
  • EnableTerraformValidation: ejecuta el comando terraform validate en la CLI de Terraform para habilitar la validación adicional de una plantilla de Terraform.
  • EnableFastTerraformValidation: ejecuta un comando similar al comando terraform validate en la CLI de Terraform para habilitar la validación adicional de una plantilla de Terraform.
    Nota En comparación con el método EnableTerraformValidation, el método EnableFastTerraformValidation valida una plantilla a mayor velocidad, pero con un nivel de integridad menor.

Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.

Parámetros de respuesta

ParámetroTipoEjemploDescripción
DescriptionStringNo description

La descripción de la plantilla.

ParametersArray 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.

RequestIdStringB288A0BE-D927-4888-B0F7-B35EF84B6E6F

El ID de la solicitud.

OutputsArray of Output

Los elementos de salida de la plantilla.

OutputKeyStringinstance_id

El nombre del elemento de salida.

DescriptionStringThe instance ID of my ECS.

La descripción del elemento de salida.

LabelStringInstance ID

El alias del elemento de salida.

ResourceTypesObject

Los tipos de recursos que se usan en la plantilla.

ResourcesArray of StringALIYUN::ECS::InstanceGroup

Los tipos de recursos regulares.

DataSourcesArray of StringDATASOURCE::VPC::Vpcs

Los tipos de recursos DataSource.

ResourcesArray of Resource

Los recursos regulares definidos en la plantilla.

Nota
  • Para una plantilla de Resource Orchestration Service (ROS), el recurso cuya definición contiene el parámetro Count no se muestra como una lista.
  • Para una plantilla de Terraform, el recurso cuya definición contiene el parámetro count o for_each no se muestra como una lista.
ResourceTypeStringALIYUN::ECS::InstanceGroup

El tipo de recurso regular.

ResourcePathStringserver

La ruta del recurso regular. En la mayoría de los casos, la ruta de un recurso regular es igual al nombre del recurso.

LogicalResourceIdPatternStringserver

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:

  • Recurso cuya definición no contiene el parámetro Count: Si el nombre del recurso definido en la plantilla es server, el valor de los parámetros LogicalResourceIdPattern y ResourcePath es server.
  • Recurso cuya definición contiene el parámetro Count: Si el nombre del recurso definido en la plantilla es server, el valor del parámetro LogicalResourceIdPattern es server[*], y el valor del parámetro ResourcePath es server.

Si los recursos y los módulos se definen en una plantilla de Terraform, se aplican las siguientes reglas:

  • Recurso y módulo cuyas definiciones no contienen el parámetro count o for_each: Si el nombre del recurso definido en la plantilla es server, el valor de los parámetros LogicalResourceIdPattern y ResourcePath es server.
  • Recurso y módulo cuyas definiciones contienen el parámetro count o for_each: Si el nombre del recurso definido en la plantilla es server, el valor del parámetro LogicalResourceIdPattern es server[*], y el valor del parámetro ResourcePath es server.

Ejemplos del parámetro LogicalResourceIdPattern para recursos en una plantilla de Terraform:

  • Valores válidos del parámetro LogicalResourceIdPattern si un recurso pertenece al módulo raíz:
    • server: En este caso, el parámetro count o for_each no está contenido en el recurso. El valor del parámetro ResourcePath es server.
    • server[*]: En este caso, el parámetro count o for_each está contenido en el recurso. El valor del parámetro ResourcePath es server.
  • Valores válidos del parámetro LogicalResourceIdPattern si un recurso pertenece a un módulo secundario:
    • app.server: En este caso, el parámetro count o for_each no está contenido en el módulo app ni en el recurso server. El valor del parámetro ResourcePath es app.server.
    • app.server[*]: En este caso, el parámetro count o for_each está contenido en el recurso server, pero no en el módulo app. El valor del parámetro ResourcePath es app.server.
    • app[*].server: En este caso, el parámetro count o for_each está contenido en el módulo app, pero no en el recurso server. El valor del parámetro ResourcePath es app.server.
    • app[*].server[*]: En este caso, el parámetro count o for_each está contenido en el módulo app y en el recurso server. El valor del parámetro ResourcePath es app.server.
    • app.app_group[*].server: En este caso, el parámetro count o for_each está contenido en el módulo app_group, pero no en el módulo app ni en el recurso server. El valor del parámetro ResourcePath es app.app_group.server. El módulo app_group es un módulo secundario del módulo app.
UpdateInfoObject

La información de actualización sobre la pila.

ParametersAllowedToBeModifiedArray of Stringparam1

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.

ParametersCauseInterruptionIfModifiedArray of Stringparam1

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
  • Este parámetro solo es compatible con un número reducido de tipos de recursos.
  • Este parámetro solo es válido para cambios realizados en pilas de ROS.
ParametersConditionallyAllowedToBeModifiedArray of Stringparam2

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.

ParametersConditionallyCauseInterruptionIfModifiedArray of Stringparam2

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
  • Este parámetro solo es compatible con un número reducido de tipos de recursos.
  • Este parámetro solo es válido para cambios realizados en pilas de ROS.
ParametersNotAllowedToBeModifiedArray of Stringparam3

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.

ParametersUncertainlyAllowedToBeModifiedArray of Stringparam4

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.

ParametersUncertainlyCauseInterruptionIfModifiedArray of Stringparam4

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
  • Este parámetro solo es compatible con un número reducido de tipos de recursos.
  • Este parámetro solo es válido para cambios realizados en pilas de ROS.

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.