查询端口列表
功能介绍
查询提交请求的租户的所有端口,单次查询最多返回2000条数据,超过2000后会返回分页标记。
URI
GET /v2.0/ports
样例:
GET https://{Endpoint}/v2.0/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}&tenant_id={tenant_id}&status={port_status}&fixed_ips=ip_address={ip_address}&fixed_ips=subnet_id={subnet_id}
分页查询样例:
GET https://{Endpoint}/v2.0/ports?limit=2&marker=791870bd-36a7-4d9b-b015-a78e9b06af08&page_reverse=False
参数说明请参见表1。
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
id |
否 |
String |
按照端口的ID过滤查询。 |
name |
否 |
String |
按照端口的名称过滤查询。 |
admin_state_up |
否 |
Boolean |
|
network_id |
否 |
String |
按照端口所属的网络ID过滤查询。
说明:
网络ID的获取方式:
|
mac_address |
否 |
String |
按照端口的mac地址过滤查询。 |
device_id |
否 |
String |
按照端口的设备ID过滤查询。 |
device_owner |
否 |
String |
按照端口的设备所属过滤查询。 |
status |
否 |
String |
|
security_groups |
否 |
Array of strings |
按照端口关联的安全组ID过滤查询。 |
fixed_ips |
否 |
Array of strings |
按照端口的IP地址过滤查询,fixed_ips=ip_address={ip_address}或者fixed_ips=subnet_id={subnet_id}过滤查询,其中{ip_address}填ip地址,如192.168.21.22,2a07:b980:4030:14::1;{subnet_id}填IPv4子网或IPv6子网的ID,如011fc878-5521-4654-a1ad-f5b0b5820302。 |
tenant_id |
否 |
String |
按照端口所属的项目ID过滤查询。 |
marker |
否 |
String |
分页查询的起始资源ID,表示从指定资源的下一条记录开始查询。 marker需要和limit配合使用:
|
limit |
否 |
Integer |
分页查询每页返回的记录个数,取值范围为0~intmax(2^31-1),默认值2000。 limit需要和marker配合使用,详细规则请见marker的参数说明。 |
请求消息
无
请求示例
【示例一】
GET https://{Endpoint}/v2.0/ports?limit=1
【示例二】
GET https://{Endpoint}/v2.0/ports?mac_address=fa:16:3e:f1:0b:09
【示例三】
GET https://{Endpoint}/v2.0/ports?admin_state_up=False
【示例四】
GET https://{Endpoint}/v2.0/ports?device_id=e6c05704-c907-4cc1-8106-69b0996c43b9
【示例五】
GET https://{Endpoint}/v2.0/ports?tenant_id=6c9298ec8c874f7f99688489ab65f90e&name=port_vm_50_3
【示例六】
GET https://{Endpoint}/v2.0/ports?name=port_vm_50_3
响应参数
参数名称 |
类型 |
说明 |
---|---|---|
ports |
Array of port objects |
port对象列表,参见表3。 |
ports_links |
Array of ports_link objects |
分页信息,参见表9。 只有在使用limit过滤,并且资源个数超过limit或者资源个数超过2000时(limit默认值),该参数的rel和href取值才会显示为next和其对应的link。 |
属性 |
类型 |
说明 |
---|---|---|
id |
String |
|
name |
String |
端口的名称。 |
network_id |
String |
所属网络的ID。 |
admin_state_up |
Boolean |
|
mac_address |
String |
|
fixed_ips |
Array of fixed_ip objects |
|
device_id |
String |
|
device_owner |
String |
|
tenant_id |
String |
项目ID。 |
status |
String |
|
security_groups |
Array of strings |
|
allowed_address_pairs |
Array of allowed_address_pairs objects |
|
extra_dhcp_opts |
Array of extra_dhcp_opt objects |
扩展属性,DHCP的扩展Option,参见表6。 |
binding:vif_details |
binding:vif_details object |
vif的详细信息,参见表7 |
binding:profile |
Object |
|
binding:vnic_type |
String |
|
port_security_enabled |
Boolean |
端口安全使能标记。 取值范围:true,允许加入安全组和开启dhcp防欺骗;false,安全组和dhcp防欺骗不生效。 |
dns_assignment |
Array of dns_assignment objects |
|
dns_name |
String |
|
project_id |
String |
项目ID,请参见获取项目ID。 |
created_at |
String |
|
updated_at |
String |
|
属性 |
类型 |
说明 |
---|---|---|
subnet_id |
String |
|
ip_address |
String |
|
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
ip_address |
是 |
String |
|
mac_address |
否 |
String |
MAC地址。默认使用当前端口的MAC地址。 |
名称 |
参数类型 |
说明 |
---|---|---|
primary_interface |
Boolean |
取值为true,表示是虚拟机的主网卡。 |
port_filter |
Boolean |
表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。 |
ovs_hybrid_plug |
Boolean |
用于通知像nova这样的API消费者,应该使用OVS的混合插入策略。 |
响应示例
{ "ports": [{ "id": "791870bd-36a7-4d9b-b015-a78e9b06af08", "name": "port-test", "status": "DOWN", "admin_state_up": true, "fixed_ips": [], "mac_address": "fa:16:3e:01:e0:b2", "network_id": "00ae08c5-f727-49ab-ad4b-b069398aa171", "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", "project_id": "db82c9e1415a464ea68048baa8acc6b8", "device_id": "", "device_owner": "", "security_groups": ["d0d58aa9-cda9-414c-9c52-6c3daf8534e6"], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled": true, "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41" }, { "id": "7a8c720d-32b7-47cc-a943-23e48d69e30a", "name": "a8d001aa-6946-4168-86d9-924c7d3ef8fb", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "a8d001aa-6946-4168-86d9-924c7d3ef8fb", "ip_address": "2a07:b980:4030:14::1" } ], "mac_address": "fa:16:3e:57:39:c3", "network_id": "26cf88ff-1a8c-4233-a8e6-183e1e299357", "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", "project_id": "db82c9e1415a464ea68048baa8acc6b8", "device_id": "6c2fcea1-b785-4253-b84e-3d887e1c67e1", "device_owner": "network:router_interface_distributed", "security_groups": ["34acbeed-8f65-4875-86ca-66417b1733fd"], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled": true, "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41" } ], "ports_links": [ { "rel": "next", "href": "https://{Endpoint}/v2.0/ports?limit=1&marker=7a8c720d-32b7-47cc-a943-23e48d69e30a" }, { "rel": "previous", "href": "https://{Endpoint}/v2.0/ports?limit=1&marker=7a8c720d-32b7-47cc-a943-23e48d69e30a&page_reverse=True" } ] }
{ "ports": [ { "admin_state_up": true, "allowed_address_pairs": [], "binding:vnic_type": "normal", "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", "device_owner": "compute:az3.dc1", "port_security_enabled":true, "extra_dhcp_opts": [], "fixed_ips": [ { "ip_address": "172.16.0.37", "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5" } ], "dns_assignment": [ { "hostname": "ip-172-16-0-37", "ip_address": "172.16.0.37", "fqdn": "ip-172-16-0-37.xxx.compute.internal." } ], "dns_name": "ip-172-16-0-37", "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d", "mac_address": "fa:16:3e:f1:0b:09", "name": "port_vm_50_3", "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161", "security_groups": [ "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2" ], "status": "ACTIVE", "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "project_id": "6c9298ec8c874f7f99688489ab65f90e", "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41" } ], "ports_links": [ { "rel": "previous", "href": "https://{Endpoint}/v2.0/ports?mac_address=fa%3A16%3A3e%3Af1%3A0b%3A09&marker=7bb64706-6e46-4f94-a28a-4bc7caaab87d&page_reverse=True" } ] }
{ "ports": [ { "admin_state_up": false, "allowed_address_pairs": [], "binding:vnic_type": "normal", "device_id": "", "device_owner": "", "port_security_enabled":true, "extra_dhcp_opts": [], "fixed_ips": [ { "ip_address": "10.100.100.62", "subnet_id": "9b28f20c-0234-419f-a0b4-4a84f182f64b" } ], "dns_name": "", "id": "ffc0bdee-8413-4fa2-bd82-fa8efe5b3a87", "mac_address": "fa:16:3e:2b:bc:57", "name": "small_net_port", "network_id": "b299b151-7a66-4c6f-a313-cdd3b5724296", "security_groups": [ "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2" ], "status": "DOWN", "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "project_id": "6c9298ec8c874f7f99688489ab65f90e", "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41" } ], "ports_links": [ { "rel": "previous", "href": "https://{Endpoint}/v2.0/ports?admin_state_up=False&marker=ffc0bdee-8413-4fa2-bd82-fa8efe5b3a87&page_reverse=True" } ] }
{ "ports": [ { "admin_state_up": true, "allowed_address_pairs": [], "binding:vnic_type": "normal", "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", "device_owner": "compute:az3.dc1", "port_security_enabled":true, "extra_dhcp_opts": [], "fixed_ips": [ { "ip_address": "10.1.0.37", "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5" } ], "dns_assignment": [ { "hostname": "ip-10-1-0-37", "ip_address": "10.1.0.37", "fqdn": "ip-10-1-0-37.xxx.compute.internal."//xxx为区域名称。 } ], "dns_name": "ip-10-1-0-37", "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d", "mac_address": "fa:16:3e:f1:0b:09", "name": "port_vm_50_3", "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161", "security_groups": [ "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2" ], "status": "ACTIVE", "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "project_id": "6c9298ec8c874f7f99688489ab65f90e" , "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41" } ], "ports_links": [ { "rel": "previous", "href": "https://{Endpoint}/v2.0/ports?device_id=77307088-ae60-49fb-9146-924dcf1d1402&marker=7bb64706-6e46-4f94-a28a-4bc7caaab87d&page_reverse=True" } ] }
{ "ports": [ { "admin_state_up": true, "allowed_address_pairs": [], "binding:vnic_type": "normal", "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", "device_owner": "compute:az3.dc1", "port_secuirty_enabled":true, "extra_dhcp_opts": [], "fixed_ips": [ { "ip_address": "10.1.0.37", "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5" } ], "dns_assignment": [ { "hostname": "ip-10-1-0-37", "ip_address": "10.1.0.37", "fqdn": "ip-10-1-0-37.xxx.compute.internal."//xxx为区域名称。 } ], "dns_name": "ip-10-1-0-37", "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d", "mac_address": "fa:16:3e:f1:0b:09", "name": "port_vm_50_3", "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161", "security_groups": [ "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2" ], "status": "ACTIVE", "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "project_id": "6c9298ec8c874f7f99688489ab65f90e" , "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41" } ], "ports_links": [ { "rel": "previous", "href": "https://{Endpoint}/v2.0/ports?tenant_id=6c9298ec8c874f7f99688489ab65f90e&name=port_vm_50_3&marker=7bb64706-6e46-4f94-a28a-4bc7caaab87d&page_reverse=True" } ] }
{ "ports": [ { "status": "DOWN", "allowed_address_pairs": [], "extra_dhcp_opts": [], "device_owner": "", "port_security_enabled":true, "fixed_ips": [ { "subnet_id": "391c74f7-e3b1-405c-8473-2f71a0aec7dc", "ip_address": "10.1.0.33" } ], "dns_name": "", "id": "0f405555-739f-4a19-abb7-ec11d005b3a9", "security_groups": [ "043548bc-1020-4be0-885a-caac8530e8f6" ], "device_id": "", "port_security_enabled":true, "name": "port_vm_50_3", "admin_state_up": true, "network_id": "9898a82d-7795-4ad5-bf2c-0ed8b822be4f", "tenant_id": "3e4a1816927f405cacbc3dca1e05111e", "project_id": "3e4a1816927f405cacbc3dca1e05111e", "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41", "binding:vnic_type": "normal", "mac_address": "fa:16:3e:b0:d9:cf" }, { "status": "ACTIVE", "allowed_address_pairs": [], "extra_dhcp_opts": [], "device_owner": "compute:az3.dc1", "port_security_enabled":true, "fixed_ips": [ { "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5", "ip_address": "10.1.0.37" } ], "dns_assignment": [ { "hostname": "ip-10-1-0-37", "ip_address": "10.1.0.37", "fqdn": "ip-10-1-0-37.xxx.compute.internal."//xxx为区域名称。 } ], "dns_name": "ip-10-1-0-37", "id": "7bb64706-6e46-4f94-a28a-4bc7caaab87d", "security_groups": [ "ef69bc60-2f4b-4f97-b95b-e3b68df0c0b2" ], "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", "name": "port_vm_50_3", "admin_state_up": true, "network_id": "a54e1b19-ce78-4b7e-b28b-d2d716cdc161", "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "project_id": "3e4a1816927f405cacbc3dca1e05111e", "created_at": "2018-09-13T01:43:41", "updated_at": "2018-09-13T01:43:41", "binding:vnic_type": "normal", "binding:vnic_type": "normal", "mac_address": "fa:16:3e:f1:0b:09" } ], "ports_links": [ { "rel": "previous", "href": "https://{Endpoint}/v2.0/ports?name=port_vm_50_3&marker=0f405555-739f-4a19-abb7-ec11d005b3a9&page_reverse=True" } ] }
状态码
请参见状态码。
错误码
请参见错误码。