Updated on 2022-01-25 GMT+08:00

Assigning an EIP

Function

This API is used to assign an EIP.

The EIP service provides independent public IP addresses and bandwidth for Internet access. EIPs can be bound to or unbound from ECSs, BMSs, virtual IP addresses, load balancers, and NAT gateways.

URI

POST /v1/{project_id}/publicips

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.

Request Message

  • Request parameter
    Table 2 Request parameter

    Name

    Mandatory

    Type

    Description

    publicip

    Yes

    Object

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

    bandwidth

    Yes

    Object

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

    Table 3 Description of the publicip field

    Name

    Mandatory

    Type

    Description

    type

    Yes

    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.

    ip_address

    No

    String

    • Specifies the EIP to be assigned. The system automatically assigns an EIP if you do not specify it.
    • The value must be a valid IPv4 address in the available IP address range.

    Table 4 Description of the bandwidth field

    Name

    Mandatory

    Type

    Description

    name

    Yes

    String

    • Specifies the bandwidth name.
    • The value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).
    • This parameter is mandatory when share_type is set to PER. This parameter will be ignored when share_type is set to WHOLE with an ID specified.

    size

    Yes

    Integer

    • Specifies the bandwidth size.
    • The value ranges from 1 Mbit/s to 300 Mbit/s by default. (The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console.)
    • This parameter is mandatory when share_type is set to PER. This parameter will be ignored when share_type is set to WHOLE with an ID specified.
    • The minimum increment for bandwidth adjustment varies depending on the bandwidth range. The details are as follows:
      • The minimum increment is 1 Mbit/s if the allowed bandwidth ranges from 0 Mbit/s to 300 Mbit/s (with 300 Mbit/s included).
      • The minimum increment is 50 Mbit/s if the allowed bandwidth ranges from 300 Mbit/s to 1000 Mbit/s (with 1000 Mbit/s included).
      • The minimum increment is 500 Mbit/s if the allowed bandwidth is greater than 1000 Mbit/s.

    share_type

    Yes

    String

    • Specifies the bandwidth type.
    • The value is PER, indicating that the bandwidth is dedicated.

    charge_mode

    No

    String

    • The value is traffic, indicating that the billing is based on traffic.
  • Example request 1 (IPv4 EIP with dedicated bandwidth)
    POST https://{Endpoint}/v1/{project_id}/publicips
    
    {
        "publicip": {
            "type": "5_bgp",
            "ip_version": 4
        },
        "bandwidth": {
            "name": "bandwidth123",
            "size": 10,
            "share_type": "PER"
        }
    }

Response Message

  • Response parameter
    Table 5 Response parameter

    Name

    Type

    Description

    publicip

    Object

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

    Table 6 Description of the publicip 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)
      • DOWN (Unbound)
      • ACTIVE (Bound)
      • ELB (Bound to a load balancer)
      • ERROR (Exceptions)

    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.

    tenant_id

    String

    Specifies the project ID.

    create_time

    String

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

    bandwidth_size

    Integer

    Specifies the bandwidth (Mbit/s).

  • Example response 1 (IPv4 EIP with dedicated bandwidth)
    {
        "publicip": {
            "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706",
            "status": "PENDING_CREATE",
            "type": "5_bgp",
            "public_ip_address": "161.xx.xx.7",
            "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
            "ip_version": 4,
            "create_time": "2015-07-16 04:10:52",
            "bandwidth_size": 0
            
        }
    }

Status Code

See Status Codes.

Error Code

See Error Codes.