更新时间:2024-08-27 GMT+08:00
分享

查询公网IP池列表

功能介绍

全量查询公网IP池列表

调用方法

请参见如何调用API

URI

GET /v3/{project_id}/eip/publicip-pools

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

最大长度:32

表2 Query参数

参数

是否必选

参数类型

描述

marker

String

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

最小长度:0

最大长度:36

limit

Integer

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

  • 数取值范围:0~[2000],其中2000为局点差异项,具体取值由局点决定

最小值:0

最大值:2000

fields

String

  • 功能说明:查询字段,形式为"fields=id&fields=name&..."

  • 支持字段:id/name/size/used/project_id/status/billing_info/created_at/updated_at/type/shared/is_common/description/tags/enterprise_project_id/allow_share_bandwidth_types/public_border_group

最小长度:0

最大长度:1024

sort_key

String

  • 功能说明:排序字段,形式为"sort_key=id&sort_dir=asc"

  • 支持字段:id/name/created_at/updated_at/public_border_group

最小长度:0

最大长度:36

sort_dir

String

  • 功能说明:排序方向

  • 取值范围:asc、desc

最小长度:0

最大长度:16

id

String

  • 功能说明:根据id过滤

最小长度:0

最大长度:36

name

String

  • 功能说明:根据name过滤

最小长度:0

最大长度:128

size

Integer

  • 功能说明:根据size过滤

最小值:0

最大值:999999

status

String

  • 功能说明:根据status过滤

最小长度:0

最大长度:36

type

String

  • 功能说明:根据type过滤

最小长度:0

最大长度:36

description

String

  • 功能说明:根据description过滤

最小长度:0

最大长度:1024

public_border_group

String

  • 功能说明:根据public_border_group过滤

最小长度:0

最大长度:64

请求参数

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

publicip_pools

Array of PublicipPoolShowResp objects

功能说明:公网池对象

数组长度:0 - 9999

request_id

String

本次请求的编号

page_info

PageInfoOption object

分页页码信息

表4 PublicipPoolShowResp

参数

参数类型

描述

id

String

  • 功能说明:公网IP池id

最小长度:36

最大长度:36

name

String

  • 功能说明:公网IP池名字

最小长度:0

最大长度:64

status

String

  • 功能说明:状态

最小长度:0

最大长度:36

type

String

  • 功能说明:类型

  • 取值范围:

    • spec_bgp:专属离散动态

    • spec_sbgp:专属离散静态

枚举值:

  • spec_bgp

  • spec_sbgp

description

String

  • 功能说明:描述

最小长度:0

最大长度:1024

project_id

String

  • 功能说明:租户id

最小长度:36

最大长度:36

size

Integer

  • 功能说明:池子大小

最小值:0

最大值:999999

used

Integer

  • 功能说明:已经使用的ip数量

最小值:0

最大值:999999

created_at

String

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

最小长度:0

最大长度:64

updated_at

String

  • 功能说明:公网IP池更新时间

最小长度:0

最大长度:64

billing_info

BillingInfoDict object

订单信息, 有订单表示包周期

public_border_group

String

  • 功能说明:中心还是边缘。公网IP池取值为center

最小长度:0

最大长度:64

shared

Boolean

  • 功能说明:是否共享

tags

Array of TagsInfo objects

  • 功能说明:用户标签。

数组长度:0 - 9999

enterprise_project_id

String

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

最小长度:0

最大长度:36

allow_share_bandwidth_types

Array of strings

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

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

最大长度:64

数组长度:0 - 9999

表5 BillingInfoDict

参数

参数类型

描述

order_id

String

  • 功能说明:订单信息

最小长度:0

最大长度:64

product_id

String

  • 功能说明:产品id

最小长度:0

最大长度:64

表6 TagsInfo

参数

参数类型

描述

key

String

  • 功能说明:标签名称

  • 约束:

    • 不能为空。

    • 长度不超过128个字符。

    • 由英文字母、数字、下划线、中划线、中文字符组成

    • 同一资源的key值不能重复。

最大长度:128

value

String

  • 功能说明:标签值

  • 约束:

    • 长度不超过255个字符。

    • 由英文字母、数字、下划线、中划线、中文字符组成

    • 同一资源的key值不能重复。

最大长度:255

表7 PageInfoOption

参数

参数类型

描述

previous_marker

String

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

最小长度:0

最大长度:36

next_marker

String

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

最小长度:0

最大长度:36

current_count

Integer

当前页的数据总数

最小值:0

最大值:99999

请求示例

查询公网IP池列表,可根据Query参数过滤

GET https://{Endpoint}/v3/{project_id}/eip/publicip-pools

响应示例

状态码: 200

Get操作正常返回

{
  "publicip_pools" : [ {
    "id" : "f588ccfa-8750-4d7c-bf5d-2ede24414706",
    "name" : "test_pool_xxx",
    "status" : "active",
    "shared" : true,
    "enterprise_project_id" : 0,
    "type" : "spec_bgp",
    "project_id" : "8b7e35ad379141fc9df3e178bd64f55c",
    "size" : 100,
    "used" : 20,
    "billing_info" : {
      "order_id" : "CS20081917179HW3H",
      "product_id" : "00301-335034-0--0"
    },
    "created_at" : "2020-07-17T09:25:53Z",
    "updated_at" : "2020-07-17T09:25:53Z",
    "description" : "test",
    "public_border_group" : "center",
    "allow_share_bandwidth_types" : [ "share" ]
  } ],
  "request_id" : "4a06c169-cc67-4d94-a786-2d70ef09b100",
  "page_info" : {
    "previous_marker" : "f588ccfa-8750-4d7c-bf5d-2ede24414706",
    "current_count" : 1
  }
}

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
48
49
50
51
52
53
54
55
56
57
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 ListPublicipPoolSolution {

    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");

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

        EipClient client = EipClient.newBuilder()
                .withCredential(auth)
                .withRegion(EipRegion.valueOf("<YOUR REGION>"))
                .build();
        ListPublicipPoolRequest request = new ListPublicipPoolRequest();
        request.withMarker("<marker>");
        request.withLimit(<limit>);
        request.withFields("<fields>");
        request.withSortKey("<sort_key>");
        request.withSortDir("<sort_dir>");
        request.withId("<id>");
        request.withName("<name>");
        request.withSize(<size>);
        request.withStatus("<status>");
        request.withType("<type>");
        request.withDescription("<description>");
        request.withPublicBorderGroup("<public_border_group>");
        try {
            ListPublicipPoolResponse response = client.listPublicipPool(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
32
33
34
35
36
37
38
39
40
41
42
# 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"]

    credentials = BasicCredentials(ak, sk)

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

    try:
        request = ListPublicipPoolRequest()
        request.marker = "<marker>"
        request.limit = <limit>
        request.fields = "<fields>"
        request.sort_key = "<sort_key>"
        request.sort_dir = "<sort_dir>"
        request.id = "<id>"
        request.name = "<name>"
        request.size = <size>
        request.status = "<status>"
        request.type = "<type>"
        request.description = "<description>"
        request.public_border_group = "<public_border_group>"
        response = client.list_publicip_pool(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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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")

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

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

    request := &model.ListPublicipPoolRequest{}
	markerRequest:= "<marker>"
	request.Marker = &markerRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	fieldsRequest:= "<fields>"
	request.Fields = &fieldsRequest
	sortKeyRequest:= "<sort_key>"
	request.SortKey = &sortKeyRequest
	sortDirRequest:= "<sort_dir>"
	request.SortDir = &sortDirRequest
	idRequest:= "<id>"
	request.Id = &idRequest
	nameRequest:= "<name>"
	request.Name = &nameRequest
	sizeRequest:= int32(<size>)
	request.Size = &sizeRequest
	statusRequest:= "<status>"
	request.Status = &statusRequest
	typeRequest:= "<type>"
	request.Type = &typeRequest
	descriptionRequest:= "<description>"
	request.Description = &descriptionRequest
	publicBorderGroupRequest:= "<public_border_group>"
	request.PublicBorderGroup = &publicBorderGroupRequest
	response, err := client.ListPublicipPool(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

Get操作正常返回

错误码

请参见错误码

相关文档