doc-exports/elb/api-ref/UpdateLoadBalancer.rst

64 KiB

Updating a Load Balancer

Function

This API is used to update a load balancer.

URI

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

Table 1 Path parameters
Parameter Mandatory Type Description
loadbalancer_id Yes String Specifies the load balancer ID.
project_id Yes String Specifies the project ID.

Request Parameters

Table 2 Request header parameters
Parameter Mandatory Type Description
X-Auth-Token Yes String Specifies the token used for IAM authentication.
Table 3 Request body parameters
Parameter Mandatory Type Description
loadbalancer Yes U pdateLoadBalancerOption <#UpdateLoadBalan cer__request_UpdateLoadBalancerOption>__ object Specifies the load balancer.
Table 4 UpdateLoadBalancerOption
Parameter Mandatory Type Description
name No String

Specifies the load balancer name.

Minimum: 0

Maximum: 255

admin_state_up No Boolean

Specifies the administrative status of the load balancer. And the value can only be true.

This parameter is unsupported. Please do not use it.

Default: true

description No String

Provides supplementary information about the load balancer.

Minimum: 0

Maximum: 255

ipv6_vip_virsubnet_id No String

Specifies the ID of the IPv6 subnet where the load balancer works. You can query id in the response by calling the API (GET https://{VPC_Endpoint }/v1/{project_id}/subnets).

The IPv6 subnet can be updated using ipv6_vip_virsubnet_id, and the private IPv6 address of the load balancer will be changed accordingly.

The IPv6 subnet must be in the VPC specified by vpc_id.

Note:

  • ipv6_vip_virsubnet_id can be updated only when guaranteed is set to true.
  • Enter null if the IPv6 address is unbound from the load balancer.

This parameter is unsupported. Please do not use it.

vip_subnet_cidr_id No String

Specifies the ID of the IPv4 subnet where the load balancer works. You can query neutron_subnet_id in the response by calling the API (GET https://{VPC_Endpoint }/v1/{project_id}/subnets).

  • The IPv4 subnet can be updated using vip_subnet_cidr_id, and the private IPv4 address of the load balancer will be changed accordingly.
  • If vip_address is also specified, the IP address specified by it must be in the subnet specified by vip_subnet_cidr_id and will be used as the private IPv4 address of the load balancer.
  • The IPv4 subnet must be in the VPC specified by vpc_id.

Note:

  • vip_subnet_cidr_id can be updated only when guaranteed is set to true.
  • Enter null if the private IPv4 address is unbound from the load balancer.

Minimum: 1

Maximum: 36

vip_address No String

Specifies the virtual IP address bound to the load balancer. The IP address must be from the IPv4 subnet of the VPC where the load balancer works and IP address should not be occupied by other services.

The IP address specified by this parameter must be in the subnet specified by vip_subnet_cidr_id and will be used as the private IPv4 address of the load balancer.

vip_address can be updated only when guaranteed is set to true.

Minimum: 1

Maximum: 36

l4_flavor_id No String

Specifies the ID of the Layer-4 flavor.

Note:

  • This parameter can be updated only when guaranteed is set to true.
  • The value cannot be changed from null to a specific value, or the other way around. If you need to change the flavor, you must select a larger one.

Minimum: 1

Maximum: 255

l7_flavor_id No String

Specifies the ID of the Layer-7 flavor.

Note:

  • This parameter can be updated only when guaranteed is set to true.
  • The value cannot be changed from null to a specific value, or the other way around. If you need to change the flavor, you must select a larger one.
ipv6_bandwidth No Bandw idthRef <#UpdateLoadBalance r__request_BandwidthRef>__ object

Specifies the ID of the bandwidth. This parameter is available only when you create or update a dedicated load balancer that has an IPv6 address bound.

If you use a new IPv6 address and specify a shared bandwidth, the IPv6 address will be added to the shared bandwidth.

This parameter is unsupported. Please do not use it.

ip_target_enable No Boolean

Specifies whether to enable cross-VPC backend. The value can only be true.

This parameter is unsupported. Please do not use it.

Table 5 BandwidthRef
Parameter Mandatory Type Description
id Yes String Specifies the shared bandwidth ID.

Response Parameters

Status code: 200

Table 6 Response body parameters
Parameter Type Description
request_id String Specifies the request ID. The value is automatically generated.
loadbalancer LoadBalancer object Specifies the load balancer.
Table 7 LoadBalancer
Parameter Type Description
id String

Specifies the load balancer ID.

Default: Automatically generated

description String

Provides supplementary information about the load balancer.

Minimum: 1

Maximum: 255

provisioning_status String Specifies the provisioning status of the load balancer. The value can only be ACTIVE.
admin_state_up Boolean

Specifies the administrative status of the load balancer. The value can only be true.

This parameter is unsupported. Please do not use it.

Default: true

provider String

Specifies the provider of the load balancer. The value can only be vlb.

Default: vlb

pools Array of PoolRef <#Upd ateLoadBalancer__response_PoolRef>__ objects Lists the IDs of backend server groups associated with the load balancer.
listeners Array of ListenerRef <#UpdateL oadBalancer__response_ListenerRef>__ objects Lists the IDs of listeners added to the load balancer.
operating_status String

Specifies the operating status of the load balancer. The value can only be ONLINE.

Minimum: 1

Maximum: 16

vip_address String

Specifies the private IPv4 address bound to the load balancer.

Minimum: 1

Maximum: 64

vip_subnet_cidr_id String

Specifies the ID of the IPv4 subnet where the load balancer works.

Minimum: 1

Maximum: 36

name String

Specifies the name of the load balancer.

Minimum: 1

Maximum: 255

project_id String

Specifies the project ID of the load balancer.

Minimum: 1

Maximum: 32

vip_port_id String

Specifies the ID of the port bound to the virtual IP address (the value of vip_address) of the load balancer.

When you create a dedicated load balancer, the system automatically creates a port for the load balancer and associates the port with a default security group. However, security group rules containing the port will not affect traffic to and from the load balancer.

tags Array of Tag < #UpdateLoadBalancer__response_Tag>__ objects Lists the tags added to the load balancer.
created_at String

Specifies the time when the load balancer was created.

Minimum: 1

Maximum: 20

updated_at String

Specifies the time when the load balancer was updated.

Minimum: 1

Maximum: 20

guaranteed Boolean

Specifies whether the load balancer is a dedicated load balancer.

The value can be true or false. true indicates a dedicated load balancer, and false indicates a shared load balancer. When dedicated load balancers are launched in the eu-de region, either true or false will be returned when you use the API to query or update a load balancer.

Default: true

vpc_id String Specifies the ID of the VPC where the load balancer works.
eips Array of EipInfo <#Upd ateLoadBalancer__response_EipInfo>__ objects Specifies the EIP bound to the load balancer.
ipv6_vip_address String

Specifies the IPv6 address bound to the load balancer.

This parameter is unsupported. Please do not use it.

Default: None

Minimum: 1

Maximum: 64

ipv6_vip_virsubnet_id String

Specifies the ID of the IPv6 subnet where the load balancer works.

This parameter is unsupported. Please do not use it.

ipv6_vip_port_id String

Specifies the ID of the port bound to the IPv6 address.

This parameter is unsupported. Please do not use it.

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, the resource belongs to the default enterprise project.

This parameter is unsupported. Please do not use it.

Default: 0

l4_flavor_id String

Specifies the Layer-4 flavor.

Minimum: 1

Maximum: 255

l4_scale_flavor_id String

Specifies the reserved Layer 4 flavor.

Minimum: 1

Maximum: 255

l7_flavor_id String

Specifies the Layer-7 flavor.

Minimum: 1

Maximum: 255

l7_scale_flavor_id String

Specifies the reserved Layer 7 flavor.

Minimum: 1

Maximum: 255

publicips Array of PublicIpInfo <#UpdateLo adBalancer__response_PublicIpInfo>__ objects Specifies the EIP bound to the load balancer.
elb_virsubnet_ids Array of strings Specifies the ID of the subnet on the downstream plane. The ports used by the load balancer dynamically occupy IP addresses in the subnet.
ip_target_enable Boolean

Specifies whether to enable cross-VPC backend.

This parameter is unsupported. Please do not use it.

Default: false

frozen_scene String

Specifies the scenario where the load balancer is frozen. Use commas to separate multiple scenarios.

If the value is ARREAR, the load balancer is frozen because your account is in arrears.

ipv6_bandwidth BandwidthRef <#UpdateLo adBalancer__response_BandwidthRef>__ object

Specifies the ID of the bandwidth. This parameter is available only when you create or update a dedicated load balancer that has an IPv6 address bound.

If you use a new IPv6 address and specify a shared bandwidth, the IPv6 address will be added to the shared bandwidth.

This parameter is unsupported. Please do not use it.

Table 8 PoolRef
Parameter Type Description
id String Specifies the ID of the backend server group.
Table 9 ListenerRef
Parameter Type Description
id String Specifies the listener ID.
Table 10 Tag
Parameter Type Description
key String Specifies the tag key.
value String Specifies the tag value.
Table 11 EipInfo
Parameter Type Description
eip_id String Specifies the EIP ID.
eip_address String Specifies the specific IP address.
ip_version Integer

Specifies the IP version. 4 indicates IPv4, and 6 indicates IPv6.

IPv6 is unsupported. The value cannot be 6.

Table 12 PublicIpInfo
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).

IPv6 is unsupported. The value cannot be 6.

Table 13 BandwidthRef
Parameter Type Description
id String Specifies the shared bandwidth ID.

Example Requests

PUT

https://{elb_endpoint}/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}

{
  "loadbalancer" : {
    "admin_state_up" : true,
    "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",
    "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" ],
    "eips" : [ ],
    "guaranteed" : true
  }
}

Status Codes

Status Code Description
200 Successful request.

Error Codes

See Error Codes.

Parent topic: Load Balancer