VPC
更新时间:2019-10-25
获取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进行配置,具体配置方法如下:
HOST = b''
AK = b''
SK = b''
config = BceClientConfiguration(credentials=BceCredentials(AK, SK), endpoint=HOST)
self.the_client = vpc_client.VpcClient(config)
创建VPC
函数定义如下:
@required(name=(bytes, str), cidr=(bytes, str))
def create_vpc(self, name, cidr, description=None, client_token=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
name | String | 是 | vpc名称,不能取值“default”,长度不超过65个字符,可由数字、字符、下划线组成 |
cidr | String | 是 | vpc的cidr |
description | String | 否 | vpc描述,不超过200字符 |
client_token | String | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串 |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
vpc_name = 'test_vpc_name'
vpc_cidr = '192.168.240.0/20'~~~~
description = 'test_vpc_descrition'
self.the_client.create_vpc(vpc_name, vpc_cidr, description))
列举VPC
函数定义如下:
@required(marker=(bytes, str), max_Keys=int, is_Default=bool)
def list_vpcs(self, marker=None, max_Keys=None, isDefault=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
marker | String | 否 | 批量获取列表的查询的起始位置,是一个由系统生成的字符串 |
max_keys | Integer | 否 | 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000 |
is_default | Boolean | 否 | 是否为默认vpc,可选值:True、False;当不填写此参数时返回所有vpc |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.list_vpcs()
查询VPC
函数定义如下:
@required(vpc_id=(bytes, str))
def get_vpc(self, vpc_id, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
vpc_id | String | 是 | 待查询vpc的id |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.get_vpc(vpc_id)
更新VPC
函数定义如下:
@required(vpc_id=(bytes, str), name=(bytes, str))
def update_vpc(self, vpc_id, name, description=None, client_token=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
vpc_id | String | 是 | 待更新vpc的id |
name | String | 是 | vpc名称,不能取值“default”,长度不超过65个字符,可由数字、字符、下划线组成 |
description | String | 否 | vpc描述,不超过200字符 |
client_token | String | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串 |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.update_vpc(vpc_id, 'test_update_name', 'test_update_description')
注意: 只允许更新vpc的name和description字段,cidr字段不能更新
删除VPC
函数定义如下:
@required(vpc_id=(bytes, str))
def delete_vpc(self, vpc_id, client_token=None, config=None):
参数说明如下:
参数名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
vpc_id | String | 是 | 待删除vpc的id |
client_token | String | 否 | 幂等性Token,是一个长度不超过64位的ASCII字符串 |
config | String | 否 | baidubce.BceClientConfiguration的实例,不填写则使用client的config |
使用示例如下:
self.the_client.delete_vpc(vpc_id)