本文介绍对需要发布到云市场的计算巢服务软件与资源的付费配置进行绑定操作的详细信息。
背景信息
在云市场购买计算巢服务时,实际上购买的是计算巢服务的软件及所需资源。
若您希望商品或服务的使用周期与资源或硬件的使用周期保持一致,即当用户购买的是包年包月的计算巢服务,创建服务实例时创建的对应资源也是包年包月且使用周期和软件保持一致(按量付费方式与包年包月的原理相同),则在创建服务时,需要在模板内容中定义资源的付费类型,并设置付费类型绑定关系。
软件支持自动续费,若您希望资源自动续费开启/关闭与软件自动续费一致,可以配置软件与资源自动续费的绑定。
若您不希望将付费类型信息展示在服务实例界面中,也可以在模板中添加隐藏设置。
创建服务
创建资源和软件生命周期绑定的服务。
登录计算巢控制台。
在左侧导航栏中,选择我的服务,在我的服务页面中,选择我发布的服务,然后单击创建新服务。
在创建新服务页面,设置服务信息。
此处只列举需要特别配置的参数,关于其他参数的配置,请参见创建私有部署服务或创建全托管服务。
在定义模板时,您需要在
Parameters
和Metadata
中添加如下参数。完整的模板内容,请参见模板示例。Parameters: ChargeType: AssociationProperty: ChargeType PeriodUnit: AssociationProperty: PayPeriodUnit Period: AssociationProperty: PayPeriod AutoRenew: AssociationProperty: AutoRenew Metadata: ALIYUN::ROS::Interface: MapOrderParameterToMarket: true Hidden: - ChargeType - PeriodUnit - Period - AutoRenew HiddenSaleConfig: true
在
Parameters
中,您需要对您定义的付费类型(ChargeType)、付费周期(PayPeriodUnit)、付费时长(PayPeriod)或自动续费(AutoRenew)等参数,分别添加对应的AssociationProperty
。说明自动续费(AutoRenew)为非必填参数。若希望将软件自动续费与资源自动续费联动,则续费参数需配置
AssociationProperty:AutoRenew
且具体Resources
中资源的续费属性需引用此参数。在
Metadata
中,您需要添加ALIYUN::ROS::Interface
并定义MapOrderParameterToMarket
字段为true
。(可选)将模板中付费相关的参数隐藏。
在
Metadata
中添加Hidden
属性,填入需要隐藏的参数。在
Metadata
中添加HiddenSaleConfig
参数并将参数值定义为true
。HiddenSaleConfig
设置前后的对比如下图所示。设置前:
设置后:
单击创建服务。
服务测试。
服务保存后,您需要对创建的服务进行测试,保证其正常可用。更多信息,请参见测试服务。
发布服务。
服务测试通过后,再提交审核,审核通过后即可发布上线。更多信息,请参见上线服务。
将服务上架到云市场
在计算巢控制台将服务发布上线之后,将已发布上线的服务上架到云市场。关于如何将服务上架到云市场的操作,请参见将服务上架到云市场。
在云市场验证资源付费方式是否和软件保持一致
进入商品详情页。
在云市场查找商品:
进入云市场首页。
搜索想要购买的商品名称,单击搜索。
找到待购买的商品,单击商品。
直接从服务商处获取云市场的商品链接,打开该链接。
在商品详情页,选择商品购买信息,并单击立即购买。
在确认订单页面,确认商品信息并配置云资源信息。
若云市场商品的购买方式为按量付费,在资源信息配置界面的实例付费方式也是按量付费且不可更改。
商品购买界面如下图所示。
资源配置界面的付费模式如下图所示。
若云市场商品的购买方式为包年包月,在资源信息配置界面的实例付费方式也是包年包月,且资源付费时长和商品时长相同。
商品购买界面如下图所示。
资源配置界面的付费模式如下图所示。
绑定后,自动续费开关跟随软件自动续费开关。
模板示例
完整的示例模板如下。
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
AutoRenew:
Type: Boolean
Label:
en: AutoRenew
zh-cn: 自动续费
AssociationProperty: AutoRnew
PayType:
Type: String
Label:
en: ECS Instance Charge Type
zh-cn: 付费类型
AssociationProperty: ChargeType
AssociationPropertyMetadata:
LocaleKey: InstanceChargeType
Default: PostPaid
AllowedValues:
- PostPaid
- PrePaid
PayPeriodUnit:
Type: String
Label:
en: Pay Period Unit
zh-cn: 购买资源时长周期
AssociationProperty: PayPeriodUnit
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
Default: Month
AllowedValues:
- Month
- Year
PayPeriod:
Type: Number
Label:
en: Period
zh-cn: 购买资源时长
AssociationProperty: PayPeriod
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
Default: 1
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
……
Resources:
EcsInstanceGroup:
Type: ALIYUN::ECS::InstanceGroup
Properties:
AutoRenew:
Ref: AutoRenew
InstanceChargeType:
Ref: PayType
PeriodUnit:
Ref: PayPeriodUnit
Period:
Ref: PayPeriod
……
……
Metadata:
ALIYUN::ROS::Interface:
MapOrderParameterToMarket: true
Hidden:
- ChargeType
- PeriodUnit
- Period
- AutoRenew
HiddenSaleConfig: true