全部产品
Search
文档中心

资源编排:GetTemplateEstimateCost - 查询模板中创建资源的预估价格

更新时间:Sep 12, 2024

通过指定模板和模板参数查询创建资源栈的预估价格。

接口说明

本文将提供一个示例,查询模板中创建的 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)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ros:GetTemplateEstimateCostget
  • Template
    acs:ros:{#regionId}:{#accountId}:template/{#TemplateId}

请求参数

名称类型必填描述示例值
TemplateURLstring

包含模板主体的文件的位置。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
RegionIdstring

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

cn-hangzhou
TemplateBodystring

模板主体的结构。长度为 1~524,288 个字节。如果长度较长,则建议通过 HTTP POST+Body Param 的方式,将参数放在请求体中进行传递,避免因 URL 过长而导致请求失败。

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。
ROSTemplateFormatVersion: '2015-09-01'\nResources:\n vpc:\n Type: ALIYUN::ECS::VPC
ClientTokenstring

保证请求的幂等性。 该值由客户端生成,并且必须全局唯一。
长度不超过 64 个字符。可包含英文字母、数字、短划线(-)和下划线(_)。
更多信息,请参见如何保证幂等性

123e4567-e89b-12d3-a456-42665544****
TemplateIdstring

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

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。
5ecd1e10-b0e9-4389-a565-e4c15efc****
TemplateVersionstring

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

v1
Parametersarray<object>

参数。

object
ParameterKeystring

参数的名称。如果未指定模板中定义的参数名称和参数值,ROS 将使用模板中指定的默认值。
N 的最大值为:200。 取值示例:

  • Parameters.1.ParameterKey:Name

  • Parameters.2.ParameterKey:Netmode

说明 Parameters 为可选参数。如果需要指定 Parameters,则 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必须同时指定。
Name
ParameterValuestring

参数值。
N 的最大值为:200。 取值示例:

  • Parameters.1.ParameterValue:DemoEip

  • Parameters.2.ParameterValue:public

说明 Parameters 为可选参数。如果需要指定 Parameters,则 Parameters.N.ParameterKey 和 Parameters.N.ParameterValue 必须同时指定。
DemoEip
TemplateScratchIdstring

资源场景 ID。

关于如何获取资源场景 ID,请参见 ListTemplateScratches

说明 您必须且仅能指定 TemplateBody、TemplateURL、TemplateId 和 TemplateScratchId 其中一个参数。
ts-aa9c62feab844a6b****
TemplateScratchRegionIdstring

资源场景所属的地域 ID,默认与 RegionId 取值相同。

您可以调用 DescribeRegions 查看最新的阿里云地域列表。

cn-hangzhou
StackIdstring

资源栈 ID。

当填写此参数时,表示查询变配场景的预估价格。

假设指定资源栈中仅有一个 ECS 实例,且规格是 ecs.s6-c1m2.large。询价使用的新模板将规格改为 ecs.s6-c1m1.small(降配),并新增一个 RDS 实例。则询价结果为 ECS 实例变配价格(本例由于是降配,则是退款)和新购 RDS 实例的价格总和。

c754d2a4-28f1-46df-b557-9586173a****

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

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

6DEA36EF-C97D-5658-A4AC-4F5DB08D1A89
Resourcesobject

资源详情。

{ "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": "合同优惠_整单_7.0折" } ] } } } }

Resources 各参数含义如下所示。

名称类型示例值描述
Order订单信息。
- CurrencyStringCNY货币单位。取值:
CNY:该值仅适用于中国站。
USD:该值仅适用于国际站。
- OriginalAmountFloat125.0原价。
- DiscountAmountFloat15.63抵扣金额。
- TradeAmountFloat109.37最终价,为原价减去折扣。
- TaxAmountFloat0.0可选税额。
- CouponsArray{"Coupon": []}可选促销。
- RuleIdsArray[102204102264****]活动规则列表。
InquiryTypeStringBuy询价类型。取值:
Buy:新购询价。
ModificationBuy:变配询价。
Rules活动规则。
- Rule活动规则。
- - NameString合同优惠_整单_8.750 折活动规则名称。
- - RuleDescIdLong102204102264****活动规则 ID。
OrderSupplement订单补充信息。
- AutoRenewBooleanfalse是否自动续费。取值:
true:自动续费。
false:不自动续费。
- ChargeTypeStringPrePaid付费方式。
- PeriodLong1计费时长。
- PeriodUnitStringMonth包年包月计费方式的时长单位。取值:
Year:年。
Month:月。
- PriceTypeStringTotal价格类型。
- QuantityLong1数量。

示例

正常返回示例

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-21API 内部配置变更,不影响调用查看变更详情
2023-05-18OpenAPI 入参发生变更查看变更详情
HttpCode错误码错误信息描述
400CircularDependencyCircular Dependency Found: {reason}.模板包含循环引用。reason 为具体原因。
400InvalidSchema{reason}.模板格式不正确。reason 为具体原因。
400InvalidTemplateAttributeThe Referenced Attribute ({resource} {name}) is incorrect.模板包含不正确的资源属性(输出)引用。resource 为资源名,name 为属性名。
400InvalidTemplatePropertyTypeThe specified value type of ({resource} {section}) is incorrect.模板资源定义中的字段类型不正确。resource 为资源名,section 为字段名。
400InvalidTemplateReferenceThe specified reference "{name}" (in {referencer}) is incorrect.模板包含不正确的引用。name 为引用名,referencer 为引用者。
400InvalidTemplateSectionThe template section is invalid: {section}.模板包含无效的字段。section 为字段名。
400InvalidTemplateVersionThe template version is invalid: {reason}.模板版本不正确。reason 为具体原因。
400StackValidationFailed{reason}.资源栈校验失败。reason 为具体原因。
400UnknownUserParameterThe Parameter ({name}) was not defined in template.传递的参数在模板中未定义。name 为参数名。
400UserParameterMissingThe Parameter {name} was not provided.参数在模板中已定义,但未传递值。name 为参数名。
404TemplateNotFoundThe Template ({ ID }) could not be found.模板不存在。ID 为模板 ID。
404TemplateNotFoundThe Template { ID } with version { version } could not be found.模板或指定版本不存在。ID 为模板 ID,version 为模板版本。