Updated on 2024-10-09 GMT+08:00

Adding or Updating a Backend Server Group of a VPC Channel

Function

When creating a backend server group for a VPC channel, you can determine whether to associate backend instances with the group to facilitate backend server node management.

If a backend server group with the specified name already exists, the backend server group information is updated. If the request body contains multiple backend server definitions with the same address, the first definition is used.

Calling Method

For details, see Calling APIs.

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/member-groups

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain it, see Obtaining a Project ID.

instance_id

Yes

String

Gateway ID, which can be obtained from the gateway information on the APIG console.

vpc_channel_id

Yes

String

VPC channel ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

member_groups

No

Array of MemberGroupCreate objects

Backend server groups.

Table 4 MemberGroupCreate

Parameter

Mandatory

Type

Description

member_group_name

Yes

String

Name of the VPC channel's backend server group. It can contain 3 to 64 characters, starting with a letter. Only letters, digits, underscores (_), hyphens (-), and periods (.) are allowed.

member_group_remark

No

String

Description of the backend server group.

Maximum: 255

member_group_weight

No

Integer

Weight of the backend server group.

If the server group contains servers and a weight has been set for it, the weight is automatically used to assign weights to servers in this group.

Minimum: 0

Maximum: 100

dict_code

No

String

Dictionary code of the backend server group.

The value can contain letters, digits, hyphens (-), underscores (_), and periods (.).

Currently, this parameter is not supported.

Minimum: 3

Maximum: 64

microservice_version

No

String

Version of the backend server group. This parameter is supported only when the VPC channel type is microservice.

Maximum: 64

microservice_port

No

Integer

Port of the backend server group. This parameter is supported only when the VPC channel type is microservice. If the port number is 0, all addresses in the backend server group use the original load balancing port to inherit logic.

Minimum: 0

Maximum: 65535

microservice_labels

No

Array of MicroserviceLabel objects

Tags of the backend server group. This parameter is supported only when the VPC channel type is microservice.

Table 5 MicroserviceLabel

Parameter

Mandatory

Type

Description

label_name

Yes

String

Tag name.

Start and end with a letter or digit. Use only letters, digits, hyphens (-), underscores (_), and periods (.). (Max. 63 characters.)

Minimum: 1

Maximum: 63

label_value

Yes

String

Tag value.

Start and end with a letter or digit. Use only letters, digits, hyphens (-), underscores (_), and periods (.). (Max. 63 characters.)

Minimum: 1

Maximum: 63

Response Parameters

Status code: 201

Table 6 Response body parameters

Parameter

Type

Description

size

Integer

Length of the returned resource list.

total

Long

Number of resources that match the query conditions.

member_groups

Array of MemberGroupInfo objects

Backend server groups of the VPC channel.

Table 7 MemberGroupInfo

Parameter

Type

Description

member_group_name

String

Name of the VPC channel's backend server group. It can contain 3 to 64 characters, starting with a letter. Only letters, digits, underscores (_), hyphens (-), and periods (.) are allowed.

member_group_remark

String

Description of the backend server group.

Maximum: 255

member_group_weight

Integer

Weight of the backend server group.

If the server group contains servers and a weight has been set for it, the weight is automatically used to assign weights to servers in this group.

Minimum: 0

Maximum: 100

dict_code

String

Dictionary code of the backend server group.

The value can contain letters, digits, hyphens (-), underscores (_), and periods (.).

Currently, this parameter is not supported.

Minimum: 3

Maximum: 64

microservice_version

String

Version of the backend server group. This parameter is supported only when the VPC channel type is microservice.

Maximum: 64

microservice_port

Integer

Port of the backend server group. This parameter is supported only when the VPC channel type is microservice. If the port number is 0, all addresses in the backend server group use the original load balancing port to inherit logic.

Minimum: 0

Maximum: 65535

microservice_labels

Array of MicroserviceLabel objects

Tags of the backend server group. This parameter is supported only when the VPC channel type is microservice.

member_group_id

String

ID of the backend server group of the VPC channel.

create_time

String

Time when the backend server group is created.

update_time

String

Time when the backend server group is updated.

Table 8 MicroserviceLabel

Parameter

Type

Description

label_name

String

Tag name.

Start and end with a letter or digit. Use only letters, digits, hyphens (-), underscores (_), and periods (.). (Max. 63 characters.)

Minimum: 1

Maximum: 63

label_value

String

Tag value.

Start and end with a letter or digit. Use only letters, digits, hyphens (-), underscores (_), and periods (.). (Max. 63 characters.)

Minimum: 1

Maximum: 63

Status code: 400

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 401

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 403

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 404

Table 12 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 13 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Requests

  • Creating a backend server group for a VPC channel of the server type

    {
      "member_groups" : [ {
        "member_group_name" : "vpc_member_group",
        "member_group_weight" : 10
      } ]
    }
  • Creating a backend server group for a VPC channel of the microservice type

    {
      "member_groups" : [ {
        "member_group_name" : "vpc_member_group",
        "member_group_weight" : 10,
        "microservice_version" : "v1",
        "microservice_port" : 80,
        "microservice_labels" : [ {
          "label_name" : "cluster_id",
          "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113"
        } ]
      } ]
    }

Example Responses

Status code: 201

Created

  • Example 1

    {
      "total" : 1,
      "size" : 1,
      "member_groups" : [ {
        "member_group_name" : "vpc_member_group",
        "member_group_id" : "105c6902457144a4820dff8b1ad63331",
        "member_group_remark" : "",
        "member_group_weight" : 10,
        "create_time" : "2020-07-23T07:24:33Z",
        "update_time" : "2020-07-23T07:24:33Z",
        "microservice_version" : "",
        "microservice_port" : 0,
        "microservice_labels" : [ ]
      } ]
    }
  • Example 2

    {
      "total" : 1,
      "size" : 1,
      "member_groups" : [ {
        "member_group_name" : "vpc_member_group",
        "member_group_id" : "105c6902457144a4820dff8b1ad63331",
        "member_group_remark" : "",
        "member_group_weight" : 10,
        "create_time" : "2020-07-23T07:24:33Z",
        "update_time" : "2020-07-23T07:24:33Z",
        "microservice_version" : "v1",
        "microservice_port" : 80,
        "microservice_labels" : [ {
          "label_name" : "cluster_id",
          "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113"
        } ]
      } ]
    }

Status code: 400

Bad Request

{
  "error_code" : "APIG.2001",
  "error_msg" : "The request parameters must be specified, parameter name:name"
}

Status code: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Status code: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Status code: 404

Not Found

{
  "error_code" : "APIG.3023",
  "error_msg" : "The VPC channel does not exist,id:56a7d7358e1b42459c9d730d65b14e59"
}

Status code: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Status Codes

Status Code

Description

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.