Updated on 2024-05-28 GMT+08:00

Querying AS Groups

Function

This API is used to list AS groups based on search criteria. The results are displayed by page.

  • Search criteria can be the AS group name, AS configuration ID, AS group status, enterprise project ID, start line number, and number of records.
  • If no search criteria are specified, a maximum of 20 AS groups can be listed by default.

URI

GET /autoscaling-api/v1/{project_id}/scaling_group

You can type the question mark (?) and ampersand (&) at the end of the URI to define multiple search criteria. AS groups can be searched by all optional parameters in the following table. For details, see the example request.

Table 1 Parameter description

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

scaling_group_name

No

String

Specifies the AS group name.

Fuzzy search is supported.

scaling_configuration_id

No

String

Specifies the AS configuration ID, which can be obtained using the API for listing AS configurations. For details, see Querying AS configurations.

scaling_group_status

No

String

Specifies the AS group status. The options are as follows:

  • INSERVICE: indicates that the AS group is functional.
  • PAUSED: indicates that the AS group is paused.
  • ERROR: indicates that the AS group malfunctions.
  • DELETING: indicates that the AS group is being deleted.
  • FREEZED: indicates that the AS group has been frozen.

start_number

No

Integer

Specifies the start line number. The default value is 0. The minimum value is 0, and there is no limit on the maximum value.

limit

No

Integer

Specifies the number of query records. The default value is 20. The value ranges from 0 to 100.

enterprise_project_id

No

String

Specifies the enterprise project ID. If all_granted_eps is specified, AS groups in all enterprise projects you have permissions to are listed. For how to obtain an enterprise project ID, see Listing Enterprise Projects.

NOTE:

A Huawei Cloud account and its IAM users assigned with global permissions can view all the AS groups in the account.

If an IAM user is assigned with permissions to more 100 enterprise projects, the user can only view the AS groups in the first 100 enterprise projects.

Request

None

Example Request

This example queries AS groups with name as-group-test and AS configuration ID 1d281494-6085-4579-b817-c1f813be835f.
GET https://{Endpoint}/autoscaling-api/v1/{project_id}/scaling_group?scaling_group_name=as-group-test&scaling_configuration_id=1d281494-6085-4579-b817-c1f813be835f

Response

Table 2 Response parameters

Parameter

Type

Description

total_number

Integer

Specifies the total number of query records.

start_number

Integer

Specifies the start number of query records.

limit

Integer

Specifies the number of query records.

scaling_groups

Array of scaling_groups objects

Specifies the AS group list.

Table 3 scaling_groups field description

Parameter

Type

Description

scaling_group_name

String

Specifies the name of the AS group.

scaling_group_id

String

Specifies the AS group ID.

scaling_group_status

String

Specifies the AS group status.

scaling_configuration_id

String

Specifies the AS configuration ID.

scaling_configuration_name

String

Specifies the AS configuration name.

current_instance_number

Integer

Specifies the number of current instances in the AS group.

desire_instance_number

Integer

Specifies the expected number of instances in the AS group.

min_instance_number

Integer

Specifies the minimum number of instances in the AS group.

max_instance_number

Integer

Specifies the maximum number of instances in the AS group.

cool_down_time

Integer

Specifies the cooldown period (s).

lb_listener_id

String

Specifies the ID of a typical ELB listener. ELB listener IDs are separated using a comma (,).

lbaas_listeners

Array of lbaas_listeners objects

Specifies enhanced load balancers. For details, see Table 4.

available_zones

Array of strings

Specifies the AZ information.

networks

Array of networks objects

Specifies the network information. For details, see Table 5.

security_groups

Array of security_groups objects

Specifies the security group information. For details, see Table 8.

create_time

String

Specifies the time when an AS group was created. The time format complies with UTC.

vpc_id

String

Specifies the ID of the VPC to which the AS group belongs.

detail

String

Specifies details about the AS group. If a scaling action fails, this parameter is used to record errors.

is_scaling

Boolean

Specifies the scaling flag of the AS group.

health_periodic_audit_method

String

Specifies the health check method.

health_periodic_audit_time

Integer

Specifies the health check interval.

health_periodic_audit_grace_period

Integer

Specifies the grace period for health check.

instance_terminate_policy

String

Specifies the instance removal policy.

notifications

Array of strings

Specifies the notification mode.

EMAIL refers to notification by email.

This notification mode has been canceled. You are advised to configure the notification function for the AS group. For details, see Notifications.

delete_publicip

Boolean

Specifies whether to delete the EIP bound to the ECS when deleting the ECS.

delete_volume

Boolean

Specifies whether to delete the data disks attached to the ECS when deleting the ECS.

cloud_location_id

String

This parameter is reserved.

enterprise_project_id

String

Specifies the enterprise project ID.

activity_type

String

Specifies the type of the AS action.

multi_az_priority_policy

String

Specifies the priority policy used to select target AZs when adjusting the number of instances in an AS group.

description

String

Specifies the description of the AS group.

iam_agency_name

String

Specifies the agency name.

tags

Array of tags objects

Specifies the tags added to the AS group. For details, see Table 9.

Table 4 lbaas_listeners field description

Parameter

Type

Description

listener_id

String

Specifies the listener ID.

pool_id

String

Specifies the backend ECS group ID.

protocol_port

Integer

Specifies the backend protocol port, which is the port on which a backend ECS listens for traffic.

weight

Integer

Specifies the weight, which determines the portion of requests a backend ECS processes when being compared to other backend ECSs added to the same listener.

protocol_version

String

Specifies which version of IP addresses of backend servers will be bound with the load balancer. The value can be IPv4 or IPv6.

Table 5 networks field description

Parameter

Type

Description

id

String

Specifies the subnet ID.

ipv6_enable

Boolean

Specifies whether to support IPv6 addresses. If this parameter is set to true, the NIC supports IPv6 addresses. The default value is false.

ipv6_bandwidth

ipv6_bandwidth object

Specifies the shared bandwidth of an IPv6 address. This parameter is left blank by default, indicating that no IPv6 shared bandwidth is bound.

allowed_address_pairs

Array of allowed_address_pairs objects

Specifies whether to allow the system to check the source and destination addresses.

Table 6 ipv6_bandwidth field description

Parameter

Type

Description

id

String

Specifies the ID of the shared bandwidth of an IPv6 address.

Table 7 allowed_address_pairs field description

Parameter

Type

Description

ip_address

String

Specifies whether to allow the system to check the source and destination addresses.

This function is enabled by default. This parameter cannot be left empty.

  • To disable this function, set the value to 1.1.1.1/0.
  • To enable this function, set a value other than 1.1.1.1/0.
Table 8 security_groups field description

Parameter

Type

Description

id

String

Specifies the security group ID.

Table 9 tags field description

Parameter

Mandatory

Type

Description

key

Yes

String

Specifies the tag key.

  • A key can contain up to 36 Unicode characters. It cannot be left blank.
  • The tag key of a resource must be unique.
  • The key of the tag can contain only uppercase letters, lowercase letters, digits, underscores (_), and hyphens (-).

value

No

String

Specifies the key value.

  • A value can contain up to 43 Unicode characters and can be an empty string.
  • The value can contain only uppercase letters, lowercase letters, digits, underscores (_), hyphens (-), and periods (.).

Example Response

{
    "limit": 20,
    "scaling_groups": [
        {
            "networks": [
                {
                    "id": "a8327883-6b07-4497-9c61-68d03ee193a",
                    "ipv6_enable": true,
                    "ipv6_bandwidth": 
                        {
                            "id": "076ee2ff-f23e-4338-b8ac-1bc7278532d5"
                        }
                }
            ],
            "available_zones": [
                   "XXXa",
                   "XXXb"
            ],
            "detail": null,
            "scaling_group_name": "as-group-test",
            "scaling_group_id": "77a7a397-7d2f-4e79-9da9-6a35e2709150",
            "scaling_group_status": "INSERVICE",
            "scaling_configuration_id": "1d281494-6085-4579-b817-c1f813be835f",
            "scaling_configuration_name": "healthCheck",
            "current_instance_number": 0,
            "desire_instance_number": 1,
            "min_instance_number": 0,
            "max_instance_number": 500,
            "cool_down_time": 300,
            "lb_listener_id": "f06c0112570743b51c0e8fbe1f235bab",
            "security_groups": [
                {
                    "id": "8a4b1d5b-0054-419f-84b1-5c8a59ebc829"
                }
            ],
            "create_time": "2015-07-23T02:46:29Z",
            "vpc_id": "863ccae2-ee85-4d27-bc5b-3ba2a198a9e2",
            "health_periodic_audit_method": "ELB_AUDIT",
            "health_periodic_audit_time": 5,
            "health_periodic_audit_grace_period": 600,
            "instance_terminate_policy": "OLD_CONFIG_OLD_INSTANCE",
            "is_scaling": false,
            "delete_publicip": false,
            "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413",
            "multi_az_priority_policy": "PICK_FIRST",
            "iam_agency_name":"test"
        }
    ],
    "total_number": 1,
    "start_number": 0
}

Returned Values

  • Normal

    200

  • Abnormal

    Returned Value

    Description

    400 Bad Request

    The server failed to process the request.

    401 Unauthorized

    You must enter the username and password to access the requested page.

    403 Forbidden

    You are forbidden to access the requested page.

    404 Not Found

    The server could not find the requested page.

    405 Method Not Allowed

    You are not allowed to use the method specified in the request.

    406 Not Acceptable

    The response generated by the server could not be accepted by the client.

    407 Proxy Authentication Required

    You must use the proxy server for authentication to process the request.

    408 Request Timeout

    The request timed out.

    409 Conflict

    The request could not be processed due to a conflict.

    500 Internal Server Error

    Failed to complete the request because of an internal service error.

    501 Not Implemented

    Failed to complete the request because the server does not support the requested function.

    502 Bad Gateway

    Failed to complete the request because the request is invalid.

    503 Service Unavailable

    Failed to complete the request because the system is unavailable.

    504 Gateway Timeout

    A gateway timeout error occurred.

Error Codes

See Error Codes.