Todos os produtos
Search
Central de documentação

:GetTemplateEstimateCost

Última atualização: Jun 27, 2026

Consulta os preços estimados dos recursos em um modelo.

Descrição

  • Para obter mais informações sobre os recursos que aceitam consulta de preço em modelos do Resource Orchestration Service (ROS), consulte a seção "Resource types that support price inquiry" do tópico Estimar preços de recursos.

  • Para saber mais sobre os recursos compatíveis com consulta de preço em modelos do Terraform, veja a seção "ROS resources supported by Terraform" no tópico Recursos e funcionalidades do ROS suportados pelo Terraform.

Este tópico apresenta um exemplo de consulta do preço estimado de um elastic IP address (EIP) a ser criado por meio de um modelo. Neste exemplo, o corpo do modelo é {"ROSTemplateFormatVersion": "2015-09-01", "Parameters": {"Isp": {"Type": "String"}, "Name": {"Type": "String"},"Netmode": {"Type": "String"}, "Bandwidth": {"Type": "Number", "Default": 5}}, "Resources": {"NewEip": {"Type": "ALIYUN::VPC::EIP","Properties": {"InstanceChargeType": "Prepaid", "PricingCycle": "Month", "Isp": {"Ref": "Isp"}, "Period": 1, "DeletionProtection": false, "AutoPay": false, "Name": {"Ref": "Name"}, "InternetChargeType": "PayByTraffic", "Netmode": { "Ref": "Netmode"},"Bandwidth": 5}}}}.

Depuração

O OpenAPI Explorer calcula automaticamente o valor da assinatura. Para sua conveniência, recomendamos que você chame esta operação no OpenAPI Explorer. O OpenAPI Explorer gera dinamicamente o código de exemplo da operação para diferentes SDKs.

Parâmetros da solicitação

ParâmetroTipoObrigatórioExemploDescrição
ActionStringSimGetTemplateEstimateCost

A operação a ser executada. Defina o valor como GetTemplateEstimateCost.

TemplateURLStringNãooss://ros-template/demo

URL do arquivo que contém o corpo do modelo. A URL deve apontar para um modelo localizado em um servidor web HTTP ou HTTPS, ou em um bucket do Alibaba Cloud Object Storage Service (OSS), como oss://ros/stack-policy/demo ou oss://ros/stack-policy/demo?RegionId=cn-hangzhou. O corpo do modelo pode ter até 524.288 bytes. Caso o ID da região do bucket OSS não seja especificado, o sistema usará o valor do parâmetro RegionId.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId.
RegionIdStringSimcn-hangzhou

ID da região da pilha. Chame a operação DescribeRegions para consultar a lista de regiões mais recente.

TemplateBodyStringNão{"ROSTemplateFormatVersion": "2015-09-01", "Parameters": {"Isp": {"Type": "String"}, "Name": {"Type": "String"},"Netmode": {"Type": "String"}, "Bandwidth": {"Type": "Number", "Default": 5}}, "Resources": {"NewEip": {"Type": "ALIYUN::VPC::EIP","Properties": {"InstanceChargeType": "Prepaid", "PricingCycle": "Month", "Isp": {"Ref": "Isp"}, "Period": 1, "DeletionProtection": false, "AutoPay": false, "Name": {"Ref": "Name"}, "InternetChargeType": "PayByTraffic", "Netmode": { "Ref": "Netmode"},"Bandwidth": 5}}}}

Estrutura que contém o corpo do modelo. O tamanho deve variar de 1 a 524.288 bytes. Se o corpo do modelo exceder esse limite, adicione parâmetros ao corpo da solicitação HTTP POST para evitar falhas causadas por URLs excessivamente longas.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId.
ClientTokenStringNão123e4567-e89b-12d3-a456-42665544****

Token de cliente usado para garantir a idempotência da solicitação. Gere o valor no cliente, mas garanta que seja único entre diferentes solicitações.

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

Para obter mais informações, consulte Garantir idempotência.

TemplateIdStringNão5ecd1e10-b0e9-4389-a565-e4c15efc****

ID do modelo. Este parâmetro aplica-se a modelos compartilhados e privados.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId.
TemplateVersionStringNãov1

Versão do modelo. Este parâmetro entra em vigor somente quando TemplateId for especificado.

Parameters.N.ParameterKeyStringSimName

Nome do parâmetro N. Caso o nome e o valor de um parâmetro não sejam especificados, o ROS usará os valores padrão definidos no modelo.

Valor máximo de N: 200.

Exemplos:

  • Parameters.1.ParameterKey: Name
  • Parameters.2.ParameterKey: Netmode
Nota O parâmetro Parameters é opcional. Para especificá-lo, defina tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue.
Parameters.N.ParameterValueStringSimDemoEip

Valor do parâmetro N.

Valor máximo de N: 200.

Exemplos:

  • Parameters.1.ParameterValue: DemoEip
  • Parameters.2.ParameterValue: public
Nota O parâmetro Parameters é opcional. Para especificá-lo, defina tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue.
TemplateScratchIdStringNãots-aa9c62feab844a6b****

ID do cenário.

Para saber como consultar os IDs dos cenários, veja ListTemplateScratches.

Nota Especifique apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId.
TemplateScratchRegionIdStringNãocn-hangzhou

ID da região do cenário. O valor padrão corresponde ao do parâmetro RegionId.

Chame a operação DescribeRegions para consultar a lista de regiões mais recente.

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

Parâmetros de resposta

Parâmetro

Tipo

Exemplo

Descrição

RequestId

String

6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89

ID da solicitação.

Resources

Map

Detalhes do recurso.

A tabela a seguir descreve os parâmetros contidos em Resources.

Parâmetro

Tipo

Exemplo

Descrição

Order

Informações sobre o pedido.

TaxAmount

Long

0

Valor do imposto.

OptionalPromotions

Array

[]

Promoções disponíveis.

Currency

String

CNY

Unidade monetária. Valores válidos:

CNY: Disponível apenas no site da China (aliyun.com).

USD: Disponível apenas no site Internacional (alibabacloud.com).

RuleIds

Array

[102204102264****]

IDs das regras de promoção.

TradeAmount

Long

109.37

Preço final da transação do pedido. Equivale ao preço original menos o desconto.

OptionalMixPromotions

Array

[]

Promoções mistas disponíveis.

OriginalAmount

Long

125

Preço original.

DiscountAmount

Long

15.63

Valor do desconto aplicado.

Rules

Detalhes das regras de promoção.

Name

String

Contract discount_order discount_8.750 discount

Nome da regra de promoção.

RuleDescId

Long

102204102264****

ID da regra de promoção.

OrderSupplement

Informações complementares sobre o pedido.

ChargeType

String

PrePaid

Método de faturamento.

Period

Long

1

Duração da assinatura.

Quantity

Long

1

Quantidade.

PriceType

String

Total

Tipo de preço.

PeriodUnit

String

Month

Unidade de tempo da duração da assinatura.

OrderDetails

Detalhes do pedido.

ModuleCode

String

bandwidth

Código do módulo.

ModuleName

String

Bandwidth

Nome do módulo.

Currency

String

CNY

Tipo de moeda.

TradeAmount

Long

109.37

Preço final da transação do pedido.

OriginalAmount

Long

125

Preço original do pedido.

DiscountAmount

Long

15.63

Valor do desconto do pedido.

Exemplos

Exemplos de solicitações

http(s)://ros.aliyuncs.com/?Action=GetTemplateEstimateCost
&RegionId=cn-hangzhou
&TemplateBody={"ROSTemplateFormatVersion": "2015-09-01", "Parameters": {"Isp": {"Type": "String"}, "Name": {"Type": "String"},"Netmode": {"Type": "String"}, "Bandwidth": {"Type": "Number", "Default": 5}}, "Resources": {"NewEip": {"Type": "ALIYUN::VPC::EIP","Properties": {"InstanceChargeType": "Prepaid", "PricingCycle": "Month",   "Isp": {"Ref": "Isp"}, "Period": 1, "DeletionProtection": false, "AutoPay": false, "Name": {"Ref": "Name"}, "InternetChargeType": "PayByTraffic", "Netmode": {   "Ref": "Netmode"},"Bandwidth": 5}}}}
&Parameters=[{"ParameterKey":"Name","ParameterValue":"DemoEip"}]
&<Common request parameters>

Exemplos de respostas de sucesso

Formato XML

HTTP/1.1 200 OK
Content-Type:application/xml

<GetTemplateEstimateCostResponse>
    <RequestId>6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89</RequestId>
    <Resources>
        <NewEip>
            <Type>ALIYUN::VPC::EIP</Type>
            <Success>true</Success>
            <Result>
                <Order>
                    <TaxAmount>0</TaxAmount>
                    <TradeCycleAmount>0</TradeCycleAmount>
                    <RiCycleAmount>0</RiCycleAmount>
                    <Currency>CNY</Currency>
                    <TotalCostAmount>109.37</TotalCostAmount>
                    <RuleIds>102204102264****</RuleIds>
                    <TradeAmount>109.37</TradeAmount>
                    <DiscountCycleAmount>0</DiscountCycleAmount>
                    <OriginalAmount>125</OriginalAmount>
                    <DiscountAmount>15.63</DiscountAmount>
                </Order>
                <OrderSupplement>
                    <ChargeType>PrePaid</ChargeType>
                    <Period>1</Period>
                    <Quantity>1</Quantity>
                    <PriceType>Total</PriceType>
                    <PeriodUnit>Month</PeriodUnit>
                </OrderSupplement>
                <OrderDetails>
                    <ModuleCode>bandwidth</ModuleCode>
                    <ModuleName>Bandwidth</ModuleName>
                    <Currency>CNY</Currency>
                    <TradeAmount>109.37</TradeAmount>
                    <OriginalAmount>125</OriginalAmount>
                    <DiscountAmount>15.63</DiscountAmount>
                </OrderDetails>
                <Rules>
                    <Rule>
                        <RuleDescId>102204102264****</RuleDescId>
                        <Name>Contract discount_order discount_8.750 discount</Name>
                    </Rule>
                </Rules>
            </Result>
        </NewEip>
    </Resources>
</GetTemplateEstimateCostResponse>

Formato JSON

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89",
  "Resources" : {
    "NewEip" : {
      "Type" : "ALIYUN::VPC::EIP",
      "Success" : true,
      "Result" : {
        "Order" : {
          "TaxAmount" : 0,
          "OptionalPromotions" : [ ],
          "TradeCycleAmount" : 0,
          "RiCycleAmount" : 0,
          "Currency" : "CNY",
          "TotalCostAmount" : 109.37,
          "RuleIds" : [ "102204102264****" ],
          "TradeAmount" : 109.37,
          "DiscountCycleAmount" : 0,
          "OriginalAmount" : 125,
          "OptionalMixPromotions" : [ ],
          "DiscountAmount" : 15.63
        },
        "OrderSupplement" : {
          "ChargeType" : "PrePaid",
          "Period" : 1,
          "Quantity" : 1,
          "PriceType" : "Total",
          "PeriodUnit" : "Month"
        },
        "OrderDetails" : [ {
          "ModuleCode" : "bandwidth",
          "ModuleName" : "Bandwidth",
          "Currency" : "CNY",
          "TradeAmount" : 109.37,
          "OriginalAmount" : 125,
          "DiscountAmount" : 15.63
        } ],
        "Rules" : {
          "Rule" : [ {
            "RuleDescId" : "102204102264****",
            "Name" : "Contract discount_order discount_8.750 discount"
          } ]
        }
      }
    }
  }
}

Códigos de erro

Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400

CircularDependency

Circular Dependency Found: {reason}.

Mensagem retornada porque o modelo contém uma dependência circular. reason indica a causa do erro.

400

InvalidSchema

{reason}.

Mensagem retornada porque o formato do modelo é inválido. reason indica a causa do erro.

400

InvalidTemplateAttribute

The Referenced Attribute ({resource} {name}) is incorrect.

Mensagem retornada porque o modelo contém uma referência inválida à propriedade do recurso na seção Outputs. resource indica o nome do recurso. name indica o nome da propriedade.

400

InvalidTemplatePropertyType

The specified value type of ({resource} {section}) is incorrect.

Mensagem retornada porque o tipo da propriedade do recurso definido em uma seção do modelo é inválido. resource indica o nome do recurso. section indica o nome da seção.

400

InvalidTemplateReference

The specified reference "{name}" (in {referencer}) is incorrect.

Mensagem retornada porque o modelo contém uma referência inválida. name indica o nome da referência. referencer indica o nome do referenciador.

400

InvalidTemplateSection

The template section is invalid: {section}.

Mensagem retornada porque o modelo contém uma seção inválida. section indica o nome da seção.

400

InvalidTemplateVersion

The template version is invalid: {reason}.

Mensagem retornada porque a versão do modelo é inválida. reason indica a causa do erro.

400

StackValidationFailed

{reason}.

Mensagem retornada porque a validação da pilha falhou. reason indica a causa do erro.

400

UnknownUserParameter

The Parameter ({name}) was not defined in template.

Mensagem retornada porque o parâmetro especificado não está definido no modelo. name indica o nome do parâmetro.

400

UserParameterMissing

The Parameter {name} was not provided.

Mensagem retornada porque nenhum valor foi especificado para o parâmetro definido no modelo. name indica o nome do parâmetro.

404

TemplateNotFound

The Template ({ ID }) could not be found.

Mensagem retornada porque o modelo não existe. ID indica o ID do modelo.

404

TemplateNotFound

The Template { ID } with version { version } could not be found.

Mensagem retornada porque o modelo ou a versão do modelo especificada não existe. ID indica o ID do modelo. version indica a versão do modelo.