Updated on 2025-08-29 GMT+08:00

Updating a Load Balancer

Function

This API is used to update a load balancer.

Calling Method

For details, see Calling APIs.

URI

PUT /v3/{project_id}/elb/loadbalancers/{loadbalancer_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

loadbalancer_id

Yes

String

Definition: Specifies the load balancer ID.

Constraints: N/A

Range: N/A

Default value: N/A

project_id

Yes

String

Definition: Specifies the project ID. For details about how to obtain a project ID, see Obtaining a Project ID.

Constraints: N/A

Range: The value can contain a maximum of 32 characters, including digits and lowercase letters.

Default value: N/A

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition: Specifies the token used for IAM authentication.

Constraints: N/A

Range: N/A

Default value: N/A

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

loadbalancer

Yes

UpdateLoadBalancerOption object

Definition: Specifies the parameters for updating a load balancer.

Constraints: N/A

Default value: N/A

Default value: N/A

Table 4 UpdateLoadBalancerOption

Parameter

Mandatory

Type

Description

name

No

String

Definition: Specifies the load balancer name.

Constraints: N/A

Range: The value can contain a maximum of Unicode 255 characters, including letters and more. It can be left blank.

Default value: N/A

admin_state_up

No

Boolean

Definition: Specifies whether the load balancer is enabled.

Range:

  • true: enabled

  • false: disabled

Constraints: N/A

Range: N/A

Default value: N/A

description

No

String

Definition: Provides supplementary information about the load balancer.

Constraints: N/A

Range: The value can contain a maximum of Unicode 255 characters, including letters and more. It can be left blank.

Default value: N/A

ipv6_vip_virsubnet_id

No

String

Definition: Specifies the ID of the IPv6 subnet where the load balancer is located. This subnet is also called the frontend subnet.

You can query parameter neutron_network_id in the response by calling the API (GET https://{VPC_Endpoint}/v1/{project_id}/subnets).

Updating ipv6_vip_virsubnet_id changes the IPv6 subnet where the load balancer is located, and new IPv6 addresses will be assigned to the load balancer. However, the IPv4 subnet will not change.

Constraints:

  • The subnet specified by ipv6_vip_virsubnet_id must be in the VPC specified by vpc_id, and this subnet must support IPv6.

  • This parameter can be updated only when guaranteed is set to true.

Range: The ID must be in UUID format and can contain up to 36 characters.

Default value: N/A

NOTE:
If this parameter is set to null, the IPv6 addresses will be unbound from the load balancer. Do not specify this parameter if no IPv6 subnet needs to be changed.

vip_subnet_cidr_id

No

String

Definition: Specifies the ID of the IPv4 subnet where the load balancer is located. This subnet is also called the frontend subnet.

You can query parameter neutron_subnet_id in the response by calling the API (GET https://{VPC_Endpoint}/v1/{project_id}/subnets).

Updating vip_subnet_cidr_id changes the IPv4 subnet where the load balancer is located, and new IPv4 addresses will be assigned to the load balancer. However, the IPv6 subnet will not change.

Constraints:

  • If vip_address is also specified, the IP address specified by vip_address must be in the subnet specified by vip_subnet_cidr_id.

  • The subnet specified by vip_subnet_cidr_id must in the VPC specified by vpc_id.

  • This parameter can be updated only when guaranteed is set to true.

Range: The ID must be in UUID format and can contain up to 36 characters.

Default value: N/A

NOTE:
If this parameter is set to null, the IPv4 addresses will be unbound from the load balancer. Do not specify this parameter if no IPv4 subnet needs to be changed.

vip_address

No

String

Definition: Specifies the private IPv4 address of the load balancer.

Constraints: The IP address must be from the IPv4 subnet where the load balancer resides and should not be occupied by other services.

Range: The IP address must be in [0-255].[0-255].[0-255].[0-255] format, for example, 192.168.1.1.

Default value: N/A

Note: This parameter can be updated only when guaranteed is set to true.

l4_flavor_id

No

String

Definition: Specifies the ID of a flavor at Layer 4.

You can query parameter id in the response by calling the API (GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L4).

Constraints:

  • This parameter can be updated only when guaranteed is set to true.

  • If you change the flavor, you can select a higher or lower one. If you select a lower one, part of persistent connections will be interrupted.

  • If autoscaling.enable is set to true, changes to this parameter will not take effect.

  • If the flavor type is L4, the load balancer uses the fixed flavors and will be billed by the flavor you select.

  • If the flavor type is L4_elastic_max, the load balancer uses the elastic flavors and will be billed by how many LCUs you use.

Range: N/A

Default value: N/A

This parameter is not supported by gateway load balancers.

l7_flavor_id

No

String

Definition: Specifies the ID of a flavor at Layer 7.

You can query parameter id in the response by calling the API (GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L7).

Constraints:

  • This parameter can be updated only when guaranteed is set to true.

  • If you change the flavor, you can select a higher or lower one. If you select a lower one, part of persistent connections will be interrupted.

  • If autoscaling.enable is set to true, changes to this parameter will not take effect.

  • If the flavor type is L7, the load balancer uses the fixed flavors and will be billed by the flavor you select.

  • If the flavor type is L7_elastic_max, the load balancer uses the elastic flavors and will be billed by how many LCUs you use.

Range: N/A

Default value: N/A

This parameter is not supported by gateway load balancers.

gw_flavor_id

No

String

Definition: Specifies the flavor ID of the gateway load balancer.

Constraints: If gw_flavor_id is not specified, the default flavor is used. The default flavor varies by site.

Range: N/A

Default value: N/A

ipv6_bandwidth

No

BandwidthRef object

Definition: Specifies the ID of the bandwidth object.

Constraints:

  • This parameter is available only when you create or update a load balancer with a public address.

  • If you bind a new EIP to the load balancer and specify a shared bandwidth, this EIP will be added to the shared bandwidth.

Default value: N/A

Default value: N/A

ip_target_enable

No

Boolean

Definition: Specifies whether to add backend servers that are not in the load balancer's VPC.

If you set it to true, you can associate servers in a VPC connected through a VPC peering connection, in a VPC connected through a cloud connection, or in an on-premises data center at the other end of a Direct Connect or VPN connection, by using server IP addresses.

Constraints:

  • This function cannot be disabled once it is enabled.

  • If you want to enable IP as a Backend for a load balancer in a shared VPC, ensure that a VPC peering connection has been created to connect the VPCs. Otherwise, the communication will fail.

  • This function is not supported by gateway load balancers.

Range:

  • true: This option will be enabled.

  • false: This option will be disabled.

Default value: N/A

elb_virsubnet_ids

No

Array of strings

Definition: Specifies the network IDs of subnets on the downstream plane.

You can query parameter neutron_network_id in the response by calling the API (GET https://{VPC_Endpoint}/v1/{project_id}/subnets).

Constraints:

  • If the IDs of the subnets bound to the load balancer are specified in elb_virsubnet_ids, the subnets will still be bound to the load balancer.

  • If the IDs of the subnets bound to the load balancer are not specified in elb_virsubnet_ids, the subnets will be unbound from the load balancers. Do not unbind the subnets that have been used by the load balancer. Otherwise, an error will be returned.

  • If the IDs of the subnets are specified in elb_virsubnet_ids, but not on the downstream plane, a new load balancer will be bound to the downstream plane.

  • All subnets specified by elb_virsubnet_ids must in the VPC where the load balancer works.

  • Edge subnets are not supported.

Range: N/A

Default value: N/A

deletion_protection_enable

No

Boolean

Definition: Specifies whether to enable deletion protection.

Constraints: Disable deletion protection or removal protection for your resources before deregistering your account.

Range: false (disable this option) or true (enable this option).

Default value: N/A

This parameter is unsupported. Please do not use it.

autoscaling

No

UpdateLoadbalancerAutoscalingOption object

Definition: Specifies information about elastic scaling. If elastic scaling is enabled, the load balancer flavors can be automatically adjusted based on incoming traffic.

Constraints:

  • This parameter is only available for whitelisted users.

  • If elastic scaling is enabled, l4_flavor_id indicates the ID of the maximum elastic flavor at Layer 4. l7_flavor_id indicates the ID of the maximum elastic flavor at Layer 7.

Default value: N/A

Default value: N/A

This parameter is unsupported. Please do not use it.

ipv6_vip_address

No

String

Definition: Specifies the IPv6 address of the load balancer.

Constraints: N/A

Range: N/A

Default value: N/A

Table 5 BandwidthRef

Parameter

Mandatory

Type

Description

id

Yes

String

Definition: Specifies the ID of the shared bandwidth.

Constraints: N/A

Range: N/A

Default value: N/A

Table 6 UpdateLoadbalancerAutoscalingOption

Parameter

Mandatory

Type

Description

enable

Yes

Boolean

Definition: Specifies whether to enable elastic scaling for the load balancer.

Constraints: N/A

Range:

  • true: This option will be enabled.

  • false: This option will be disabled.

Default value: N/A

min_l7_flavor_id

No

String

Definition: Specifies the ID of the minimum elastic flavor at Layer 7.

Constraints: This parameter cannot be left blank if there are Layer 7 listeners.

Range: N/A

Default value: N/A

Response Parameters

Status code: 200

Table 7 Response body parameters

Parameter

Type

Description

loadbalancer

LoadBalancer object

Definition: Specifies the load balancer.

request_id

String

Definition: Specifies the request ID.

Range: The value is automatically generated, and can contain characters including digits, lowercase letters, and hyphens (-).

Table 8 LoadBalancer

Parameter

Type

Description

id

String

Definition: Specifies the load balancer ID.

Range: N/A

description

String

Definition: Provides supplementary information about the load balancer.

Range: N/A

provisioning_status

String

Definition: Specifies the provisioning status of the load balancer.

Range:

  • ACTIVE: in use

  • PENDING_DELETE: deleting

admin_state_up

Boolean

Definition: Specifies whether the load balancer is enabled.

Range:

  • true: enabled

  • false: disabled

provider

String

Definition: Specifies the provider of the load balancer. The value is fixed to vlb.

Range: N/A

pools

Array of PoolRef objects

Definition: Lists the IDs of backend server groups associated with the load balancer.

Range: N/A

listeners

Array of ListenerRef objects

Definition: Lists the IDs of listeners associated with the load balancer.

Range: N/A

operating_status

String

Definition: Specifies the operating status of the load balancer.

Range:

  • ONLINE: The load balancer is online.

  • FROZEN: The load balancer is frozen.

name

String

Definition: Specifies the load balancer name.

Range: N/A

project_id

String

Definition: Specifies the ID of the project where the load balancer is used.

Range: N/A

vip_subnet_cidr_id

String

Definition: Specifies the ID of the IPv4 subnet where the load balancer is located. This subnet is also called the frontend subnet.

Range: N/A

vip_address

String

Definition: Specifies the private IPv4 address of the load balancer.

Range: N/A

vip_port_id

String

Definition: Specifies the ID of the port bound to the private IPv4 address of the load balancer.

Range: N/A

tags

Array of Tag objects

Definition: Specifies the tags added to the load balancer.

Range: N/A

created_at

String

Definition: Specifies the time when the load balancer was created.

Range:

The value must be in the format of yyyy-MM-dd'T'HH:mm:ss'Z'.

updated_at

String

Definition: Specifies the time when the load balancer was updated.

Range:

The value must be in the format of yyyy-MM-dd'T'HH:mm:ss'Z'.

guaranteed

Boolean

Definition: Specifies whether the load balancer is a dedicated load balancer.

Range:

  • false: The load balancer is a shared load balancer.

  • true: The load balancer is a dedicated load balancer.

vpc_id

String

Definition: Specifies the ID of the VPC where the load balancer is located.

Range: N/A

eips

Array of EipInfo objects

Definition: Specifies the EIP bound to the load balancer.

Range: N/A

NOTE:
This parameter has the same meaning as publicips.

ipv6_vip_address

String

Definition: Specifies the IPv6 address of the load balancer.

Range: N/A

ipv6_vip_virsubnet_id

String

Definition: Specifies the ID of the IPv6 subnet where the load balancer is located. This subnet is also called the frontend subnet.

Range: N/A

ipv6_vip_port_id

String

Definition: Specifies the ID of the port bound to the IPv6 address of the load balancer.

Range: N/A

availability_zone_list

Array of strings

Definition: Specifies the list of AZs where the load balancers are created.

Range: N/A

enterprise_project_id

String

Definition: Specifies the ID of the enterprise project.

Range:

  • 0: The resource belongs to the default enterprise project.

  • A string in UUID format indicates a non-default enterprise project.

billing_info

String

Definition: Provides resource billing information.

Range:

  • If the value is left blank, the resource is billed on a pay-per-use basis.

This parameter is unsupported. Please do not use it.

l4_flavor_id

String

Definition: Specifies the ID of a flavor at Layer 4.

If the current load balancer is an elastic flavor instance, this parameter defines the maximum elastic flavor at Layer 4.

Range: N/A

l4_scale_flavor_id

String

Definition: Specifies the ID of an elastic flavor at Layer 4.

Range: N/A

NOTE:
This parameter has been discarded. Do not use it.

l7_flavor_id

String

Definition: Specifies the ID of a flavor at Layer 7.

If the current load balancer is an elastic flavor instance, this parameter defines the maximum elastic flavor at Layer 7.

Range: N/A

l7_scale_flavor_id

String

Definition: Specifies the ID of an elastic flavor at Layer 7.

Range: N/A

NOTE:
This parameter has been discarded. Do not use it.

gw_flavor_id

String

Definition: Specifies the flavor ID of the gateway load balancer.

Range: N/A

This parameter is unsupported. Please do not use it.

loadbalancer_type

String

Definition: Specifies the load balancer type.

Range:

  • gateway: gateway load balancers

  • null: other types of load balancers

This parameter is unsupported. Please do not use it.

publicips

Array of PublicIpInfo objects

Definition: Specifies the EIP bound to the load balancer.

Range: N/A

NOTE:
This parameter has the same meaning as eips.

global_eips

Array of GlobalEipInfo objects

Definition: Specifies the global EIP bound to the load balancer.

Range: N/A

This parameter is unsupported. Please do not use it.

elb_virsubnet_ids

Array of strings

Definition: Specifies the network IDs of subnets on the downstream plane.

Range: N/A

elb_virsubnet_type

String

Definition: Specifies the type of the subnet on the downstream plane.

Range:

  • ipv4: IPv4 subnets

  • dualstack: subnets that support IPv4/IPv6 dual stack

ip_target_enable

Boolean

Definition: Specifies whether to add backend servers that are not in the load balancer's VPC.

If you set it to true, you can associate servers in a VPC connected through a VPC peering connection, in a VPC connected through a cloud connection, or in an on-premises data center at the other end of a Direct Connect or VPN connection, by using server IP addresses.

Range:

  • true: This option will be enabled.

  • false: This option will be disabled.

frozen_scene

String

Definition: Specifies the scenario where the load balancer is frozen.

If there are multiple scenarios, separate them with commas (,).

Range:

  • POLICE: The load balancer is frozen due to security reasons.

  • ILLEGAL: The load balancer is frozen due to violation of laws and regulations.

  • VERIFY: Your account has not completed real-name authentication.

  • PARTNER: The load balancer is frozen by the partner.

  • AREAR: The load balancer is frozen due to arrears.

This parameter is unsupported. Please do not use it.

deletion_protection_enable

Boolean

Definition: Specifies whether to enable deletion protection. This parameter is returned only when the deletion protection is enabled in the current region.

Range:

  • false: This option will be disabled.

  • true: This option will be enabled.

This parameter is unsupported. Please do not use it.

autoscaling

AutoscalingRef object

Definition: Specifies information about elastic scaling. If elastic scaling is enabled, the load balancer flavors can be automatically adjusted based on incoming traffic.

Default value: N/A

This parameter is unsupported. Please do not use it.

public_border_group

String

Definition: Specifies the public border group.

Range:

  • center: public border group of the central site

  • Edge site name: public border group of an edge site

This parameter is unsupported. Please do not use it.

charge_mode

String

Definition: Specifies the charge mode of the load balancer.

Range:

  • flavor: billed by the fixed flavor you select.

  • lcu: billed by how many LCUs you have used.

  • Null: If it is a shared load balancer, it is free. If it is a dedicated load balancer, it will be billed by the fixed flavor you select.

This parameter is unsupported. Please do not use it.

service_lb_mode

String

Definition: Specifies load balancer mode.

Range:

  • lb: Cross-tenant access is not supported.

  • ep: Cross-tenant access is supported.

This parameter is unsupported. Please do not use it.

instance_type

String

Definition: Specifies the internal service to which the load balancer belongs.

Range: N/A

This parameter is unsupported. Please do not use it.

instance_id

String

Definition: Specifies the ID of the instance with which the load balancer is associated.

Range: N/A

This parameter is unsupported. Please do not use it.

proxy_protocol_extensions

Array of ProxyProtocolExtension objects

Definition: Specifies the proxy protocol extension.

Range: N/A

This parameter is unsupported. Please do not use it.

waf_failure_action

String

Definition: Specifies traffic distributing policies when the WAF is faulty.

Range: discard indicates traffic will not be distributed. forward indicates traffic will be distributed to the default backend servers.

This parameter is unsupported. Please do not use it.

log_group_id

String

Definition: Specifies the ID of the log group that is associated with the load balancer.

Range: N/A

log_topic_id

String

Definition: Specifies the ID of the log topic that is associated with the load balancer.

Range: N/A

Table 9 PoolRef

Parameter

Type

Description

id

String

Definition: Specifies the backend server group ID.

Range: N/A

Table 10 ListenerRef

Parameter

Type

Description

id

String

Definition: Specifies the listener ID.

Range: N/A

Table 11 Tag

Parameter

Type

Description

key

String

Definition: Specifies the tag key.

Range: N/A

value

String

Definition: Specifies the tag value.

Range: N/A

Table 12 EipInfo

Parameter

Type

Description

eip_id

String

Definition: Specifies the EIP ID.

Range: N/A

eip_address

String

Definition: Specifies the EIP.

Range: N/A

ip_version

Integer

Definition: Specifies the IP address version.

Range:

  • 4: IPv4 addresses

  • 6: IPv6 addresses

Table 13 PublicIpInfo

Parameter

Type

Description

publicip_id

String

Definition: Specifies the EIP ID.

Range: N/A

publicip_address

String

Definition: Specifies the EIP.

Range: N/A

ip_version

Integer

Definition: Specifies the IP address version.

Range:

  • 4: IPv4 address

  • 6: IPv6 address

Table 14 GlobalEipInfo

Parameter

Type

Description

global_eip_id

String

Definition: Specifies the ID of the global EIP.

Range: N/A

global_eip_address

String

Definition: Specifies the global EIP.

Range: N/A

ip_version

Integer

Definition: Specifies the IP address version.

Range:

  • 4: IPv4 addresses

  • 6: IPv6 addresses

Table 15 AutoscalingRef

Parameter

Type

Description

enable

Boolean

Definition: Specifies whether to enable elastic scaling for the load balancer.

Range:

  • true: This option will be enabled.

  • false: This option will be disabled.

min_l7_flavor_id

String

Definition: Specifies the ID of the minimum elastic flavor at Layer 7.

Range: N/A

Table 16 ProxyProtocolExtension

Parameter

Type

Description

vip_address

String

Definition: Specifies the IPv4 address.

Constraints: N/A

Range: N/A

Default value: N/A

ipv6_vip_address

String

Definition: Specifies the IPv6 address.

Constraints: N/A

Range: N/A

Default value: N/A

extension

Extension object

Definition: Specifies the proxy protocol extension.

Constraints: N/A

Range: N/A

Default value: N/A

Table 17 Extension

Parameter

Type

Description

ep_id

String

Definition: Specifies the VPC endpoint ID.

Constraints: N/A

Range: N/A

Default value: N/A

ep_service_id

String

Definition: Specifies the VPC endpoint service ID.

Constraints: N/A

Range: N/A

Default value: N/A

Example Requests

Modifying the description and name of a load balancer

PUT https://{ELB_Endpoint}/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}

{
  "loadbalancer" : {
    "description" : "loadbalancer",
    "name" : "loadbalancer-update"
  }
}

Example Responses

Status code: 200

Successful request.

{
  "request_id" : "010dad1e-32a3-4405-ab83-62a1fc5f8722",
  "loadbalancer" : {
    "id" : "2e073bf8-edfe-4e51-a699-d915b0b8af89",
    "project_id" : "b2782e6708b8475c993e6064bc456bf8",
    "name" : "loadbalancer-update",
    "description" : "loadbalancer",
    "vip_port_id" : null,
    "vip_address" : null,
    "admin_state_up" : true,
    "provisioning_status" : "ACTIVE",
    "operating_status" : "ONLINE",
    "listeners" : [ {
      "id" : "41937176-bf64-4b58-8e0d-9ff2d0d32c54"
    }, {
      "id" : "abc6ac93-ad0e-4765-bd5a-eec632efde56"
    }, {
      "id" : "b9d8ba97-6d60-467d-838d-f3550b54c22a"
    }, {
      "id" : "fd797ebd-263d-4b18-96e9-e9188d36c69e"
    } ],
    "pools" : [ {
      "id" : "0aabcaa8-c35c-4ddc-a60c-9032d0ac0b80"
    }, {
      "id" : "165d9092-396e-4a8d-b398-067496a447d2"
    } ],
    "tags" : [ ],
    "provider" : "vlb",
    "created_at" : "2019-04-20T03:10:37Z",
    "updated_at" : "2019-05-24T02:11:58Z",
    "vpc_id" : "2037c5bb-e04b-4de2-9300-9051af18e417",
    "enterprise_project_id" : "0",
    "availability_zone_list" : [ "AZ1", "AZ2", "dc3" ],
    "ipv6_vip_address" : null,
    "ipv6_vip_virsubnet_id" : null,
    "ipv6_vip_port_id" : null,
    "eips" : [ ],
    "guaranteed" : true,
    "billing_info" : null,
    "l4_flavor_id" : null,
    "l4_scale_flavor_id" : null,
    "l7_flavor_id" : null,
    "l7_scale_flavor_id" : null,
    "vip_subnet_cidr_id" : null,
    "deletion_protection_enable" : false,
    "public_border_group" : "center"
  }
}

Status Codes

Status Code

Description

200

Successful request.

Error Codes

See Error Codes.