华为云用户手册

  • 响应示例 状态码为 200 时: OK { "security_group" : { "id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "name" : "security_group_2", "project_id" : "060576782980d5762f9ec014dd2f1148", "description" : "modified description", "enterprise_project_id" : "0", "security_group_rules" : [ { "id" : "f11a3824-ac19-4fad-b4f1-c5f4a6dd0a80", "project_id" : "060576782980d5762f9ec014dd2f1148", "security_group_id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "remote_group_id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "direction" : "ingress", "protocol" : null, "description" : "", "created_at" : "2020-07-09T05:56:27Z", "updated_at" : "2020-07-09T05:56:27Z", "ethertype" : "IPv6", "remote_ip_prefix" : null, "multiport" : null, "remote_address_group_id" : null, "action" : "allow", "priority" : 100 }, { "id" : "3d6480e8-9ea4-46dc-bb1b-8db190cd5677", "project_id" : "060576782980d5762f9ec014dd2f1148", "security_group_id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "remote_group_id" : null, "direction" : "egress", "protocol" : null, "description" : "", "created_at" : "2020-07-09T05:56:27Z", "updated_at" : "2020-07-09T05:56:27Z", "ethertype" : "IPv6", "remote_ip_prefix" : null, "multiport" : null, "remote_address_group_id" : null, "action" : "allow", "priority" : 100 }, { "id" : "9581f18c-1fdd-43da-ace9-7758a56ef28a", "project_id" : "060576782980d5762f9ec014dd2f1148", "security_group_id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "remote_group_id" : null, "direction" : "egress", "protocol" : null, "description" : "", "created_at" : "2020-07-09T05:56:27Z", "updated_at" : "2020-07-09T05:56:27Z", "ethertype" : "IPv4", "remote_ip_prefix" : null, "multiport" : null, "remote_address_group_id" : null, "action" : "allow", "priority" : 100 }, { "id" : "a3ba270e-e58b-432d-a912-aeb7eace9fb8", "project_id" : "060576782980d5762f9ec014dd2f1148", "security_group_id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "remote_group_id" : "69c999ad-d9ef-4d79-94fd-35e6ceb75325", "direction" : "ingress", "protocol" : null, "description" : "", "created_at" : "2020-07-09T05:56:27Z", "updated_at" : "2020-07-09T05:56:27Z", "ethertype" : "IPv4", "remote_ip_prefix" : null, "multiport" : null, "remote_address_group_id" : null, "action" : "allow", "priority" : 100 } ], "created_at" : "2020-07-09T05:56:27Z", "updated_at" : "2020-07-09T05:56:27Z" }, "request_id" : "a8cf4f79ca3c22ca685e7e8872e8c20b" }
  • 请求示例 更新id为1d8b19c7-7c56-48f7-a99b-4b40eb390967的安全组,名称更新为security_group_2,描述更新为modified description。 "PUT https://{Endpoint}/v3/{project_id}/vpc/security-groups/1d8b19c7-7c56-48f7-a99b-4b40eb390967" { "security_group" : { "name" : "security_group_2", "description" : "modified description" } }
  • 响应示例 { "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条及之后的所有资源记录。 id 否 String 按照路由表ID过滤查询,可过滤对应ID的路由表。 vpc_id 否 String 按照路由表所属VPC的UUID过滤查询。 subnet_id 否 String 按照路由表所关联子网的UUID过滤查询。 如果您使用管理控制台,此值即为子网详情中的“网络ID”参数值。
  • 响应示例 状态码为 201 时: Created { "sub_network_interfaces" : [ { "id" : "d1f8094c-bb3d-43c5-b625-52dd43eab451", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "private_ip_address" : "192.168.6.245", "ipv6_ip_address" : "2001:db8:a583:5d:11e8:b908:4fe6:9802", "mac_address" : "fa:16:3e:97:1f:f5", "parent_device_id" : "11185aa2-4e08-4d9e-87ed-84817280eaa7", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : null, "description" : "", "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5", "vlan_id" : 41, "tags" : [ ] }, { "id" : "0dce57ab-00de-443b-a7fe-e8ff68bd95bc", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "private_ip_address" : "192.168.6.75", "ipv6_ip_address" : "2001:db8:a583:5d:6c22:8ea2:c061:a802", "mac_address" : "fa:16:3e:5a:61:84", "parent_device_id" : "11185aa2-4e08-4d9e-87ed-84817280eaa7", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : null, "description" : "", "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5", "vlan_id" : 42, "tags" : [ ] }, { "id" : "1eca03ee-c0f1-4434-9c4c-87fe4426718c", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "private_ip_address" : "192.168.6.194", "ipv6_ip_address" : "2001:db8:a583:5d:2b45:a3ae:17db:ec02", "mac_address" : "fa:16:3e:b8:ec:6d", "parent_device_id" : "11185aa2-4e08-4d9e-87ed-84817280eaa7", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : null, "description" : "", "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5", "vlan_id" : 43, "tags" : [ ] } ], "request_id" : "344544c1-d053-4ad3-b673-900a0e01db7e" }
  • 请求示例 批量创建3个辅助弹性网卡,虚拟子网id为115b5a84-31dc-4b1e-8de9-bf5a75d2c566,宿主网络接口id为8b6c46f1-c68d-4bba-a922-2d97da185af5,关联安全组6727c950-9f01-47a2-a7aa-7d3686c4c95b。 POST https://{Endpoint}/v3/8c6fb137a48a428aaf9a0229dca4edb3/vpc/sub-network-interfaces/batch-create { "sub_network_interface" : { "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5" }, "count" : 3 }
  • 请求示例 解绑网络ACL e9a7731d-5bd9-4250-a524-b9a076fd5629 和子网8359e5b0-353f-4ef3-a071-98e67a34a143、d9994dcf-ef6d-47ec-9ac9-a62d4fd5e163。 PUT https://{Endpoint}/v3/{project_id}/vpc/firewalls/e9a7731d-5bd9-4250-a524-b9a076fd5629/disassociate-subnets { "subnets" : [ { "virsubnet_id" : "8359e5b0-353f-4ef3-a071-98e67a34a143" }, { "virsubnet_id" : "d9994dcf-ef6d-47ec-9ac9-a62d4fd5e163" } ] }
  • 响应示例 状态码: 200 OK { "firewall" : { "id" : "e9a7731d-5bd9-4250-a524-b9a076fd5629", "name" : "network_acl_test1", "description" : "network_acl_test1", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "created_at" : "2022-04-07T07:30:46", "updated_at" : "2022-04-07T07:30:46", "admin_state_up" : true, "enterprise_project_id" : "158ad39a-dab7-45a3-9b5a-2836b3cf93f9", "status" : "INACTIVE", "tags" : [ ], "ingress_rules" : [ { "id" : "e9a7731d-5bd9-4250-a524-b9a076fd5629", "name" : "network_acl_rule test", "description" : "network_acl_rule test", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.3.0/24", "destination_ip_address" : "192.168.6.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null } ], "egress_rules" : [ { "id" : "f9a7731d-5bd9-4250-a524-b9a076fd5629", "name" : "network_acl_rule test", "description" : "network_acl_rule test", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.3.0/24", "destination_ip_address" : "192.168.6.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null } ], "associations" : [ ] } }
  • 操作步骤 创建某个VPC的单个标签。 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags”,project_id为项目ID,vpc_id为VPC ID。 此接口可以在vpc_id所指的VPC中创建单个标签。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下。 { "tag": { "key": "key-test", "value": "value-test" } } 查看请求响应结果。 请求成功时,无响应消息,可以通过查询VPC资源标签查看结果,详见第2步。 请求异常时,错误码请参见错误码。 查询某个VPC的所有标签。 发送“GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags”,project_id为项目ID,vpc_id为VPC ID。 此接口可以查询vpc_id所指的VPC的所有标签。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应消息如下,可以看到第1步创建的tag,同时响应消息中的tags是列表类型,可能包含多个tag。 { "tags": [ { "key": "key-test", "value": "value-test" } ] } 请求异常时,错误码请参见错误码。 删除某个VPC的单个标签。 发送“DELETE https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/{key}”,project_id为项目ID,vpc_id为VPC ID,key为待删除标签的键值。 此接口可以在vpc_id所指的VPC中指定删除某个标签。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,无响应消息,可以通过查询VPC资源标签查看标签是否被删除,详见第2步。 请求异常时,错误码请参见错误码。 批量创建某个VPC的多个标签。 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action”,project_id为项目ID,vpc_id为VPC ID。 此接口可以在vpc_id所指的VPC中创建多个标签。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下,创建标签时指定action为create。 { "action": "create", "tags": [ { "key": "key-1", "value": "value-1" }, { "key": "key-2", "value": "value-2" } ] } 查看请求响应结果。 请求成功时,无响应消息,可以通过查询VPC资源标签查看结果,详见第2步。 请求异常时,错误码请参见错误码。 批量删除某个VPC的多个标签。 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/{vpc_id}/tags/action”,project_id为项目ID,vpc_id为VPC ID。 此接口可以在vpc_id所指的VPC中删除多个标签。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下,删除标签时指定action为delete。 { "action": "delete", "tags": [ { "key": "key-1", "value": "value-1" }, { "key": "key-2", "value": "value-2" } ] } 查看请求响应结果。 请求成功时,无响应消息,可以通过查询VPC资源标签查看结果,详见第2步。 请求异常时,错误码请参见错误码。 用标签过滤查询VPC资源实例详情。 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action”,project_id为项目ID。 此接口可以指定标签作为过滤条件过滤查询VPC实例详情。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下,过滤查询标签详情时指定action为filter。 { "action": "filter", "limit": 100, "offset": 0, "matches": [ { "key": "resource_name", "value": "vpc" } ], "tags": [ { "key": "key-1", "values": [ "value-1" ] } ] } 查看请求响应结果。 请求成功时,响应消息如下。 { "resources": [ { "resource_name": "vpc-jhc-test", "resource_id": "992ad4b2-35c1-4f8a-8dd0-caf8a7a7ec03", "resource_detail": "", "tags": [ { "key": "key-1", "value": "value-1" }, { "key": "key-2", "value": "value-2" }, { "key": "key-test", "value": "value-test" } ] } ], "total_count": 1 } 请求异常时,错误码请参见错误码。 用标签过滤查询VPC资源实例数量。 发送“POST https://VPC的Endpoint/v2.0/{project_id}/vpcs/resource_instances/action”,project_id为项目ID。 此接口可以指定标签作为过滤条件过滤查询VPC实例数量。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下,过滤查询标签详情时指定action为count。 { "action": "count", "matches": [ { "key": "resource_name", "value": "vpc" } ], "tags": [ { "key": "key-1", "values": [ "value-1" ] } ] } 查看请求响应结果。 请求成功时,响应消息如下。 { "total_count": 1 } 请求异常时,错误码请参见错误码。 查询租户在指定区域的所有VPC标签。 发送“GET https://VPC的Endpoint/v2.0/{project_id}/vpcs/tags”,project_id为项目ID。 此接口可以查询租户在指定区域的所有VPC标签。 在Request Header中增加“X-Auth-Token”。 查看请求响应结果。 请求成功时,响应消息如下。 { "tags": [ { "key": "key-1", "values": [ "value-1" ] }, { "key": "key-2", "values": [ "value-2" ] }, { "key": "key-test", "values": [ "value-test" ] } ] } 请求异常时,错误码请参见错误码。
  • 请求示例 批量创建两条子网资源标签,action为create。 POST https://{Endpoint}/v2.0/{project_id}/subnets/{subnet_id}/tags/action { "action": "create", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value3" } ] } 批量删除两条子网资源标签,action为delete。 POST https://{Endpoint}/v2.0/{project_id}/subnets/{subnet_id}/tags/action { "action": "delete", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value3" } ] }
  • 请求参数 表2 请求参数 参数名称 类型 是否必选 说明 tags Array of tag objects 是 tag对象列表,请参见表3。 action String 是 操作标识: create:创建 delete:删除 表3 tag对象 属性 类型 是否必选 说明 key String 是 标签名称。 不能为空。 长度不超过128个字符(当前控制台操作key长度不超过36个字符)。 由英文字母、数字、下划线、中划线、中文字符组成。 同一资源的key值不能重复。 value String 是 标签值。 长度不超过255个字符(当前控制台操作value长度不超过43个字符)。 由英文字母、数字、下划线、点、中划线、中文字符组成。
  • 请求示例 解关联路由表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" } }
  • 请求参数 表2 请求参数 名称 是否必选 参数类型 说明 routetable 是 routetable object 路由表对象,参见表3。 表3 routetable字段说明 名称 是否必选 参数类型 说明 subnets 是 subnet object 功能说明:路由表所关联的子网 约束:只能关联路由表所属vpc下的子网 表4 subnet字段说明 名称 是否必选 参数类型 说明 associate 否 Array of strings 路由表关联子网ID列表 disassociate 否 Array of strings 路由表解除关联子网ID列表
  • 请求示例 创建地址组,命名为AutoTester746010.580123789,指定ip类型为IPv4,地址集包含:192.168.3.2、192.168.3.40、192.168.3.20-192.168.3.100、192.168.5.0/24。 POST https://{{endpoint}}/v3/b2782e6708b8475c993e6064bc456bf8/vpc/address-groups { "address_group": { "ip_version": 4, "name": "AutoTester746010.580123789", "ip_set": [ "192.168.3.2", "192.168.3.40", "192.168.3.20-192.168.3.100", "192.168.5.0/24" ], "description": "test", "max_capacity": 20, "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" } }
  • 响应示例 状态码为 201 时: 地址组创建API的POST操作正常返回 { "address_group": { "id": "dd18a501-fcd5-4adc-acfe-b0e2384baf08", "name": "AutoTester746010.580123789", "tenant_id": "b2782e6708b8475c993e6064bc456bf8", "ip_version": 4, "ip_set": [ "192.168.5.0/24", "192.168.3.20-192.168.3.100", "192.168.3.40", "192.168.3.2" ], "ip_extra_set": [{ "ip": "192.168.5.0/24", "remarks": null }, { "ip": "192.168.3.20-192.168.3.100", "remarks": null }, { "ip": "192.168.3.40", "remarks": null }, { "ip": "192.168.3.2", "remarks": null }], "created_at": "2019-06-28T02:06:38", "updated_at": "2019-06-28T02:06:38", "description": "test", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2", "tags": [], "max_capacity": 20, "status": "NORMAL", "status_message": "" }, "request_id": "f568db7a-2675-4271-8747-3e3f1c6381ba" }
  • 请求示例 更新id为99d9d709-8478-4b46-9f3f-2206b1023fd3的vpc,将名称更新为vpc1,描述更新为test1,cidr更新为192.168.0.0/16。 PUT https://{Endpoint}/v1/{project_id}/vpcs/99d9d709-8478-4b46-9f3f-2206b1023fd3 { "vpc": { "name": "vpc1", "description": "test1", "cidr": "192.168.0.0/16" } }
  • 响应示例 { "vpc": { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc1", "description": "test1", "cidr": "192.168.0.0/16", "status": "OK", "enterprise_project_id": "0", "routes": [], "tenant_id": "087679f0aa80d32a2f4ec0172f5e902b", "created_at": "2022-12-15T02:25:11", "updated_at": "2022-12-15T06:23:15" } }
  • 请求示例 创建一个子网,所在vpc的id为3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85,命名为subent,设置cidr为192.168.20.0/24,网关IP为192.168.20.1。 POST https://{Endpoint}/v1/{project_id}/subnets { "subnet": { "name": "subnet", "description": "", "cidr": "192.168.20.0/24", "gateway_ip": "192.168.20.1", "ipv6_enable": true, "dhcp_enable": true, "primary_dns": "114.xx.xx.114", "secondary_dns": "114.xx.xx.115", "dnsList": [ "114.xx.xx.114", "114.xx.xx.115" ], "availability_zone": "aa-bb-cc", "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85", "extra_dhcp_opts": [ { "opt_value": "10.100.0.33,10.100.0.34", "opt_name": "ntp" }, { "opt_value": "24h", "opt_name": "addresstime" } ] } }
  • 响应示例 { "subnet": { "id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "name": "subnet", "description": "", "cidr": "192.168.20.0/24", "dnsList": [ "114.xx.xx.114", "114.xx.xx.115" ], "status": "UNKNOWN", "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85", "gateway_ip": "192.168.20.1", "ipv6_enable": true, "cidr_v6": "2001:db8:a583::/64", "gateway_ip_v6": "2001:db8:a583::1", "dhcp_enable": true, "primary_dns": "114.xx.xx.114", "secondary_dns": "114.xx.xx.115", "availability_zone": "aa-bb-cc", "neutron_network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "neutron_subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "neutron_subnet_id_v6": "e0fa7de1-a6e2-44c9-b052-b9d8cebe93c4", "extra_dhcp_opts": [ { "opt_value": "10.100.0.33,10.100.0.34", "opt_name": "ntp" }, { "opt_value": "24h", "opt_name": "addresstime" } ], "tenant_id": "087679f0aa80d32a2f4ec0172f5e902b", "created_at": "2022-12-15T02:42:07", "updated_at": "2022-12-15T02:42:07" } }
  • 请求示例 插入两条入方向规则到id为e9a7731d-5bd9-4250-a524-b9a076fd5629的网络ACL中,插入到规则a2a7731d-5bd9-4250-a524-b9a076fd5630之后。 PUT https://{Endpoint}/v3/{project_id}/vpc/firewalls/e9a7731d-5bd9-4250-a524-b9a076fd5629/insert-rules { "firewall" : { "ingress_rules" : [ { "name" : "network_acl_rule ipv4 test", "description" : "network_acl_rule ipv4 test", "action" : "allow", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.3.0/24", "destination_ip_address" : "192.168.6.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null },{ "name" : "network_acl_rule ipv6 test", "description" : "network_acl_rule ipv6 test", "action" : "allow", "protocol" : "tcp", "ip_version" : "6", "source_ip_address" : "2002:50::44", "destination_ip_address" : "2002:51::44", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null } ], "insert_after_rule" : "a2a7731d-5bd9-4250-a524-b9a076fd5630" } } 插入两条出方向规则到id为e9a7731d-5bd9-4250-a524-b9a076fd5629的网络ACL中,插入到规则a3a7731d-5bd9-4250-a524-b9a076fd5630之后。 PUT https://{Endpoint}/v3/{project_id}/vpc/firewalls/e9a7731d-5bd9-4250-a524-b9a076fd5629/insert-rules { "firewall" : { "egress_rules" : [ { "name" : "network_acl_rule ipv4 test", "description" : "network_acl_rule ipv4 test", "action" : "allow", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.3.0/24", "destination_ip_address" : "192.168.6.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null },{ "name" : "network_acl_rule ipv6 test", "description" : "network_acl_rule ipv6 test", "action" : "allow", "protocol" : "tcp", "ip_version" : "6", "source_ip_address" : "2002:50::44", "destination_ip_address" : "2002:51::44", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null }], "insert_after_rule" : "a3a7731d-5bd9-4250-a524-b9a076fd5630" } }
  • 响应示例 状态码: 200 OK { "firewall" : { "id" : "e9a7731d-5bd9-4250-a524-b9a076fd5629", "name" : "network_acl_test1", "description" : "network_acl_test1", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "created_at" : "2022-04-07T07:30:46", "updated_at" : "2022-04-07T07:30:46", "admin_state_up" : true, "enterprise_project_id" : "158ad39a-dab7-45a3-9b5a-2836b3cf93f9", "status" : "ACTIVE", "tags" : [ ], "ingress_rules" : [{ "id" : "a2a7731d-5bd9-4250-a524-b9a076fd5630", "name" : "network_acl_rule", "description" : "network_acl_rule", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.13.0/24", "destination_ip_address" : "192.168.16.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null },{ "id" : "4afc959f-5380-dd94-8082-5701f6bc3f1c", "name" : "network_acl_rule ipv4 test", "description" : "network_acl_rule ipv4 test", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.3.0/24", "destination_ip_address" : "192.168.6.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null },{ "id" : "b49dcd4c-508e-4b99-9093-2680616f2a7e", "name" : "network_acl_rule ipv6 test", "description" : "network_acl_rule ipv6 test", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "6", "source_ip_address" : "2002:50::44", "destination_ip_address" : "2002:51::44", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null }], "egress_rules" : [{ "id" : "a3a7731d-5bd9-4250-a524-b9a076fd5630", "name" : "network_acl_rule", "description" : "network_acl_rule", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.13.0/24", "destination_ip_address" : "192.168.16.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null },{ "id" : "f9a7731d-5bd9-4250-a524-b9a076fd5629", "name" : "network_acl_rule ipv4 test", "description" : "network_acl_rule ipv4 test", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "4", "source_ip_address" : "192.168.3.0/24", "destination_ip_address" : "192.168.6.0/24", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null }, { "id" : "bbbc1cd1-b8e1-45d3-b3bc-7bc360f8860d", "name" : "network_acl_rule ipv6 test", "description" : "network_acl_rule ipv6 test", "action" : "allow", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "protocol" : "tcp", "ip_version" : "6", "source_ip_address" : "2002:50::44", "destination_ip_address" : "2002:51::44", "source_port" : "30-40,60-90", "destination_port" : "40-60,70-90", "source_address_group_id" : null, "destination_address_group_id" : null }], "associations" : [ { "virsubnet_id" : "8359e5b0-353f-4ef3-a071-98e67a34a143" } ] } }
  • 响应示例 { "subnets": [ { "id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "name": "subnet", "description": "", "cidr": "192.168.20.0/24", "dnsList": [ "114.xx.xx.114", "114.xx.xx.115" ], "status": "ACTIVE", "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85", "gateway_ip": "192.168.20.1", "ipv6_enable": true, "cidr_v6": "2001:db8:a583::/64", "gateway_ip_v6": "2001:db8:a583::1", "dhcp_enable": true, "primary_dns": "114.xx.xx.114", "secondary_dns": "114.xx.xx.115", "availability_zone": "aa-bb-cc", "neutron_network_id": "4779ab1c-7c1a-44b1-a02e-93dfc361b32d", "neutron_subnet_id": "213cb9d-3122-2ac1-1a29-91ffc1231a12", "neutron_subnet_id_v6": "e0fa7de1-a6e2-44c9-b052-b9d8cebe93c4", "extra_dhcp_opts": [ { "opt_value": "10.100.0.33,10.100.0.34", "opt_name": "ntp" }, { "opt_value": "24h", "opt_name": "addresstime" } ], "tenant_id": "087679f0aa80d32a2f4ec0172f5e902b", "created_at": "2022-12-15T02:42:07", "updated_at": "2022-12-15T02:42:07" }, { "id": "531dec0f-3116-411b-a21b-e612e42349fd", "name": "Subnet1", "description": "", "cidr": "192.168.1.0/24", "dnsList": [ "114.xx.xx.114", "114.xx.xx.115" ], "status": "ACTIVE", "vpc_id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85", "gateway_ip": "192.168.1.1", "ipv6_enable": false, "dhcp_enable": true, "primary_dns": "114.xx.xx.114", "secondary_dns": "114.xx.xx.115", "availability_zone": "aa-bb-cc", "neutron_network_id": "531dec0f-3116-411b-a21b-e612e42349fd", "neutron_subnet_id": "1aac193-a2ad-f153-d122-12d64c2c1d78", "extra_dhcp_opts": [ { "opt_value": "10.100.0.33,10.100.0.34", "opt_name": "ntp" }, { "opt_value": "24h", "opt_name": "addresstime" } ], "tenant_id": "087679f0aa80d32a2f4ec0172f5e902b", "created_at": "2022-12-15T03:41:22", "updated_at": "2022-12-15T03:41:22" } ] }
  • URI GET /v1/{project_id}/subnets 样例: GET https://{Endpoint}/v1/{project_id}/subnets?limit=10&marker=4779ab1c-7c1a-44b1-a02e-93dfc361b32d&vpc_id=3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85 参数说明请参见表1。 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 项目ID,获取项目ID请参见获取项目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条及之后的所有资源记录。 limit 否 Integer 分页查询每页返回的记录个数,取值范围为0~intmax(2^31-1),默认值2000。 limit需要和marker配合使用,详细规则请见marker的参数说明。 vpc_id 否 String 按照子网所在VPC ID过滤查询。 企业项目细粒度授权场景下,该字段必传。
  • URI GET /v3/{project_id}/vpc/firewalls 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID 表2 Query参数 参数 是否必选 参数类型 描述 admin_state_up 否 Boolean ACL是否启用 enterprise_project_id 否 Array 功能说明:企业项目ID。可以使用该字段过滤某个企业项目下的ACL。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。若需要查询当前用户所有企业项目绑定的ACL,请传参all_granted_eps。 id 否 Array ACL唯一标识,填写后接口按照id进行过滤,支持多id同时过滤 limit 否 Integer 功能说明:每页返回的个数 取值范围:0~2000 marker 否 String 分页查询起始的资源ID,为空时查询第一页 name 否 Array ACL名称,填写后按照名称进行过滤,支持多名称同时过滤 status 否 String ACL的状态 枚举值: ACTIVE INACTIVE
  • 响应示例 状态码: 200 OK { "firewalls" : [ { "id" : "e9a7731d-5bd9-4250-a524-b9a076fd5629", "name" : "network_acl_test1", "description" : "network_acl_test1", "project_id" : "9476ea5a8a9849c38358e43c0c3a9e12", "created_at" : "2022-04-07T07:30:46", "updated_at" : "2022-04-07T07:30:46", "admin_state_up" : true, "enterprise_project_id" : "158ad39a-dab7-45a3-9b5a-2836b3cf93f9", "status" : "ACTIVE", "tags" : [ ], "associations" : [ { "virsubnet_id" : "8359e5b0-353f-4ef3-a071-98e67a34a143" } ] } ] }
  • 响应示例 状态码为 201 时: Created { "sub_network_interface" : { "id" : "2be868f2-f7c9-48db-abc0-eea0b9105b0d", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "08278e6c-61ca-46c1-9fc3-0d4f6c12f193", "private_ip_address" : "10.0.0.225", "ipv6_ip_address" : null, "mac_address" : "fa:16:3e:48:f8:6f", "parent_device_id" : "1ab01f1d-4ef7-4d83-82be-802b3aca0223", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : "63b97e6b-3598-430f-9eb8-1caf06937be8", "description" : null, "parent_id" : "637748df-2986-4350-8303-95d259580fb3", "vlan_id" : 2787, "tags" : [ ], "created_at" : "2020-05-19T01:16:25" }, "request_id" : "ceb6273e-1ec9-4168-ac11-3dfeaacfc889" }
  • 请求示例 创建辅助弹性网卡,虚拟子网id为08278e6c-61ca-46c1-9fc3-0d4f6c12f193,宿主网络接口id为637748df-2986-4350-8303-95d259580fb3,关联安全组6727c950-9f01-47a2-a7aa-7d3686c4c95b。 POST https://{Endpoint}/v3/8c6fb137a48a428aaf9a0229dca4edb3/vpc/sub-network-interfaces { "sub_network_interface" : { "virsubnet_id" : "08278e6c-61ca-46c1-9fc3-0d4f6c12f193", "parent_id" : "637748df-2986-4350-8303-95d259580fb3", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ] } }
  • 响应示例 { "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_name": "", "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", "instance_type": "RDS", "instance_id": "03a4e9ee-64eb-4a31-802e-5490df22146c", "enable_efi": false } }
  • 响应参数 表2 响应参数 名称 参数类型 说明 port port object 端口对象,请参见表3。 表3 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。例如:"fixed_ips": [{"subnet_id": "4dc70db6-cb7f-4200-9790-a6a910776bba", "ip_address": "192.169.25.79"}],请参见表4 fixed_ip对象。 约束: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上的E CS 使用),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。 如果allowed_address_pairs回显值为云服务器网卡IP地址,表示虚拟IP的端口处于绑定状态。 security_groups Array of strings 安全组的UUID(扩展属性)。 allowed_address_pairs Array of allowed_address_pairs objects 功能说明:IP/Mac对列表。请参见表5 allow_address_pair对象。 约束: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”。 extra_dhcp_opts Array of extra_dhcp_opt objects DHCP的扩展Option(扩展属性),请参见表6 extra_dhcp_opt对象。 binding:vif_details binding:vif_details object vif的详细信息,参见表7。 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。 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网卡绑定了共享带宽,才会显示此参数。 表4 fixed_ip对象 名称 参数类型 说明 subnet_id String 功能说明:所属子网ID。 如果您使用管理控制台,此值即为子网详情中的“IPv4子网ID”或“IPv6子网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”。 mac_address String MAC地址。 表6 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租约时间无限长。 表7 binding:vif_details对象 名称 参数类型 说明 primary_interface Boolean 取值为true,表示是虚拟机的主网卡。 port_filter Boolean 表示该网络服务提供端口过滤特性,如安全组和反MAC/IP欺骗。 ovs_hybrid_plug Boolean 用于通知像nova这样的API消费者,应该使用OVS的混合插入策略。 表8 dns_assignment对象 名称 参数类型 说明 hostname String 端口hostname。 ip_address String 端口IP地址。 fqdn String 端口内网fqdn。
共100000条