Updated on 2023-03-17 GMT+08:00

Updating an EIP

Function

This API is used to bind an EIP to a NIC, or unbind an EIP from a NIC.

URI

PUT /v1/{project_id}/publicips/{publicip_id}

Table 1 describes the parameters.
Table 1 Parameter description

Name

Mandatory

Description

project_id

Yes

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

publicip_id

Yes

Specifies the unique identifier of an EIP.

Request Message

  • Request parameter
    Table 2 Request header parameter

    Parameter

    Mandatory

    Type

    Description

    X-Auth-Token

    Yes

    String

    Specifies the user token. The token can be obtained by calling the IAM API used for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

    Table 3 Request parameter

    Name

    Mandatory

    Type

    Description

    publicip

    Yes

    publicip object

    Specifies the EIP object. For details, see Table 4.

    Table 4 Description of the publicip field

    Name

    Mandatory

    Type

    Description

    port_id

    No

    String

    • Specifies the port ID.
    • The value must be an existing port ID. If this parameter is not included or the parameter value is left blank, the EIP is unbound. If the specified port ID does not exist or has already been bound with an EIP, an error message will be displayed.
  • Example request 1 (Binding an EIP to a NIC)
    PUT https://{Endpoint}/v1/{project_id}/publicips/{publicip_id}
    
    {
        "publicip": {
            "port_id": "f588ccfa-8750-4d7c-bf5d-2ede24414706"
        }
    }

Response Message

  • Response parameter
    Table 5 Response parameter

    Name

    Type

    Description

    publicip

    publicip object

    Specifies the EIP object. For details, see Table 6.

    Table 6 Description of the publicips field

    Name

    Type

    Description

    id

    String

    Specifies the unique identifier of an EIP.

    status

    String

    • Specifies the EIP status.
    • Possible values are as follows:
      • FREEZED (Frozen)
      • BIND_ERROR (Binding failed)
      • BINDING (Binding)
      • PENDING_DELETE (Releasing)
      • PENDING_CREATE (Assigning)
      • PENDING_UPDATE (Updating)
      • NOTIFYING (Assigning)
      • NOTIFY_DELETE (Releasing)
      • DOWN (Unbound)
      • ACTIVE (Bound)
      • ELB (Bound to a load balancer)
      • VPN (Bound to a VPN)
      • ERROR (Exceptions)

    profile

    profile object

    Specifies the additional parameters, including the order ID and product ID. For details, see Table 7.

    type

    String

    • Specifies the EIP type.
    • The value can be 5_bgp.
    • Constraints:
      • The configured value must be supported by the system.
      • publicip_id is an IPv4 port. If publicip_type is not specified, the default value is 5_bgp.

    public_ip_address

    String

    Specifies the obtained EIP if only IPv4 EIPs are available.

    public_ipv6_address

    String

    Specifies the obtained EIP if IPv6 EIPs are available. This parameter does not exist if only IPv4 EIPs are available.

    ip_version

    Integer

    Specifies the IP address version. The value can be 4 or 6.

    • 4: IPv4
    • 6: IPv6

    private_ip_address

    String

    • Specifies the private IP address bound to the EIP.
    • This parameter is returned only when a port is associated with the EIP.

    port_id

    String

    • Specifies the port ID.
    • This parameter is returned only when a port is associated with the EIP.

    tenant_id

    String

    Specifies the project ID.

    create_time

    String

    Specifies the time (UTC) when the EIP is assigned.

    bandwidth_id

    String

    Specifies the ID of the EIP bandwidth.

    bandwidth_size

    Integer

    Specifies the bandwidth (Mbit/s).

    bandwidth_share_type

    String

    • Specifies the EIP bandwidth type.
    • The value can be PER or WHOLE.
      • PER: Dedicated bandwidth
      • WHOLE: Shared bandwidth

    bandwidth_name

    String

    Specifies the bandwidth name.

    alias

    String

    Specifies the EIP name.

    enterprise_project_id

    String

    • Specifies the enterprise project ID. The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-).
    • When you assign an EIP, associate an enterprise project ID with the EIP.
    • If this parameter is not specified, the default value is 0, which indicates that the default enterprise project is used.
    NOTE:

    For more information about enterprise projects and how to obtain enterprise project IDs, see the Enterprise Management User Guide.

    Table 7 Description of the profile field

    Name

    Type

    Description

    order_id

    String

    Specifies the order ID.

    product_id

    String

    Specifies the product ID.

    region_id

    String

    Specifies the region ID.

    user_id

    String

    Specifies the user ID.

  • Example response (Binding an EIP to a NIC)
    {
      "publicip": {
        "id": "f6318bef-6508-4ea5-a48f-6152b6b1a8fb",
        "status": "ACTIVE",
        "profile": {}, 
        "type": "5_bgp",
        "port_id": "a135e9b8-1630-40d2-a6c5-eb534a61efbe",
        "public_ip_address": "10.xx.xx.162",
        "private_ip_address": "192.168.1.131",
        "tenant_id": "26ae5181a416420998eb2093aaed84d9",
        "create_time": "2019-03-27 01:33:18",
        "bandwidth_size": 7,
        "ip_version": 4,
        "bandwidth_name": "bandwidth-2aef",
        "enterprise_project_id": "0",
        "bandwidth_share_type": "PER",
        "bandwidth_id": "7a258fff-10d8-44b8-8124-c59079eb8f4c"
      }
    }

Status Code

See Status Codes.

Error Code

See Error Codes.