文档首页/ 弹性公网IP EIP/ API参考/ API V3/ GEIP与实例的绑定关系/ 查询GEIP与实例绑定关系的租户列表
更新时间:2024-08-15 GMT+08:00
分享

查询GEIP与实例绑定关系的租户列表

功能介绍

查询GEIP与实例绑定关系的租户列表

调用方法

请参见如何调用API

URI

GET /v3/{project_id}/geip/bindings

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

最小长度:1

最大长度:32

表2 Query参数

参数

是否必选

参数类型

描述

fields

String

形式为"fields=geip_id&fields=geip_ip_address&...",支持字段:geip_id/geip_ip_address/instance_type/instance_id/vnic/vn_list/public_border_group/gcbandwidth/version/created_at/updated_at/instance_vpc_id

最小长度:0

最大长度:1024

geip_id

String

最小长度:1

最大长度:36

geip_ip_address

String

最小长度:1

最大长度:64

public_border_group

String

最小长度:1

最大长度:36

instance_type

String

最小长度:0

最大长度:64

instance_id

String

最小长度:0

最大长度:36

instance_vpc_id

String

最小长度:0

最大长度:36

gcbandwidth.id

String

最小长度:0

最大长度:36

gcbandwidth.admin_status

String

最小长度:0

最大长度:64

gcbandwidth.size

Integer

最小值:0

最大值:999999

gcbandwidth.sla_level

String

最小长度:0

最大长度:64

gcbandwidth.dscp

Integer

最小值:0

最大值:63

vnic.private_ip_address

String

最小长度:0

最大长度:64

vnic.vpc_id

String

最小长度:0

最大长度:36

vnic.port_id

String

最小长度:0

最大长度:36

vnic.device_id

String

最小长度:0

最大长度:36

vnic.device_owner

String

最小长度:0

最大长度:256

vnic.device_owner_prefixlike

String

最小长度:0

最大长度:256

vnic.instance_type

String

最小长度:0

最大长度:64

vnic.instance_id

String

最小长度:0

最大长度:36

sort_key

String

排序,形式为"sort_key=geip_id&sort_dir=asc" 支持字段:geip_id/version/public_border_group/ geip_ip_address/created_at/updated_at

最小长度:0

最大长度:1024

sort_dir

String

排序方向 取值范围:asc、desc

最小长度:0

最大长度:1024

limit

Integer

每页返回的个数取值范围:0~[2000],其中2000为局点差异项,具体取值由局点决定

最小值:0

最大值:2000

offset

Integer

分页起始点

marker

String

分页起始点

最小长度:0

最大长度:36

请求参数

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

geip_bindings

Array of GeipBindingsInternalResp objects

geip绑定关系对象

数组长度:0 - 999999

request_id

String

本次请求编号

最小长度:0

最大长度:36

表4 GeipBindingsInternalResp

参数

参数类型

描述

geip_id

String

GEIP的uuid

最小长度:0

最大长度:36

geip_ip_address

String

GEIP的ip地址

最小长度:0

最大长度:64

public_border_group

String

中心站点or边缘站点,默认展示

最小长度:0

最大长度:64

created_at

String

创建时间

最小长度:0

最大长度:64

updated_at

String

更新时间

最小长度:0

最大长度:64

instance_type

String

绑定实例的类型

最小长度:0

最大长度:64

instance_id

String

绑定实例的id

最小长度:0

最大长度:36

version

Integer

GEIP的版本号

最小值:0

最大值:9223372036854775807

gcbandwidth

BackboneBandwidthResp object

骨干带宽对象

vnic

InstanceVnicResp object

实例port的信息

vn_list

Array of InstancevirtualListResp objects

GEIP实例的vn信息

数组长度:0 - 9999

表5 BackboneBandwidthResp

参数

参数类型

描述

id

String

骨干带宽的uuid

最小长度:0

最大长度:36

admin_status

String

骨干带宽的状态

最小长度:0

最大长度:64

size

Integer

骨干带宽的大小

最小值:0

最大值:2000

short_id

String

骨干带宽的short_id

最小长度:0

最大长度:36

sla_level

String

描述网络等级,从高到低分为铂金、金、银、铜

枚举值:

  • Pt

  • Au

  • Ag

  • Cu

dscp

Integer

线路质量金银铜对应的DSCP值

最小值:0

最大值:63

表6 InstanceVnicResp

参数

参数类型

描述

private_ip_address

String

实例port的ip地址

最小长度:0

最大长度:64

device_id

String

port的device_id

最小长度:0

最大长度:36

device_owner

String

port的device_owner

最小长度:0

最大长度:64

vpc_id

String

port的vpc_id

最小长度:0

最大长度:36

port_id

String

port的uuid

最小长度:0

最大长度:36

mac

String

port的mac地址

最小长度:0

最大长度:256

vtep

String

port的vtep地址

最小长度:0

最大长度:256

vni

Integer

port的vni

最小值:0

最大值:999999

instance_id

String

port的实例id

最小长度:0

最大长度:36

instance_type

String

port的实例类型

最小长度:0

最大长度:64

port_profile

String

port的profile

最小长度:0

最大长度:1024

表7 InstancevirtualListResp

参数

参数类型

描述

id

String

virtualnexthop的uuid

最小长度:0

最大长度:36

owner

String

virtualnexthop的所有者

最小长度:0

最大长度:256

location

String

标识网关所在位置POD、AZ、REGION、GLOBAL

最小长度:0

最大长度:256

forward_mode

String

功能说明:nexthops的转发模式 取值范围:'ACTIVE-ACTIVE'多活模式、'ACTIVE-STANDBY'主备模式

最小长度:0

最大长度:256

枚举值:

  • ACTIVE-ACTIVE

  • ACTIVE-STANDBY

cluster_id

String

功能说明:网关所在集群信息,可为空 取值范围:0-36长度的字符串

最小长度:0

最大长度:36

hash_mode

String

功能说明:nexthops在底层的负载均衡策略 取值范围:'2_TUPLE'二元组、'3_TUPLE'三元组、'5_TUPLE'五元组

缺省值:5_TUPLE

最小长度:0

最大长度:256

枚举值:

  • 2_TUPLE

  • 3_TUPLE

  • 5_TUPLE

type

String

功能说明:下一跳所属网络类型 取值范围:'VXLAN'、'VLAN'

缺省值:VXLAN

最小长度:0

最大长度:256

枚举值:

  • VLAN

  • VXLAN

vni

Integer

功能说明:网络id标识,与type组合使用 取值范围:type=VXLAN时取值0-16777215,type=VLAN时取值0-4095

最小值:0

最大值:999999

nexthops

Array of NexthopDict objects

下一跳信息列表

数组长度:0 - 999999

created_at

String

功能说明:VirtualNexthop对象创建时间,UTC格式

最小长度:0

最大长度:256

updated_at

String

功能说明:VirtualNexthop对象更新时间,UTC格式

最小长度:0

最大长度:256

表8 NexthopDict

参数

参数类型

描述

ip_address

String

功能说明:下一跳的实际地址 约束:同一virtualnexthop中的nexthops列表,不同下一跳之间的地址不允许重复

最小长度:0

最大长度:256

mode

String

功能说明:标识主备模式,与virtualnexthop的forward_mode配合使用 取值范围:'ACTIVE'主、'STANDBY'备

最小长度:0

最大长度:256

枚举值:

  • ACTIVE

  • STANDBY

请求示例

查询GEIP与实例绑定关系的租户列表

GET https://{Endpoint}/v3/{project_id}/geip/bindings

响应示例

状态码: 200

GET操作正常返回

{
  "geip_bindings" : [ {
    "geip_id" : "33866d83-e3eb-4380-b58d-525a47031435",
    "geip_ip_address" : "15.12.10.45",
    "public_border_group" : "center",
    "created_at" : "2021-07-07T13:10:19",
    "updated_at" : "2021-07-07T13:10:19",
    "instance_type" : "PORT",
    "instance_id" : "c88b8567-bd23-4e75-9257-b3052bd51bc1",
    "version" : 1637893479433,
    "gcbandwidth" : {
      "id" : "45866d83-e3eb-4380-b58d-525a47031435",
      "admin_status" : "active",
      "size" : 100,
      "short_id" : "45866d83",
      "sla_level" : "Ag",
      "dscp" : 0
    },
    "vnic" : {
      "private_ip_address" : "172.16.1.49",
      "device_id" : "aa4c1bb3-7a61-4f1b-a828-bd41b742d4f4",
      "device_owner" : "compute:br-iaas-odin1a",
      "vpc_id" : "4ec81e96-7d45-488b-833f-792c8f1e679a",
      "port_id" : "b52eec78-271d-48fa-a6df-fc9761416f56",
      "mac" : "fa:16:3e:25:db:02",
      "vtep" : null,
      "vni" : null,
      "instance_id" : "",
      "instance_type" : "",
      "port_profile" : null
    },
    "vn_list" : [ {
      "id" : "7cc3ccb1-877f-46bf-9225-ce1df80288cf",
      "owner" : "br2gw",
      "location" : "br-iaas-odin1b",
      "forward_mode" : "ACTIVE-STANDBY",
      "cluster_id" : "br-iaas-odin1b",
      "hash_mode" : "5_TUPLE",
      "type" : "VXLAN",
      "vni" : 4000,
      "created_at" : "2021-07-15T09:44:40Z",
      "updated_at" : "2021-07-15T09:44:40Z",
      "nexthops" : [ {
        "ip_address" : "18.9.203.100",
        "mode" : "ACTIVE"
      } ]
    } ]
  } ],
  "request_id" : "6d81f3f0-1c4a-4fba-aaca-1b9e762125d4"
}

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
58
59
60
61
62
63
64
65
66
67
68
69
70
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 ListProjectGeipBindingsSolution {

    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();
        ListProjectGeipBindingsRequest request = new ListProjectGeipBindingsRequest();
        request.withFields("<fields>");
        request.withGeipId("<geip_id>");
        request.withGeipIpAddress("<geip_ip_address>");
        request.withPublicBorderGroup("<public_border_group>");
        request.withInstanceType("<instance_type>");
        request.withInstanceId("<instance_id>");
        request.withInstanceVpcId("<instance_vpc_id>");
        request.withGcbandwidthId("<gcbandwidth.id>");
        request.withGcbandwidthAdminStatus("<gcbandwidth.admin_status>");
        request.withGcbandwidthSize(<gcbandwidth.size>);
        request.withGcbandwidthSlaLevel("<gcbandwidth.sla_level>");
        request.withGcbandwidthDscp(<gcbandwidth.dscp>);
        request.withVnicPrivateIpAddress("<vnic.private_ip_address>");
        request.withVnicVpcId("<vnic.vpc_id>");
        request.withVnicPortId("<vnic.port_id>");
        request.withVnicDeviceId("<vnic.device_id>");
        request.withVnicDeviceOwner("<vnic.device_owner>");
        request.withVnicDeviceOwnerPrefixlike("<vnic.device_owner_prefixlike>");
        request.withVnicInstanceType("<vnic.instance_type>");
        request.withVnicInstanceId("<vnic.instance_id>");
        request.withSortKey("<sort_key>");
        request.withSortDir("<sort_dir>");
        request.withLimit(<limit>);
        request.withOffset(<offset>);
        request.withMarker("<marker>");
        try {
            ListProjectGeipBindingsResponse response = client.listProjectGeipBindings(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
43
44
45
46
47
48
49
50
51
52
53
54
55
# 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 = ListProjectGeipBindingsRequest()
        request.fields = "<fields>"
        request.geip_id = "<geip_id>"
        request.geip_ip_address = "<geip_ip_address>"
        request.public_border_group = "<public_border_group>"
        request.instance_type = "<instance_type>"
        request.instance_id = "<instance_id>"
        request.instance_vpc_id = "<instance_vpc_id>"
        request.gcbandwidth_id = "<gcbandwidth.id>"
        request.gcbandwidth_admin_status = "<gcbandwidth.admin_status>"
        request.gcbandwidth_size = <gcbandwidth.size>
        request.gcbandwidth_sla_level = "<gcbandwidth.sla_level>"
        request.gcbandwidth_dscp = <gcbandwidth.dscp>
        request.vnic_private_ip_address = "<vnic.private_ip_address>"
        request.vnic_vpc_id = "<vnic.vpc_id>"
        request.vnic_port_id = "<vnic.port_id>"
        request.vnic_device_id = "<vnic.device_id>"
        request.vnic_device_owner = "<vnic.device_owner>"
        request.vnic_device_owner_prefixlike = "<vnic.device_owner_prefixlike>"
        request.vnic_instance_type = "<vnic.instance_type>"
        request.vnic_instance_id = "<vnic.instance_id>"
        request.sort_key = "<sort_key>"
        request.sort_dir = "<sort_dir>"
        request.limit = <limit>
        request.offset = <offset>
        request.marker = "<marker>"
        response = client.list_project_geip_bindings(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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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.ListProjectGeipBindingsRequest{}
	fieldsRequest:= "<fields>"
	request.Fields = &fieldsRequest
	geipIdRequest:= "<geip_id>"
	request.GeipId = &geipIdRequest
	geipIpAddressRequest:= "<geip_ip_address>"
	request.GeipIpAddress = &geipIpAddressRequest
	publicBorderGroupRequest:= "<public_border_group>"
	request.PublicBorderGroup = &publicBorderGroupRequest
	instanceTypeRequest:= "<instance_type>"
	request.InstanceType = &instanceTypeRequest
	instanceIdRequest:= "<instance_id>"
	request.InstanceId = &instanceIdRequest
	instanceVpcIdRequest:= "<instance_vpc_id>"
	request.InstanceVpcId = &instanceVpcIdRequest
	gcbandwidthIdRequest:= "<gcbandwidth.id>"
	request.GcbandwidthId = &gcbandwidthIdRequest
	gcbandwidthAdminStatusRequest:= "<gcbandwidth.admin_status>"
	request.GcbandwidthAdminStatus = &gcbandwidthAdminStatusRequest
	gcbandwidthSizeRequest:= int32(<gcbandwidth.size>)
	request.GcbandwidthSize = &gcbandwidthSizeRequest
	gcbandwidthSlaLevelRequest:= "<gcbandwidth.sla_level>"
	request.GcbandwidthSlaLevel = &gcbandwidthSlaLevelRequest
	gcbandwidthDscpRequest:= int32(<gcbandwidth.dscp>)
	request.GcbandwidthDscp = &gcbandwidthDscpRequest
	vnicPrivateIpAddressRequest:= "<vnic.private_ip_address>"
	request.VnicPrivateIpAddress = &vnicPrivateIpAddressRequest
	vnicVpcIdRequest:= "<vnic.vpc_id>"
	request.VnicVpcId = &vnicVpcIdRequest
	vnicPortIdRequest:= "<vnic.port_id>"
	request.VnicPortId = &vnicPortIdRequest
	vnicDeviceIdRequest:= "<vnic.device_id>"
	request.VnicDeviceId = &vnicDeviceIdRequest
	vnicDeviceOwnerRequest:= "<vnic.device_owner>"
	request.VnicDeviceOwner = &vnicDeviceOwnerRequest
	vnicDeviceOwnerPrefixlikeRequest:= "<vnic.device_owner_prefixlike>"
	request.VnicDeviceOwnerPrefixlike = &vnicDeviceOwnerPrefixlikeRequest
	vnicInstanceTypeRequest:= "<vnic.instance_type>"
	request.VnicInstanceType = &vnicInstanceTypeRequest
	vnicInstanceIdRequest:= "<vnic.instance_id>"
	request.VnicInstanceId = &vnicInstanceIdRequest
	sortKeyRequest:= "<sort_key>"
	request.SortKey = &sortKeyRequest
	sortDirRequest:= "<sort_dir>"
	request.SortDir = &sortDirRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	markerRequest:= "<marker>"
	request.Marker = &markerRequest
	response, err := client.ListProjectGeipBindings(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

GET操作正常返回

错误码

请参见错误码

相关文档