更新时间:2023-09-22 GMT+08:00

批量操作实例

功能介绍

  • 批量移出伸缩组中的实例或批量添加伸缩组外的实例。

    批量移出伸缩组时,如果是手动添加到伸缩组的实例,只能从伸缩组中移出,不支持移出并删除。

  • 批量对伸缩组中的实例设置或取消其实例保护属性。
  • 批量将伸缩组中的实例转入或移出备用状态。
  • 单次最多批量移出实例个数为50,其他批量操作单次最多操作实例个数为10。批量添加后实例数不能大于伸缩组的最大实例数,批量移出后实例数不能小于伸缩组的最小实例数。
  • 当伸缩组处于INSERVICE状态且没有伸缩活动时,才能添加实例。
  • 当伸缩组没有伸缩活动时,才能移出实例。
  • 向伸缩组中添加实例时,必须保证实例所在的可用区包含于伸缩组的可用区内。
  • 实例处于INSERVICE状态时才可以进行移出、设置或取消实例保护属性等操作。
  • 当伸缩组发生自动缩容活动时,设置了实例保护的实例不会被移出伸缩组。
  • 批量移出弹性伸缩组中的实例时,若该实例加入伸缩组时绑定的监听器和伸缩组本身的监听器相同,会解绑定实例和监听器。若该实例加入伸缩组时绑定的监听器和伸缩组本身的监听器不同,会保留实例和监听器的绑定关系。

URI

POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

项目ID

scaling_group_id

String

伸缩组ID

请求参数

表2 请求参数

参数

是否必选

参数类型

描述

instances_id

Array of strings

云服务器ID

instance_delete

String

从伸缩组中移出实例时,是否删除云服务器。

取值如下:

  • no:不删除实例,默认情况为no。
  • yes:删除实例。

    如果是手动添加到伸缩组的实例,只能从伸缩组中移出,不支持移出并删除。

只有action为REMOVE时,这个字段才生效。

instance_append

String

将实例移入备用状态时,是否补充新的云服务器。

取值如下:

  • no:不补充新的实例,默认情况为no。
  • yes:补充新的实例。

只有action为ENTER_STANDBY时,这个字段才生效。

action

String

批量操作实例action标识:

  • 添加:ADD
  • 移除:REMOVE
  • 设置实例保护:PROTECT
  • 取消实例保护:UNPROTECT
  • 转入备用状态:ENTER_STANDBY
  • 移出备用状态:EXIT_STANDBY

请求示例

  • 批量添加实例ID为instance_id_1和instance_id_2的两个实例到ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组中。
    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
    
    {
        "action": "ADD",
        "instances_id": [
            "instance_id_1",
            "instance_id_2"
        ]
    }
  • 批量移出并删除ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组中,实例ID为instance_id_1和instance_id_2的两个实例。
    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
    
    {
        "action": "REMOVE",
        "instances_id": [
            "instance_id_1",
            "instance_id_2"
        ],
        "instance_delete": "yes"
    }
  • 批量对ID为instance_id_1和instance_id_2的两个实例设置实例保护属性。
    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
    
    {
        "action": "PROTECT",
        "instances_id": [
            "instance_id_1",
            "instance_id_2"
        ]
    }
  • 批量对ID为instance_id_1和instance_id_2的两个实例取消实例保护属性。
    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
    
    {
        "action": "UNPROTECT",
        "instances_id": [
            "instance_id_1",
            "instance_id_2"
        ]
    }
  • 批量将ID为instance_id_1和instance_id_2的两个实例转入实例备用状态。
    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
    
    {
        "action": "ENTER_STANDBY",
        "instances_id": [
            "instance_id_1",
            "instance_id_2"
        ],
        "instance_append": "yes"
    }
  • 批量将ID为instance_id_1和instance_id_2的两个实例移出实例备用状态。

    POST https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
    
    {
        "action": "EXIT_STANDBY",
        "instances_id": [
            "instance_id_1",
            "instance_id_2"
        ]
    }

响应参数

响应示例

返回值

  • 正常

    204

  • 异常

    返回值

    说明

    400 Bad Request

    服务器未能处理请求。

    401 Unauthorized

    被请求的页面需要用户名和密码。

    403 Forbidden

    对被请求的页面访问禁止。

    404 Not Found

    服务器无法找到被请求的页面。

    405 Method Not Allowed

    请求中指定的方法不被允许。

    406 Not Acceptable

    服务器生成的响应无法被客户端所接受。

    407 Proxy Authentication Required

    用户必须首先使用代理服务器进行验证,这样请求才会被处理。

    408 Request Timeout

    请求超出了服务器的等待时间。

    409 Conflict

    由于冲突,请求无法被完成。

    500 Internal Server Error

    请求未完成。服务异常。

    501 Not Implemented

    请求未完成。服务器不支持所请求的功能。

    502 Bad Gateway

    请求未完成。服务器从上游服务器收到一个无效的响应。

    503 Service Unavailable

    请求未完成。系统暂时异常。

    504 Gateway Timeout

    网关超时。

错误码

请参考错误码