调用GetTemplateEstimateCost接口查询模板中创建资源的预估价格。

使用说明

本文将提供一个示例,为您查询模板{"ROSTemplateFormatVersion": "2015-09-01","Description": "Creates VPC ECS instance","Parameters": {"VSwitchId": {"Type": "String","Default": "vsw-****"},"VpcId": {"Type": "String","Default": "vpc-****"},"SecurityGroupId": {"Type": "String","Default": "sg-****"}},"Resources": {"EcsInstance": {"Type": "ALIYUN::ECS::Instance","Properties": {"VpcId": {"Ref": "VpcId"},"VSwitchId": {"Ref": "VSwitchId"},"SecurityGroupId": {"Ref": "SecurityGroupId"},"IoOptimized": "optimized","PrivateIpAddress": "172.16.0.1","ImageId": "centos_7","AllocatePublicIP": false,"InstanceType": "ecs.g6e.large","SystemDiskSize": "40","SystemDiskCategory": "cloud_essd","Password": "********"}}}}中创建资源的预估价格。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String GetTemplateEstimateCost

要执行的操作,取值:GetTemplateEstimateCost。

TemplateURL String oss://ros-template/demo

包含模板主体的文件的位置。URL必须指向位于Web服务器(HTTP或HTTPS)或阿里云OSS存储空间(例如:oss://ros/template/demo、oss://ros/template/demo?RegionId=cn-hangzhou)中的模板,模板最大为524,288个字节。

说明 如果OSS地域未指定,默认与接口参数RegionId相同。

您仅能指定TemplateBody、TemplateURL、TemplateId其中一个参数。

URL的最大长度为:1024个字节。

RegionId String cn-hangzhou

资源栈所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

TemplateBody String {"ROSTemplateFormatVersion": "2015-09-01","Description": "Creates VPC ECS instance","Parameters": {"VSwitchId": {"Type": "String","Default": "vsw-****"},"VpcId": {"Type": "String","Default": "vpc-****"},"SecurityGroupId": {"Type": "String","Default": "sg-****"}},"Resources": {"EcsInstance": {"Type": "ALIYUN::ECS::Instance","Properties": {"VpcId": {"Ref": "VpcId"},"VSwitchId": {"Ref": "VSwitchId"},"SecurityGroupId": {"Ref": "SecurityGroupId"},"IoOptimized": "optimized","PrivateIpAddress": "172.16.0.1","ImageId": "centos_7","AllocatePublicIP": false,"InstanceType": "ecs.g6e.large","SystemDiskSize": "40","SystemDiskCategory": "cloud_essd","Password": "********"}}}}

模板的结构。长度为1~524,288个字节。

如果长度较大,建议通过HTTP POST+Body Param的方式,将参数放在请求体中进行传递,避免URL过长而导致请求失败。

您仅能指定TemplateBody、TemplateURL、TemplateId其中一个参数。

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

保证请求的幂等性。 该值由客户端生成,并且必须全局唯一。

长度不超过64个字符。可包含英文字母、数字、短划线(-)和下划线(_)。

更多信息,请参见如何保证幂等性

TemplateId String 5ecd1e10-b0e9-4389-a565-e4c15efc****

模板ID。支持共享模板和私有模板。

您仅能指定TemplateBody、TemplateURL、TemplateId其中一个参数。

TemplateVersion String v1

模板版本。仅在指定TemplateId时生效。

Parameters.N.ParameterKey String VSwitchId

参数的名称。如果未指定模板中定义的参数名称和参数值,ROS将使用模板中指定的默认值。

N的最大值为:200。

取值示例:

  • Parameters.1.ParameterKey:VSwitchId
  • Parameters.2.ParameterKey:VpcId
  • Parameters.3.ParameterKey:SecurityGroupId
说明 Parameters为可选参数。如果需要指定Parameters,则Parameters.N.ParameterKey和Parameters.N.ParameterValue必须同时指定。
Parameters.N.ParameterValue String vsw-****

参数值。

N的最大值为:200。

取值示例:

  • Parameters.1.ParameterValue:vsw-****
  • Parameters.2.ParameterValue:vpc-****
  • Parameters.3.ParameterValue:sg-****
说明 Parameters为可选参数。如果需要指定Parameters,则Parameters.N.ParameterKey和Parameters.N.ParameterValue必须同时指定。

关于公共请求参数的详情,请参见公共参数

返回数据

名称 类型 示例值 描述
RequestId String 08ABBB67-39C9-5EE7-98E5-80486F75CE8D

请求ID。

Resources Map

资源详情。

Resources各参数含义如下所示。

名称

类型

示例值

描述

Order

订单信息

Currency

String

CNY

货币单位

DiscountAmount

Long

0.287

折扣

HandlingFeeAmount

Long

0

手续费金额

OptionalMixPromotions

Array

[]

可选的混合促销

OptionalPromotions

Array

[]

可选促销

OrderLines

String

订单信息

OriginalPrice

Long

0.055555

原价

DiscountPrice

Long

0.037729

抵扣金额

RuleIds

Array

[102111101338****]

活动规则列表

TaxAmount

Long

0

税额

TradePrice

Long

0.017826

最终价,为原价减去折扣。

Rules

活动规则

Name

String

合同优惠_多计费项优惠_3.208750折

活动规则名称

RuleDescId

Long

102111101338****

活动ID

示例

请求示例

http(s)://ros.aliyuncs.com/?Action=GetTemplateEstimateCost
&RegionId=cn-hangzhou
&TemplateBody="{"ROSTemplateFormatVersion": "2015-09-01","Description": "Creates VPC ECS instance","Parameters": {"VSwitchId": {"Type": "String","Default": "vsw-****"},"VpcId": {"Type": "String","Default": "vpc-****"},"SecurityGroupId": {"Type": "String","Default": "sg-****"}},"Resources": {"EcsInstance": {"Type": "ALIYUN::ECS::Instance","Properties": {"VpcId": {"Ref": "VpcId"},"VSwitchId": {"Ref": "VSwitchId"},"SecurityGroupId": {"Ref": "SecurityGroupId"},"IoOptimized": "optimized","PrivateIpAddress": "172.16.0.1","ImageId": "centos_7","AllocatePublicIP": false,"InstanceType": "ecs.g6e.large","SystemDiskSize": "40","SystemDiskCategory": "cloud_essd","Password": "********"}}}}"
&<公共请求参数>

正常返回示例

XML格式

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

<GetTemplateEstimateCostResponse>
    <RequestId>08ABBB67-39C9-5EE7-98E5-80486F75CE8D</RequestId>
    <Resources>
        <EcsInstance>
            <Type>ALIYUN::ECS::Instance</Type>
            <Success>true</Success>
            <Result>
                <Order>
                    <Currency>CNY</Currency>
                    <RuleIds>102111101338****</RuleIds>
                    <DetailInfos>
                        <ResourcePriceModel>
                            <OriginalPrice>0</OriginalPrice>
                            <DiscountPrice>0</DiscountPrice>
                            <SubRules>
                            </SubRules>
                            <Resource>bandwidth</Resource>
                            <TradePrice>0</TradePrice>
                        </ResourcePriceModel>
                        <ResourcePriceModel>
                            <OriginalPrice>0</OriginalPrice>
                            <DiscountPrice>0</DiscountPrice>
                            <SubRules>
                            </SubRules>
                            <Resource>image</Resource>
                            <TradePrice>0</TradePrice>
                        </ResourcePriceModel>
                        <ResourcePriceModel>
                            <OriginalPrice>0.366666</OriginalPrice>
                            <DiscountPrice>0.249012</DiscountPrice>
                            <SubRules>
                            </SubRules>
                            <Resource>instanceType</Resource>
                            <TradePrice>0.117654</TradePrice>
                        </ResourcePriceModel>
                        <ResourcePriceModel>
                            <OriginalPrice>0.055555</OriginalPrice>
                            <DiscountPrice>0.037729</DiscountPrice>
                            <SubRules>
                            </SubRules>
                            <Resource>systemDisk</Resource>
                            <TradePrice>0.017826</TradePrice>
                        </ResourcePriceModel>
                    </DetailInfos>
                    <TradeAmount>0.135</TradeAmount>
                    <OriginalAmount>0.422</OriginalAmount>
                    <Coupons>
                    </Coupons>
                    <DiscountAmount>0.287</DiscountAmount>
                </Order>
                <OrderSupplement>
                    <PriceUnit>/Hour</PriceUnit>
                    <ChargeType>PostPaid</ChargeType>
                    <Quantity>1</Quantity>
                    <PriceType>Total</PriceType>
                </OrderSupplement>
                <Rules>
                    <Rule>
                        <RuleDescId>102111101338****</RuleDescId>
                        <Name>合同优惠_多计费项优惠_3.208750折</Name>
                    </Rule>
                </Rules>
            </Result>
        </EcsInstance>
    </Resources>
</GetTemplateEstimateCostResponse>

JSON格式

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

{
  "RequestId" : "08ABBB67-39C9-5EE7-98E5-80486F75CE8D",
  "Resources" : {
    "EcsInstance" : {
      "Type" : "ALIYUN::ECS::Instance",
      "Success" : true,
      "Result" : {
        "Order" : {
          "Currency" : "CNY",
          "RuleIds" : [ "102111101338****" ],
          "DetailInfos" : {
            "ResourcePriceModel" : [ {
              "OriginalPrice" : 0,
              "DiscountPrice" : 0,
              "SubRules" : {
                "Rule" : [ ]
              },
              "Resource" : "bandwidth",
              "TradePrice" : 0
            }, {
              "OriginalPrice" : 0,
              "DiscountPrice" : 0,
              "SubRules" : {
                "Rule" : [ ]
              },
              "Resource" : "image",
              "TradePrice" : 0
            }, {
              "OriginalPrice" : 0.366666,
              "DiscountPrice" : 0.249012,
              "SubRules" : {
                "Rule" : [ ]
              },
              "Resource" : "instanceType",
              "TradePrice" : 0.117654
            }, {
              "OriginalPrice" : 0.055555,
              "DiscountPrice" : 0.037729,
              "SubRules" : {
                "Rule" : [ ]
              },
              "Resource" : "systemDisk",
              "TradePrice" : 0.017826
            } ]
          },
          "TradeAmount" : 0.135,
          "OriginalAmount" : 0.422,
          "Coupons" : {
            "Coupon" : [ ]
          },
          "DiscountAmount" : 0.287
        },
        "OrderSupplement" : {
          "PriceUnit" : "/Hour",
          "ChargeType" : "PostPaid",
          "Quantity" : 1,
          "PriceType" : "Total"
        },
        "Rules" : {
          "Rule" : [ {
            "RuleDescId" : "102111101338****",
            "Name" : "合同优惠_多计费项优惠_3.208750折"
          } ]
        }
      }
    }
  }
}

错误码

访问错误中心查看更多错误码。

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 Tempalte ({ ID }) could not be found.

模板不存在。ID为模板ID。

404

TemplateNotFound

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

模板或指定版本不存在。ID为模板ID,version为模板版本。