虚拟私有云(VPC)管理示例
引导式阅读
Java
虚拟私有云(VPC)管理示例
作者
C***
上架时间
2023-04-09 14:41:01

版本说明

本示例基于华为云SDK V1.0版本开发,高版本示例正在开发中。

VPC概述

虚拟私有云服务(Virtual Private Cloud, 以下简称VPC)。VPC为弹性云服务器构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云上资源的安全性,简化用户的网络部署。您可以使用本文档提供的API对VPC进行相关操作,如创建、查询、删除、更新等。 在调用VPC服务的API之前,请确保已经充分了解VPC服务相关概念,详细信息请参见《虚拟私有云用户指南》的产品介绍

调用说明

VPC服务提供了REST(Representational StateTransfer)风格API,支持您通过HTTPS请求调用,调用方法请参见如何调用API。 同时VPC服务还提供多种编程语言的SDK供您使用,详情请参见SDK使用方法

示例接口说明

创建VPC

功能介绍

创建虚拟私有云

URI

POST /v1/{project_id}/vpcs

参数说明:

  • project_id:项目ID,必填参数,获取项目ID请参见获取项目ID

具体参数含义请参考APIExplorer

请求样例

POST https://{Endpoint}/v1/{project_id}/vpcs { "vpc": { "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" } }

响应样例

{ "vpc": { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "status": "CREATING", "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2", "routes": [] } }

查询VPC

功能介绍

查询虚拟私有云。

URI

GET /v1/{project_id}/vpcs/{vpc_id}

参数说明:

  • project_id:项目ID,必填参数,获取项目ID请参见获取项目ID
  • vpc_id:虚拟私有云唯一标识,必填参数。

具体参数含义请参考APIExplorer

请求样例

GET https://{Endpoint}/v1/{project_id}/vpcs/99d9d709-8478-4b46-9f3f-2206b1023fd3

响应样例

{ "vpc": { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "status": "OK", "enterprise_project_id": "0" , "routes": [] } }

查询VPC列表

功能介绍

查询虚拟私有云列表。

URI

GET /v1/{project_id}/vpcs

参数说明:

  • project_id:项目ID,必填参数,获取项目ID请参见获取项目ID
  • marker:分页查询起始的资源ID,为空时为查询第一页,非必填参数。
  • limit:功能说明:每页返回的个数;取值范围:0~intmax,非必填参数。
  • enterprise_project_id:功能说明:企业项目ID。可以使用该字段过滤某个企业项目下的虚拟私有云;取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。若需要查询当前用户所有企业项目绑定的虚拟私有云,请传参all_granted_eps,非必填参数。

具体参数含义请参考APIExplorer

请求样例

  • 有请求参数的样例
GET https://{Endpoint}/v1/{project_id}/vpcs?limit=10&marker=13551d6b-755d-4757-b956-536f674975c0
  • 无请求参数的样例
GET https://{Endpoint}/v1/{project_id}/vpcs

响应样例

{ "vpcs": [ { "id": "13551d6b-755d-4757-b956-536f674975c0", "name": "default", "description": "test", "cidr": "172.16.0.0/16", "status": "OK", "enterprise_project_id": "0", "routes": [] }, { "id": "3ec3b33f-ac1c-4630-ad1c-7dba1ed79d85", "name": "222", "description": "test", "cidr": "192.168.0.0/16", "status": "OK", "enterprise_project_id": "0635d733-c12d-4308-ba5a-4dc27ec21038", "routes": [] }, { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "status": "OK", "enterprise_project_id": "0", "routes": [] } ] }

更新VPC

功能介绍

更新虚拟私有云。

URI

PUT /v1/{project_id}/vpcs/{vpc_id}

参数说明:

  • project_id:项目ID,必填参数,获取项目ID请参见获取项目ID
  • vpc_id:虚拟私有云唯一标识,必填参数。

具体参数含义请参考APIExplorer

请求样例

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": [] } }

删除VPC

功能介绍

删除虚拟私有云。

URI

DELETE /v1/{project_id}/vpcs/{vpc_id}

参数说明:

  • project_id:项目ID,必填参数,获取项目ID请参见获取项目ID
  • vpc_id:虚拟私有云唯一标识,必填参数。

具体参数含义请参考APIExplorer

请求样例

DELETE https://{Endpoint}/v1/{project_id}/vpcs/13551d6b-755d-4757-b956-536f674975c0

响应样例