• 沒有找到結果。

2.3 Python

2.3.12 VBS Python SDK 示例

创建云硬盘备份

下面代码为创建云硬盘备份的过程,用户可以根据需求进行相应的参数配置,创建完 成后,新创建的备份会在VBS的备份列表显示。

def create_backup(self):

backup = {

"volume_id": self.volume.id, "name": "sds",

"description": "created by openstacksdk"

}

result = self.conn.volume_backup.create_backup(**backup) # assert result.job_id != None

self.job_id = result.id

2-13 请求参数说明

名称 是否必

参数类型 说明

backup 是 dict 待创建的备份。

volume_id 是 string 需要进行备份的磁盘ID。

snapshot_id 否 string 需要进行备份的磁盘对应的快照ID。

name 是 string 备份名称,最大支持64个字符(不区分中英

文),只能是中文、英文、数字、下划线

(_)和中划线(-)。

description 否 string 备份描述,最大支持64个字符(不区分中英

文),且不能包含“<”和“>”。

查询备份详情列表

下面代码为查询备份列表的过程,返回每个备份的详细信息,用户可以根据需求进行 相应的参数配置。

def query_backups_detail(self):

backups = self.conn.volume_backup.backups(details=True) query = {

"name": "volume-backup-" + self.volume.id, # "status": "available",

"volume_id": self.volume.id, # "marker": "some-backup-id", "limit": 10

}

backups = self.conn.volume_backup.backups(details=True, **query) for backup in backups:

print backup.name

2-14 请求参数说明

名称 是否必

参数类型 说明

name 否 string 指定查询的备份名称。用于过滤名称为指定

字符串的备份。

名称 是否必 选

参数类型 说明

status 否 string 指定查询的备份状态。用于过滤特定状态的

备份。可选的值目前只支持:

“available”,“error”,

“restoring”,“creating”,

“deleting”,“error_restoring”。

offset 否 int 指定查询信息列表的偏移量。

limit 否 int 指定返回结果个数限制。

volume_id 否 string 指定查询备份的磁盘ID。用于过滤指定磁盘

ID对应的备份。

从备份恢复磁盘

下面代码为选择一个备份恢复到磁盘的过程,用户可以根据需求进行相应的参数配 置。

def restore_backup(self):

self.query_backups()

return self.conn.volume_backup.restore_backup(self.backup_id, self.volume.id)

2-15 请求参数说明

名称 是否必

参数类型 说明

restore 是 dict 标记从备份恢复磁盘操作。

backup_id 是 string 需要恢复的备份ID

volume_id 是 string 将要被恢复的磁盘ID。

删除备份

下面代码为删除一个备份的过程,用户可以根据需求进行相应的参数配置。

def delete_backup(self):

self.query_backups()

self.conn.volume_backup.delete_backup(self.backup_id)

2-16 请求参数说明

名称 是否必

参数类型 说明

tenant_id 是 string 租户ID。

backup_id 是 string 需要恢复的备份ID。

创建备份策略

下面代码为备份策略的创建过程,用户可以根据需求进行相应的参数配置。

def create_policy(self):

data = {

"remain_first_backup_of_curMonth": True, "rentention_num": 10,

"frequency": 1, "start_time": "12:00", "status": "ON"

}

volume_backup_name = "SDK-backup-test-1"

policy = self.conn.volume_backup.create_backup_policy(volume_backup_name, **data) print policy

2-17 请求参数说明

名称 是否必

参数类型 说明

backup_polic

y_name 是 string 备份策略名称

只能由数字、字母、汉字、下划线、中划线 组成,同时不能以default开头,长度1到64 位。

scheduled_p

olicy 是 dict 调度策略详情。

start_time 是 string 备份开始时间,需要转化成本地时间对应的

UTC时间(目前只支持整点)。

格式为HH:mm

frequency 否 integer 备份间隔(1-14天),该字段和

week_frequency字段二选一,如果同时设 置,默认以该字段为准。

week_freque

ncy 否 list<dict> 按指定周进行备份,取值为以下值的一个或

者多个:

SUN,MON,TUE,WED,THU,FRI,

SAT rentention_n

um 否 integer 备份保留个数(最小值为2),该字段和

rentention_day字段二先一,如果同时设 置,默认以该字段为准。

rentention_d

ay 否 integer 备份保留天数。

remain_first_

backup_of_c urMonth

是 string 是否保留当月的第一个备份。

● Y

● N

名称 是否必 选

参数类型 说明

status 是 string 策略状态:启用或停用。

● ON

● OFF

删除备份策略

下面代码为备份策略的删除过程,用户可以根据需求进行相应的参数配置。

def delete_policy(self):

policy_id = self.query_policies().id

self.conn.volume_backup.delete_backup_policy(policy_id)

2-18 请求参数说明

名称 是否必

参数类型 说明

tenant_id 是 string 租户ID

policy_id 是 string 策略ID

查询备份策略

下面代码为查询备份策略的过程,用户可以根据需求进行相应的参数配置。

def query_policies(self):

policies = list(self.conn.volume_backup.backup_policies()) if policies and len(policies) > 0:

return policies[0]

相關文件