All Products
Search
Document Center

Server Load Balancer:UpdateServerGroupAttribute

Last Updated:Dec 10, 2025

Updates the attributes of a Server Load Balancer server group.

Operation description

UpdateServerGroupAttribute is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. The server group configuration is not updated immediately. You can call the ListServerGroups operation to query the status of the server group.

  • If a server group is in the Configuring state, its configuration is being updated.

  • If a server group is in the Available state, its configuration is updated.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

gwlb:UpdateServerGroupAttribute

update

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

ServerGroupId

string

Yes

The server group ID.

sgp-atstuj3rtoptyui****

ServerGroupName

string

No

The name of the server group.

The name must be 2 to 128 characters in length, start with a letter or a Chinese character, and can contain digits, periods (.), underscores (_), and hyphens (-).

testServerGroupName

Scheduler

string

No

The scheduling algorithm. Valid values:

  • 5TCH: 5-tuple hashing. Packets are distributed to backend servers based on a 5-tuple hash of the source IP address, destination IP address, source port, destination port, and protocol. This ensures that the same stream is always scheduled to the same backend server.

  • 3TCH: 3-tuple hashing. Packets are distributed to backend servers based on a 3-tuple hash of the source IP address, destination IP address, and protocol. This ensures that the same stream is always scheduled to the same backend server.

  • 2TCH: 2-tuple hashing. Packets are distributed to backend servers based on a 2-tuple hash of the source IP address and destination IP address. This ensures that the same stream is always scheduled to the same backend server.

5TCH

ServerFailoverMode

string

No

The method that is used to handle existing connections when a backend server is exceptional. Valid values:

  • NoRebalance: Existing connections are not rebalanced.

  • Rebalance: Existing connections are rebalanced.

NoRebalance

ConnectionDrainConfig

object

No

The configurations of connection draining.

ConnectionDrainEnabled

boolean

No

Specifies whether to enable connection draining. Valid values:

  • true

  • false

false

ConnectionDrainTimeout

integer

No

The timeout period of connection draining.

Unit: seconds.

Valid values: 1 to 3600.

300

HealthCheckConfig

object

No

The configurations of health checks.

HealthCheckConnectPort

integer

No

The port that is used for health checks on backend servers.

Valid values: 1 to 65535.

80

HealthCheckConnectTimeout

integer

No

The maximum timeout period of a health check response.

Unit: seconds.

Valid values: 1 to 300.

5

HealthCheckDomain

string

No

The domain name that is used for health checks. Valid values:

  • $SERVER_IP: the private IP address of a backend server.

  • domain: a specified domain name. The domain name must be 1 to 80 characters in length and can contain letters, digits, hyphens (-), and periods (.).

Note

This parameter takes effect only when HealthCheckProtocol is set to HTTP.

$SERVER_IP

HealthCheckEnabled

boolean

No

Specifies whether to enable health checks. Valid values:

  • true

  • false

true

HealthCheckHttpCode

array

No

The list of HTTP status codes that indicate a healthy state.

string

No

The HTTP status code that indicates a healthy state. You can specify multiple HTTP status codes. Separate multiple status codes with commas (,). Valid values:

  • http_2xx: An HTTP 2xx status code indicates a healthy state.

  • http_3xx: An HTTP 3xx status code indicates a healthy state.

  • http_4xx: An HTTP 4xx status code indicates a healthy state.

  • http_5xx: An HTTP 5xx status code indicates a healthy state.

Default value: http_2xx.

Note

This parameter takes effect only when HealthCheckProtocol is set to HTTP.

http_2xx

HealthCheckInterval

integer

No

The interval at which health checks are performed.

Unit: seconds.

Valid values: 1 to 50.

10

HealthCheckPath

string

No

The path that is used for health checks.

The path must be 1 to 80 characters in length and can contain letters, digits, and the following special characters: -/.%?#&. It must start with a forward slash (/).

Note

This parameter takes effect only when HealthCheckProtocol is set to HTTP.

/test/index.html

HealthCheckProtocol

string

No

The protocol that is used for health checks. Valid values:

  • TCP: TCP SYN packets are sent to a backend server to check whether the port of the backend server is reachable.

  • HTTP: GET requests are sent to a backend server to check whether the server application is healthy.

TCP

HealthyThreshold

integer

No

The number of consecutive successful health checks required to change the health check status of a backend server from failed to successful.

Valid values: 2 to 10.

2

UnhealthyThreshold

integer

No

The number of consecutive failed health checks required to change the health check status of a backend server from successful to failed.

Valid values: 2 to 10.

2

DryRun

boolean

No

Specifies whether to perform a dry run. Valid values:

  • true: performs a dry run. The system checks the required parameters, request format, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the DryRunOperation error code is returned.

  • false (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.

false

ClientToken

string

No

The client token that is used to ensure the idempotence of the request.

You can use the client to generate a token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.

Note

If you do not specify this parameter, the system automatically uses the RequestId of the request as the ClientToken. The RequestId may be different for each request.

123e4567-e89b-12d3-a456-42665544****

Response elements

Element

Type

Description

Example

object

The response data.

RequestId

string

The request ID.

54B48E3D-DF70-471B-AA93-08E683A1B45

Examples

Success response

JSON format

{
  "RequestId": "54B48E3D-DF70-471B-AA93-08E683A1B45\n"
}

Error codes

HTTP status code

Error code

Error message

Description

400 IllegalParam.HealthCheckProtocol The param of %s is illegal. The health check protocol is invalid. Check the input parameters.
400 IncorrectStatus.ServerGroup The status of %s [%s] is incorrect. The status of %s [%s] is incorrect.
400 OperationDenied.SchedulerNotConfigurable The scheduling algorithm of server group is configurable only when TCP idle timeout of listener is default value. The scheduling algorithm of server group is configurable only when TCP idle timeout of listener is default value.
404 ResourceNotFound.ServerGroup The specified resource of %s is not found. The specified server group resource does not exist.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.