更新时间:2022-01-25 GMT+08:00

查询端口列表

功能介绍

查询提交请求的租户的所有端口,

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

表1 参数说明

名称

是否必选

参数类型

说明

id

String

按照端口的ID过滤查询

name

String

按照端口的名称过滤查询

admin_state_up

Boolean

按照端口的管理状态过滤查询

取值范围:true or false

network_id

String

按照端口所属的网络ID过滤查询

mac_address

String

按照端口的mac地址过滤查询

device_id

String

按照端口的设备ID过滤查询

device_owner

String

按照端口的设备所属过滤查询

status

String

按照端口状态过滤查询

取值范围:ACTIVE、BUILD、DOWN

fixed_ips

Array of strings

按照端口的IP地址过滤查询,fixed_ips=ip_address或者fixed_ips=subnet_id过滤查询

tenant_id

String

按照端口所属的项目ID过滤查询

marker

String

分页查询起始的资源ID,为空时为查询第一页

limit

Integer

每页返回的个数

取值范围:0~intmax

请求消息

响应参数

表2 响应参数

参数名称

类型

说明

ports

Array of port objects

port对象列表,参见表3

ports_links

Array of ports_link objects

分页信息,参见表7

表3 port对象

属性

类型

说明

id

String

端口的ID,最大长度不超过255

【使用说明】在查询端口列表时非必选

name

String

端口的名称

network_id

String

所属网络的ID

admin_state_up

Boolean

管理状态

【使用说明】只支持true

mac_address

String

端口MAC地址,例如:"mac_address": "fa:16:3e:9e:ff:55"

【使用说明】只支持系统动态分配,不支持指定

fixed_ips

Array of fixed_ip objects

端口IP,参见表4。例如:"fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}]

device_id

String

设备ID

【使用说明】不支持设置和更新,由系统自动维护,该字段非空的端口不允许删除

device_owner

String

设备所属(DHCP/Router/ Nova等)

【使用说明】不支持更新,只允许用户在创建虚拟IP端口时,为虚拟IP端口设置device_owner为neutron:VIP_PORT,当端口的该字段不为空时,仅支持该字段为neutron:VIP_PORT时的端口删除。

该字段非空的端口不允许删除。

tenant_id

String

项目ID

status

String

端口状态,可以为ACTIVE,BUILD,DOWN;

【使用说明】Hana硬直通虚拟机端口状态总为DOWN

security_groups

Array of strings

扩展属性:安全组的UUID,例如:"security_groups": ["a0608cbf-d047-4f54-8b28-cd7b59853fff"]

【使用说明】不支持更新为空。

allowed_address_pairs

Array of allow_address_pair objects

扩展属性:IP/Mac对列表,allow_address_pair参见表5

【使用说明】

  • IP地址不允许为 “0.0.0.0”
  • 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组
  • 硬件SDN环境不支持ip_address属性配置为CIDR格式
  • 为虚拟IP配置后端ECS场景,allowed_address_pairs中配置的IP地址,必须为ECS网卡已有的IP地址,否则可能会导致虚拟IP通信异常。

extra_dhcp_opts

Array of extra_dhcp_opt objects

扩展属性:DHCP的扩展Option,参见表6

binding:vif_details

Object

vif的详细信息, "ovs_hybrid_plug": 是否为ovs/bridge混合模式

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: 软交换

project_id

String

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

created_at

String

资源创建时间,UTC时间

格式yyyy-MM-ddTHH:mm:ss

updated_at

String

资源更新时间,UTC时间

格式yyyy-MM-ddTHH:mm:ss

表4 fixed_ip对象

属性

类型

说明

subnet_id

String

所属子网ID

【使用说明】不支持更新

ip_address

String

端口IP地址

【使用说明】不支持更新

表5 allow_address_pair对象

属性

类型

说明

ip_address

String

IP地址

【使用说明】不支持0.0.0.0

mac_address

String

MAC地址

表6 extra_dhcp_opt对象

属性

类型

说明

opt_name

String

Option名称

opt_value

String

Option值

表7 ports_link对象

名称

参数类型

说明

href

String

API链接

rel

String

API链接与该API版本的关系

样例

【样例一】

  • 请求样例
    GET https://{Endpoint}/v2.0/ports?limit=1
  • 响应样例
    {
     "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"
     }]
    }

【样例二】

  • 请求样例
    GET https://{Endpoint}/v2.0/ports?mac_address=fa:16:3e:f1:0b:09
  • 响应样例
    {
        "ports": [
            {
                "admin_state_up": true,
                "allowed_address_pairs": [],
                "binding:vnic_type": "normal",
                "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9",
                "device_owner": "compute:az3.dc1",
                "extra_dhcp_opts": [],
                "fixed_ips": [
                    {
                        "ip_address": "172.16.0.37",
                        "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5"
                    }
                ],
                "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"
            }
        ]
    }

【样例三】

  • 请求样例
    GET https://{Endpoint}/v2.0/ports?admin_state_up=False
  • 响应样例
    {
        "ports": [
    
            {
                "admin_state_up": false, 
                "allowed_address_pairs": [], 
                "binding:vnic_type": "normal", 
                "device_id": "", 
                "device_owner": "", 
                "extra_dhcp_opts": [], 
                "fixed_ips": [
                    {
                        "ip_address": "10.100.100.62", 
                        "subnet_id": "9b28f20c-0234-419f-a0b4-4a84f182f64b"
                    }
                ], 
                "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"
            }
        ]
    }

【样例四】

  • 请求样例
    GET https://{Endpoint}/v2.0/ports?device_id=e6c05704-c907-4cc1-8106-69b0996c43b9
  • 响应样例
    {
        "ports": [
            {
                "admin_state_up": true, 
                "allowed_address_pairs": [], 
                "binding:vnic_type": "normal", 
                "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", 
                "device_owner": "compute:az3.dc1", 
                "extra_dhcp_opts": [], 
                "fixed_ips": [
                    {
                        "ip_address": "10.1.0.37", 
                        "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5"
                    }
                ], 
                "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"
            }
        ]
    }

【样例五】

  • 请求样例
    GET https://{Endpoint}/v2.0/ports?tenant_id=6c9298ec8c874f7f99688489ab65f90e&name=port_vm_50_3
  • 响应样例
    {
        "ports": [
            {
                "admin_state_up": true, 
                "allowed_address_pairs": [], 
                "binding:vnic_type": "normal", 
                "device_id": "e6c05704-c907-4cc1-8106-69b0996c43b9", 
                "device_owner": "compute:az3.dc1", 
                "extra_dhcp_opts": [], 
                "fixed_ips": [
                    {
                        "ip_address": "10.1.0.37", 
                        "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5"
                    }
                ], 
                "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"
            }
        ]
    }

【样例六】

  • 请求样例
    GET https://{Endpoint}/v2.0/ports?name=port_vm_50_3
  • 响应样例
    {
        "ports": [
            {
                "status": "DOWN",
                "allowed_address_pairs": [],
                "extra_dhcp_opts": [],
                "device_owner": "",
                "fixed_ips": [
                    {
                        "subnet_id": "391c74f7-e3b1-405c-8473-2f71a0aec7dc",
                        "ip_address": "10.1.0.33"
                    }
                ],
                "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",
                "fixed_ips": [
                    {
                        "subnet_id": "b3ac1347-63f2-4e82-b853-3d86416a0db5",
                        "ip_address": "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"
            }
        ]
    }

状态码

请参见状态码

错误码

请参见错误码