更新时间:2023-07-06 GMT+08:00
分享

创建智能购买组

功能介绍

创建智能购买组。

接口约束

  1. 不支持细粒度授权。
  2. 不支持包年/包月计费模式。
  3. 不支持对接QuotaManager,使用默认配置,单个租户最大支持创建30个智能购买组。
  4. 不支持创建IPv6实例。
  5. 不支持创建100ums云盘。
  6. 不支持网络driver_mode配置。
  7. 不支持创建时指定云服务器密码(可通过启动模板指定)。
  8. 租户创建的实例个数、CPU以及网络配额同租户自身配额保持一致。
  9. 不支持创建BMS实例。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{domain_id}/auto-launch-groups

参数说明请参见表1
表1 参数说明

参数

是否必选

描述

domain_id

租户域ID。

请求参数

表2 请求参数

参数

是否必选

参数类型

描述

name

String

智能购买组名称。

取值范围:1-64个字符,只能包含中文、字母、数字、下划线和中划线。

dry_run

Boolean

创建智能购买组参数核查。

  • true:发送检查请求,不会创建智能购买组。检查项包括是否填写了必需参数、请求格式等。
    • 如果检查不通过,则返回对应错误。
    • 如果检查通过,则返回202状态码。
  • false:发送正常请求,通过检查后并且执行创建智能购买组请求。

type

String

请求类型。

  • request:一次性。仅在启动时交付实例集群,调度失败后不再重试。
  • maintain:持续供应。在启动时尝试交付实例集群,并监控容量,未达到目标容量则尝试继续创建ECS实例。

默认值:maintain

guarantee_plan_id

String

算力保障计划ID。

target_capacity

Integer

智能购买组目标容量。

实例数量或者CPU个数目标容量大于等于stable_capacity。竞价实例的容量为满配容量减去stable_capacity。

stable_capacity

Integer

按需实例目标容量。

目标容量指实例数量或CPU个数,必须小于等于target_capacity,智能购买组中可以没有按需实例。

excess_fulfilled_capacity_behavior

String

超过目标容量或目标容量减少时的实例中断行为。

  • terminate:释放
  • noTermination:不释放

默认值:terminate

instances_behavior_with_expiration

String

请求到期时正在运行实例的中断行为。

  • terminate:释放
  • noTermination:不释放

默认值:terminate

valid_since

String

请求开始时间,和valid_until共同确定有效时段。

按照ISO8601标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。

默认值:立即生效

valid_until

String

请求结束时间,和valid_since共同确定有效时段。

按照ISO8601标准表示,并使用UTC +0时间,格式为yyyy-MM-ddTHH:mm:ssZ。

默认值:无限期

allocation_strategy

String

实例分配策略。

  • lowest_price:价格最低策略,智能购买组购买的所有实例的价格总和最低。
  • prioritized:优先级策略,按照规格设定的优先级创建实例。
  • capacity_optimized:容量最优化策略,智能购买组购买的实例按照大规格优先进行购买。

默认值:lowest_price

region_specs

Array of objects

智能购买组内各区域的资源描述,详情请参见表3

supply_option

String

资源供给中规格选择策略。

  • singlation:选择一种规格供给。
  • multiple:组合多种规格供给。

spot_price

Double

用户愿意为竞价实例每小时支付的最高价格。如果overrides中没有提供价格,可以使用该价格。

表3 region_specs参数信息

参数

是否必选

参数类型

描述

region_id

String

区域ID。

expect_target_capacity

Integer

区域内期望的总算力容量。

expect_stable_capacity

Integer

区域内期望的稳定算力容量。

launch_template_config

Object

启动模板配置,详情请参见表4

表4 launch_template_config参数信息

参数

是否必选

参数类型

描述

launch_template

Object

实例的启动模板,详情请参见表5

overrides

Array of objects

实例的详细信息,详情请参见表6

表5 launch_template参数信息

参数

是否必选

参数类型

描述

launch_template_id

String

实例的启动模板ID,唯一标识一个启动模板。

version

String

启动模板版本号。

表6 override参数信息

参数

是否必选

参数类型

描述

availability_zone_id

String

可用区ID。

flavor_id

String

实例规格ID。

spot_price

Double

用户愿意为竞价实例每小时支付的最高价格。

priority

Integer

优先级。数值越小,优先级越高,优先购买。

取值范围:0到Integer.MAX_VALUE

默认值:Integer.MAX_VALUE

weighted_capacity

Double

实例规格的权重。取值越高,单台实例满足计算力需求的能力越大,所需的实例数量越小。

取值范围:大于0

可以根据指定实例规格的计算力和集群单节点最低计算力得出权重值。

假设单节点最低计算力为8vCPU、60GB,则8vCPU、60GB实例规格的权重可设置为1,16vCPU、120GB实例规格的权重可设置为2。

响应参数

表7 响应参数

参数

参数类型

描述

auto_launch_group_id

String

创建的智能购买组。

error_code

Integer

错误码。
  • 请求失败时,响应体中包含错误。
  • 请求成功时,响应消息体中不包含错误码。

error_msg

String

错误描述。
  • 请求失败时,响应体中包含错误描述。
  • 请求成功时,响应消息体中不包含错误描述。

请求示例

创建一个智能购买组,名称为“test”,持续供应类型,目标容量为10,按需实例目标容量为5。

POST https://{endpoint}/v2/{domain_id}/auto-launch-groups

{
    "name":"test",
    "guarantee_plan_id":"plan_id",
    "type":"maintain",
    "target_capacity":10,
    "stable_capacity":5,
    "excess_fulfilled_capacity_behavior":"terminate",
    "instances_behavior_with_expiration":"terminate",
    "valid_since":"2020-04-04T15:58:13Z",
    "valid_until":"2021-04-06T15:58:13Z",
    "region_specs":[
        {
            "region_id":"region1",
            "expect_target_capacity":10,
            "expect_stable_capacity":5,
            "launch_template_config":{
                "launch_template":{
                    "launch_template_id":"c516c350-7091-4490-9338-47ddb90360f2",
                    "version":"1.0"
                },
                "overrides":[
                    {
                        "availability_zone_id":"az1",
                        "flavor_id":"s3.large.2",
                        "spot_price":2,
                        "priority":4,
                        "weighted_capacity":6
                    },
                    {
                        "availability_zone_id":"az2",
                        "flavor_id":"s3.large.2",
                        "spot_price":2,
                        "priority":4,
                        "weighted_capacity":12
                    },
                    {
                        "availability_zone_id":"az3",
                        "flavor_id":"s3.large.2",
                        "spot_price":2,
                        "priority":4,
                        "weighted_capacity":2
                    }
                ]
            }
        }
    ],
    "allocation_strategy":"lowest_price",
    "spot_price":0.5,
    "supply_option":"multiple",
    "dry_run":false
}

响应示例

{
    "auto_launch_group_id": "c516c350-7091-4490-9338-47ddb90360f2"
}

返回值

请参考通用请求返回值

错误码

请参考错误码

相关文档