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 | Specifies the load balancer ID. |
project_id | Yes | String | Specifies the project ID. |
Request Parameters
Parameter | Mandatory | Type | Description |
---|---|---|---|
X-Auth-Token | Yes | String | Specifies the token used for IAM authentication. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
loadbalancer | Yes | UpdateLoadBalancerOption object | Specifies the load balancer. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | Specifies the load balancer name. |
admin_state_up | No | Boolean | Specifies whether the load balancer is enabled. Value options:
|
description | No | String | Provides supplementary information about the load balancer. |
ipv6_vip_virsubnet_id | No | String | Specifies the ID of the IPv6 subnet where the load balancer resides. You can query parameter neutron_network_id in the response by calling the API (GET https://{VPC_Endpoint}/v1/{project_id}/subnets). Note:
|
vip_subnet_cidr_id | No | String | Specifies the ID of the IPv4 subnet where the load balancer resides. You can query parameter neutron_subnet_id in the response by calling the API (GET https://{VPC_Endpoint}/v1/{project_id}/subnets). Note:
|
vip_address | No | String | Specifies the private IPv4 address bound to the load balancer. Note:
|
l4_flavor_id | No | String | Specifies the ID of a flavor at Layer 4. Note: |
l7_flavor_id | No | String | Specifies the ID of a flavor at Layer 7. Note: |
ipv6_bandwidth | No | BandwidthRef object | Specifies the ID of the bandwidth used by an IPv6 address. Note: This parameter is available only when you create or update a load balancer with a public IPv6 address. If you use a new IPv6 address and specify a shared bandwidth, the IPv6 address will be added to the shared bandwidth. |
ip_target_enable | No | Boolean | Specifies whether to add backend servers that are not in the load balancer's VPC. Value options:
Note:
|
elb_virsubnet_ids | No | Array of strings | Specifies the 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). Note:
|
deletion_protection_enable | No | Boolean | Specifies whether to enable deletion protection. Value options:
NOTE: Disable deletion protection for all your resources before deleting your account. |
autoscaling | No | Specifies information about elastic scaling. If elastic scaling is enabled, the load balancer specifications can be automatically adjusted based on incoming traffic. Note:
| |
ipv6_vip_address | No | String | Specifies the IPv6 address bound to the load balancer. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
id | Yes | String | Specifies the shared bandwidth ID. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
enable | Yes | Boolean | Specifies whether to enable elastic scaling the load balancer. Value options:
|
min_l7_flavor_id | No | String | Specifies the ID of the minimum Layer-7 flavor for elastic scaling. Note:
|
Response Parameters
Status code: 200
Parameter | Type | Description |
---|---|---|
loadbalancer | LoadBalancer object | Specifies the load balancer. |
loadbalancer_id | String | Specifies the load balancer ID. This parameter is unsupported. Please do not use it. |
order_id | String | Specifies the order No. This parameter is unsupported. Please do not use it. |
request_id | String | Specifies the request ID. The value is automatically generated. |
Parameter | Type | Description |
---|---|---|
id | String | Specifies the load balancer ID. |
description | String | Provides supplementary information about the load balancer. |
provisioning_status | String | Specifies the provisioning status of the load balancer. Value options:
|
admin_state_up | Boolean | Specifies whether the load balancer is enabled. Value options:
|
provider | String | Specifies the provider of the load balancer. The value can only be vlb. |
pools | Array of PoolRef objects | Lists the IDs of backend server groups associated with the load balancer. |
listeners | Array of ListenerRef objects | Lists the IDs of listeners added to the load balancer. |
operating_status | String | Specifies the operating status of the load balancer. Value options:
|
name | String | Specifies the load balancer name. |
project_id | String | Specifies the project ID of the load balancer. |
vip_subnet_cidr_id | String | Specifies the ID of the frontend IPv4 subnet where the load balancer resides. |
vip_address | String | Specifies the private IPv4 address bound to the load balancer. |
vip_port_id | String | Specifies the ID of the port bound to the private IPv4 address of the load balancer. |
tags | Array of Tag objects | Lists the tags added to the load balancer. |
created_at | String | Specifies the time when the load balancer was created, in the format of yyyy-MM-dd''T''HH:mm:ss''Z''. |
updated_at | String | Specifies the time when the load balancer was updated, in the format of yyyy-MM-dd''T''HH:mm:ss''Z''. |
guaranteed | Boolean | Specifies whether the load balancer is a dedicated load balancer. Value options:
|
vpc_id | String | Specifies the ID of the VPC where the load balancer resides. |
eips | Array of EipInfo objects | Specifies the EIP bound to the load balancer. Only one EIP can be bound to a load balancer. This parameter has the same meaning as publicips. |
ipv6_vip_address | String | Specifies the IPv6 address bound to the load balancer. |
ipv6_vip_virsubnet_id | String | Specifies the ID of the IPv6 subnet where the load balancer resides. |
ipv6_vip_port_id | String | Specifies the ID of the port bound to the IPv6 address of the load balancer. |
availability_zone_list | Array of strings | Specifies the list of AZs where the load balancer is created. |
enterprise_project_id | String | Specifies the enterprise project ID. If this parameter is not passed during resource creation, "0" will be returned, and the resource belongs to the default enterprise project. Note: "0" is not a valid enterprise project ID and cannot be used in the APIs for creating, updating the load balancer, or querying the details of the load balancer. |
billing_info | String | Provides resource billing information.
This parameter is unsupported. Please do not use it. |
l4_flavor_id | String | Specifies the ID of a flavor at Layer 4. l4_flavor_id defines the maximum Layer 4 flavor for elastic scaling. Note:
|
l4_scale_flavor_id | String | Specifies the ID of the reserved flavor at Layer 4. This parameter is unsupported. Please do not use it. |
l7_flavor_id | String | Specifies the ID of a flavor at Layer 7. l7_flavor_id defines the maximum Layer 7 flavor for elastic scaling. Note:
|
l7_scale_flavor_id | String | Specifies the ID of the reserved flavor at Layer 7. This parameter is unsupported. Please do not use it. |
publicips | Array of PublicIpInfo objects | Specifies the EIP bound to the load balancer. Only one EIP can be bound to a load balancer. This parameter has the same meaning as eips. |
global_eips | Array of GlobalEipInfo objects | Specifies the global EIP bound to the load balancer. Only the first global EIP specified under global_eips will be bound. |
elb_virsubnet_ids | Array of strings | Lists the IDs of subnets on the downstream plane. |
elb_virsubnet_type | String | Specifies the type of the subnet on the downstream plane. Value options:
|
ip_target_enable | Boolean | Specifies whether to add backend servers that are not in the load balancer's VPC. Value options:
Note:
|
frozen_scene | String | Specifies the scenario where the load balancer is frozen. |
ipv6_bandwidth | BandwidthRef object | Specifies the ID of the bandwidth used by an IPv6 address. Note: This parameter is available only when you create or update a load balancer with a public IPv6 address. If you use a new IPv6 address and specify a shared bandwidth, the IPv6 address will be added to the shared bandwidth. |
deletion_protection_enable | Boolean | Specifies whether to enable deletion protection. Value options:
Note:
|
autoscaling | AutoscalingRef object | Specifies information about elastic scaling. If elastic scaling is enabled, the load balancer specifications can be automatically adjusted based on incoming traffic. Note:
|
public_border_group | String | Specifies the AZ group to which the load balancer belongs. |
waf_failure_action | String | Specifies traffic distributing policies when the WAF is faulty. Value options:
Note: This parameter takes effect only when WAF is enabled for the load balancer. This parameter is unsupported. Please do not use it. |
Parameter | Type | Description |
---|---|---|
id | String | Specifies the ID of the backend server group. |
Parameter | Type | Description |
---|---|---|
id | String | Specifies the listener ID. |
Parameter | Type | Description |
---|---|---|
key | String | Specifies the tag key. |
value | String | Specifies the tag value. |
Parameter | Type | Description |
---|---|---|
eip_id | String | Specifies the EIP ID. |
eip_address | String | Specifies the EIP. |
ip_version | Integer | Specifies the IP version. 4 indicates IPv4, and 6 indicates IPv6. |
Parameter | Type | Description |
---|---|---|
publicip_id | String | Specifies the EIP ID. |
publicip_address | String | Specifies the IP address. |
ip_version | Integer | Specifies the IP version. The value can be 4 (IPv4) or 6 (IPv6). |
Parameter | Type | Description |
---|---|---|
global_eip_id | String | Specifies the ID of the global EIP. |
global_eip_address | String | Specifies the global EIP. |
ip_version | Integer | Specifies the IP version. The value can be 4 and 6. 4 indicates an IPv4 address, and 6 indicates an IPv6 address. |
Parameter | Type | Description |
---|---|---|
id | String | Specifies the shared bandwidth ID. |
Parameter | Type | Description |
---|---|---|
enable | Boolean | Specifies whether to enable elastic scaling for the load balancer. Value options:
|
min_l7_flavor_id | String | Specifies the ID of the minimum Layer-7 flavor for elastic scaling. Note:
|
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.
- Calling Method
- URI