调用PurchaseReservedInstancesOffering接口,并可以指定InstanceType、Scope等参数,购买一张预留实例券。预留实例券可以自动匹配对应的ECS实例,抵扣按量付费实例账单。
接口说明
- 请确保在使用该接口前,您已充分了解预留实例券的计费方式。详情请参见预留实例券计费方式。
- 购买预留实例券前,您可以调用 DescribeAvailableResource 查询可用实例资源。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
ecs:PurchaseReservedInstancesOffering | create | *ReservedInstance acs:ecs:{#regionId}:{#accountId}:reservedinstance/* |
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | 实例所属的地域 ID。您可以调用 DescribeRegions 查看最新的阿里云地域列表。 | cn-hangzhou |
Tag | array<object> | 否 | 标签列表。 | |
object | 否 | |||
Key | string | 否 | 预留实例券的标签键。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 | TestKey |
Value | string | 否 | 预留实例券的标签值。N 的取值范围:1~20。一旦传入该值,则不允许为空字符串。最多支持 128 个字符,不能以 | TestValue |
ResourceGroupId | string | 否 | 资源组 ID。 | rg-bp199lyny9b3**** |
ZoneId | string | 否 | 实例所属的可用区编号,当 | cn-hangzhou-g |
ReservedInstanceName | string | 否 | 预留实例券的名称。长度为 2~128 个英文或中文字符。必须以大小写字母或中文开头,不能以 http:// 和 https:// 开头。可以包含数字、半角冒号(:)、下划线(_)或者短划线(-)。 | testReservedInstanceName |
InstanceType | string | 是 | 实例的资源规格。更多信息,请参见实例规格族。 | ecs.g5.large |
Scope | string | 否 | 预留实例券的范围。取值范围:
默认值:Region。 | Zone |
InstanceAmount | integer | 否 | 预留实例券可以同时匹配同规格按量付费实例的数量。取值范围:1~50。 例如,实例规格设置为 ecs.g5.large,预留实例数量设置为 3 时,该预留实例券就可以同时匹配 3 台规格为 ecs.g5.large 的按量付费实例。 | 3 |
OfferingType | string | 否 | 预留实例券的付款类型。取值范围:
默认值:All Upfront。 | All Upfront |
Description | string | 否 | 预留实例券的描述。长度为 2~256 个英文或中文字符,不能以 http://和 https://开头。 默认值:空。 | testDescription |
Platform | string | 否 | 实例使用的镜像的操作系统类型。取值范围:
默认值:Linux。 | Linux |
Period | integer | 否 | 购买预留实例券的时长。
默认值:1。 | 1 |
PeriodUnit | string | 否 | 购买预留实例券的时长单位。 取值范围:Year、Month。 默认值:Month。 | Year |
ClientToken | string | 否 | 保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。 | 123e4567-e89b-12d3-a456-426655440000 |
AutoRenew | boolean | 否 | 是否要自动续费。可选值:
| true |
AutoRenewPeriod | integer | 否 | 每次自动续费的时长,单位为月。当参数 AutoRenew 取值 True 时,该参数才生效。 AutoRenewPeriod 取值范围:1,12,36,60。 当 PeriodUnit=Month, 默认值为 1。 当 PeriodUnit=Year,默认值为 12。 | 1 |
StartTime | string | 否 | 预留实例券的指定生效时间。按照ISO 8601标准表示,使用 UTC+0 时间。格式为: | 2024-07-04T15Z |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "8C314443-AF0D-4766-9562-C83B7F1A3C8B",
"ReservedInstanceIdSets": {
"ReservedInstanceId": [
"ecsri-2ze53qonjqxg7r****"
]
}
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidStartTime.ScopeNotMatch | Zonal reservedInstance not supported for scheduled creating. | - |
400 | InvalidInstanceType.ValueUnauthorized | The specified InstanceType is not authorized. | 指定的实例规格未授权使用。 |
400 | InvalidDescription.Malformed | The specified parameter "Description" is not valid. | 指定的资源描述格式不合法。长度为2-256个字符,不能以http://和https://开头。 |
400 | InvalidParameter.Conflict | The specified region and cluster do not match. | 指定的地域与指定的集群不匹配。 |
400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | 指定的标签键参数有误。 |
400 | RegionUnauthorized | %s | 该地域未被授权。%s为变量,将根据调用API的实际情况动态返回错误信息。 |
400 | Zone.NotOnSale | %s | 该可用区暂时关闭了售卖。%s为变量,将根据调用API的实际情况动态返回错误信息。 |
400 | InvalidPeriodUnit.ValueNotSupported | The specified parameter PeriodUnit is not valid. | 参数 PeriodUnit 无效。 |
400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | 指定的标签值参数有误。 |
400 | InvalidChargeType.ValueNotSupported | ChargeType is not valid. | 该计费方式不支持,请您重新选择计费方式。 |
400 | InvalidParameter.Scope | The specified parameter 'Scope' is invalid. | - |
400 | InvalidReservedInstanceStatus.ValueNotSupported | ReservedInstance status is not supported. | - |
400 | InvalidReservedInstanceOfferingType.ValueNotSupported | The OfferingType is not supported. | - |
400 | InvalidReservedInstanceOfferingClass.ValueNotSupported | The OfferingClass is not supported. | - |
400 | MissingParameter.ZoneId | The specified zoneId should be not empty. | - |
400 | MissingParameter.InstanceType | The instanceType should be not empty. | - |
400 | MissingParameter.ReservedInstanceId | The ids of reservedInstance can not be empty. | - |
400 | MissingParameter.ReservedInstanceConfiguration | The configurations of reservedInstance can not be empty. | - |
400 | InvalidParameter.SplitOrMerge | The Many-to-many of modification is not supported. | - |
400 | MissingParameter.InstanceTypeAndAmountBothEmpty | The instanceType and amount can not be both empty. | - |
400 | InvalidReservedInstancePlatform.ValueNotSupported | The Platform is not supported. | - |
400 | InvalidParameter.ReservedInstanceName | ReservedInstanceName is invalid. | - |
400 | InvalidReservedInstanceZone.ValueNotSupported | The zoneId is not exist. | - |
400 | OperationDenied | The specified InstanceType or Zone is not authorized for current user. | - |
400 | InvalidInstanceType.ValueNotSupported | The specified InstanceType beyond the permitted range. | 指定的实例规格不合法(超出可选范围)。 |
400 | InvalidInstanceType.ValueNotSupported | The specified InstanceType does not exist or beyond the permitted range. | 您指定的实例规格不存在,或者您没有权限操作此规格的实例。 |
403 | OperationDenied | The creation of Host to the specified Zone is not allowed. | 无法在指定可用区创建专用宿主机。 |
403 | OperationDenied.NoStock | The requested resource is sold out in the specified zone; try other types of resources or other regions and zones. | 库存不足。 |
403 | OperationDenied | Sales of this resource are temporarily suspended in the specified region; please try again later. | 指定的地域暂时关闭了此资源的售卖,请稍后重试。 |
403 | NodeControllerUnavailable | The Node Controller is temporarily unavailable. | 节点控制器暂不可用。 |
403 | OperationDenied | The resource is out of usage. | 该实例不在运行状态,请您启动实例或检查操作是否合理。 |
403 | InvalidParameter.ResourceOwnerAccount | ResourceOwnerAccount is Invalid. | 指定的 ResourceOwnerAccount 不合法。 |
403 | Zone.NotOpen | The specified zone is not granted to you to buy resources yet. | 用户未被授权购买指定的可用区的资源。 |
403 | Zone.NotOnSale | The specified zone is not available for purchase. | 指定可用区已经售罄,请您更换实例规格或者更换地域创建。 |
403 | InvalidResourceType.NotSupported | %s | - |
403 | InvalidParameter.NotMatch | %s | 您输入的参数无效,请检查参数之间是否冲突。 |
403 | Account.Arrearage | Your account has been in arrears. | 账户余额不足,请先充值再操作。 |
403 | InvalidStartTime.MalFormed | The specified StartTime is not valid. | - |
403 | InvalidStartTime.NotSupported | The specified startTime is not supported. | - |
404 | InvalidZoneId.NotFound | The ZoneId provided does not exist in our records. | 指定的可用区 ID 不存在。 |
404 | PaymentMethodNotFound | No payment method has been registered on the account. | 账户尚未注册支付方式。 |
404 | InvalidZoneId.NotFound | The specified ZoneId does not exist. | 指定的可用区 ID 不存在。 |
500 | InternalError | The request processing has failed due to some unknown error. | 内部错误,请重试。 |
500 | InternalError | %s | 内部错误。 |
500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | 内部错误,请重试。 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-08-21 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |
2022-11-02 | OpenAPI 错误码发生变更、OpenAPI 入参发生变更 | 查看变更详情 |