# Querying EIPs

#### Function

This API is used to query EIPs.

#### URI

GET /v1/{project_id}/publicips

Table 1 describes the parameters.

Table 1 Parameter description
Name | Mandatory | Type | Description
--- | --- | --- | ---
project_id | Yes | String | Specifies the project ID.

marker

No

String

Specifies a resource ID for pagination query, indicating that the query starts from the next record of the specified resource ID.

This parameter can work together with the parameter limit.

- If parameters marker and limit are not passed, all resource records will be returned.
- If the parameter marker is not passed and the value of parameter limit is set to 10, the first 10 resource records will be returned.
- If the value of the parameter marker is set to the resource ID of the 10th record and the value of parameter limit is set to 10, the 11th to 20th resource records will be returned.
- If the value of the parameter marker is set to the resource ID of the 10th record and the parameter limit is not passed, resource records starting from the 11th records (including 11th) will be returned.

limit | No | Integer | Specifies the number of records that will be returned on each page. The value is from 0 to intmax. limit can be used together with marker. For details, see the parameter description of marker.

enterprise_project_id

No

String

- Specifies the enterprise project ID. This field can be used to filter the EIPs of an enterprise project.
- The value is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project. To obtain the EIPs bound to all enterprise projects of the user, set all_granted_eps.

NOTE:

This parameter is unsupported. Do not use it.

#### Request Message

- Request parameter

  None

- Example request

      GET https://{Endpoint}/v1/{project_id}/publicips?limit={limit}&marker={marker}

#### Response Message

- Response parameter

  Table 2 Response parameter
  Name | Type | Description
  --- | --- | ---
  publicips | Array of publicips objects | Specifies the EIP object. For details, see Table 3.

  Table 3 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)
    - DOWN (Unbound)
    - ACTIVE (Bound)
    - ELB (Bound to a load balancer)
    - ERROR (Exceptions)

  profile | Object | Specifies the additional parameters, including the order ID and product ID. For details, see Table 4.

  type

  String

  - Specifies the EIP type.
  - The value can be 5_bgp (Dynamic BGP), 5_mailbgp (Mail BGP), or 5_gray (Dedicated load balancer, shared load balancer).
  - 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.

  ip_version

  Integer

  Specifies the IP address version. The value can be 4 or 6.
  - 4: IPv4
  - 6: IPv6 (IPv6 is not supported currently.)

  private_ip_address

  String

  - Specifies the private IP address bound to the EIP.
  - This parameter is returned only if the private IP address is bound to the EIP.
  NOTE:

  The value of private_ip_address is null if the EIP is bound to a dedicated load balancer.

  port_id

  String

  - Specifies the port ID.
  - This parameter is returned only when a port is associated with the EIP.
  NOTE:

  The value of port_id is null if the EIP is bound to a dedicated load balancer.

  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.

  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 assigning an EIP, you need to 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:

  This parameter is unsupported. Do not use it.

  Table 4 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

      {
          "publicips": [
              {
                  "id": "6285e7be-fd9f-497c-bc2d-dd0bdea6efe0",
                  "status": "DOWN",
                  "profile": {},
                  "type": "5_bgp",
                  "public_ip_address": "161.xx.xx.9",
                  "private_ip_address": "192.168.10.5",
                  "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
                  "create_time": "2015-07-16 04:22:32",
                  "bandwidth_id": "3fa5b383-5a73-4dcb-a314-c6128546d855",
                  "bandwidth_share_type": "PER",
                  "bandwidth_size": 5,
                  "bandwidth_name": "bandwidth-test",
                  "enterprise_project_id":"b261ac1f-2489-4bc7-b31b-c33c3346a439",
                  "ip_version": 4
              },
              {
                  "id": "80d5b82e-43b9-4f82-809a-37bec5793bd4",
                  "status": "DOWN",
                  "profile": {},
                  "type": "5_bgp",
                  "public_ip_address": "161.xx.xx.10",
                  "private_ip_address": "192.168.10.6",
                  "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
                  "create_time": "2015-07-16 04:23:03",
                  "bandwidth_id": "a79fd11a-047b-4f5b-8f12-99c178cc780a",
                  "bandwidth_share_type": "PER",
                  "bandwidth_size": 5,
                  "bandwidth_name": "bandwidth-test1",
                  "enterprise_project_id":"0",
                  "ip_version": 4
              }
          ]
      }

#### Status Code

See Status Codes.

#### Error Code

See Error Codes.

Parent topic: Elastic IP