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

创建端口

功能介绍

创建端口。

URI

POST /v2.0/ports

请求消息

表1 请求参数

参数名称

类型

必选

说明

port

Object

port对象列表,参见表2

表2 port对象

属性

是否必选

类型

说明

name

String

端口的名称

network_id

String

所属网络的ID

fixed_ips

Array of fixed_ip objects

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

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参见表4

【使用说明】

  • 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,参见表5

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

device_owner

String

功能说明:端口设备所属取值范围:目前只支持指定""和"neutron:VIP_PORT";neutron:VIP_PORT表示创建的是VIP

表3 fixed_ip对象

属性

是否必选

类型

说明

subnet_id

String

所属子网ID

【使用说明】不支持更新

ip_address

String

端口IP地址

【使用说明】不支持更新

表4 allow_address_pair对象

属性

是否必选

类型

说明

ip_address

String

IP地址

【使用说明】不支持0.0.0.0

mac_address

String

MAC地址

表5 extra_dhcp_opt对象

属性

是否必选

类型

说明

opt_name

String

Option名称

opt_value

String

Option值

响应消息

表6 响应参数

参数名称

类型

说明

port

Object

ports信息,参见表7

表7 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,参见表8。例如:"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参见表9

【使用说明】

  • 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,参见表10

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

表8 fixed_ip对象

属性

类型

说明

subnet_id

String

所属子网ID

【使用说明】不支持更新

ip_address

String

端口IP地址

【使用说明】不支持更新

表9 allow_address_pair对象

属性

类型

说明

ip_address

String

IP地址

【使用说明】不支持0.0.0.0

mac_address

String

MAC地址

表10 extra_dhcp_opt对象

属性

类型

说明

opt_name

String

Option名称

opt_value

String

Option值

样例

请求样例

POST https://{Endpoint}/v2.0/ports

{
    "port": {
       "admin_state_up": true,
        "network_id": "00ae08c5-f727-49ab-ad4b-b069398aa171",
        "name": "port-test"
    }
}

响应样例

{
    "port": {
        "id": "a7d98f3c-b42f-460b-96a1-07601e145961",
        "name": "port-test",
        "status": "DOWN",
        "admin_state_up": true,
        "fixed_ips": [],
        "mac_address": "fa:16:3e:01:f7:90",
        "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-20T01:45:26",
        "updated_at": "2018-09-20T01:45:26"
    }
}

状态码

请参见状态码

错误码

请参见错误码