更新时间:2024-10-31 GMT+08:00

查询端口列表

功能介绍

查询端口列表。

URI

GET /v1/{project_id}/ports

样例
GET https://{Endpoint}/v1/{project_id}/ports?id={port_id}&name={port_name}&admin_state_up={is_admin_status_up}&network_id={network_id}&mac_address={port_mac}&device_id={port_device_id}&device_owner={device_owner}&status={port_status}&fixed_ips=ip_address={ip_address}&fixed_ips=subnet_id={subnet_id}&limit=10&marker={marker}
参数说明请参见表1
表1 参数说明

名称

是否必选

参数类型

说明

project_id

String

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

id

String

  • 功能说明:按照端口ID过滤查询。

name

String

  • 功能说明:按照端口名称过滤查询。
  • 取值范围:最大长度不超过255。

admin_state_up

Boolean

  • 功能说明:按照管理状态过滤查询。
  • 取值范围:true、false

network_id

String

  • 功能说明:按照端口所属网络的ID过滤查询。

mac_address

String

  • 功能说明:按照端口MAC地址过滤查询。

device_id

String

  • 功能说明:按照端口所属设备ID过滤查询。

device_owner

String

  • 功能说明:按照端口所属设备过滤查询。
  • 取值范围:请参见表3中的device_owner参数。

status

String

  • 功能说明:按照端口状态过滤查询。
  • 取值范围:ACTIVE、BUILD、DOWN。

security_groups

Array of strings

  • 功能说明:按照安全组UUID列表过滤查询。

marker

String

分页查询的起始资源ID,表示从指定资源的下一条记录开始查询。

marker需要和limit配合使用:

  • 若不传入marker和limit参数,查询结果返回第一页全部资源记录。
  • 若不传入marker参数,limit为10,查询结果返回第1~10条资源记录。
  • 若marker为第10条记录的资源ID,limit为10,查询结果返回第11~20条资源记录。
  • 若marker为第10条记录的资源ID,不传入limit参数,查询结果返回第11~2000条(limit默认值2000)资源记录。

limit

Integer

分页查询每页返回的记录个数,取值范围为0~intmax(2^31-1),默认值2000。

limit需要和marker配合使用,详细规则请见marker的参数说明。

fixed_ips

Array of strings

  • 功能说明:按照端口IP地址或者端口所属子网ID过滤查询。
  • 取值范围:fixed_ips=ip_address={ip_address},fixed_ips=subnet_id={subnet_id},其中{ip_address}填ip地址,如192.168.21.22;{subnet_id}填IPv4子网或IPv6子网的ID,如011fc878-5521-4654-a1ad-f5b0b5820302。

enterprise_project_id

String

  • 功能说明:按照企业项目ID过滤查询。
  • 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。若需要查询当前用户所有企业项目绑定的端口,请传参all_granted_eps
说明:

关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》

enable_efi

Boolean

  • 功能说明:按照端口是否使能efi过滤查询。
  • 取值范围:true、false。

请求参数

请求示例

GET https://{Endpoint}/v1/{project_id}/ports

响应参数

表2 响应参数

名称

参数类型

说明

ports

Array of port objects

端口列表对象,请参见表3

表3 port字段说明

名称

参数类型

说明

id

String

端口唯一标识。

name

String

  • 功能说明:端口名称。
  • 取值:默认为空,最大长度不超过255。

network_id

String

  • 功能说明:端口所属网络的ID。
  • 约束:必须是存在的网络ID。
说明:

网络ID的获取方式:

  • 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
  • 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表

admin_state_up

Boolean

  • 功能说明:管理状态。
  • 约束:默认为true。

mac_address

String

  • 功能说明:端口MAC地址。
  • 约束:由系统分配,不支持指定。

fixed_ips

Array of fixed_ip objects

  • 功能说明:端口IP,例如:"fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}],请参见表4
  • 约束:ipv4场景下,一个端口只支持一个fixed_ip,且不支持更新。ipv6场景下,一个端口最多可以支持两个fixed_ip,且不支持更新。

device_id

String

  • 功能说明:端口所属设备ID。
  • 约束:不支持设置和更新,由系统自动维护。

device_owner

String

  • 功能说明:设备所属(DHCP/Router/ lb/Nova)。
  • 取值范围:network:dhcp,network:router_interface_distributed,compute:xxx(xxx对应具体的可用区名称,例如compute:aa-bb-cc表示是被可用区aa-bb-cc上的ECS使用),neutron:VIP_PORT,neutron:LOADBALANCERV2,neutron:LOADBALANCERV3,network:endpoint_interface,network:nat_gateway,network:ucmp。
  • 使用说明:不支持更新,只允许用户在创建虚拟IP端口时,为虚拟IP端口设置device_owner为neutron:VIP_PORT,当端口的该字段不为空时,仅支持该字段为neutron:VIP_PORT时的端口删除。

tenant_id

String

项目ID。

status

String

  • 功能说明:端口状态,Hana硬直通虚拟机端口状态总为DOWN。
  • 取值范围:ACTIVE、BUILD、DOWN。

security_groups

Array of strings

安全组的UUID(扩展属性)。

allowed_address_pairs

Array of allowed_address_pairs objects

  • 功能说明:IP/Mac对列表。请参见表5
  • 约束:IP地址不允许为 “0.0.0.0/0”。
  • 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。
  • 如果allowed_address_pairs的IP地址为“1.1.1.1/0”,表示关闭源目的地址检查开关。
  • 被绑定的云服务器网卡allowed_address_pairs的IP地址填“1.1.1.1/0”。
  • 如果allowed_address_pairs回显值为云服务器网卡IP地址,表示虚拟IP的端口处于绑定状态。

extra_dhcp_opts

Array of extra_dhcp_opt objects

DHCP的扩展Option(扩展属性),请参见表6

binding:vif_details

binding:vif_details object

vif的详细信息,参见表7

binding:profile

Object

功能说明:扩展属性,提供用户设置自定义信息。

使用说明:

  • internal_elb字段,布尔类型,普通租户可见。只有在创建内网ELB的虚拟IP的网卡时设置为true。普通租户没有权限更改该字段,由系统维护。

    举例:

    {"internal_elb": true}

  • disable_security_groups字段,布尔类型,普通租户可见。默认为false高性能通信场景下,允许指定为true普通租户可见。仅支持创建port和读取时指定。当前仅支持指定为true,不支持指定为false。

    举例:

    {"disable_security_groups":true },

    当前仅支持指定为true,不支持指定为false,指定为true时,FWaaS功能不生效。

binding:vnic_type

String

  • 功能说明:绑定的vNIC类型。
  • 取值范围:normal,软交换;direct,SRIOV硬直通(不支持)。

dns_assignment

Array of dns_assignment objects

  • 功能说明:主网卡默认内网域名信息。
  • 约束:不支持设置和更新,由系统自动维护。

dns_name

String

  • 功能说明:主网卡默认内网DNS名称。
  • 约束:不支持设置和更新,由系统自动维护。

instance_id

String

  • 功能说明:端口所属实例ID,例如RDS实例ID。
  • 约束:不支持设置和更新,由系统自动维护。

instance_type

String

  • 功能说明:端口所属实例类型,例如“RDS”。
  • 约束:不支持设置和更新,由系统自动维护。

port_security_enabled

Boolean

  • 功能说明:端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效。

zone_id

String

端口所属的可用分区。

enable_efi

Boolean

  • 功能说明:是否使能efi,使能则表示端口支持vRoCE能力,默认为false。

ipv6_bandwidth_id

String

  • 功能说明:IPv6网卡绑定的共享带宽ID。
  • 约束:只有IPv6网卡绑定了共享带宽,才会显示此参数。
表4 fixed_ip对象

名称

参数类型

说明

subnet_id

String

  • 功能说明:所属子网ID。

    如果您使用管理控制台,此值即为子网详情中的“IPv4子网ID”或“IPv6子网ID”参数值。

  • 约束:不支持更新。

ip_address

String

端口IP地址。

表5 allowed_address_pairs对象

名称

参数类型

说明

ip_address

String

  • 功能说明:IP地址。
  • 约束:不支持0.0.0.0/0。
  • 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。
  • 如果allowed_address_pairs的IP地址为“1.1.1.1/0”,表示关闭源目的地址检查开关。
  • 被绑定的云服务器网卡allowed_address_pairs的IP地址填“1.1.1.1/0”。

mac_address

String

MAC地址。默认使用本端口的MAC地址。

表6 extra_dhcp_opt对象

名称

参数类型

说明

opt_name

String

DHCP选项名称,目前仅支持填写“51”,表示DHCP租约时间。

opt_value

String

  • 功能说明:DHCP选项的值。
  • 当“opt_name”为“51”时,参数格式为“Xh”,表示DHCP租约时间为X小时。
  • “X”的取值范围为1~30000或“-1”,“-1”表示DHCP租约时间无限长。
表7 binding:vif_details对象

名称

参数类型

说明

primary_interface

Boolean

取值为true,表示是虚拟机的主网卡。

port_filter

Boolean

表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。

ovs_hybrid_plug

Boolean

用于通知像nova这样的API消费者,应该使用OVS的混合插入策略。

表8 dns_assignment对象

名称

参数类型

说明

hostname

String

端口hostname。

ip_address

String

端口IP地址。

fqdn

String

端口内网fqdn。

响应示例

{
    "ports": [
        {
            "id": "d00f9c13-412f-4855-8af3-de5d8c24cd60",
            "name": "test",
            "status": "DOWN",
            "admin_state_up": "true",
            "fixed_ips": [
                {
                    "subnet_id": "70f2e74b-e660-410a-b754-0ca46744348a",
                    "ip_address": "10.128.1.10"
                }
            ],
            "dns_name": "",
            "mac_address": "fa:16:3e:d7:f2:6c",
            "network_id": "5b808927-13c9-4e60-a4f4-ed6ffe225167",
            "tenant_id": "43f2d1cca56a40729dcb17212482f34d",
            "device_id": "",
            "device_owner": "",
            "security_groups": [
                "02b4e8ee-74fa-4a31-802e-5490df11245e"
            ],
            "extra_dhcp_opts": [],
            "allowed_address_pairs": [],
            "binding:vnic_type": "normal",
            "instance_type": "RDS",
            "instance_id": "03a4e9ee-64eb-4a31-802e-5490df22146c",
            "enable_efi": false
        },
        {
            "id": "28ba8f45-7636-45e4-8c0a-675d7663717c",
            "name": "test1",
            "status": "DOWN",
            "admin_state_up": "true",
            "fixed_ips": [
                {
                    "subnet_id": "061d3ca2-bd1f-4bd1-a01d-7a5155328c0e",
                    "ip_address": "192.168.10.10"
                }
            ],
            "dns_name": "",
            "mac_address": "fa:16:3e:3d:91:cd",
            "network_id": "be2fe79a-3ee2-4d87-bd71-5afa78a5670d",
            "tenant_id": "43f2d1cca56a40729dcb17212482f34d",
            "device_id": "",
            "device_owner": "",
            "security_groups": [
                "0bfc8687-ca18-4c37-ac84-d2198baba585"
            ],
            "extra_dhcp_opts": [],
            "allowed_address_pairs": [],
            "binding:vnic_type": "normal",
            "enable_efi": false
        }
    ]
}

状态码

请参见状态码

错误码

请参考错误码