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}
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
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 |
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 |
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:
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:
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:
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:
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:
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:
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:
Range:
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:
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 |
Definition: Specifies information about elastic scaling. If elastic scaling is enabled, the load balancer flavors can be automatically adjusted based on incoming traffic. Constraints:
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 |
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 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
enable |
Yes |
Boolean |
Definition: Specifies whether to enable elastic scaling for the load balancer. Constraints: N/A Range:
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
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 (-). |
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:
|
admin_state_up |
Boolean |
Definition: Specifies whether the load balancer is enabled. Range:
|
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:
|
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:
|
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:
|
billing_info |
String |
Definition: Provides resource billing information. Range:
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:
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:
|
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:
|
frozen_scene |
String |
Definition: Specifies the scenario where the load balancer is frozen. If there are multiple scenarios, separate them with commas (,). Range:
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:
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:
This parameter is unsupported. Please do not use it. |
charge_mode |
String |
Definition: Specifies the charge mode of the load balancer. Range:
This parameter is unsupported. Please do not use it. |
service_lb_mode |
String |
Definition: Specifies load balancer mode. Range:
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 |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Definition: Specifies the backend server group ID. Range: N/A |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Definition: Specifies the listener ID. Range: N/A |
Parameter |
Type |
Description |
---|---|---|
key |
String |
Definition: Specifies the tag key. Range: N/A |
value |
String |
Definition: Specifies the tag value. Range: N/A |
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:
|
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:
|
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:
|
Parameter |
Type |
Description |
---|---|---|
enable |
Boolean |
Definition: Specifies whether to enable elastic scaling for the load balancer. Range:
|
min_l7_flavor_id |
String |
Definition: Specifies the ID of the minimum elastic flavor at Layer 7. Range: N/A |
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 |
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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.