通過指定模板和模板參數查詢創建資源棧的預估價格。
接口說明
-
ROS 模板支持詢價的資源,請參見預估資源價格的支持詢價的資源類型章節。
-
Terraform 模板支持詢價的資源,請參見 Terraform 支持的功能和資源的 ROS 資源支持情況章節。
本文將提供一個示例,查詢模板中創建的 EIP 資源的預估價格。 示例如下:
{
"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"
}
}
}
}
}
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀?。≧ead)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
ros:GetTemplateEstimateCost | get | *Template acs:ros:{#regionId}:{#accountId}:template/{#TemplateId} |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
TemplateURL | string | 否 | 包含模板主體的文件的位置。URL 必須指向位于 Web 服務器(HTTP 或 HTTPS)或阿里云 OSS 存儲空間(例如:oss://ros/stack-policy/demo、oss://ros/stack-policy/demo?RegionId=cn-hangzhou)中的模板,模板的最大長度為 524,288 個字節。如未指定 OSS 地域,默認與 RegionId 取值相同。 說明
您必須且僅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一個參數。
| oss://ros-template/demo |
RegionId | string | 是 | 資源棧所屬的地域 ID。您可以調用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
TemplateBody | string | 否 | 模板主體的結構。長度為 1~524,288 個字節。如果長度較長,則建議通過 HTTP POST+Body Param 的方式,將參數放在請求體中進行傳遞,避免因 URL 過長而導致請求失敗。 說明
您必須且僅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一個參數。
| ROSTemplateFormatVersion: '2015-09-01'\nResources:\n vpc:\n Type: ALIYUN::ECS::VPC |
ClientToken | string | 否 | 保證請求的冪等性。 該值由客戶端生成,并且必須全局唯一。 | 123e4567-e89b-12d3-a456-42665544**** |
TemplateId | string | 否 | 模板 ID。支持共享模板和私有模板。 說明
您必須且僅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一個參數。
| 5ecd1e10-b0e9-4389-a565-e4c15efc**** |
TemplateVersion | string | 否 | 模板版本。僅在指定 TemplateId 時生效。 | v1 |
Parameters | array<object> | 否 | 參數。 | |
object | 否 | |||
ParameterKey | string | 是 | 參數的名稱。如果未指定模板中定義的參數名稱和參數值,ROS 將使用模板中指定的默認值。
說明
Parameters 為可選參數。如果需要指定 Parameters,則 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必須同時指定。
| Name |
ParameterValue | string | 是 | 參數值。
說明
Parameters 為可選參數。如果需要指定 Parameters,則 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必須同時指定。
| DemoEip |
TemplateScratchId | string | 否 | 資源場景 ID。 關于如何獲取資源場景 ID,請參見 ListTemplateScratches 。 說明
您必須且僅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一個參數。
| ts-aa9c62feab844a6b**** |
TemplateScratchRegionId | string | 否 | 資源場景所屬的地域 ID,默認與 RegionId 取值相同。 您可以調用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
StackId | string | 否 | 資源棧 ID。 當填寫此參數時,表示查詢變配場景的預估價格。 假設指定資源棧中僅有一個 ECS 實例,且規格是 ecs.s6-c1m2.large。詢價使用的新模板將規格改為 ecs.s6-c1m1.small(降配),并新增一個 RDS 實例。則詢價結果為 ECS 實例變配價格(本例由于是降配,則是退款)和新購 RDS 實例的價格總和。 | c754d2a4-28f1-46df-b557-9586173a**** |
關于公共請求參數的詳情,請參見公共參數。
返回參數
Resources 各參數含義如下所示。
名稱 | 類型 | 示例值 | 描述 |
---|---|---|---|
Order | 訂單信息。 | ||
- Currency | String | CNY | 貨幣單位。取值: CNY:該值僅適用于中國站。 USD:該值僅適用于國際站。 |
- OriginalAmount | Float | 125.0 | 原價。 |
- DiscountAmount | Float | 15.63 | 抵扣金額。 |
- TradeAmount | Float | 109.37 | 最終價,為原價減去折扣。 |
- TaxAmount | Float | 0.0 | 可選稅額。 |
- Coupons | Array | {"Coupon": []} | 可選促銷。 |
- RuleIds | Array | [102204102264****] | 活動規則列表。 |
InquiryType | String | Buy | 詢價類型。取值: Buy:新購詢價。 ModificationBuy:變配詢價。 |
Rules | 活動規則。 | ||
- Rule | 活動規則。 | ||
- - Name | String | 合同優惠_整單_8.750 折 | 活動規則名稱。 |
- - RuleDescId | Long | 102204102264**** | 活動規則 ID。 |
OrderSupplement | 訂單補充信息。 | ||
- AutoRenew | Boolean | false | 是否自動續費。取值: true:自動續費。 false:不自動續費。 |
- ChargeType | String | PrePaid | 付費方式。 |
- Period | Long | 1 | 計費時長。 |
- PeriodUnit | String | Month | 包年包月計費方式的時長單位。取值: Year:年。 Month:月。 |
- PriceType | String | Total | 價格類型。 |
- Quantity | Long | 1 | 數量。 |
示例
正常返回示例
JSON
格式
{
"RequestId": "6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89",
"Resources": {
"NewEip": {
"Type": "ALIYUN::VPC::EIP",
"Success": true,
"Result": {
"Order": {
"TaxAmount": 0,
"Currency": "CNY",
"RuleIds": [
"102204102264****"
],
"TradeAmount": 87.5,
"OriginalAmount": 125,
"DiscountAmount": 37.5
},
"OrderSupplement": {
"ChargeType": "PrePaid",
"Period": 1,
"Quantity": 1,
"PriceType": "Total",
"PeriodUnit": "Month"
},
"InquiryType": "Buy",
"Rules": {
"Rule": [
{
"RuleDescId": "102204102264****",
"Name": "合同優惠_整單_7.0折"
}
]
}
}
}
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2023-06-21 | API 內部配置變更,不影響調用 | 查看變更詳情 |
2023-05-18 | OpenAPI 入參發生變更 | 查看變更詳情 |
HttpCode | 錯誤碼 | 錯誤信息 | 描述 |
---|---|---|---|
400 | CircularDependency | Circular Dependency Found: {reason}. | 模板包含循環引用。reason 為具體原因。 |
400 | InvalidSchema | {reason}. | 模板格式不正確。reason 為具體原因。 |
400 | InvalidTemplateAttribute | The Referenced Attribute ({resource} {name}) is incorrect. | 模板包含不正確的資源屬性(輸出)引用。resource 為資源名,name 為屬性名。 |
400 | InvalidTemplatePropertyType | The specified value type of ({resource} {section}) is incorrect. | 模板資源定義中的字段類型不正確。resource 為資源名,section 為字段名。 |
400 | InvalidTemplateReference | The specified reference "{name}" (in {referencer}) is incorrect. | 模板包含不正確的引用。name 為引用名,referencer 為引用者。 |
400 | InvalidTemplateSection | The template section is invalid: {section}. | 模板包含無效的字段。section 為字段名。 |
400 | InvalidTemplateVersion | The template version is invalid: {reason}. | 模板版本不正確。reason 為具體原因。 |
400 | StackValidationFailed | {reason}. | 資源棧校驗失敗。reason 為具體原因。 |
400 | UnknownUserParameter | The Parameter ({name}) was not defined in template. | 傳遞的參數在模板中未定義。name 為參數名。 |
400 | UserParameterMissing | The Parameter {name} was not provided. | 參數在模板中已定義,但未傳遞值。name 為參數名。 |
404 | TemplateNotFound | The Template ({ ID }) could not be found. | 模板不存在。ID 為模板 ID。 |
404 | TemplateNotFound | The Template { ID } with version { version } could not be found. | 模板或指定版本不存在。ID 為模板 ID,version 為模板版本。 |