用途:在执行任何会创建、变配、续费或改变计费资源的阿里云 CLI 操作前,先获取精确价格报价而不实际执行。报价来自与交易系统相同的定价源,对于产生即时订单的操作,报价金额等于实际应付金额。此技能是成本管理的事前部分,事后部分(已产生账单)可用 bssopenapi QueryAccountBill 对账。
主要能力:
- 报价而非执行:在拟执行的命令后追加 --estimate-cost,只报价、不执行、不改变账户。
- 发现可报价 API:aliyun list-supported-pricing-apis,可用 --cli-query 过滤特定 API。
- 上下文参数 --estimate-cost-context:传 Key=Value 对,用于用量假设(如 EstimatedInternetTrafficOutGB=100)或多步流程的状态覆盖(如 InternetChargeType=PayByTraffic)。
- 多步工作流报价:先对全部计费步骤报价,用状态覆盖处理依赖前序步骤的报价,生成一份合并费用计划并一次性确认,再按序执行。
费用计划格式:每步标注四类标签之一——PAY NOW(即时订单,显示报价订单金额)、FUTURE(按用量计费,显示估算×单价及假设)、REFUND(退款,负值或不可报价)、FREE(不涉及费用)。总计行分开列示现付、退款、未来金额,不可混加。
读取报价 JSON:顶层为 price + requestId。pricingMode 为 delta 时读 calculatedAmount(扣除旧配置剩余价值后的净应付);为 single 时读 priceSummary.effectiveModuleSum,再看 pricingUnit——存在则为该单位价格;缺失则为按用量报价,金额等于所传估算用量×单价,不可当作月度或一次性费用。priceSummary.modules[] 给出分项明细。success 为 false 时读 errorCode/errorMessage。
限制:需要阿里云 CLI ≥ 3.4.2(aliyun version),插件需更新(aliyun plugin update)。对无定价信息的 API 会返回明确提示,视为免费或暂不可报价,不应视为错误,也不可用自身知识编造报价数字。报价成功但无 pricingUnit 即为按用量报价。实际费用可用 aliyun bssopenapi GetOrderDetail --OrderId <id> 与报价核对。