文档首页/ 弹性公网IP EIP/ API参考/ API V3/ 弹性公网IP/ 查询弹性公网IP列表 - ListPublicips
更新时间:2025-12-31 GMT+08:00
分享

查询弹性公网IP列表 - ListPublicips

功能介绍

查询用户当前局点全量弹性公网IP列表信息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

GET /v3/{project_id}/eip/publicips

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取项目ID请参见获取项目ID

最大长度:32

表2 Query参数

参数

是否必选

参数类型

描述

marker

String

  • 功能说明:分页查询起始的资源ID,为空时为查询第一页

最小长度:0

最大长度:36

offset

Integer

  • 功能说明:分页查询起始的资源序号

最小值:0

最大值:99999

limit

Integer

  • 功能说明:每页返回的资源个数

  • 取值范围:1~2000

最小值:0

最大值:2000

fields

Array of strings

  • 功能说明:查询字段,形式为“fields=id&fields=owner&...”

  • 支持字段:id/project_id/ip_version/type/public_ip_address/public_ipv6_address/network_type/status/description/created_at/updated_at/vnic/bandwidth/associate_instance_type/associate_instance_id/lock_status/billing_info/tags/enterprise_project_id/allow_share_bandwidth_types/public_border_group/alias/publicip_pool_name/publicip_pool_id

数组长度:0 - 999

sort_key

String

  • 功能说明:排序字段,形式为“sort_key=id”

  • 支持字段:id/public_ip_address/public_ipv6_address/ip_version/created_at/updated_at/public_border_group

sort_dir

String

  • 功能说明:排序方向

  • 取值范围:

    • asc 顺序

    • desc 倒序

id

Array of strings

  • 功能说明:根据id过滤

数组长度:0 - 999

ip_version

Array of integers

  • 功能说明:根据ip_version过滤

  • 取值范围:4、6

数组长度:0 - 999

public_ip_address

Array of strings

  • 功能说明:根据public_ip_address过滤

数组长度:0 - 999

public_ip_address_like

String

  • 功能说明:根据public_ip_address过滤,模糊搜索

最小长度:0

最大长度:64

public_ipv6_address

Array of strings

  • 功能说明:根据public_ipv6_address过滤

数组长度:0 - 999

public_ipv6_address_like

String

  • 功能说明:根据public_ipv6_address过滤,模糊搜索

最小长度:0

最大长度:64

type

Array of strings

  • 功能说明:根据type过滤

  • 取值范围:

    • EIP:弹性公网IP

    • DUALSTACK:双栈IPV6

数组长度:0 - 999

network_type

Array of strings

  • 功能说明:根据network_type过滤

  • 取值范围:5_telcom、5_union、5_bgp、5_sbgp、5_ipv6、5_graybgp

数组长度:0 - 999

publicip_pool_name

Array of strings

  • 功能说明:根据publicip_pool_name过滤

  • 取值范围:5_telcom、5_union、5_bgp、5_sbgp、5_ipv6、5_graybgp、专属池名称等

数组长度:0 - 999

status

Array of strings

  • 功能说明:根据status过滤

  • 取值范围:FREEZED、DOWN、ACTIVE、ERROR

数组长度:0 - 999

alias_like

String

  • 功能说明:根据alias模糊搜索

最小长度:0

最大长度:64

alias

Array of strings

  • 功能说明:根据alias过滤

数组长度:0 - 999

description

Array of strings

  • 功能说明:根据description过滤

数组长度:0 - 999

vnic.private_ip_address

Array of strings

  • 功能说明:根据private_ip_address过滤

数组长度:0 - 999

vnic.private_ip_address_like

String

  • 功能说明:根据private_ip_address模糊搜索

最小长度:0

最大长度:64

vnic.device_id

Array of strings

  • 功能说明:端口所属设备ID,表示使用子网内私有IP地址的云服务资源ID,比如云服务器的ID、ELB的ID。可以根据根据device_id过滤

数组长度:0 - 999

vnic.device_owner

Array of strings

  • 功能说明:端口所属的设备,表示使用子网内私有IP地址的云服务资源。可以根据device_owner过滤

数组长度:0 - 999

vnic.vpc_id

Array of strings

  • 功能说明:根据vpc_id过滤

数组长度:0 - 999

vnic.port_id

Array of strings

  • 功能说明:根据port_id过滤

数组长度:0 - 999

vnic.device_owner_prefixlike

String

  • 功能说明:根据device_owner_prefixlike模糊搜索

最小长度:0

最大长度:64

vnic.instance_type

Array of strings

  • 功能说明:根据instance_type过滤

数组长度:0 - 999

vnic.instance_id

Array of strings

  • 功能说明:根据instance_id过滤

数组长度:0 - 999

bandwidth.id

Array of strings

  • 功能说明:根据id过滤

数组长度:0 - 999

bandwidth.name

Array of strings

  • 功能说明:根据name过滤

数组长度:0 - 999

bandwidth.name_like

Array of strings

  • 功能说明:根据name模糊过滤

数组长度:0 - 999

bandwidth.size

Array of integers

  • 功能说明:根据size过滤

数组长度:0 - 999

bandwidth.share_type

Array of strings

  • 功能说明:根据share_type过滤

数组长度:0 - 999

bandwidth.charge_mode

Array of strings

  • 功能说明:根据charge_mode过滤

数组长度:0 - 999

billing_info

Array of strings

  • 功能说明:根据billing_info过滤

数组长度:0 - 999

billing_mode

String

  • 功能说明:根据订单模式过滤,

  • 取值范围:

    • YEARLY_MONTHLY:包周期

    • PAY_PER_USE:按需

associate_instance_type

Array of strings

  • 功能说明:公网IP绑定的实例类型,可以根据associate_instance_type字段过滤

  • 取值范围:

    • PORT(云服务器实例类型,云服务器通常包括ECS、BMS、CCE等)

    • NATGW(NAT网关实例类型)

    • ELB(弹性负载均衡ELB实例类型)

    • ELBV1(弹性负载均衡ELBV1实例类型,存量经典型ELBv1)

    • VPN(虚拟专用网络VPN实例类型)

数组长度:0 - 999

associate_instance_id

Array of strings

  • 功能说明:公网IP绑定的实例ID,可以根据associate_instance_id字段过滤

数组长度:0 - 999

enterprise_project_id

Array of strings

  • 功能说明:根据enterprise_project_id过滤

数组长度:0 - 999

public_border_group

Array of strings

  • 功能说明:根据public_border_group过滤

数组长度:0 - 999

allow_share_bandwidth_type_any

Array of strings

  • 功能说明:共享带宽类型,根据任一共享带宽类型过滤弹性公网IP列表。可以指定多个带宽类型,不同的带宽类型间用逗号分隔。

数组长度:0 - 999

请求参数

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

request_id

String

本次请求的编号

最小长度:0

最大长度:36

publicips

Array of PublicipSingleShowResp objects

弹性公网IP对象

数组长度:0 - 9999

page_info

PageInfoOption object

分页页码信息

total_count

Integer

公网IP总条目数

最小值:0

最大值:999999

表4 PublicipSingleShowResp

参数

参数类型

描述

id

String

  • 功能说明:弹性公网IP唯一标识

project_id

String

  • 功能说明:项目ID

ip_version

Integer

  • 功能说明:IP版本信息

  • 取值范围:

    • 4:公网IP地址为public_ip_address地址

    • 6:公网IP地址为public_ipv6_address地址

public_ip_address

String

  • 功能说明:弹性公网IP或者IPv6端口的地址

  • 约束与限制:双栈(type=DUALSTACK)时会返回0.0.0.0,非正常EIPv4地址

public_ipv6_address

String

  • 功能说明:IPv4时无此字段,IPv6时为申请到的弹性公网IP地址

network_type

String

  • 功能说明:弹性公网IP的网络类型。废弃,功能由publicip_pool_name继承,默认不显示

status

String

  • 功能说明:弹性公网IP的状态

  • 取值范围:

    • FREEZED:冻结

    • BIND_ERROR:绑定失败

    • BINDING:绑定中

    • PENDING_DELETE:释放中

    • PENDING_CREATE:创建中

    • NOTIFYING:创建中

    • NOTIFY_DELETE:释放中

    • PENDING_UPDATE:更新中

    • DOWN:未绑定

    • ACTIVE:绑定

    • ELB:绑定ELB

    • VPN:绑定VPN

    • ERROR:失败

description

String

  • 功能说明:弹性公网IP描述信息

  • 约束与限制:用户以自定义方式标识资源,系统不感知

public_border_group

String

  • 功能说明:表示中心站点资源或者边缘站点资源

  • 取值范围: center、边缘站点名称

  • 约束与限制:publicip只能绑定该字段相同的资源

created_at

String

  • 功能说明:资源创建UTC时间

  • 格式:yyyy-MM-ddTHH:mm:ssZ

updated_at

String

  • 功能说明:资源更新UTC时间

  • 格式:yyyy-MM-ddTHH:mm:ssZ

type

String

  • 参数解释:弹性公网IP类型。

  • 约束限制:不涉及

  • 取值范围:

    • EIP:IPV4类型的弹性公网IP。

    • DUALSTACK:IPV6类型的弹性公网IP。

  • 默认取值:不涉及

vnic

VnicInfo object

  • 功能说明:公网IP绑定实例有PORT时,PORT的相关信息

  • 约束与限制:如果绑定的实例不依赖PORT,该对象为null

bandwidth

PublicipBandwidthInfo object

功能说明:公网IP绑定带宽信息

enterprise_project_id

String

功能说明:企业项目ID。最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。创建弹性公网IP时,给弹性公网IP绑定企业项目ID。

billing_info

String

  • 功能说明:公网IP的订单信息

  • 约束与限制:包周期才会有订单信息,按需资源此字段为空

lock_status

String

  • 功能说明:记录公网IP当前的冻结状态

  • 约束与限制:metadata类型,标识欠费冻结、公安冻结

  • 取值范围:

    • police 公安冻结

    • locked 资源加锁

associate_instance_type

String

  • 功能说明:公网IP绑定的实例类型

  • 取值范围:

    • PORT(云服务器实例类型,云服务器通常包括ECS、BMS、CCE等)

    • NATGW(NAT网关实例类型)

    • ELB(弹性负载均衡ELB实例类型)

    • VPN(虚拟专用网络VPN实例类型)

associate_instance_id

String

  • 功能说明:公网IP绑定的实例ID

publicip_pool_id

String

  • 功能说明:公网IP所属网络的ID,publicip_pool_name对应的网络ID

publicip_pool_name

String

  • 功能说明:弹性公网IP的网络类型, 包括公共池类型,如5_bgp/5_sbgp...,和用户购买的专属池。

  • 专属池见publcip_pool相关接口

alias

String

  • 功能说明:弹性公网IP名称

profile

ProfileInfo object

  • 功能说明:公网IP、元数据。(默认不显示)

fake_network_type

Boolean

  • 参数解释:该字段仅仅用于表示eip的bgp类型是否是真实的静态sbgp。

  • 约束限制:不涉及

  • 取值范围:

    • TRUE:该eip可以切换bgp类型。

    • FALSE:该eip不可以切换bgp类型。(默认不显示)。

  • 默认取值:不涉及

tags

Array of strings

  • 功能说明:用户标签。

数组长度:0 - 9999

associate_instance_metadata

String

  • 功能说明:记录实例的更上一层归属。例如associate_instance_type为PORT,此字段记录PORT的device_id和device_owner信息。仅有限场景记录。(默认不显示)

associate_mode

String

  • 功能说明:开启支持直通模式后展示,表示直通模式的标识。(默认不显示)

最小长度:1

最大长度:36

allow_share_bandwidth_types

Array of strings

  • 功能说明:表示此publicip可以加入的共享带宽类型列表,如果为空列表,则表示该publicip不能加入任何共享带宽

  • 约束与限制:publicip只能加入到有该带宽类型的共享带宽中

最大长度:64

数组长度:0 - 9999

cascade_delete_by_instance

Boolean

  • 功能说明:表示该eip是否支持与实例同步删除。(默认不显示)

表5 VnicInfo

参数

参数类型

描述

private_ip_address

String

  • 功能说明:私网IP地址

device_id

String

  • 功能说明:端口所属设备ID,表示使用子网内私有IP地址的云服务资源ID,比如云服务器的ID、ELB的ID。

  • 约束与限制:不支持设置和更新,由系统自动维护

device_owner

String

  • 功能说明:端口所属的设备,表示使用子网内私有IP地址的云服务资源。

  • 取值范围:合法设备所属

    • network:dhcp(表示DHCP服务)

    • network:VIP_PORT(表示创建的是虚拟IP)

    • network:router_interface_distributed(表示子网网关地址)

    • network:router_centralized_snat(表示SNAT网关地址)

  • 约束与限制:不支持设置和更新,由系统自动维护

vpc_id

String

  • 功能说明:虚拟私有云ID

port_id

String

  • 功能说明:端口ID

port_profile

String

  • 功能说明:端口profile信息

mac

String

  • 功能说明:端口MAC地址

  • 约束与限制:由系统分配,不支持指定

vtep

String

  • 功能说明:VTEP IP

vni

String

  • 功能说明:VXLAN ID

instance_id

String

  • 功能说明:端口所属实例ID,例如RDS实例ID

  • 约束与限制:不支持设置和更新,由系统自动维护

instance_type

String

  • 功能说明:端口所属实例类型,例如“RDS”

  • 约束与限制:不支持设置和更新,由系统自动维护

port_vif_details

String

  • 功能说明:网卡虚拟接口的详细信息

表6 PublicipBandwidthInfo

参数

参数类型

描述

id

String

  • 功能描述:带宽ID

size

Integer

  • 功能描述:带宽大小

  • 取值范围:默认5Mbit/s~2000Mbit/s

share_type

String

  • 功能说明:带宽类型,标识是否是共享带宽

  • 取值范围:

    • PER:独享带宽

    • WHOLE:共享带宽

  • 约束与限制:其中IPv6暂不支持WHOLE类型带宽。

charge_mode

String

  • 功能说明:按流量计费还是按带宽计费

  • 取值范围:

    • bandwidth:按带宽计费

    • traffic:按流量计费

    • 95peak_plus:按增强型95计费

name

String

  • 功能说明:带宽名称

  • 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)

billing_info

String

  • 功能说明:账单信息。如果billinginfo不为空,说明是包周期的带宽

表7 ProfileInfo

参数

参数类型

描述

local_network_port

String

  • 功能说明:公网IP附属的5_xxx网络(如5_bgp)中的port_id

standalone

Boolean

  • 功能说明:标识公网IP是否是和虚机一起创建的。true-独立创建;false-和虚机一起创建

notify_status

String

  • 功能说明:云服务标识公网IP创建进度, 弹性公网IP服务内部使用

create_time

String

  • 功能说明:公网IP创建时间

fake_network_type

Boolean

  • 功能说明:该字段仅仅用于表示eip的bgp类型是否是真实的静态sbgp * 1, 如果为true,则该eip可以切换bgp类型 * 2;

如果为false,则该eip不可以切换bgp类型

create_source

String

  • 功能说明:标识IP是和哪类资源一起购买的

ecs_id

String

  • 功能说明:标识和公网IP一起购买的ecs的id

lock_status

String

  • 功能说明:公网IP加锁状态,

eg:“POLICE,LOCKED”。POLICE-公安冻结;LOCKED-普通冻结;普通冻结细分状态:ARREAR-欠费;DELABLE-可删除;

freezed_status

String

  • 功能说明:公网IP冻结状态。

bandwith_info

BandwidthInfoResp object

  • 功能说明:公网IP绑定的带宽信息

表8 BandwidthInfoResp

参数

参数类型

描述

bandwidth_name

String

  • 功能说明:带宽名称

bandwidth_number

Integer

  • 功能说明:带宽大小

bandwidth_type

String

  • 功能说明:带宽类型

bandwidth_id

String

  • 功能说明:带宽id

表9 PageInfoOption

参数

参数类型

描述

previous_marker

String

翻页时,作为前一页的marker取值

最小长度:0

最大长度:36

next_marker

String

翻页时,作为后一页的marker取值

最小长度:0

最大长度:36

current_count

Integer

当前页的数据总数

最小值:0

最大值:99999

请求示例

查询全量弹性公网IP列表

GET https://{Endpoint}/v3/{project_id}/eip/publicips

响应示例

状态码:200

GET正常返回

{
  "page_info" : {
    "current_count" : 1,
    "next_marker" : "0490aeae-ab8f-4764-b012-45645e9c0aa9",
    "previous_marker" : "0490aeae-ab8f-4764-b012-45645e9c0aa9"
  },
  "publicips" : [ {
    "created_at" : "2022-03-17T09:46:22Z",
    "updated_at" : "2022-03-30T02:46:04Z",
    "lock_status" : null,
    "allow_share_bandwidth_types" : [ "bgp", "sbgp", "share", "share_yidongdanxian", "share_youxuan" ],
    "id" : "006343a1-32bf-4361-958a-efd158153dd0",
    "alias" : null,
    "project_id" : "060576787a80d5762fa2c00f07ddfcf4",
    "ip_version" : 4,
    "public_ip_address" : "88.88.1.141",
    "public_ipv6_address" : null,
    "status" : "DOWN",
    "description" : "",
    "enterprise_project_id" : "0",
    "billing_info" : null,
    "type" : "弹性公网IP",
    "vnic" : {
      "private_ip_address" : "172.16.1.235",
      "device_id" : "cdaba63f-d85d-4399-81c2-ee9764ad34dd",
      "device_owner" : "compute:regionB",
      "vpc_id" : "1c30f428-9741-48b2-a788-0b2f359705eb",
      "port_id" : "22d3576d-c042-4f3d-8c7c-1330a2724627",
      "mac" : "fa:16:3e:3a:22:66",
      "vtep" : "26.111.111.11",
      "vni" : 961184,
      "instance_id" : "",
      "instance_type" : "",
      "port_profile" : null,
      "port_vif_details" : "{\"primary_interface\": true}"
    },
    "bandwidth" : {
      "id" : "149ff19b-5de4-4436-958f-2eca39952e93",
      "size" : 100,
      "share_type" : "PER",
      "charge_mode" : "traffic",
      "name" : "bandwidth-xym-br-eqos",
      "billing_info" : ""
    },
    "associate_instance_type" : "PORT",
    "associate_instance_id" : "22d3576d-c042-4f3d-8c7c-1330a2724627",
    "publicip_pool_id" : "9af5f2e5-1765-4b86-b342-ece52e785c8b",
    "publicip_pool_name" : "5_union",
    "public_border_group" : "center",
    "tags" : [ "key=value" ]
  } ],
  "request_id" : "c4962d006b34af3c2343de7f88ef65e3",
  "total_count" : 100
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.eip.v3.region.EipRegion;
import com.huaweicloud.sdk.eip.v3.*;
import com.huaweicloud.sdk.eip.v3.model.*;


public class ListPublicipsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        EipClient client = EipClient.newBuilder()
                .withCredential(auth)
                .withRegion(EipRegion.valueOf("<YOUR REGION>"))
                .build();
        ListPublicipsRequest request = new ListPublicipsRequest();
        try {
            ListPublicipsResponse response = client.listPublicips(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkeip.v3.region.eip_region import EipRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkeip.v3 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = EipClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(EipRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListPublicipsRequest()
        response = client.list_publicips(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    eip "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v3/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := eip.NewEipClient(
        eip.EipClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListPublicipsRequest{}
	response, err := client.ListPublicips(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

GET正常返回

错误码

请参见错误码

相关文档