blob: aa0bf16c900366872845371941a2a3287511fd36 [file] [log] [blame]
from staffeln.common import auth
conn = auth.create_connection()
# user
def get_user_id():
user_name = conn.config.auth["username"]
if "user_domain_id" in conn.config.auth:
domain_id = conn.config.auth["user_domain_id"]
user = conn.get_user(name_or_id=user_name, domain_id=domain_id)
elif "user_domain_name" in conn.config.auth:
domain_name = conn.config.auth["user_domain_name"]
user = conn.get_user(name_or_id=user_name, domain_id=domain_name)
else:
user = conn.get_user(name_or_id=user_name)
return user.id
############## project
def get_projects():
conn.block_storage
return conn.list_projects()
############## server
def get_servers(project_id, all_projects=True, details=True):
return conn.compute.servers(details=details, all_projects=all_projects, project_id=project_id)
############## volume
def get_volume(uuid):
# volume = conn.block_storage.get_volume(volume_id)
return conn.get_volume_by_id(uuid)
############## backup
def get_backup(uuid, project_id=None):
# return conn.block_storage.get_backup(
# project_id=project_id, backup_id=uuid,
# )
# conn.block_storage.backups(volume_id=uuid,project_id=project_id)
return conn.get_volume_backup(uuid)
def create_backup(volume_id, force=True, wait=False):
# return conn.block_storage.create_backup(
# volume_id=queue.volume_id, force=True, project_id=queue.project_id,
# )
return conn.create_volume_backup(
volume_id=volume_id, force=force, wait=wait,
)
def delete_backup(uuid, project_id=None, force=True):
# TODO(Alex): v3 is not supporting force delete?
# conn.block_storage.delete_backup(
# project_id=project_id, backup_id=uuid,
# )
conn.delete_volume_backup(uuid, force=force)
# TODO(Alex): After delete the backup generator, need to set the volume status again