华为云用户手册

  • 请求示例 关联路由表3d42a0d4-a980-4613-ae76-a2cddecff054和子网1a8b8c98-3976-401b-a735-8b058109268c。 POST https://{Endpoint}/v1/6fbe9263116a4b68818cf1edce16bc4f/routetables/3d42a0d4-a980-4613-ae76-a2cddecff054/action{ "routetable": { "subnets": { "associate": [ "1a8b8c98-3976-401b-a735-8b058109268c" ] } }}
  • 请求参数 表2 请求参数 名称 是否必选 参数类型 说明 routetable 是 routetable object 路由表对象,参见表3。 表3 routetable字段说明 名称 是否必选 参数类型 说明 subnets 是 subnet object 功能说明:路由表所关联的子网 约束:只能关联路由表所属vpc下的子网 表4 subnet字段说明 名称 是否必选 参数类型 说明 associate 否 Array of strings 路由表关联子网ID列表 disassociate 否 Array of strings 路由表解除关联子网ID列表
  • 请求示例 解关联路由表3d42a0d4-a980-4613-ae76-a2cddecff054和子网815a6b9e-f766-48eb-967c-0ada72d85435。 POST https://{Endpoint}/v1/6fbe9263116a4b68818cf1edce16bc4f/routetables/3d42a0d4-a980-4613-ae76-a2cddecff054/action{ "routetable": { "subnets": { "disassociate": [ "815a6b9e-f766-48eb-967c-0ada72d85435" ] } }}
  • 响应示例 { "routetable": { "id": "3d42a0d4-a980-4613-ae76-a2cddecff054", "vpc_id": "ab78be2d-782f-42a5-aa72-35879f6890ff", "description": "abc", "routes": [ { "type": "ecs", "destination": "10.10.10.0/24", "nexthop": "7c50463d-d36c-4417-aa85-cc11fa10f341", "description": "abc" } ], "subnets": [ { "id": "8d4ce32f-d68a-4c4c-9f18-c68d8a5c7f2f" } ], "tenant_id": "6fbe9263116a4b68818cf1edce16bc4f", "created_at": "2022-12-15T02:56:40", "updated_at": "2022-12-15T03:06:21" }}
  • 状态码 表1 正常返回值 正常返回码 类型 说明 200 OK GET、PUT、POST操作正常返回 201 Created OpenStack Neutron API、API V3的POST操作正常返回 204 No Content DELETE操作正常返回 表2 异常返回值 返回值 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。 父主题: 附录
  • 响应示例 { "firewall_rule": { "protocol": "tcp", "description": "update check parameter", "source_ip_address": "116.66.184.0/24", "destination_ip_address": "0.0.0.0/0", "destination_port": null, "source_port": null, "id": "514e6776-162a-4b5d-ab8b-aa36b86655ef", "name": "test", "tenant_id": "a1c6f90c94334bd2953d9a61b8031a68", "project_id": "a1c6f90c94334bd2953d9a61b8031a68", "enabled": true, "action": "allow", "ip_version": 4, "public": false }}
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间的资源进行分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
  • 响应参数 表2 响应参数 参数名称 类型 说明 firewall_rule firewall_rule object firewall rule对象,请参见表3。 表3 Firewall Rule对象 属性 类型 说明 id String 网络ACL规则的uuid标识。 name String 网络ACL规则名称。 description String 网络ACL规则描述。 tenant_id String 项目ID public Boolean 是否支持跨租户共享。 protocol String IP协议。 source_port String 源端口号或者一段端口范围。 destination_port String 目的端口号或者一段端口范围。 ip_version Integer IP协议版本。 source_ip_address String 源地址或者CIDR。 destination_ip_address String 目的地址或者CIDR。 action String 对通过网络ACL的流量执行的操作。 enabled Boolean 是否使能网络ACL规则。 project_id String 项目ID,请参见获取项目ID。
  • 请求示例 过滤查询子网资源实例,action为filter,从第1条数据开始查询,单次查询最多返回100条,用matches和tags过滤查询。 POST https://{Endpoint}/v2.0/{project_id}/subnets/resource_instances/action{ "offset": "0", "limit": "100", "action": "filter", "matches": [ { "key": "resource_name", "value": "resource1" } ], "tags": [ { "key": "key1", "values": [ "value1", "value2" ] } ]} 过滤计数子网资源实例,action为count,用matches和tags过滤计数。 POST https://{Endpoint}/v2.0/{project_id}/subnets/resource_instances/action{ "action": "count", "tags": [ { "key": "key1", "values": [ "value1", "value2" ] }, { "key": "key2", "values": [ "value1", "value2" ] } ], "matches": [ { "key": "resource_name", "value": "resource1" } ]}
  • 响应参数 表5 响应参数 名称 参数类型 说明 resources Array of resource objects resource对象列表,请参见表6。 total_count Integer 总记录数 表6 resource对象 名称 参数类型 说明 resource_id String 资源ID resource_detail Object 资源详情。 资源对象,用于扩展。默认为空 tags Array of tag objects 标签列表,没有标签默认为空数组,参见表7 resource_name String 资源名称,没有默认为空字符串 表7 tag字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做校验) value 是 string 值列表。每个值最大长度255个unicode字符,如果values为空列表,则表示any_value。value之间为或的关系。
  • 响应示例 action为filter { "resources": [ { "resource_detail": null, "resource_id": "cdfs_cefs_wesas_12_dsad", "resource_name": "resouece1", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value1" } ] } ], "total_count": 1000} action为count { "total_count": 1000}
  • 请求参数 表2 请求参数 参数名称 类型 是否必选 说明 tags Array of tag objects 否 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 limit Integer 否 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1 offset Integer 否 (索引位置), 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数 action String 是 操作标识(仅限于filter,count):filter(过滤),count(查询总条数) 如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可。 matches Array of match objects 否 搜索字段,key为要匹配的字段,当前仅支持resource_name。value为匹配的值。此字段为固定字典值。 表3 tag字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做校验) values 是 Array of strings 值列表。每个值最大长度255个unicode字符,如果values为空列表,则表示any_value。value之间为或的关系。 表4 match字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 键。当前仅限定为resource_name value 是 String 值。每个值最大长度255个unicode字符。
  • 操作步骤 通过云服务器的ID查询网卡信息。 发送“GET https://VPC的Endpoint/v1/{project_id}/ports?device_id={ecs_id}”,project_id为项目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"}]} 请求异常时,错误码请参见错误码。 查询当前已有的安全组信息。 发送“GET https://VPC的Endpoint/v1/{project_id}/security-groups”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下,id就是security_group_id。 {"security_groups": [{"id": "16b6e77a-08fa-42c7-aa8b-106c048884e6","name": "qq","description": "qq","vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85","enterprise_project_id ": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2","security_group_rules": [{"direction": "egress","ethertype": "IPv4","id": "369e6499-b2cb-4126-972a-97e589692c62","description": "","security_group_id": "16b6e77a-08fa-42c7-aa8b-106c048884e6"}, {"direction": "ingress","ethertype": "IPv4","id": "0222556c-6556-40ad-8aac-9fd5d3c06171","description": "","remote_group_id": "16b6e77a-08fa-42c7-aa8b-106c048884e6","security_group_id": "16b6e77a-08fa-42c7-aa8b-106c048884e6"}]}, {"id": "9c0f56be-a9ac-438c-8c57-fce62de19419","name": "default","description": "qq","vpc_id": "13551d6b-755d-4757-b956-536f674975c0","enterprise_project_id ": "0","security_group_rules": [{"direction": "egress","ethertype": "IPv4","id": "95479e0a-e312-4844-b53d-a5e4541b783f","description": "","security_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419"}, {"direction": "ingress","ethertype": "IPv4","id": "0c4a2336-b036-4fa2-bc3c-1a291ed4c431","description": "","remote_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419","security_group_id": "9c0f56be-a9ac-438c-8c57-fce62de19419"}]}]} 请求异常时,错误码请参见错误码。 为弹性云服务器添加安全组。 发送“PUT https://VPC的Endpoint/v1/{project_id}/ports/{port_id}”,project_id为项目ID。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: { "port": { "security_groups": ["9c0f56be-a9ac-438c-8c57-fce62de19419","16b6e77a-08fa-42c7-aa8b-106c048884e6"] }} 查看请求响应结果。 请求成功时,响应参数如下,id就是port_id。 {"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": ["9c0f56be-a9ac-438c-8c57-fce62de19419", "16b6e77a-08fa-42c7-aa8b-106c048884e6"],"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"}} 请求异常时,错误码请参见错误码。
  • 响应示例 { "routetables": [ { "id": "3d42a0d4-a980-4613-ae76-a2cddecff054", "name": "routetable-1234", "vpc_id": "ab78be2d-782f-42a5-aa72-35879f6890ff", "subnets": [ { "id": "8d4ce32f-d68a-4c4c-9f18-c68d8a5c7f2f" } ], "tenant_id": "6fbe9263116a4b68818cf1edce16bc4f", "description": "abc", "created_at": "2022-12-15T02:56:40", "updated_at": "2022-12-15T02:56:40" }, { "id": "3d42a0d4-a980-4613-ae76-a2cddecfff89", "name": "routetable-5678", "vpc_id": "ab78be2d-782f-42a5-aa72-35879f667809", "subnets": [ { "id": "8d4ce32f-d68a-4c4c-9f18-c68d8a5c7f2f" } ], "tenant_id": "6fbe9263116a4b68818cf1edce16bc4f", "description": "abc", "created_at": "2022-12-15T02:59:03", "updated_at": "2022-12-15T02:59:03" } ]}
  • URI GET /v1/{project_id}/routetables 样例: GET https://{Endpoint}/v1/{project_id}/routetables?limit=10&marker=4779ab1c-7c1a-44b1-a02e-93dfc361b32d&vpc_id=3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85&subnet_id=9873b33f-ac1c-4630-ad1c-7dba1ed79r78 参数说明请参见表1。 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 项目ID,请参见获取项目ID。 limit 否 Integer 分页查询每页返回的记录个数,取值范围为0~intmax(2^31-1),默认值2000。 limit需要和marker配合使用,详细规则请见marker的参数说明。 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)资源记录。 id 否 String 按照路由表ID过滤查询,可过滤对应ID的路由表。 vpc_id 否 String 按照路由表所属VPC的UUID过滤查询。 subnet_id 否 String 按照路由表所关联子网的UUID过滤查询。 如果您使用管理控制台,此值即为子网详情中的“网络ID”参数值。
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65ewtrgaggshhk1223245sghjlse684b", "is_domain": false, "parent_id": "65ewtrgaggshhk1223245sghjlse684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4adasfjljaaaakla12334jklga9sasfg" }, "id": "a4adasfjljaaaakla12334jklga9sasfg", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 响应示例 { "subnet": { "name": "subnet-test", "cidr": "172.16.2.0/24", "id": "98bac90c-0ba7-4a63-8995-097da9bead1c", "enable_dhcp": true, "network_id": "0133cd73-34d4-4d4c-bf1f-e65b24603206", "tenant_id": "bbfe8c41dd034a07bebd592bf03b4b0c", "project_id": "bbfe8c41dd034a07bebd592bf03b4b0c", "dns_nameservers": [], "allocation_pools": [ { "start": "172.16.2.2", "end": "172.16.2.251" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "172.16.2.1", "created_at": "2018-09-20T02:02:16", "updated_at": "2018-09-20T02:03:03" }}
  • 请求参数 表1 请求参数 参数名称 类型 必选 说明 subnet subnet object 是 subnet对象,参见表2。 更新操作时至少指定一项属性 表2 subnet对象 属性 是否必选 类型 说明 name 否 String 子网的名称 allocation_pools 否 Array of allocation_pool objects 可用的IP池,allocation_pool对象参见表3 例如:[ { "start": "10.0.0.2", "end": "10.0.0.251"} ] 每个子网的第1个和最后3个IP地址为系统保留地址。以192.168.1.0/24为例,192.168.1.0、 192.168.1.253、192.168.1.254和192.168.1.255这些地址是系统保留地址。系统预留地址默认不在allocation_pool范围内。 [{"start": "2001:db8:a583:9::2", "end": "2001:db8:a583:9:ffff:ffff:ffff:fffc"}] ipv6子网以2001:db8:a583:9::/64为例,2001:db8:a583:9::1和2001:db8:a583:9:ffff:ffff:ffff:fffd、2001:db8:a583:9:ffff:ffff:ffff:fffe、2001:db8:a583:9:ffff:ffff:ffff:ffff这些地址是系统保留地址。 约束:更新时allocation_pool范围不能包含网关和广播地址的所有IP。 dns_nameservers 否 Array of strings dns服务器 【使用说明】 例如:"dns_nameservers": ["8.xx.xx.8","8.xx.xx.4"] 最大为5个 host_routes 否 Array of host_route objects 虚拟机静态路由,参见表4 【使用说明】不支持,忽略输入信息 enable_dhcp 否 Boolean 是否启动dhcp,false表示不提供dhcp服务的能力 【使用说明】只支持true 表3 allocation_pool对象 参数名 是否必选 参数类型 说明 start 否 String 网络池起始IP end 否 String 网络池结束IP 表4 host_route对象 参数名 是否必选 参数类型 说明 destination 否 String 路由目的子网 nexthop 否 String 路由下一跳IP
  • 响应参数 表5 响应参数 参数名称 类型 说明 subnet subnet object subnet对象,参见表6。 表6 subnet对象 属性 类型 说明 id String 子网的id 【使用说明】在查询子网列表时非必选 name String 子网的名称 ip_version Integer IP版本 【使用说明】支持4(IPv4)、6(IPv6) ipv6_address_mode String IPv6寻址模式 【使用说明】仅支持dhcpv6-stateful ipv6_ra_mode String IPv6路由广播模式 【使用说明】仅支持dhcpv6-stateful network_id String 所属网络的id cidr String CIDR格式 【使用说明】IPV4只支持10.0.0.0/8,172.16.0.0/12,192.168.0.0/16三个网段内的地址,掩码长度不能大于28。 IPV6掩码长度不能大于128。 约束:当ip_version=6时,该字段不支持设置 gateway_ip String 网关IP不允许和allocation_pools地址块冲突。 【使用说明】不支持修改。 allocation_pools Array of allocation_pool objects 可用的IP池,allocation_pool对象参见 表7 例如:[ { "start": "10.0.0.2", "end": "10.0.0.251"} ] 每个子网的第1个和最后3个IP地址为系统保留地址。以192.168.1.0/24为例,192.168.1.0、 192.168.1.253、192.168.1.254和192.168.1.255这些地址是系统保留地址。 [{"start": "2001:db8:a583:9::2", "end": "2001:db8:a583:9:ffff:ffff:ffff:fffc"}] ipv6子网以2001:db8:a583:9::/64为例,2001:db8:a583:9::1和2001:db8:a583:9:ffff:ffff:ffff:fffd、2001:db8:a583:9:ffff:ffff:ffff:fffe、2001:db8:a583:9:ffff:ffff:ffff:ffff这些地址是系统保留地址。 系统预留地址默认不在allocation_pool范围内。 约束:更新时allocation_pool范围不能包含网关和广播地址的所有IP。 dns_nameservers Array of strings dns服务器 例如:"dns_nameservers": ["8.xx.xx.8","8.xx.xx.4"] host_routes Array of host_route objects 虚拟机静态路由,参见表8 【使用说明】不支持,忽略输入信息 tenant_id String 项目ID enable_dhcp Boolean 是否启动dhcp,false表示不提供dhcp服务的能力 【使用说明】只支持true subnetpool_id String 子网池id 【使用说明】目前IPv4不支持,IPv6支持 project_id String 项目ID,请参见获取项目ID。 created_at String 资源创建时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss updated_at String 资源更新时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss 表7 allocation_pool对象 参数名 参数类型 备注 start String 网络池起始IP end String 网络池结束IP 表8 host_route对象 参数名 参数类型 备注 destination String 路由目的子网 nexthop String 路由下一跳IP
  • 示例 举例描述创建网络ACL资源的过程,理解三者之间的关系。 创建网络ACL规则 POST /v2.0/fwaas/firewall_rules 请求体 { "firewall_rule": { "name": "fw-rule-ingress-1", "description": "create a ingress firewall rule ", "protocol": "TCP", "action": "ALLOW", "ip_version": 4, "destination_ip_address": "192.168.22.0/24", "source_ip_address": "0.0.0.0/0", "enabled": true }} 响应体,获取到firewall_rule_id:84d10f4a-9f8b-41b8-bdfa-5a0f18736f12 { "firewall_rule": { "protocol": "tcp", "description": "create a ingress firewall rule ", "source_ip_address": "0.0.0.0/0", "destination_ip_address": "192.168.22.0/24", "source_port": null, "destination_port": null, "id": "84d10f4a-9f8b-41b8-bdfa-5a0f18736f12", "name": "fw-rule-ingress-1", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "project_id": "5f6387106c2048b589b369d96c2f23a2", "enabled": true, "action": "allow", "ip_version": 4, "public": false }} 创建网络ACL策略 POST /v2.0/fwaas/firewall_policies 请求体,绑定网络ACL规则 { "firewall_policy": { "description": "create a ingress firewall policy", "firewall_rules": [ "84d10f4a-9f8b-41b8-bdfa-5a0f18736f12" ], "name": "fw-policy-ingress" }} 响应体,获取到firewall_policy_id:da037721-b895-4e07-bbcc-f5f6ac2759fb { "firewall_policy": { "id": "da037721-b895-4e07-bbcc-f5f6ac2759fb", "name": "fw-policy-ingress", "project_id": "5f6387106c2048b589b369d96c2f23a2", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "description": "create a ingress firewall policy", "firewall_rules": [ "84d10f4a-9f8b-41b8-bdfa-5a0f18736f12" ], "audited": false, "public": false }} 创建网络ACL组 POST /v2.0/fwaas/firewall_groups 请求体,绑定入方向网络ACL策略 { "firewall_group": { "name": "fw-group-example", "description": "create a firewall group", "ingress_firewall_policy_id": "da037721-b895-4e07-bbcc-f5f6ac2759fb", "admin_state_up": true }} 响应体,获取到firewall_group_id:102493e8-fc6d-4f0d-b57f-55c5be86f5c0 { "firewall_group": { "id": "102493e8-fc6d-4f0d-b57f-55c5be86f5c0", "name": "fw-group-example", "project_id": "5f6387106c2048b589b369d96c2f23a2", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "admin_state_up": true, "egress_firewall_policy_id": null, "ingress_firewall_policy_id": "da037721-b895-4e07-bbcc-f5f6ac2759fb", "description": "create a firewall group", "created_at": "2023-03-09T08:54:40", "updated_at": "2023-03-09T08:54:40", "status": "INACTIVE", "ports": [], "public": false }} 登录网络控制台,可以查看到创建的网络ACL资源。
  • VPC接口说明 表1 VPC接口说明 类型 说明 VPC VPC的创建、查询、更新、删除等接口。 子网 子网的创建、查询、更新、删除等接口。 配额 配额查询接口。 私有IP 私有IP的申请、查询、删除等接口。 安全组 安全组创建、查询、删除等接口。 安全组规则创建、查询、删除等接口。 端口 端口创建、查询、更新、删除等接口。 对等连接 对等连接查询、创建、更新、删除等接口。 接受、拒绝对等连接请求接口。 VPC路由 VPC路由查询、创建、删除等接口。 路由表 路由表查询、创建、删除等接口。 标签管理 VPC资源标签的创建、查询、删除等接口。 子网资源标签的创建、查询、删除等接口。 查询网络IP使用情况 查询一个指定网络中的IP地址使用情况,包括网络中的IP总数以及已用IP总数。 流日志 流日志创建、查询、更新、删除等接口。 目前部分区域支持流日志接口,具体请打开功能总览,并选择“VPC流日志”查看。
  • VPC V3接口说明 表2 VPC接口说明 类型 说明 VPC V3 VPC V3的查询、编辑扩展网段等接口。 安全组 V3 安全组 V3的创建、查询、更新、删除等接口。 安全组规则 V3 安全组规则 V3的创建、查询、删除等接口。 IP地址组 地址组的创建、查询、更新、删除等接口。 辅助弹性网卡 辅助弹性网卡的创建、查询、更新、删除等接口。 目前部分区域支持弹性网卡接口,具体请打开功能总览,并选择“弹性网卡”查看。 流量镜像会话 流量镜像会话的创建、查询、更新、删除等接口。 目前部分区域支持流量镜像接口,具体请打开功能总览,并选择“流量镜像”查看 流量镜像筛选条件 流量镜像筛选条件的创建、查询、更新、删除等接口。 目前部分区域支持流量镜像接口,具体请打开功能总览,并选择“流量镜像”查看。 流量镜像筛选规则 流量镜像筛选规则的创建、查询、更新、删除等接口。 目前部分区域支持流量镜像接口,具体请打开功能总览,并选择“流量镜像”查看。 网络ACL V3 网络ACL V3的创建、查询、更新、删除等接口。 端口 V3 端口 V3的插入安全组、移除安全组等接口。
  • OpenStack原生接口说明 表3 OpenStack原生接口说明 类型 说明 API版本信息 当前API所有可用版本的查询、分页查询。 端口 端口的查询、创建、更新、删除等接口。 网络 网络的查询、创建、更新、删除等接口。 子网 子网的查询、创建、更新、删除等接口。 路由器 路由器的查询、创建、更新、删除等接口。 网络ACL 网络ACL的创建、更新、删除等接口。 网络ACL规则的创建、更新、删除、查询等接口。 网络ACL策略的创建、更新、删除、查询等接口。 安全组 安全组创建、查询、删除、更新等接口。 安全组规则创建、查询、删除等接口。
  • 请求示例 过滤查询VPC资源实例,action为filter,从第1条数据开始查询,单次查询最多返回100条,用matches和tags过滤查询。 POST https://{Endpoint}/v2.0/{project_id}/vpcs/resource_instances/action{ "offset": "0", "limit": "100", "action": "filter", "matches": [ { "key": "resource_name", "value": "resource1" } ], "tags": [ { "key": "key1", "values": [ "value1", "value2" ] } ]} 过滤计数VPC资源实例,action为count,用matches和tags过滤计数。 POST https://{Endpoint}/v2.0/{project_id}/vpcs/resource_instances/action{ "action": "count", "tags": [ { "key": "key1", "values": [ "value1", "value2" ] }, { "key": "key2", "values": [ "value1", "value2" ] } ], "matches": [ { "key": "resource_name", "value": "resource1" } ]}
  • 响应示例 action为filter { "resources": [ { "resource_detail": null, "resource_id": "cdfs_cefs_wesas_12_dsad", "resource_name": "resouece1", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value1" } ] } ], "total_count": 1000} action为count { "total_count": 1000}
  • 响应参数 表5 响应参数 名称 参数类型 说明 resources Array of resource objects resource对象列表,请参见表6。 total_count Integer 总记录数 表6 resource对象 名称 参数类型 说明 resource_id String 资源ID resource_detail Object 资源详情。 资源对象,用于扩展。默认为空 tags Array of tag objects 标签列表,没有标签默认为空数组,参见表7 resource_name String 资源名称,没有默认为空字符串 表7 tag字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做校验) value 是 String 值列表。每个值最大长度255个unicode字符,如果values为空列表,则表示any_value。 value之间为或的关系: 能查到匹配任意一个value的资源,如,资源A有val1的tag,B有val2的tag,用values={val1,val2}能过滤查询到资源A和B。
  • 操作步骤 通过子网ID或IP地址过滤查询端口。 发送“GET https://VPC的Endpoint/v1/{project_id}/ports?fixed_ips=ip_address={ip_address}&fixed_ips=subnet_id={subnet_id}”, project_id为项目ID,ip_address为端口资源的IP地址,subnet_id为端口资源所在子网的ID(IPV4/IPV6子网ID,不是网络ID)。 过滤信息格式举例 fixed_ips=ip_address=192.168.27.75,fixed_ips=subnet_id=f60f887b-60e1-4647-a762-b5c6925909cd 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下,id就是port_id,可以看到端口的详细信息。 { "ports": [ { "id": "6026a064-eacc-4c40-a0fd-9dcc456ad495", "name": "", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "f60f887b-60e1-4647-a762-b5c6925909cd", "ip_address": "192.168.27.75" } ], "mac_address": "fa:16:3e:ab:1e:4e", "network_id": "b033c3b8-59ea-4a15-9f86-648119cdc50a", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "device_id": "", "device_owner": "neutron:VIP_PORT", "security_groups": [], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled": true, "instance_type": "", "instance_id": "", "zone_id": "cn-north-4a" } ]} 请求异常时,错误码请参见错误码。 查询端口详情。 如果已知端口ID,可以通过下面的接口查询端口详情。 发送“GET https://VPC的Endpoint/v1/{project_id}/ports/{port_id}”,project_id为项目ID,port_id为端口ID。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应参数如下。 { "port": { "id": "6026a064-eacc-4c40-a0fd-9dcc456ad495", "name": "", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "f60f887b-60e1-4647-a762-b5c6925909cd", "ip_address": "192.168.27.75" } ], "mac_address": "fa:16:3e:ab:1e:4e", "network_id": "b033c3b8-59ea-4a15-9f86-648119cdc50a", "tenant_id": "5f6387106c2048b589b369d96c2f23a2", "device_id": "", "device_owner": "neutron:VIP_PORT", "security_groups": [], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {}, "port_security_enabled": true, "instance_type": "", "instance_id": "", "zone_id": "cn-north-4a" }} 请求异常时,错误码请参见错误码。
  • 请求参数 表2 请求参数 参数名称 类型 是否必选 说明 tags Array of tag objects 否 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 limit Integer 否 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1 offset Integer 否 (索引位置), 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数 action String 是 操作标识(仅限于filter,count):filter(过滤),count(查询总条数) 如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可。 matches Array of match objects 否 搜索字段,key为要匹配的字段,当前仅支持resource_name。value为匹配的值。此字段为固定字典值。 表3 tag字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做校验) values 是 Array of strings 值列表。每个值最大长度255个unicode字符,如果values为空列表,则表示any_value。 value之间为或的关系: 能查到匹配任意一个value的资源,如,资源A有val1的tag,B有val2的tag,用values={val1,val2}能过滤查询到资源A和B。 表4 match字段数据结构说明 名称 是否必选 参数类型 说明 key 是 String 键。当前仅限定为resource_name value 是 String 值。每个值最大长度255个unicode字符。
  • 响应示例 { "versions": [ { "status": "CURRENT", "id": "v2.0", "links": [ { "href": "https://{Endpoint}/v2.0", "rel": "self" } ] } ]}
  • 响应参数 表2 响应参数 参数名称 类型 说明 tags Array of tag objects tag对象列表,请参见表3。 表3 tag对象 属性 类型 说明 key String 标签名称。 不能为空。 长度不超过128个字符(当前控制台操作key长度不超过36个字符)。 由英文字母、数字、下划线、中划线、中文字符组成。 同一资源的key值不能重复。 value String 标签值。 长度不超过255个字符(当前控制台操作value长度不超过43个字符)。 由英文字母、数字、下划线、点、中划线、中文字符组成。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全