Menanyakan perkiraan harga resource dalam sebuah template.
Deskripsi
- Untuk informasi lebih lanjut mengenai resource yang mendukung penanyaan harga dalam template Resource Orchestration Service (ROS), lihat bagian "Resource types that support price inquiry" pada topik Estimate resource prices.
- Untuk informasi lebih lanjut mengenai resource yang mendukung penanyaan harga dalam template Terraform, lihat bagian "ROS resources supported by Terraform" pada topik ROS features and resources supported by Terraform
Topik ini memberikan contoh cara menanyakan perkiraan harga elastic IP address (EIP) yang ingin Anda buat menggunakan template. Pada contoh ini, isi template adalah {"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}}}}.
Debugging
Parameter permintaan
| Parameter | Type | Required | Contoh | Deskripsi |
| Action | String | Ya | GetTemplateEstimateCost | Operasi yang ingin Anda lakukan. Tetapkan nilainya ke GetTemplateEstimateCost. |
| TemplateURL | String | Tidak | oss://ros-template/demo | URL file yang berisi isi templat. URL tersebut harus mengarah ke templat yang berada di server web HTTP atau HTTPS, atau di bucket Alibaba Cloud Object Storage Service (OSS), seperti oss://ros/stack-policy/demo atau oss://ros/stack-policy/demo?RegionId=cn-hangzhou. Isi templat dapat memiliki panjang maksimum 524.288 byte. Jika Anda tidak menentukan ID wilayah bucket OSS, nilai parameter RegionId akan digunakan. Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId. |
| RegionId | String | Ya | cn-hangzhou | ID wilayah dari stack. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru. |
| TemplateBody | String | Tidak | {"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}}}} | Struktur yang berisi badan templat. Panjang badan templat harus antara 1 hingga 524.288 byte. Jika panjang badan templat melebihi batas atas tersebut, kami menyarankan Anda menambahkan parameter ke badan permintaan HTTP POST untuk mencegah kegagalan permintaan yang disebabkan oleh URL yang terlalu panjang. Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId. |
| ClientToken | String | Tidak | 123e4567-e89b-12d3-a456-42665544**** | Token client yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menggunakan client untuk menghasilkan nilai tersebut, tetapi harus memastikan bahwa nilainya unik di antara permintaan yang berbeda. Token dapat memiliki panjang hingga 64 karakter, dan dapat berisi huruf, angka, tanda hubung (-), serta garis bawah (_). Untuk informasi selengkapnya, lihat Ensure idempotence. |
| TemplateId | String | Tidak | 5ecd1e10-b0e9-4389-a565-e4c15efc**** | ID templat. Parameter ini berlaku untuk templat bersama dan template pribadi. Catatan Anda hanya boleh menentukan salah satu dari parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId. |
| TemplateVersion | String | Tidak | v1 | Versi templat. Parameter ini hanya berlaku ketika parameter TemplateId ditentukan. |
| Parameters.N.ParameterKey | String | Ya | Name | Nama parameter N. Jika Anda tidak menentukan nama dan nilai suatu parameter, ROS akan menggunakan nama dan nilai default yang ditentukan dalam templat. Nilai maksimum N: 200. Contoh:
Catatan Parameter Parameters bersifat opsional. Jika Anda ingin menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey dan Parameters.N.ParameterValue secara bersamaan. |
| Parameters.N.ParameterValue | String | Ya | DemoEip | Nilai parameter N. Nilai maksimum N: 200. Contoh:
Catatan Parameter Parameters bersifat opsional. Jika Anda ingin menentukan Parameters, Anda harus menentukan Parameters.N.ParameterKey dan Parameters.N.ParameterValue secara bersamaan. |
| TemplateScratchId | String | Tidak | ts-aa9c62feab844a6b**** | ID skenario. Untuk informasi selengkapnya tentang cara melakukan kueri ID skenario, lihat ListTemplateScratches. Catatan Anda hanya boleh menentukan salah satu parameter berikut: TemplateBody, TemplateURL, TemplateId, dan TemplateScratchId. |
| TemplateScratchRegionId | String | Tidak | cn-hangzhou | ID wilayah dari skenario tersebut. Nilai default-nya sama dengan nilai parameter RegionId. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru. |
Untuk informasi lebih lanjut mengenai parameter permintaan umum, lihat Common parameters.
Parameter tanggapan
| Parameter | Type | Contoh | Deskripsi |
| RequestId | String | 6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89 | ID dari permintaan tersebut. |
| Resources | Map | Detail sumber daya. |
Tabel berikut menjelaskan parameter yang terdapat dalam parameter Resources.
Parameter | Type | Contoh | Deskripsi |
Order | Informasi mengenai pesanan. | ||
TaxAmount | Long | 0 | Jumlah pajak. |
OptionalPromotions | Array | [] | Promosi yang tersedia. |
Currency | String | CNY | Unit mata uang. Nilai yang valid: CNY: Nilai ini hanya tersedia di situs Tiongkok (aliyun.com). USD: Nilai ini hanya tersedia di situs Internasional (alibabacloud.com). |
RuleIds | Array | [102204102264****] | ID aturan promosi. |
TradeAmount | Long | 109,37 | Harga transaksi dari Pesanan. Harga transaksi sama dengan harga awal dikurangi diskon. |
OptionalMixPromotions | Array | [] | Promosi campuran yang tersedia. |
OriginalAmount | Long | 125 | Harga asli. |
DiscountAmount | Long | 15,63 | Jumlah uang yang dipotong. |
Rules | Detail aturan promosi. | ||
Name | String | Contract discount_order discount_8.750 discount | Nama aturan promosi. |
RuleDescId | Long | 102204102264**** | ID aturan promosi. |
OrderSupplement | Informasi tambahan mengenai pesanan. | ||
ChargeType | String | PrePaid | Metode penagihan. |
Period | Long | 1 | Durasi langganan. |
Quantity | Long | 1 | Jumlah. |
PriceType | String | Total | Jenis harga. |
PeriodUnit | String | Month | Satuan durasi langganan. |
OrderDetails | Detail pesanan. | ||
ModuleCode | String | bandwidth | Kode modul. |
ModuleName | String | Bandwidth | Nama modul. |
Currency | String | CNY | Jenis mata uang. |
TradeAmount | Long | 109,37 | Harga transaksi pesanan. |
OriginalAmount | Long | 125 | Harga asli pesanan. |
DiscountAmount | Long | 15,63 | Jumlah diskon pesanan. |
Contoh
Permintaan contoh
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>Tanggapan sukses contoh
XML format
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>JSON format
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"
} ]
}
}
}
}
}Kode kesalahan
Untuk daftar kode kesalahan, lihat Service error codes.
Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
400 | CircularDependency | Circular Dependency Found: {reason}. | Pesan kesalahan yang dikembalikan karena template mengandung ketergantungan melingkar. reason menunjukkan penyebab kesalahan. |
400 | InvalidSchema | {reason}. | Pesan kesalahan yang dikembalikan karena format template tidak valid. reason menunjukkan penyebab kesalahan. |
400 | InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. | Pesan kesalahan yang dikembalikan karena template mengandung referensi properti resource yang tidak valid di bagian Outputs. resource menunjukkan nama resource. name menunjukkan nama properti. |
400 | InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. | Pesan kesalahan yang dikembalikan karena tipe properti resource yang didefinisikan dalam suatu bagian template tidak valid. resource menunjukkan nama resource. section menunjukkan nama bagian. |
400 | InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. | Pesan kesalahan yang dikembalikan karena template mengandung referensi yang tidak valid. name menunjukkan nama referensi. referencer menunjukkan nama pengacu. |
400 | InvalidTemplateSection | The template section is invalid: {section}. | Pesan kesalahan yang dikembalikan karena template mengandung bagian yang tidak valid. section menunjukkan nama bagian. |
400 | InvalidTemplateVersion | The template version is invalid: {reason}. | Pesan kesalahan yang dikembalikan karena versi template tidak valid. reason menunjukkan penyebab kesalahan. |
400 | StackValidationFailed | {reason}. | Pesan kesalahan yang dikembalikan karena validasi stack gagal. reason menunjukkan penyebab kesalahan. |
400 | UnknownUserParameter | The Parameter ({name}) was not defined in template. | Pesan kesalahan yang dikembalikan karena parameter yang ditentukan tidak didefinisikan dalam template. name menunjukkan nama parameter. |
400 | UserParameterMissing | The Parameter {name} was not provided. | Pesan kesalahan yang dikembalikan karena tidak ada nilai yang ditentukan untuk parameter yang didefinisikan dalam template. name menunjukkan nama parameter. |
404 | TemplateNotFound | The Template ({ ID }) could not be found. | Pesan kesalahan yang dikembalikan karena template tidak ada. ID menunjukkan ID template. |
404 | TemplateNotFound | The Template { ID } with version { version } could not be found. | Pesan kesalahan yang dikembalikan karena template atau versi template yang ditentukan tidak ada. ID menunjukkan ID template. version menunjukkan versi template. |