doc-exports/docs/vpc/api-ref/vpc_floatingiP_0004.html
Qin Ying, Fan 7e6f07b803 VPC API 20240320 version
Reviewed-by: Sarda, Priya <prsarda@noreply.gitea.eco.tsi-dev.otc-service.com>
Co-authored-by: Qin Ying, Fan <fanqinying@huawei.com>
Co-committed-by: Qin Ying, Fan <fanqinying@huawei.com>
2024-09-05 12:25:23 +00:00

22 KiB

Updating a Floating IP Address

Function

This API is used to update a floating IP address.

During the update, the ID of the floating IP address must be provided in the URL.

If port_id is left blank, the floating IP address has been unbound from the port.

This API has the following constraints:
  • If a floating IP address that you are binding is in the error state, unbind the IP address first.
  • Do not associate a port that has a floating IP address associated to another floating IP address. You must first disassociate the port from the IP address and then associate it with another IP address.
  • This API cannot be used to bind an EIP to or unbind an EIP from a dedicated load balancer.
  • In eu-de, no more new EIPs of this type can be assigned. You can assign EIPs of the BGP (5_bgp) type.
  • Existing EIPs of the Dedicated Load Balancer (5_gray) type can be bound to dedicated or shared load balancers.
    • The EIP console cannot be used to bind EIPs to or unbind them from dedicated load balancers.
    • You can use APIs to bind EIPs to or unbind them from dedicated load balancers. For details, see Binding an EIP and Unbinding an EIP.
    • EIPs of this type can be bound to or unbound from shared load balancers using the EIP console or APIs.
    • You are advised to bind or unbind BGP EIPs to or from dedicated load balancers.
  • 5_gray EIPs cannot be added to the same shared bandwidth as EIPs of other types. If they are in the same shared bandwidth, the bandwidth limit settings will not take effect.

URI

PUT /v2.0/floatingips/{floatingip_id}

Table 1 describes the parameters.

Table 1 Parameter description

Parameter

Mandatory

Type

Description

floatingip_id

Yes

String

Specifies the floating IP address ID.

This parameter is not required when you assign a floating IP address. This parameter is mandatory when you query, update, or delete a floating IP address.

Request Message

Table 2 Request parameter

Parameter

Type

Mandatory

Description

floatingip

floatingip object

Yes

Specifies the floating IP address list. For details, see Table 3.

Table 3 floatingip objects

Parameter

Mandatory

Type

Description

port_id

No

String

Specifies the port ID.

Leaving this parameter blank does not unbind the EIP from the dedicated load balancer.

Response Message

Table 4 Response parameter

Parameter

Type

Description

floatingip

floatingip object

Specifies the floating IP address list. For details, see Table 5.

Table 5 floatingip objects

Attribute

Type

Description

status

String

Specifies the floating IP address status. The value can be ACTIVE, DOWN, or ERROR.

  • DOWN indicates that the floating IP address has not been bound.
  • ACTIVE indicates that the floating IP address has been bound.
  • ERROR indicates that the floating IP address is abnormal.

id

String

Specifies the floating IP address ID.

floating_ip_address

String

Specifies the floating IP address.

floating_network_id

String

Specifies the external network ID.

router_id

String

Specifies the ID of the belonged router.

port_id

String

Specifies the port ID.

fixed_ip_address

String

Specifies the private IP address of the associated port.

tenant_id

String

Specifies the project ID.

dns_name

String

Specifies the DNS name.

dns_domain

String

Specifies the DNS domain.

Example Request

  • Unbind a floating IP address from a port.
    PUT https://{Endpoint}/v2.0/floatingips/b997e0d4-3359-4c74-8f88-bc0af81cd5a2
    
    {
        "floatingip": {
            "port_id": null
        }
    }
  • Bind a floating IP address to a port. The port ID is f91f5763-c5a2-4458-979d-61e48b3c3fac.
    PUT https://{Endpoint}/v2.0/floatingips/b997e0d4-3359-4c74-8f88-bc0af81cd5a2 
     
    {
        "floatingip": {
               "port_id": "f91f5763-c5a2-4458-979d-61e48b3c3fac"
        }
    }

Example Response

Status code: 200

(The floating IP address is unbound from the port.)

{
    "floatingip": {
        "id": "b997e0d4-3359-4c74-8f88-bc0af81cd5a2",
        "status": "DOWN",
        "router_id": null,
        "tenant_id": "bbfe8c41dd034a07bebd592bf03b4b0c",
        "floating_network_id": "0a2228f2-7f8a-45f1-8e09-9039e1d09975",
        "fixed_ip_address": null,
        "floating_ip_address": "88.88.215.205",
        "port_id": null,
        "dns_name": "ecs-80-158-78-239",
        "dns_domain": "reverse.domain-name.com"
    }
}

(The floating IP address is bound to the port.)

{
    "floatingip": {
        "id": "b997e0d4-3359-4c74-8f88-bc0af81cd5a2",
        "status": "DOWN",
        "router_id": null,
        "tenant_id": "bbfe8c41dd034a07bebd592bf03b4b0c",
        "floating_network_id": "0a2228f2-7f8a-45f1-8e09-9039e1d09975",
        "fixed_ip_address": "192.168.10.3",
        "floating_ip_address": "88.88.215.205",
        "port_id": "f91f5763-c5a2-4458-979d-61e48b3c3fac",
        "dns_name": "ecs-80-158-78-239",
        "dns_domain": "reverse.domain-name.com"
    }
}

Status Code

See Status Codes.

Error Code

See Error Codes.