VPC
获取Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于VPC服务域名的部分,理解Endpoint相关的概念。 百度智能云目前开放了多区域支持,请参考区域选择说明中网络产品VPC的部分。
注意: VPC API支持HTTP和HTTPS两种调用方式。为了提升数据的安全性,建议通过HTTPS调用
获取AK/SK
要使用百度智能云VPC,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问服务做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息:
新建VpcClient
VpcClient是VPC服务的客户端,为开发者与VPC服务进行交互提供了一系列的方法。 新建VpcClient时,需要先使用Endpoint、AK、SK对BceClientConfigurationl类型的config实例进行配置,再使用config实例对VpcClient进行配置,具体配置方法如下:
1HOST = b''
2AK = b''
3SK = b''
4config = BceClientConfiguration(credentials=BceCredentials(AK, SK), endpoint=HOST)
5self.the_client = vpc_client.VpcClient(config)
创建VPC
函数声明
1@required(name=(bytes, str), cidr=(bytes, str))
2def create_vpc(self, name, cidr, description=None, client_token=None, config=None):
参数含义
请参考OpenApi文档: https://cloud.baidu.com/doc/VPC/s/Njwvyuaq5
使用示例
1vpc_name = 'test_vpc_name'
2vpc_cidr = '192.168.240.0/20'
3description = 'test_vpc_descrition'
4self.the_client.create_vpc(vpc_name, vpc_cidr, description))
返回值
操作成功:
1{
2 "vpcId":"vpc-1849ef6b"
3}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考: example_create_vpc.py
列举VPC
函数声明
1@required(marker=(bytes, str), max_Keys=int, is_Default=bool)
2def list_vpcs(self, marker=None, max_Keys=None, isDefault=None, config=None):
参数含义
请参考OpenApi文档: https://cloud.baidu.com/doc/VPC/s/wjwvyub23
使用示例
1self.the_client.list_vpcs()
返回值
操作成功:
1{
2"nextMarker": "vpc-xktdeMSf",
3"marker": "vpc-IyWRtII7",
4"maxKeys": 1,
5"isTruncated": true,
6"vpcs": [
7 {
8 "vpcId': "vpc-IyWRtII7",
9 "name": "VPC Name",
10 "isDefault": True,
11 "cidr": "0.0.0.0/0",
12 "description": "default",
13 "ipv6Cidr": "2400:da00:e003:4c00::/56",
14 "tags":[
15 {
16 "tagKey": "tagKey",
17 "tagValue": "tagValue"
18 }
19 ]
20 }
21 ]
22}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_list_vpc.py
查询VPC
函数声明
1@required(vpc_id=(bytes, str))
2def get_vpc(self, vpc_id, config=None):
参数含义
请参考OpenApi文档: https://cloud.baidu.com/doc/VPC/s/yjwvyuaeo
使用示例
1self.the_client.get_vpc(vpc_id)
返回值
操作成功:
1{
2 "vpc": {
3 "vpcId': "vpc-IyWRtII7",
4 "name": u"\u9ed8\u8ba4\u79c1\u6709\u7f51\u7edc",
5 "isDefault": True,
6 "cidr": "0.0.0.0/0",
7 "ipv6Cidr": "2400:da00:e003:4c00::/56",
8 "description": "default",
9 "subnets": [
10 {
11 "name": "系统预定义子网",
12 "subnetId": "sbn-IyWRnII7",
13 "zoneName": "cn-bj-a",
14 "cidr": "192.168.0.0/20",
15 "ipv6Cidr": "2400:da00:e003:4c11::/64",
16 "vpcId": "vpc-IyrqYIQ7",
17 "subnetType": "BCC",
18 "description": ""
19 "createdTime": "2018-03-14T14:45:02Z"
20 }
21 ],
22 "tags":[
23 {
24 "tagKey": "tagKey",
25 "tagValue": "tagValue"
26 }
27 ]
28 }
29}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考:example_get_vpc.py
更新VPC
函数声明
1@required(vpc_id=(bytes, str), name=(bytes, str))
2def update_vpc(self, vpc_id, name, description=None, client_token=None, config=None):
参数含义
请参考OpenApi文档: https://cloud.baidu.com/doc/VPC/s/tjwvyubez
使用示例
1self.the_client.update_vpc(vpc_id, 'test_update_name', 'test_update_description')
返回值
操作成功:
1{
2}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考: example_update_vpc.py
注意: 只允许更新vpc的name和description字段,cidr字段不能更新
删除VPC
函数声明
1@required(vpc_id=(bytes, str))
2def delete_vpc(self, vpc_id, client_token=None, config=None):
参数含义
请参考OpenApi文档: https://cloud.baidu.com/doc/VPC/s/Ijwvyua0d
使用示例
1self.the_client.delete_vpc(vpc_id)
返回值
操作成功:
1{
2}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考: example_delete_vpc.py
查询VPC内网IP
函数声明
1@required(vpc_id=(bytes, str))
2def get_private_ip_address_info(self, vpc_id, private_ip_range=None, private_ip_addresses=None, config=None):
参数含义
请参考OpenApi文档: https://cloud.baidu.com/doc/VPC/s/2kih0m069
使用示例
1self.the_client.get_private_ip_address_info(vpc_id=vpc_id, private_ip_addresses=private_ip_addresses)
返回值
操作成功:
1{
2 "vpc_private_ip_addresses": [
3 {
4 "cidr": "192.168.0.0/20",
5 "private_ip_address": "192.168.0.1",
6 "private_ip_address_type": "sys_occupancy",
7 "created_time": "1999-01-01T01:01:01Z"
8 }
9 ]
10}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/VPC/s/sjwvyuhe7
代码示例
具体代码示例参考: example_get_vpc_ip.py