Consulta os preços estimados dos recursos em um modelo.
Descrição da operação
-
Para mais informações sobre os recursos que suportam consulta de preço em modelos do Resource Orchestration Service (ROS), consulte a seção "Tipos de recursos que suportam consulta de preço" do tópico Estimar preços de recursos.
-
Para mais informações sobre os recursos que suportam consulta de preço em modelos Terraform, consulte a seção "Recursos ROS suportados pelo Terraform" do tópico Recursos e funcionalidades do ROS suportados pelo Terraform.
O código de exemplo a seguir demonstra como consultar o preço estimado de um elastic IP address (EIP) que você deseja criar com base em um modelo. Neste exemplo, o seguinte modelo é utilizado:
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"Isp": {
"Type": "String",
"Default": "BGP"
},
"Name": {
"Type": "String",
"Default": "test"
},
"Netmode": {
"Type": "String",
"Default": "public"
},
"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": {
"Ref": "Bandwidth"
}
}
}
}
}
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ros:GetTemplateEstimateCost |
get |
Template
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| TemplateURL |
string |
Não |
O token do cliente usado para garantir a idempotência da solicitação. Você pode usar o cliente para gerar o valor, mas deve garantir que o valor seja único entre diferentes solicitações. O token pode ter até 64 caracteres e pode conter letras, dígitos, hifens (-) e underscores (_). Para mais informações, consulte Garantir idempotência. |
oss://ros-template/demo |
| RegionId |
string |
Sim |
O ID do modelo. Este parâmetro se aplica a modelos compartilhados e privados. Nota
Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId. |
cn-hangzhou |
| TemplateBody |
string |
Não |
A estrutura que contém o corpo do modelo. O corpo do modelo deve ter de 1 a 524.288 bytes de comprimento. Se o comprimento do corpo do modelo exceder o limite superior, recomendamos que você adicione parâmetros ao corpo da solicitação HTTP POST para evitar falhas de solicitação causadas por URLs excessivamente longas. Nota
Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId. |
ROSTemplateFormatVersion: '2015-09-01'\nResources:\n vpc:\n Type: ALIYUN::ECS::VPC |
| ClientToken |
string |
Não |
O nome do parâmetro N. Se você não especificar o nome e o valor de um parâmetro, o ROS usará o nome e o valor padrão especificados no modelo. Valor máximo de N: 200. Exemplos:
Nota
O parâmetro Parameters é opcional. Se você deseja especificar Parameters, deve especificar tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue. |
123e4567-e89b-12d3-a456-42665544**** |
| TemplateId |
string |
Não |
O valor do parâmetro N. Valor máximo de N: 200. Exemplos:
Nota
O parâmetro Parameters é opcional. Se você deseja especificar Parameters, deve especificar tanto Parameters.N.ParameterKey quanto Parameters.N.ParameterValue. |
5ecd1e10-b0e9-4389-a565-e4c15efc**** |
| TemplateVersion |
string |
Não |
O ID do cenário. Para mais informações sobre como consultar os IDs de cenários, consulte ListTemplateScratches. Nota
Você deve especificar apenas um dos seguintes parâmetros: TemplateBody, TemplateURL, TemplateId e TemplateScratchId. |
v1 |
| Parameters |
array<object> |
Não |
O ID da região do cenário. O valor padrão é o mesmo que o valor do parâmetro RegionId. Você pode chamar a operação DescribeRegions para consultar a lista de regiões mais recente. |
|
|
object |
Não |
A lista de parâmetros. |
||
| ParameterKey |
string |
Sim |
O ID da solicitação. |
Name |
| ParameterValue |
string |
Sim |
Detalhes do recurso. |
DemoEip |
| TemplateScratchId |
string |
Não |
O ID do cenário. |
ts-aa9c62feab844a6b**** |
| TemplateScratchRegionId |
string |
Não |
O ID da região do cenário. O valor padrão é o mesmo que o valor do parâmetro RegionId. Você pode chamar a operação DescribeRegions para consultar a lista de regiões mais recente. |
cn-hangzhou |
| StackId |
string |
Não |
O ID da stack. Este parâmetro é usado para consultar o preço estimado em um cenário de alteração de configuração. Suponha que a stack especificada contenha apenas uma instância do Elastic Compute Service (ECS) e o tipo de instância seja ecs.s6-c1m2.large. Você faz o downgrade do tipo de instância para ecs.s6-c1m1.small e especifica uma nova instância do ApsaraDB RDS no modelo usado para a consulta de preço. O resultado consultado é a soma do reembolso do downgrade da instância ECS e o preço da nova instância do ApsaraDB RDS. |
c754d2a4-28f1-46df-b557-9586173a**** |
Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| RequestId |
string |
O ID da solicitação. |
6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89 |
| Resources |
object |
Os detalhes do recurso. |
{ "NewEip": { "Type": "ALIYUN::VPC::EIP", "Success": true, "Result": { "Order": { "TaxAmount": 0.0, "Currency": "CNY", "RuleIds": [ "102204102264****" ], "TradeAmount": 87.5, "OriginalAmount": 125.0, "DiscountAmount": 37.5 }, "OrderSupplement": { "ChargeType": "PrePaid", "Period": 1, "Quantity": 1, "PriceType": "Total", "PeriodUnit": "Month" }, "InquiryType": "Buy", "Rules": { "Rule": [ { "RuleDescId": "102204102264****", "Name": "Contract_Discount_Full_Order_30%_Off" } ] } } } } |
A tabela a seguir descreve os parâmetros contidos em Resources.
| Parâmetro | Tipo | Exemplo | Descrição |
| Order | As informações sobre o pedido. | ||
| - Currency | String | CNY | A unidade monetária. Valores válidos:CNY: este valor está disponível apenas no site da China (aliyun.com).USD: este valor está disponível apenas no site internacional (alibabacloud.com) |
| - OriginalAmount | Long | 125 | O preço original. |
| - DiscountAmount | Long | 15.63 | O valor do desconto. |
| - TradeAmount | Long | 109.37 | O preço da transação, que é igual ao preço original menos o desconto. |
| - TaxAmount | Long | 0 | O valor de imposto disponível. |
| - Coupons | Array | {"Coupon": []} | As promoções disponíveis. |
| - RuleIds | Array | [102204102264****] | Os IDs das regras de promoção. |
| InquiryType | String | Buy | O tipo de consulta de preço. Valores válidos:Buy: consulta de preço para novos recursosModificationBuy: consulta de preço para alterações de configuração de recursos |
| Rules | As regras de promoção. | ||
| - Rule | A regra de promoção. | ||
| - - Name | String | Contract discount_order discount_8.750 discount | O nome da regra de promoção. |
| - - RuleDescId | Long | 102204102264**** | O ID da regra de promoção. |
| OrderSupplement | As informações complementares sobre o pedido. | ||
| - AutoRenew | Boolean | false | Especifica se a renovação automática deve ser ativada. Valores válidos:truefalse |
| - ChargeType | String | PrePaid | O método de cobrança. |
| - Period | Long | 1 | A duração da assinatura. |
| - PeriodUnit | String | Month | A unidade da duração da assinatura. Valores válidos:YearMonth |
| - PriceType | String | Total | O tipo de preço. |
| - Quantity | Long | 1 | A quantidade. |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89",
"Resources": {
"test": "test",
"test2": 1
}
}
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.