文档首页> > 开发指南> Python> VBS Python SDK示例

VBS Python SDK示例

更新时间: 2018-11-26 14:28

创建云硬盘备份

下面代码为创建云硬盘备份的过程,用户可以根据需求进行相应的参数配置,创建完成后,新创建的备份会在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

请求参数说明:

名称

是否必选

参数类型

说明

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

请求参数说明:

名称

是否必选

参数类型

说明

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)

请求参数说明:

名称

是否必选

参数类型

说明

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)

请求参数说明:

名称

是否必选

参数类型

说明

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

请求参数说明:

名称

是否必选

参数类型

说明

backup_policy_name

string

备份策略名称

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

scheduled_policy

dict

调度策略详情。

start_time

string

备份开始时间,需要转化成本地时间对应的UTC时间(目前只支持整点)。

格式为HH:mm

frequency

integer

备份间隔(1-14天),该字段和week_frequency字段二选一,如果同时设置,默认以该字段为准。

week_frequency

list<dict>

按指定周进行备份,取值为以下值的一个或者多个:

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

rentention_num

integer

备份保留个数(最小值为2),该字段和rentention_day字段二先一,如果同时设置,默认以该字段为准。

rentention_day

integer

备份保留天数。

remain_first_backup_of_curMonth

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)

请求参数说明:

名称

是否必选

参数类型

说明

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]

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

在文档使用中是否遇到以下问题







请至少选择或填写一项反馈信息

字符长度不能超过100

反馈内容不能为空!

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区
点我,12·12惊喜等着你哦~