华为云用户手册

  • 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}&dns_name={dns_name} 分页查询样例: GET https://{Endpoint}/v2.0/ports?limit=2&marker=791870bd-36a7-4d9b-b015-a78e9b06af08&page_reverse=False
  • VPC 权限 对应API接口 授权项(Action) IAM 项目(Project) 企业项目(Enterprise Project) 创建VPC POST /v1/{project_id}/vpcs vpc:vpcs:create √ √ 查询VPC GET /v1/{project_id}/vpcs/{vpc_id} vpc:vpcs:get √ √ 查询VPC列表 GET /v1/{project_id}/vpcs vpc:vpcs:list √ √ 更新VPC PUT /v1/{project_id}/vpcs/{vpc_id} vpc:vpcs:update √ √ 删除VPC DELETE /v1/{project_id}/vpcs/{vpc_id} vpc:vpcs:delete √ √ 父主题: 权限和授权项
  • 响应参数 表2 响应参数 参数名称 类型 说明 networks Array of network objects network对象列表,参见表3。 networks_links Array of networks_link objects 分页信息,参见表4。 只有在使用limit过滤,并且资源个数超过limit或者资源个数超过2000时(limit默认值),该参数的rel和href取值才会显示为next和其对应的link。 表3 network对象 属性 类型 说明 status String 网络状态,可以为ACTIVE,BUILD,DOWN或ERROR。 subnets Array of strings 网络关联的子网ID。 一个network仅支持关联一个subnet。 name String 网络名称。 name不能为admin_external_net(预置网络名称,不可占用)。 router:external Boolean 扩展属性:是否外部网络,默认值false。 admin_state_up Boolean 管理状态。 只支持true。 tenant_id String 项目ID shared Boolean 是否支持跨租户共享。 id String 网络的id provider:network_type String 扩展属性:网络类型。 取值范围:支持租户创建geneve、vxlan类型的网络 租户只能指定此参数为geneve,不指定时网络类型自动分配,一般分配为vxlan类型。预置网络admin_external_net的情况下,此参数为vlan,用户不可配置。 【使用说明】 创建geneve类型的网络,请指定此参数为geneve。 创建vxlan类型的网络,请求时请不要指定此参数。 availability_zone_hints Array of strings 本网络的候选可用域,当前版本不支持可用域调度。 availability_zones Array of strings 本网络的可用域。 port_security_enabled Boolean 端口安全使能标记,如果不使能,则network下所有虚机的安全组和dhcp防欺骗不生效 dns_domain String 默认内网DNS域地址,系统自动生成维护,不支持设置和更新 project_id String 项目ID,请参见获取项目ID。 created_at String 资源创建时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss updated_at String 资源更新时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss 表4 networks_link对象 参数名称 类型 说明 href String API链接 rel String API链接与该API版本的关系
  • 响应示例 { "networks": [ { "id": "0133cd73-34d4-4d4c-bf1f-e65b24603206", "name": "3804f26c-7862-43b6-ad3c-48445f42de89", "status": "ACTIVE", "shared": false, "subnets": [ "423796f5-e02f-476f-bf02-2b88c8ddac8b" ], "availability_zone_hints": [], "availability_zones": [ "az2.dc2", "az5.dc5" ], "admin_state_up": true, "tenant_id": "bbfe8c41dd034a07bebd592bf03b4b0c", "project_id": "bbfe8c41dd034a07bebd592bf03b4b0c", "provider:network_type": "vxlan", "router:external": false, "port_security_enabled": true, "created_at": "2018-03-23T03:51:58", "updated_at": "2018-03-23T03:51:58" } ], "networks_links": [ { "rel": "next", "href": "https://{Endpoint}/v2.0/networks?limit=1&marker=0133cd73-34d4-4d4c-bf1f-e65b24603206" }, { "rel": "previous", "href": "https://{Endpoint}/v2.0/subnets?limit=1&marker=0133cd73-34d4-4d4c-bf1f-e65b24603206&page_reverse=True" } ] }
  • URI GET /v2.0/networks 样例: GET https://{Endpoint}/v2.0/networks?id={network_id}&status={network_status}&name={network_name}&admin_state_up=${admin_state_up}&tenant_id={tenant_id}&shared={is_shared}&provider:network_type={geneve} 分页查询样例: GET https://{Endpoint}/v2.0/networks?limit=2&marker=0133cd73-34d4-4d4c-bf1f-e65b24603206&page_reverse=False 参数说明请参见表1。 表1 参数说明 名称 是否必选 参数类型 说明 id 否 String 按照网络对应的ID过滤查询 name 否 String 按照网络的名称过滤查询 admin_state_up 否 Boolean 按照网络的管理状态过滤查询 取值范围:true or false provider:network_type 否 String 按照网络的类型过滤查询 shared 否 Boolean 按照网络是否支持跨租户共享过滤查询 取值范围:true or false status 否 String 按照网络的状态过滤查询 取值范围:ACTIVE、BUILD、DOWN router:external 否 Boolean 按照网络是否外部网络过滤查询 取值范围:true or false tenant_id 否 String 按照网络所属的项目ID过滤查询 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的参数说明。
  • 响应消息 响应参数 表2 响应参数 名称 参数类型 说明 port port object 端口对象,请参见表3。 表3 port字段说明 名称 参数类型 说明 id String 端口唯一标识 name String 功能说明:端口名称 取值:默认为空,最大长度不超过255 network_id String 功能说明:端口所属网络的ID 约束:必须是存在的网络ID admin_state_up Boolean 功能说明:管理状态 约束:只支持true,默认为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。 约束:一个端口只支持一个fixed_ip,且不支持更新。 device_id String 功能说明:端口所属设备ID 约束:不支持设置和更新,由系统自动维护 device_owner String 功能说明:设备所属(DHCP/Router/ lb/Nova) 约束:不支持设置和更新,由系统自动维护 tenant_id String 项目ID。 status String 功能说明:端口状态,Hana硬直通虚拟机端口状态总为DOWN 取值范围:ACTIVE、BUILD、DOWN security_groups Array of strings 安全组的UUID(扩展属性) 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配置一个单独的安全组 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目的地址检查开关 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或者direct。normal: 软交换,direct: SRIOV硬直通(不支持) port_security_enabled Boolean 端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效,默认为true dns_assignment Array of dns_assignment objects 扩展属性:主网卡默认内网 域名 信息 【使用说明】不支持设置和更新,由系统自动维护 hostname:与端口dns_name一致 ip_address:端口ipv4私有地址 fqdn:为端口创建默认内网fqdn dns_name String 扩展属性:主网卡默认内网DNS名称 【使用说明】不支持设置和更新,由系统自动维护,访问该默认内网域名前,请确保子网使用当前系统提供的DNS 表4 fixed_ip对象 名称 参数类型 说明 subnet_id String 功能说明:所属子网ID 约束:不支持更新 ip_address String 端口IP地址 表5 allow_address_pair对象 名称 参数类型 说明 ip_address String 功能说明:IP地址 约束:不支持0.0.0.0 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 mac_address String MAC地址 表6 extra_dhcp_opt对象 名称 参数类型 说明 opt_name String Option名称 opt_value String Option值 表7 dns_assignment对象 名称 参数类型 说明 hostname String 端口hostname。 ip_address String 端口IP地址。 fqdn String 端口内网fqdn。 响应样例: { "port": { "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_assignment": [ { "hostname": "ip-10-128-1-10", "ip_address": "10-128-1-10", "fqdn": "ip-10-128-1-10.xxx.compute.internal." } ], "dns_name": "ip-10-128-1-10", "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", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled":true } }
  • 操作步骤 创建虚拟IP。 发送“POST https://VPC的Endpoint/v2.0/ports”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下,其中vip所在子网需与E CS 同子网。 { "port": { "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "device_owner": "neutron:VIP_PORT", "name": "vip_port_test" } } 或者如下,可以指定IP创建: { "port": { "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "device_owner": "neutron:VIP_PORT", "name": "vip_port_test", "fixed_ips": [ { "ip_address": "192.168.0.220" } ] } } 查看请求响应结果。 请求成功时,响应参数如下: { "port": { "id": "a7d98f3c-b42f-460b-96a1-07601e145961", "name": "port-test", "status": "DOWN", "admin_state_up": true, "fixed_ips": [{ "subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "ip_address": "192.168.0.220" }], "mac_address": "fa:16:3e:01:f7:90", "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", "project_id": "db82c9e1415a464ea68048baa8acc6b8", "device_id": "", "device_owner": "neutron:VIP_PORT", "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" } } 请求异常时,错误码请参见错误码。 通过云服务器的ID查询网卡信息。 发送“GET https://VPC的Endpoint/v2.0/ports?device_id={ecs_id}&network_id={network_id}” 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下: { "ports": [{ "id": "02c72193-efec-42fb-853b-c33f2b802467", "name": "", "status": "ACTIVE", "admin_state_up": true, "fixed_ips": [{ "subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "ip_address": "192.168.0.75" }], "mac_address": "fa:16:3e:47:5f:c1", "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", "project_id": "db82c9e1415a464ea68048baa8acc6b8", "device_id": "ea61f836-b52f-41bf-9d06-685644001d6f", "device_owner": "compute:br-iaas-odin1a", "security_groups": [ "e0598d96-9451-4f8a-8de0-b8b4d451d9e7" ], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": { "primary_interface": true }, "binding:profile": {}, "port_security_enabled": true, "created_at": "2020-06-20T08:07:29", "updated_at": "2020-06-20T08:07:29" }] } 请求异常时,错误码请参见错误码。 将云服务器与虚拟IP绑定。 发送“PUT https://VPC的Endpoint/v2.0/ports/{port_id}”。port_id为上面创建的虚拟IP对应的port_id。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下,ip_address为2查询出的云服务器的网卡ip。 { "port": { "allowed_address_pairs": [{ "ip_address": "192.168.0.75" }] } } 查看请求响应结果。 请求成功时,响应参数如下: { "port": { "id": "a7d98f3c-b42f-460b-96a1-07601e145961", "name": "port-test", "status": "DOWN", "admin_state_up": true, "fixed_ips": [{ "subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "ip_address": "192.168.0.220" }], "mac_address": "fa:16:3e:01:f7:90", "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", "project_id": "db82c9e1415a464ea68048baa8acc6b8", "device_id": "", "device_owner": "neutron:VIP_PORT", "security_groups": ["d0d58aa9-cda9-414c-9c52-6c3daf8534e6"], "extra_dhcp_opts": [], "allowed_address_pairs": [{ "ip_address": "192.168.0.75" }] "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" } } 请求异常时,错误码请参见错误码。 关闭云服务器网卡的源/目的检查。 发送“PUT https://VPC的Endpoint/v2.0/ports/{port_id}”。port_id为2查询到的网卡ID。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下:ip_address为1.1.1.1/0查询出的云服务器的网卡ip。 { "port": { "allowed_address_pairs": [{ "ip_address": "1.1.1.1/0" }] } } 查看请求响应结果。 请求成功时,响应参数如下: { "port": { "id": "02c72193-efec-42fb-853b-c33f2b802467", "name": "", "status": "ACTIVE", "admin_state_up": true, "fixed_ips": [{ "subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "ip_address": "192.168.0.75" }], "mac_address": "fa:16:3e:47:5f:c1", "network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "tenant_id": "db82c9e1415a464ea68048baa8acc6b8", "project_id": "db82c9e1415a464ea68048baa8acc6b8", "device_id": "ea61f836-b52f-41bf-9d06-685644001d6f", "device_owner": "compute:br-iaas-odin1a", "security_groups": ["e0598d96-9451-4f8a-8de0-b8b4d451d9e7"], "extra_dhcp_opts": [], "allowed_address_pairs": [{ "ip_address": "1.1.1.1/0" }], "binding:vnic_type": "normal", "binding:vif_details": { "primary_interface": true }, "binding:profile": {}, "port_security_enabled": true, "created_at": "2020-06-20T08:07:29", "updated_at": "2020-06-20T08:07:29" } } 请求异常时,错误码请参见错误码。
  • 响应示例 { "port": { "id": "7204e0da-40de-4207-a536-6f59b84f6f0e", "name": "adc", "status": "DOWN", "admin_state_up": "true", "fixed_ips": [ { "subnet_id": "689156ca-038f-4478-b265-fd26aa8bbe31", "ip_address": "192.168.0.9" } ], "mac_address": "fa:16:3e:d7:f2:6c", "network_id": "b4152e98-e3af-4e49-bb7f-7766e2b5ec63", "tenant_id": "caa6cf4337ea47fb823b15709ebe8591", "device_id": "", "device_owner": "", "security_groups": [ "59b39002-e79b-4bac-8e27-aa884ab1beb6" ], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "enable_efi": false } }
  • 响应参数 表5 响应参数 名称 参数类型 说明 port port object 端口对象,请参见表6。 表6 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,请参见表7。例如:"fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}]。 约束: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对列表,请参见表8。 约束: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地址,表示虚拟IP的端口处于绑定状态。 被绑定的云服务器网卡allowed_address_pairs的IP地址填“1.1.1.1/0”。 extra_dhcp_opts Array of extra_dhcp_opt objects DHCP的扩展Option(扩展属性),请参见表9。 binding:vif_details binding:vif_details object vif的详细信息,参见表10。 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功能不生效。 仅对于“华北-北京二”区域:udp_srvports和tcp_srvports,字段,字符串类型,默认不设置udp_srvports和tcp_srvports字段。允许指定udp_srvports和tcp_srvports字段为端口号,表示这些端口的tcp报文和udp报文可支持高并发连接,但是此类报文不受ACL和安全组规则的限制。udp_srvports和tcp_srvports字段同时支持更新操作。 格式: {"tcp_srvports": "port1 port2 port3", "udp_srvports": "port1 port2 port3"} 端口号之间以空格间隔,最多允许指定的端口号总共为15个,端口号范围是1到65535。 示例: {"tcp_srvports": "80 443", "udp_srvports": "53"} 示例表示入方向目的端口为80或者443的tcp报文可支持高并发连接。入方向目的端口为53的udp报文可支持高并发连接。但是此类报文不受ACL和安全组规则的限制。 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网卡绑定了共享带宽,才会显示此参数。 表7 fixed_ip对象 名称 参数类型 说明 subnet_id String 功能说明:所属子网ID。 如果您使用管理控制台,此值即为子网详情中的“IPv4子网ID”或“IPv6子网ID”参数值。 约束:不支持更新。 ip_address String 端口IP地址。 表8 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地址。 表9 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租约时间无限长。 表10 binding:vif_details对象 名称 参数类型 说明 primary_interface Boolean 取值为true,表示是虚拟机的主网卡。 port_filter Boolean 表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。 ovs_hybrid_plug Boolean 用于通知像nova这样的API消费者,应该使用OVS的混合插入策略。 表11 dns_assignment对象 名称 参数类型 说明 hostname String 端口hostname。 ip_address String 端口IP地址。 fqdn String 端口内网fqdn。
  • 请求参数 名称 是否必选 参数类型 说明 port 是 port object 端口对象,请参见表2。 更新操作时至少指定一项属性。 表2 port字段说明 名称 是否必选 参数类型 说明 name 否 String 功能说明:端口名称。 取值范围:默认为空,最大长度不超过255。 security_groups 否 Array of strings 扩展属性:安全组的UUID。 约束:不支持更新为空。 allowed_address_pairs 否 Array of allowed_address_pairs objects 功能说明:IP/Mac对列表,allow_address_pair参见表3。 约束:IP地址不允许为 “0.0.0.0/0”。 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 如果allowed_address_pairs的IP地址为“1.1.1.1/0”,表示关闭源目地址检查开关。 为虚拟IP配置后端ECS场景,allowed_address_pairs中配置的IP地址,必须为ECS网卡已有的IP地址,否则可能会导致虚拟IP通信异常。 被绑定的云服务器网卡allowed_address_pairs的IP地址填“1.1.1.1/0”。 extra_dhcp_opts 否 Array of extra_dhcp_opt objects DHCP的扩展Option(扩展属性),请参见表4。 表3 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”。 如果填写allowed_address_pairs参数,则ip_address是必选参数。 mac_address 否 String MAC地址。默认使用当前端口的MAC地址。 表4 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租约时间无限长。
  • 响应示例 { "port": { "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" } }
  • 响应参数 表2 响应参数 参数名称 类型 说明 port port object port对象列表,参见表3。 表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"}], "fixed_ips": [{"subnet_id": "1fd001aa-6946-4168-86d9-924c7d3ef8fb", "ip_address": "2a07:b980:4030:14::1"}]。 device_id String 功能说明:设备ID。 使用说明:不支持设置和更新,由系统自动维护,该字段非空的端口不允许删除。 device_owner String 功能说明:设备所属(DHCP/Router/ 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 功能说明:端口状态。 取值范围:ACTIVE,BUILD,DOWN。 使用说明:Hana硬直通虚拟机端口状态总为DOWN。 security_groups Array of strings 功能说明:扩展属性,安全组的UUID,例如:"security_groups": ["a0608cbf-d047-4f54-8b28-cd7b59853fff"]。 使用说明:不支持更新为空。 allowed_address_pairs Array of allowed_address_pairs objects 功能说明:扩展属性,IP/Mac对列表,allow_address_pair参见表5。 使用说明: IP地址不允许为 “0.0.0.0” 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组 如果allowed_address_pairs的IP地址为“1.1.1.1/0”,表示关闭源目地址检查开关。 硬件SDN环境不支持ip_address属性配置为CIDR格式 为虚拟IP配置后端ECS场景,allowed_address_pairs中配置的IP地址,必须为ECS网卡已有的IP地址,否则可能会导致虚拟IP通信异常。 被绑定的云服务器网卡allowed_address_pairs的IP地址填“1.1.1.1/0”。 extra_dhcp_opts Array of extra_dhcp_opt objects 扩展属性:DHCP的扩展Option,参见表6。 binding:vif_details binding:vif_details object vif的详细信息, 参见表8 binding:profile 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功能不生效。 仅对于“华北-北京二”:udp_srvports和tcp_srvports,字段,字符串类型,默认不设置udp_srvports和tcp_srvports字段。允许指定udp_srvports和tcp_srvports字段为端口号,表示这些端口的tcp报文和udp报文可支持高并发连接,但是此类报文不受ACL和安全组规则的限制。udp_srvports和tcp_srvports字段同时支持更新操作。 【格式】 {"tcp_srvports": "port1 port2 port3", "udp_srvports": "port1 port2 port3"} 端口号之间以空格间隔,最多允许指定的端口号总共为15个,端口号范围是1到65535。 【示例】 {"tcp_srvports": "80 443", "udp_srvports": "53"} 示例表示入方向目的端口为80或者443的tcp报文可支持高并发连接。入方向目的端口为53的udp报文可支持高并发连接。但是此类报文不受ACL和安全组规则的限制。 binding:vnic_type String 功能说明:绑定的vNIC类型。 取值范围: normal: 软交换。 port_security_enabled Boolean 端口安全使能标记。 取值范围:true,允许加入安全组和开启dhcp防欺骗;false,安全组和dhcp防欺骗不生效。 dns_assignment Array of dns_assignment objects 功能说明:扩展属性,主网卡默认内网域名信息。 使用说明:不支持设置和更新,由系统自动维护。 取值范围: hostname:与端口dns_name一致。 ip_address:端口ipv4私有地址。 fqdn:为端口创建默认内网fqdn。 dns_name String 功能说明:扩展属性,主网卡默认内网DNS名称。 使用说明:不支持设置和更新,由系统自动维护,访问该默认内网域名前,请确保子网使用当前系统提供的DNS。 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 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”。 如果填写allowed_address_pairs参数,则ip_address是必选参数。 mac_address 否 String MAC地址。默认使用当前端口的MAC地址。 表6 extra_dhcp_opt对象 属性 类型 说明 opt_name String Option名称。 opt_value String Option值。 表7 dns_assignment对象 名称 参数类型 说明 hostname String 端口hostname。 ip_address String 端口IP地址。 fqdn String 端口内网fqdn。 表8 binding:vif_details对象 名称 参数类型 说明 primary_interface Boolean 取值为true,表示是虚拟机的主网卡。 port_filter Boolean 表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。 ovs_hybrid_plug Boolean 用于通知像nova这样的API消费者,应该使用OVS的混合插入策略。
  • 响应参数 表2 响应参数 参数名称 类型 说明 network network object network对象,参见表3。 表3 network对象 属性 类型 说明 status String 网络状态,可以为ACTIVE,BUILD,DOWN或ERROR。 subnets Array of strings 网络关联的子网ID列表。 一个network仅支持关联一个subnet。 name String 网络名称。 name不能为admin_external_net(预置网络名称,不可占用)。 router:external Boolean 扩展属性:是否外部网络,默认值false。 admin_state_up Boolean 管理状态。 只支持true。 tenant_id String 项目ID shared Boolean 是否支持跨租户共享。 id String 网络的id 【使用说明】在查询网络列表时候非必选 provider:network_type String 扩展属性:网络类型。 取值范围:支持租户创建geneve、vxlan类型的网络 租户只能指定此参数为geneve,不指定时网路类型自动分配,一般分配为vxlan类型。预置网络admin_external_net的情况下,此参数为vlan,用户不可配置。 【使用说明】 创建geneve类型的网络,请指定此参数为geneve。 创建vxlan类型的网络,请求时请不要指定此参数。 availability_zone_hints Array of strings 本网络的候选可用域,当前版本不支持可用域调度。 availability_zones Array of strings 本网络的可用域。 port_security_enabled Boolean 端口安全使能标记,如果不能使,则network下所有虚机的安全组和dhcp防欺骗不生效 dns_domain String 默认内网DNS域地址,系统自动生成维护,不支持设置和更新 project_id String 项目ID,请参见获取项目ID。 created_at String 资源创建时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss updated_at String 资源更新时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss
  • 响应示例 { "network": { "id": "0133cd73-34d4-4d4c-bf1f-e65b24603206", "name": "3804f26c-7862-43b6-ad3c-48445f42de89", "status": "ACTIVE", "shared": false, "subnets": [ "423796f5-e02f-476f-bf02-2b88c8ddac8b" ], "availability_zone_hints": [], "availability_zones": [ "az2.dc2", "az5.dc5" ], "admin_state_up": true, "tenant_id": "bbfe8c41dd034a07bebd592bf03b4b0c", "project_id": "bbfe8c41dd034a07bebd592bf03b4b0c", "provider:network_type": "vxlan", "router:external": false, "port_security_enabled": true, "created_at": "2018-03-23T03:51:58", "updated_at": "2018-03-23T03:51:58" } }
  • 响应消息 响应参数 表2 响应参数 名称 参数类型 说明 ports Array of port objects 端口列表对象,请参见表3。 表3 port字段说明 名称 参数类型 说明 id String 端口唯一标识 name String 功能说明:端口名称 取值:默认为空,最大长度不超过255 network_id String 功能说明:端口所属网络的ID 约束:必须是存在的网络ID admin_state_up Boolean 功能说明:管理状态 约束:只支持true,默认为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 约束:一个端口只支持一个fixed_ip,且不支持更新。 device_id String 功能说明:端口所属设备ID 约束:不支持设置和更新,由系统自动维护 device_owner String 功能说明:设备所属(DHCP/Router/ lb/Nova) 约束:不支持设置和更新,由系统自动维护 tenant_id String 项目ID。 status String 功能说明:端口状态,Hana硬直通虚拟机端口状态总为DOWN 取值范围:ACTIVE、BUILD、DOWN security_groups Array of strings 安全组的UUID(扩展属性) 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配置一个单独的安全组 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目地址检查开关 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或者direct。normal: 软交换,direct: SRIOV硬直通(不支持) port_security_enabled Boolean 端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效,默认为true dns_assignment Array of dns_assignment objects 扩展属性:主网卡默认内网域名信息 【使用说明】不支持设置和更新,由系统自动维护 hostname:与端口dns_name一致 ip_address:端口ipv4私有地址 fqdn:为端口创建默认内网fqdn dns_name String 扩展属性:主网卡默认内网DNS名称 【使用说明】不支持设置和更新,由系统自动维护,访问该默认内网域名前,请确保子网使用当前系统提供的DNS 表4 fixed_ip对象 名称 参数类型 说明 subnet_id String 功能说明:所属子网ID 约束:不支持更新 ip_address String 端口IP地址 表5 allow_address_pair对象 名称 参数类型 说明 ip_address String 功能说明:IP地址 约束:不支持0.0.0.0 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 mac_address String MAC地址 表6 extra_dhcp_opt对象 名称 参数类型 说明 opt_name String Option名称 opt_value String Option值 表7 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_assignment": [ { "hostname": "ip-10-128-1-10", "ip_address": "10-128-1-10", "fqdn": "ip-10-128-1-10.xxx.compute.internal." } ], "dns_name": "ip-10-128-1-10", "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", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled":true }, { "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_assignment": [ { "hostname": "ip-192-168-10-10", "ip_address": "192-168-10-10", "fqdn": "ip-192-168-10-10.xxx.compute.internal." } ], "dns_name": "ip-192-168-10-10", "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", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled":true } ] }
  • URI GET /v1/ports 样例: GET https://{Endpoint}/v1/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} 参数说明请参见表1。 表1 参数说明 名称 是否必选 参数类型 说明 id 否 String 按照port_id过滤查询 name 否 String 功能说明:按照name过滤查询 取值范围:最大长度不超过255 admin_state_up 否 Boolean 按照admin_state_up进行过滤 network_id 否 String 按照network_id过滤查询 mac_address 否 String 按照mac_address过滤查询 device_id 否 String 按照device_id过滤查询 device_owner 否 String 按照device_owner过滤查询 status 否 String 功能说明:按照status过滤查询 取值范围:ACTIVE、BUILD、DOWN 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 否 String 按照fixed_ips=ip_address或者fixed_ips=subnet_id过滤查询
  • 响应消息 响应参数 表6 响应参数 名称 参数类型 说明 port port object 端口对象,请参见表7。 表7 port字段说明 名称 参数类型 说明 id String 端口唯一标识 name String 功能说明:端口名称 取值:默认为空,最大长度不超过255 network_id String 功能说明:端口所属网络的ID 约束:必须是存在的网络ID admin_state_up Boolean 功能说明:管理状态 约束:只支持true,默认为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"}] 约束:一个端口只支持一个fixed_ip,且不支持更新。 device_id String 功能说明:端口所属设备ID 约束:不支持设置和更新,由系统自动维护 device_owner String 功能说明:设备所属(DHCP/Router/ lb/Nova) 约束:不支持设置和更新,由系统自动维护 tenant_id String 项目ID。 status String 功能说明:端口状态,Hana硬直通虚拟机端口状态总为DOWN 取值范围:ACTIVE、BUILD、DOWN security_groups Array of strings 安全组的UUID(扩展属性) allowed_address_pairs Array of allow_address_pairobjects 功能说明:IP/Mac对列表,allow_address_pair参见表9(扩展属性)。 约束:IP地址不允许为 “0.0.0.0” 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目地址检查开关 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或者direct。normal: 软交换,direct: SRIOV硬直通(不支持) port_security_enabled Boolean 端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效,默认为true 表8 fixed_ip对象 名称 参数类型 说明 subnet_id String 功能说明:所属子网ID 约束:不支持更新 ip_address String 端口IP地址 表9 allow_address_pair对象 名称 参数类型 说明 ip_address String 功能说明:IP地址 约束:不支持0.0.0.0 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 mac_address String MAC地址 表10 extra_dhcp_opt对象 名称 参数类型 说明 opt_name String Option名称 opt_value String Option值 响应样例 { "port": { "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" } ], "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", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled":true } }
  • 请求消息 请求参数 表1 请求参数 名称 是否必选 参数类型 说明 port 是 port object 端口对象,请参见表2。 表2 port字段说明 名称 是否必选 参数类型 说明 name 否 String 功能说明:端口名称 取值:默认为空,最大长度不超过255 network_id 是 String 功能说明:端口所属网络的ID 约束:必须是存在的网络ID admin_state_up 否 Boolean 功能说明:管理状态 约束:只支持true,默认为true fixed_ips 否 Array of fixed_ip objects 功能说明:端口IP。请参见表3。 例如:"fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}] 约束:一个端口只支持一个fixed_ip,且不支持更新。 tenant_id 否 String 项目ID。 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配置一个单独的安全组 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目地址检查开关 extra_dhcp_opts 否 Array of extra_dhcp_opt objects DHCP的扩展Option(扩展属性) port_security_enabled 否 Boolean 端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效,默认为true 表3 fixed_ip对象 名称 是否必选 参数类型 说明 subnet_id 否 String 功能说明:所属子网ID 约束:不支持更新 ip_address 否 String 功能说明:端口IP地址 约束:不支持更新 表4 allow_address_pair对象 名称 是否必选 参数类型 说明 ip_address 否 String 功能说明:IP地址 约束:不支持0.0.0.0 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目地址检查开关 mac_address 否 String MAC地址 表5 extra_dhcp_opt对象 名称 是否必选 参数类型 说明 opt_name 否 String Option名称 opt_value 否 String Option值 请求样例 POST https://{Endpoint}/v1/ports { "port": { "fixed_ips": [ { "ip_address": "192.168.0.38", "subnet_id": "06bc2359-d75e-4f96-82f4-313e39c7148c" } ], "network_id": "28a1c93c-9a5e-4a9f-813b-e495bdef7d34", "security_groups": [ "f2c5b3fc-b971-4a86-87b9-032586260e3e" ] } }
  • 响应消息 响应参数 表6 响应参数 名称 参数类型 说明 port port object 端口对象,请参见表7。 表7 port字段说明 名称 参数类型 说明 id String 端口唯一标识 name String 功能说明:端口名称 取值:默认为空,最大长度不超过255 network_id String 功能说明:端口所属网络的ID 约束:必须是存在的网络ID admin_state_up Boolean 功能说明:管理状态 约束:只支持true,默认为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"}] 约束:一个端口只支持一个fixed_ip,且不支持更新。 device_id String 功能说明:端口所属设备ID 约束:不支持设置和更新,由系统自动维护 device_owner String 功能说明:设备所属(DHCP/Router/ lb/Nova) 约束:不支持设置和更新,由系统自动维护 tenant_id String 项目ID。 status String 功能说明:端口状态,Hana硬直通虚拟机端口状态总为DOWN 取值范围:ACTIVE、BUILD、DOWN security_groups Array of strings 安全组的UUID(扩展属性) allowed_address_pairs Array of allow_address_pairobjects 功能说明:IP/Mac对列表,allow_address_pair参见表9(扩展属性)。 约束:IP地址不允许为 “0.0.0.0” 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目地址检查开关 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或者direct。normal: 软交换,direct: SRIOV硬直通(不支持) port_security_enabled Boolean 端口安全使能标记,如果不使能则安全组和dhcp防欺骗不生效,默认为true 表8 fixed_ip对象 名称 参数类型 说明 subnet_id String 功能说明:所属子网ID 约束:不支持更新 ip_address String 端口IP地址 表9 allow_address_pair对象 名称 参数类型 说明 ip_address String 功能说明:IP地址 约束:不支持0.0.0.0 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 mac_address String MAC地址 表10 extra_dhcp_opt对象 名称 参数类型 说明 opt_name String Option名称 opt_value String Option值 响应样例: { "port": { "id": "7204e0da-40de-4207-a536-6f59b84f6f0e", "name": "adc", "status": "DOWN", "admin_state_up": "true", "fixed_ips": [ { "subnet_id": "689156ca-038f-4478-b265-fd26aa8bbe31", "ip_address": "192.168.0.9" } ], "mac_address": "fa:16:3e:d7:f2:6c", "network_id": "b4152e98-e3af-4e49-bb7f-7766e2b5ec63", "tenant_id": "caa6cf4337ea47fb823b15709ebe8591", "device_id": "", "device_owner": "", "security_groups": [ "59b39002-e79b-4bac-8e27-aa884ab1beb6" ], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled":true } }
  • 请求消息 请求参数 表2 请求参数 名称 是否必选 参数类型 说明 port 是 port object 端口对象,请参见表3。 表3 port字段说明 名称 是否必选 参数类型 说明 name 否 String 功能说明:端口名称 取值:默认为空,最大长度不超过255 security_groups 否 Array of strings 安全组的UUID 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配置一个单独的安全组。 如果allowed_address_pairs为“1.1.1.1/0”,表示关闭源目地址检查开关。 为虚拟IP配置后端ECS场景,allowed_address_pairs中配置的IP地址,必须为ECS网卡已有的IP地址,否则可能会导致虚拟IP通信异常。 extra_dhcp_opts 否 Array of extra_dhcp_opt objects DHCP的扩展Option(扩展属性),请参见表5。 表4 allow_address_pair对象 名称 参数类型 说明 ip_address String 功能说明:IP地址 约束:不支持0.0.0.0 如果allowed_address_pairs配置地址池较大的CIDR(掩码小于24位),建议为该port配置一个单独的安全组。 mac_address String MAC地址 表5 extra_dhcp_opt对象 名称 是否必选 参数类型 说明 opt_name 否 String Option名称 opt_value 否 String Option值 请求样例: { "port": { "name": "adc" } }
  • Logout 接口描述 该接口用于退出已登录的华为云会议账号。 注意事项 请在已登录的场景下调用。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode Logout(); 回调函数 1 virtual void OnLogoutResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmLogoutResult* logoutResult) {}; 参数描述 无。 返回值 表1 返回值 类型 描述 HwmErrCode 成功返回0,其他值表示失败。失败返回值见错误码参考。 HwmLogoutResult 登出结果信息。 表2 结构体HwmLogoutResult参数说明 参数 类型 描述 userUuid char[] UUID(由系统分配的真实的唯一用户标识)。 account char[] 账号。 thirdAccount char[] 第三方账号。 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 /** * 退出登录 */ void demoMainMenuDlg::OnBnClickedLogout() { //调用退出登录接口 int ret = hwmsdkagent::Logout(); if (hwmsdk::HWM_COMMON_SUC CES S != ret) { AfxMessageBox(_T("Logout error")); } }
  • Login 接口描述 该接口用于登录。登录分为华为云会议账户登录和AppID登录,由authType参数决定。 注意事项 创建会议,被邀入会等功能只有在登录后才能使用,若不登录,将无法体验完整会议功能。 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。 方法定义 1 HWM_SDK_AGENT_API hwmsdk::HwmErrCode Login(HwmLoginInfo *loginInfo);
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /** * 登录处理 */ int demoLoginDlg::Login() { int ret; //设置App ID登录参数 /** *.此处省略第三方服务器做的数据转换,最后获取到nonce和signature */ strncpy_s(loginParam.appIdAuthInfo.thirdUserId, GetUserId.c_str(), HWM_MAX_USER_ID_LEN); strncpy_s(loginParam.appIdAuthInfo.userName, GetUserName.c_str(), HWM_MAX_USER_NAME_LEN); strncpy_s(loginParam.appIdAuthInfo.signature, GetSignature().c_str(), HWM_MAX_SIGNATURE_LEN); strncpy_s(loginParam.appIdAuthInfo.nonce, GetNonce().c_str(), HWM_APPID_NONCE_LEN ); strncpy_s(loginParam.appIdAuthInfo.email, GetEmail.c_str(), HWM_MAX_EMAIL_LEN); strncpy_s(loginParam.appIdAuthInfo.phoneNumber, GetPhoneNumber.c_str(), HWM_MAX_PHONE_NUM_LEN); loginParam.appIdAuthInfo.expireTime = 1598398920; // utc时间,单位s loginParam.authType = hwmsdkagent::HWM_AUTH_TYPE_APPID; //调用登录接口 ret = hwmsdkagent::Login(&loginParam); return ret; } 1 2 3 4 5 6 7 8 9 10 11 /** * 登录接口回调 */ void demoCallbackProc::OnLoginResult(hwmsdk::HwmErrCode ret, const char* msg) { CString codeStr; codeStr.Format(_T("%d"), ret); string msgStr = CTools::UTF82MultiByte(msg); CString tips = _T("OnLoginResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str()); AfxMessageBox(tips); }
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 /** * 退出sdk */ void CdemoBeforeLoginDlg::OnBnClickedButtonExit() { int ret = hwmsdkagent::Exit(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("Exit error")); } }
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 /** * 退出登录 */ void demoMainMenuDlg::OnBnClickedLogout() { //调用退出登录接口 int ret = hwmsdkagent::Logout(); if (hwmsdk::HWM_COMMON_SUCCESS != ret) { AfxMessageBox(_T("Logout error")); } }
  • 业务流程 使用SDK实现“邀请”功能时,在SDK初始化完成后先调用Config接口,然后处理回调函数OnConfigResult。会议中,在“邀请”按钮单击后,再处理 消息通知 OnClickInjectBtn。 接口调用 在SDK初始化后,调用Config进行“邀请”按钮的定制。 处理回调函数 处理回调函数OnConfigResult。 处理消息通知 当“邀请”按钮单击后,再处理消息通知OnClickInjectBtn
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 /** * 配置邀请按钮 */ int hwmSDKConfigUI::hwmSDKStartUIConfig() { //配置“邀请”按钮 CString inviteBtn = ("{\"frame\":{\"confMenu\" : {\"toolBar\":{\"button\":[{\"id\":\"invite\",\"showAsAction\" : \"ifRoom\",\"isCustomizedClick\" : true}]}}}}"); string uiConfig CTools::UNICODE2UTF(inviteBtn); ret = hwmsdkagent::Config(uiConfig); return ret; } 1 2 3 4 5 6 7 8 9 10 11 /** * 配置接口回调 */ void demoCallbackProc::OnConfigResult(hwmsdk::HwmErrCode ret, const char* msg) { CString codeStr; codeStr.Format(_T("%d"), ret); string msgStr = CTools::UTF82MultiByte(msg); CString tips = _T("OnConfigResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str()); AfxMessageBox(tips); } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /** * 按钮点击消息通知 */ void notifyProc::OnClickInjectBtn(hwmsdkagent::HwmClickInjectBtn injectBtn, void* data, const char* id) { INT_PTR nRes; switch (injectBtn) // “邀请”按钮点击消息通知 case hwmsdkagent::HWM_CLICK_INJECT_BTN_INVITE: { // 显示带通讯录的邀请与会人界面 hwm_ui_demo_inviteDlg inviteDlg; nRes = inviteDlg.DoModal(); break; } }
  • 描述 通过邮件会议通知中的会议链接入会时(会议链接如:https://bmeeting.huaweicloud.com/#/j/981924330/e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659),链接里面的是会议ID(即举例中的981924330)和会议的Random码(即举例中的e11ddec62ee760734fcf2ba55b79937eac2aa68677caf659)。 在华为云会议账号登录后或者登录前,都可以使用该接口通过分享会议链接中的会议ID和48位密码映射值Random加入会议。
  • 业务流程 使用SDK加入已经存在的会议时,先调用JoinConfByRandom接口,然后处理回调函数OnJoinConfByRandom和消息通知OnConfState、OnConfInfo 接口调用 组装数据结构HwmJoinConfByRandomInfo。 调用JoinConfByRandom开始入会,第1步中的数据作为参数。 处理回调函数 处理回调函数OnJoinConfByRandomResult。 处理消息通知 处理消息通知OnConfState。 处理消息通知 处理消息通知OnConfInfo。
  • 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 通过会议ID和Random加入会议 int demoJoinConfByRandomDlg::clickJoinConfByRandom() { // 填写会议ID和密码映射值等;Random入会时,支持配置会场名称 hwmsdkagent::HwmJoinConfByRandomInfo data; memset(&data, 0, sizeof(hwmsdkagent::HwmJoinConfByRandomInfo)); strncpy_s(data.confId, GetMeetingID().c_str(), HWM_MAX_CONF_ID_LEN); strncpy_s(data.random, GetAccessCode().c_str(), HWM_MAX_RANDOM_LEN); strncpy_s(data.name, GetParticipantName().c_str(), HWM_MAX_DISPLAY_NAME_LEN); int ret = hwmsdkagent::JoinConfByRandom(&data); return ret; }
共100000条