# 华为云CLI VPC ## 写在前面 本实验未指明的信息均是在华为云CLI的默认配置中调用。 ## API概览 虚拟私有云所提供的接口分为VPC接口与OpenStack原生接口。 通过配合使用VPC接口和OpenStack原生接口,您可以完整的使用虚拟私有云的所有功能。同一功能既有原生OpenStack接口,还有VPC接口时,建议您优先使用VPC接口。 ### VPC接口说明 | **类型** | **说明** | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [VPC](https://support.huaweicloud.com/api-vpc/vpc_api01_0000.html) | VPC的创建、查询、更新、删除等接口。 | | [子网](https://support.huaweicloud.com/api-vpc/vpc_subnet01_0000.html) | 子网的创建、查询、更新、删除等接口。 | | [配额](https://support.huaweicloud.com/api-vpc/vpc_quota_0000.html) | 配额查询接口。 | | [私有IP](https://support.huaweicloud.com/api-vpc/vpc_privateip_0000.html) | 私有IP的申请、查询、删除等接口。 | | [安全组](https://support.huaweicloud.com/api-vpc/vpc_sg01_0000.html) | 安全组创建、查询、删除等接口。安全组规则创建、查询、删除等接口。 | | [端口](https://support.huaweicloud.com/api-vpc/vpc_port01_0000.html) | 端口创建、查询、更新、删除等接口。 | | [对等连接](https://support.huaweicloud.com/api-vpc/vpc_peering_0000.html) | 对等连接查询、创建、更新、删除等接口。接受、拒绝对等连接请求接口。 | | [VPC路由](https://support.huaweicloud.com/api-vpc/vpc_route_0000.html) | VPC路由查询、创建、删除等接口。 | | [路由表](https://support.huaweicloud.com/api-vpc/vpc_apiroutetab_0000.html) | 路由表查询、创建、删除等接口。 | | [标签管理](https://support.huaweicloud.com/api-vpc/vpc_tag_0000.html) | VPC资源标签的创建、查询、删除等接口。子网资源标签的创建、查询、删除等接口。该类型接口目前在“华北-北京一”“华北-北京四”、“华东-上海一”、“华东-上海二”、“西南-贵阳一”“华南-广州”、“中国-香港”区域开放。 | | [查询网络IP使用情况](https://support.huaweicloud.com/api-vpc/vpc_natworkip_0000.html) | 查询一个指定网络中的IP地址使用情况,包括网络中的IP总数以及已用IP总数。 | ### OpenStack原生接口说明 | **类型** | **说明** | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [API版本信息](https://support.huaweicloud.com/api-vpc/vpc_version_0000.html) | 当前API所有可用版本的查询、分页查询。 | | [端口](https://support.huaweicloud.com/api-vpc/vpc_port02_0000.html) | 端口的查询、创建、更新、删除等接口。 | | [网络](https://support.huaweicloud.com/api-vpc/vpc_network_0000.html) | 网络的查询、创建、更新、删除等接口。 | | [子网](https://support.huaweicloud.com/api-vpc/vpc_subnet02_0000.html) | 子网的查询、创建、更新、删除等接口。 | | [路由器](https://support.huaweicloud.com/api-vpc/vpc_router_0000.html) | 路由器的查询、创建、更新、删除等接口。 | | [网络ACL](https://support.huaweicloud.com/api-vpc/vpc_firewall_0000.html) | 网络ACL的创建、更新、删除等接口。网络ACL规则的创建、更新、删除、查询等接口。网络ACL策略的创建、更新、删除、查询等接口。 | | [安全组](https://support.huaweicloud.com/api-vpc/vpc_sg02_0000.html) | 安全组创建、查询、删除、更新等接口。安全组规则创建、查询、删除等接口。 | ## VPC ### 查询VPC `hcloud VPC ListVpcs`命令可以用来查询VPC列表。 现在华为云有V2和V3两种API版本,默认调用V3进行查询,可以通过指定API版本来选择。 ```shell hcloud VPC ListVpcs 命令中ListVpcs有多个版本,默认使用该API最新版本v3.若需指定其他版本,请将API名修改为"ListVpcs/版本号" { "request_id": "aabb48b0901d934435c4859408afd2e0", "vpcs": [ { "id": "b517649f-9465-4985-acbc-4472e1b36608", "name": "vpc-default", "description": "vpc-default", "cidr": "192.168.0.0/16", "extend_cidrs": [], "status": "ACTIVE", "project_id": "06c9a7702d00254f2f84c00e8a1a5bf5", "enterprise_project_id": "0", "tags": [], "created_at": "2022-03-11T01:21:00Z", "updated_at": "2022-03-11T01:21:01Z", "cloud_resources": [ { "resource_type": "routetable", "resource_count": 1 }, { "resource_type": "virsubnet", "resource_count": 1 } ] } ], "page_info": { "previous_marker": "b517649f-9465-4985-acbc-4472e1b36608", "current_count": 1 } } hcloud VPC ListVpcs/v2 { "vpcs": [ { "id": "b517649f-9465-4985-acbc-4472e1b36608", "name": "vpc-default", "description": "vpc-default", "cidr": "192.168.0.0/16", "status": "OK", "routes": [], "enterprise_project_id": "0" } ] } ``` **参数解析** | 参数 | 说明 | | ----------- | ------------- | | id | VPC的ID | | name | VPC的名字 | | description | VPC的描述信息 | | cidr | VPC的网段信息 | | status | VPC的状态 | | routes | VPC的路由表 | ### 创建VPC 通过查询可以得知一个VPC需要的最基本的参数有:name,cidr。可以配合以下命令来创建VPC: ```shell hcloud VPC CreateVpc --help HCloud CLI(Huawei Cloud CLI) Version 3.1.10 Copyright(C) 2020-2022 www.huaweicloud.com Service: VPC Description: 创建虚拟私有云。 Method: POST Params: --cli-region required string 当前可调用的区域.若命令中未输入,将使用当前配置项中的cli-region --project_id required string path 项目ID。若命令中未输入,将根据认证信息获取指定区域的父级项目ID,或使用当前配置项中的cli-project-id --vpc.cidr optional string body 功能说明:虚拟私有云下可用子网的范围。 取值范围: - 10.0.0.0/8 ~ 10.255.255.240/28 - 172.16.0.0/12 ~ 172.31.255.240/28 - 192.168.0.0/16 ~ 192.168.255.240/28 约束:必须是ipv4 cidr格式,例如:192.168.0.0/16 --vpc.description optional string body 功能说明:虚拟私有云的描述。 取值范围:0-255个字符,不能包含“<”和“>”。 --vpc.enterprise_project_id optional string body 功能说明:企业项目ID。创建虚拟私有云时,给虚拟私有云绑定企业项目ID。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 默认值:"0" --vpc.name optional string body 功能说明:虚拟私有云名称。 取值范围:0-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点) 约束:如果名称不为空,则同一个租户下的名称不能重复 ``` **示例:** 根据上面的信息来创建一个名为vpc-test,CIDR为192.168.0.0/24的VPC。 ```shell hcloud VPC CreateVpc --vpc.name=vpc-test --vpc.cidr=192.168.0.0/24 { "vpc": { "id": "12fb3a3a-5e55-4fb4-a589-862d09ef59ce", "name": "vpc-test", "description": "", "cidr": "192.168.0.0/24", "status": "CREATING", "routes": [], "enterprise_project_id": "0" } } ``` ![2022.3.15-华为云CLI-创建VPC-vps-test](images/2022.3.15-华为云CLI-创建VPC-vps-test.png) ### 删除VPC 使用`cloud VPC DeleteVpc`命令删除VPC。 ```shell hcloud VPC DeleteVpc --vpc_id=12fb3a3a-5e55-4fb4-a589-862d09ef59ce ``` ## 子网 ## 安全组 ## 对等连接 ## VPC路由 ## 路由表