Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ValidateTemplate

Última atualização: Jul 04, 2026

Valida um modelo que é usado para criar uma pilha especificando a URL ou o corpo do modelo.

Descrição da operação

Esta operação de API valida apenas modelos e não envolve dados do usuário. A autenticação RAM não é necessária.

Este tópico fornece um exemplo de como validar um modelo de pilha. Neste exemplo, o TemplateURL do arquivo de modelo é oss://ros/template/demo.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

Nenhuma autorização necessária para esta operação. Se você encontrar problemas com esta operação, entre em contato com o suporte técnico.

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

TemplateURL

string

Não

O local do arquivo que contém o corpo do modelo. A URL deve apontar para um modelo localizado em um servidor web HTTP ou em um bucket do Alibaba Cloud OSS, como oss://ros/template/demo ou oss://ros/template/demo?RegionId=cn-hangzhou. O modelo pode ter até 524.288 bytes de tamanho.

Nota

Se você não especificar a região do bucket do OSS, o valor do parâmetro RegionId será usado.

Você pode especificar TemplateBody ou TemplateURL, mas não ambos.
A URL pode ter até 1.024 bytes de comprimento.

oss://ros/template/demo

RegionId

string

Não

O ID da região do modelo de pilha. Você pode chamar a operação DescribeRegions para consultar a lista mais recente de regiões do Alibaba Cloud.

cn-hangzhou

TemplateBody

string

Não

A estrutura do corpo do modelo. O corpo do modelo pode ter de 1 a 524.288 bytes de comprimento.
Se o corpo do modelo for longo, use uma solicitação POST e coloque o parâmetro no corpo da solicitação. Isso evita uma falha de solicitação causada por uma URL excessivamente longa.
Você pode especificar TemplateBody ou TemplateURL, mas não ambos.

{"ROSTemplateFormatVersion":"2015-09-01"}

ClientToken

string

Não

Um token de cliente usado para garantir a idempotência da solicitação. O cliente gera o valor, que deve ser exclusivo.

O token pode ter até 64 caracteres e pode conter letras, dígitos, hifens (-) e sublinhados (_).

Para mais informações, consulte Como garantir a idempotência.

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

ValidationOption

string

Não

Especifica se a validação adicional para o modelo deve ser ativada. Valores válidos:

  • None (padrão): Nenhuma validação adicional é ativada.

  • EnableTerraformValidation: Para um modelo do Terraform, o comando terraform validate da interface de linha de comando (CLI) do Terraform é usado para ativar a validação adicional.

  • EnableFastTerraformValidation: Para um modelo do Terraform, um comando semelhante ao comando terraform validate da CLI do Terraform é usado para ativar a validação adicional.

Nota

Em comparação com EnableTerraformValidation, EnableFastTerraformValidation é mais rápido, mas menos abrangente.

None

UpdateInfoOptions

array

Não

A lista de opções para as informações de atualização. A lista pode conter até duas opções.

string

Não

A opção para as informações de atualização. Esta opção é usada para controlar a geração de informações sobre a atualização da pilha. Valores válidos:

  • Disabled: Nenhuma informação sobre a atualização da pilha é gerada.

  • ConsiderCondition: O impacto das condições é considerado quando as informações sobre a atualização da pilha são geradas. Use esta opção. Caso contrário, as condições são avaliadas e os parâmetros envolvidos nas condições são definidos com seus valores padrão ou nulos.

  • EnableReplacement: O impacto de uma atualização de substituição é considerado quando as informações sobre a atualização da pilha são geradas.

Valores válidos:

  • ConsiderCondition :

    ConsiderCondition.

  • EnableReplacement :

    EnableReplacement.

  • Disabled :

    Disabled.

ConsiderCondition

Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Description

string

A descrição do modelo de pilha.

No description

Parameters

array<object>

A lista de parâmetros de entrada.

object

O parâmetro de entrada.
Os parâmetros de entrada definem os parâmetros que você deve especificar ao criar uma pilha a partir do modelo. Esses parâmetros são usados para especificar os detalhes de cada criação de pilha, como o nome de usuário, a senha e o tipo de instância ECS relacionado ao ambiente.

[{"Description": "", "Label": "param_integer", "NoEcho": "false", "ParameterKey": "param_integer", "Type": "Number"},{ "Description": "", "Label": "param_float", "NoEcho": "false", "ParameterKey": "param_float", "Type": "Number"}]

RequestId

string

O ID da solicitação.

B288A0BE-D927-4888-B0F7-B35EF84B6E6F

Outputs

array<object>

A lista de saídas do modelo.

object

OutputKey

string

O nome da saída do modelo.

instance_id

Description

string

A descrição da saída do modelo.

The instance ID of my ECS.

Label

string

O alias da saída do modelo.

Instance ID

ResourceTypes

object

As informações sobre os tipos de recurso usados no modelo.

Resources

array

A lista de tipos de recurso regulares. As duplicatas são removidas.

string

O tipo de recurso regular.

ALIYUN::ECS::InstanceGroup

DataSources

array

A lista de tipos de recurso de fonte de dados. As duplicatas são removidas.

string

O tipo de recurso de fonte de dados.

DATASOURCE::VPC::Vpcs

Resources

array<object>

A lista de recursos regulares definidos no modelo.

Nota
  • Para modelos ROS, os recursos cujas definições contêm o campo Count não são expandidos.

  • Para modelos Terraform, os recursos cujas definições contêm count ou for_each não são expandidos.

object

ResourceType

string

O tipo de recurso regular.

ALIYUN::ECS::InstanceGroup

ResourcePath

string

O caminho do recurso regular. O caminho geralmente é o mesmo que o nome do recurso.

server

LogicalResourceIdPattern

string

O padrão de string para o ID lógico do recurso regular.

Para modelos ROS, existem os dois casos a seguir:

  • A definição do recurso não contém o campo Count: Se o nome do recurso definido no modelo for server, o valor deste parâmetro será server e o valor de ResourcePath será server.

  • A definição do recurso contém o campo Count: Se o nome do recurso definido no modelo for server, o valor deste parâmetro será server[*] e o valor de ResourcePath será server.

Para recursos e módulos em modelos Terraform, existem os dois casos a seguir:

  • A definição não contém count ou for_each: Se o nome for server, o valor deste parâmetro será server e o valor de ResourcePath será server.

  • A definição contém count ou for_each: Se o nome for server, o valor deste parâmetro será server[*] e o valor de ResourcePath será server.

Os exemplos a seguir mostram os valores para modelos Terraform:

  • Recursos no módulo raiz:

    • server: count e for_each não são usados. O valor de ResourcePath é server.

    • server[*]: count ou for_each é usado. O valor de ResourcePath é server.

  • Recursos em um módulo filho:

    • app.server: O módulo app não usa count ou for_each, e o recurso server não usa count ou for_each. O valor de ResourcePath é app.server.

    • app.server[*]: O módulo app não usa count ou for_each, mas o recurso server usa count ou for_each. O valor de ResourcePath é app.server.

    • app[*].server: O módulo app usa count ou for_each, mas o recurso server não usa count ou for_each. O valor de ResourcePath é app.server.

    • app[*].server[*]: O módulo app usa count ou for_each, e o recurso server usa count ou for_each. O valor de ResourcePath é app.server.

    • app.app_group[*].server: O módulo app não usa count ou for_each, o módulo app_group usa count ou for_each (o módulo app_group é um módulo filho do módulo app) e o recurso server não usa count ou for_each. O valor de ResourcePath é app.app_group.server.

server

UpdateInfo

object

As informações sobre a atualização da pilha. Este parâmetro não é retornado se Disabled for especificado para UpdateInfoOptions.

ParametersAllowedToBeModified

array

A lista de parâmetros que podem ser modificados.

string

Um parâmetro que pode ser modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, você poderá alterar o valor deste parâmetro sem causar um erro de validação.

param1

ParametersCauseInterruptionIfModified

array

A lista de parâmetros que causam interrupções de recurso se forem modificados.

Nota
  • Este parâmetro é compatível apenas com alguns tipos de recurso.

  • Este parâmetro é aplicável apenas a pilhas ROS.

string

Um parâmetro que causa uma interrupção de recurso se for modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a alteração do valor deste parâmetro causará uma interrupção de recurso.

param1

ParametersConditionallyAllowedToBeModified

array

A lista de parâmetros que podem ter a modificação permitida.

string

Um parâmetro que pode ter a modificação permitida. Ao atualizar uma pilha, se o modelo permanecer inalterado, a ocorrência de um erro de validação devido a uma alteração no valor deste parâmetro dependerá do novo valor.

param2

ParametersConditionallyCauseInterruptionIfModified

array

A lista de parâmetros que podem causar interrupções de recurso se forem modificados.

Nota
  • Este parâmetro é compatível apenas com alguns tipos de recurso.

  • Este parâmetro é aplicável apenas a pilhas ROS.

string

Um parâmetro que pode causar uma interrupção de recurso se for modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a alteração do valor deste parâmetro pode causar uma interrupção de recurso. Isso depende do novo valor e do comportamento de atualização do recurso.

param2

ParametersNotAllowedToBeModified

array

A lista de parâmetros que não podem ser modificados.

string

Um parâmetro que não pode ser modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a alteração do valor deste parâmetro causará um erro de validação.

param3

ParametersUncertainlyAllowedToBeModified

array

A lista de parâmetros cujas permissões de modificação são incertas.

string

Um parâmetro cuja permissão de modificação é incerta. Ao atualizar uma pilha, se o modelo permanecer inalterado, a ocorrência de um erro de validação devido a uma alteração no valor deste parâmetro só poderá ser determinada em tempo de execução.

param4

ParametersUncertainlyCauseInterruptionIfModified

array

A lista de parâmetros que causam interrupções de recurso sob condições incertas se forem modificados.

Nota
  • Este parâmetro é compatível apenas com alguns tipos de recurso.

  • Este parâmetro é aplicável apenas a pilhas ROS.

string

Um parâmetro que causa uma interrupção de recurso sob condições incertas se for modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a ocorrência de uma interrupção de recurso devido a uma alteração no valor deste parâmetro só poderá ser determinada em tempo de execução.

param4

ParametersCauseReplacementIfModified

array

A lista de parâmetros que causam atualizações de substituição se forem modificados.

Nota
  • Este parâmetro é retornado apenas se EnableReplacement for especificado para UpdateInfoOptions.

  • Este parâmetro é aplicável apenas a pilhas ROS.

string

Um parâmetro que causa uma atualização de substituição se for modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a alteração do valor deste parâmetro causará uma atualização de substituição.

param5

ParametersConditionallyCauseReplacementIfModified

array

A lista de parâmetros que podem causar atualizações de substituição se forem modificados.

Nota
  • Este parâmetro é retornado apenas se EnableReplacement for especificado para UpdateInfoOptions.

  • Este parâmetro é aplicável apenas a pilhas ROS.

string

Um parâmetro que pode causar uma atualização de substituição se for modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a alteração do valor deste parâmetro pode causar uma atualização de substituição. Isso depende do novo valor.

param6

ParametersUncertainlyCauseReplacementIfModified

array

A lista de parâmetros que causam atualizações de substituição sob condições incertas se forem modificados.

Nota
  • Este parâmetro é retornado apenas se EnableReplacement for especificado para UpdateInfoOptions.

  • Este parâmetro é aplicável apenas a pilhas ROS.

string

Um parâmetro que causa uma atualização de substituição sob condições incertas se for modificado. Ao atualizar uma pilha, se o modelo permanecer inalterado, a ocorrência de uma atualização de substituição devido a uma alteração no valor deste parâmetro só poderá ser determinada em tempo de execução.

param7

Exemplos

Resposta de sucesso

JSON formato

{
  "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.",
      "Label": "Instance ID"
    }
  ],
  "ResourceTypes": {
    "Resources": [
      "ALIYUN::ECS::InstanceGroup"
    ],
    "DataSources": [
      "DATASOURCE::VPC::Vpcs"
    ]
  },
  "Resources": [
    {
      "ResourceType": "ALIYUN::ECS::InstanceGroup",
      "ResourcePath": "server",
      "LogicalResourceIdPattern": "server"
    }
  ],
  "UpdateInfo": {
    "ParametersAllowedToBeModified": [
      "param1"
    ],
    "ParametersCauseInterruptionIfModified": [
      "param1"
    ],
    "ParametersConditionallyAllowedToBeModified": [
      "param2"
    ],
    "ParametersConditionallyCauseInterruptionIfModified": [
      "param2"
    ],
    "ParametersNotAllowedToBeModified": [
      "param3"
    ],
    "ParametersUncertainlyAllowedToBeModified": [
      "param4"
    ],
    "ParametersUncertainlyCauseInterruptionIfModified": [
      "param4"
    ],
    "ParametersCauseReplacementIfModified": [
      "param5"
    ],
    "ParametersConditionallyCauseReplacementIfModified": [
      "param6"
    ],
    "ParametersUncertainlyCauseReplacementIfModified": [
      "param7"
    ]
  }
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.