def create_volume(self, configs={}): _volume = Volume_Module() if _volume.set_host(configs["host_id"]).check_health(): print( _volume.create(name=configs["name"], driver=configs["driver"] if "driver" in configs else "local", driver_opts=json.loads(configs["driver_opts"]) if "driver_opts" in configs else {}, labels=json.loads(configs["labels"]) if "labels" in configs else {}))
def __init__(self): self.__request = Request() self.__response = Response() self.__helpers = Helpers() self.__form = Form() self.__host_module = Host_Module() self.__volume_module = Volume_Module() self.__logger = self.__helpers.get_logger(__name__)
def delete_volume(host_id): try: _volume = Volume_Module() if not _volume.set_host(host_id).check_health(): return { "status": "failed", "result": { "error": _("Error, Unable to connect to docker host!") }, "notify_type": "failed" } except Exception as e: return { "status": "error", "result": { "error": str(e) }, "notify_type": "error" }
def prune_unused_volumes(host_id): try: _volume = Volume_Module() if not _volume.set_host(host_id).check_health(): return { "status": "failed", "result": { "error": _("Error, Unable to connect to docker host!") }, "notify_type": "failed" } result = _volume.prune() if result: return { "status": "passed", "result": "{}", "notify_type": "passed" } else: return { "status": "failed", "result": "{}", "notify_type": "failed" } except Exception as e: return { "status": "error", "result": { "error": str(e) }, "notify_type": "error" }
class Get_Volumes(View): __request = None __response = None __helpers = None __form = None __logger = None __user_id = None __host_id = None __volume_id = None __host_module = None __volume_module = None def __init__(self): self.__request = Request() self.__response = Response() self.__helpers = Helpers() self.__form = Form() self.__host_module = Host_Module() self.__volume_module = Volume_Module() self.__logger = self.__helpers.get_logger(__name__) def get(self, request, host_id): self.__user_id = request.user.id self.__host_id = host_id if not self.__host_module.user_owns(self.__host_id, self.__user_id): return JsonResponse( self.__response.send_private_failure([{ "type": "error", "message": _("Error! Invalid Request.") }])) if self.__volume_module.set_host(self.__host_id).check_health(): _host = self.__host_module.get_one_by_id(host_id) return JsonResponse( self.__response.send_private_success( [], { 'volumes': self.__format_volumes(self.__volume_module.list(), host_id, _host.slug) })) else: return JsonResponse( self.__response.send_private_failure([{ "type": "error", "message": _("Error! Something goes wrong with your host!") }], {'volumes': []})) def __format_volumes(self, volumes_list, host_id, host_slug): _volumes_list = [] for volume in volumes_list: date = volume["created"].split("T") volume["created_at"] = date[0] volume["url"] = "#" volume["delete_url"] = "#" if volume["short_id"] in volume["name"]: volume["name"] = volume["short_id"] # volume["url"] = reverse("app.web.admin.hosts.view.volume", kwargs={'host_slug': host_slug, 'volume_id': volume['long_id']}) # volume["delete_url"] = reverse("app.api.private.v1.admin.action.host.delete_volume.endpoint", kwargs={'host_id': host_id}) _volumes_list.append(volume) return _volumes_list
def prune_volumes(self, configs={}): _volume = Volume_Module() if _volume.set_host(configs["host_id"]).check_health(): print(_volume.prune())
def remove_volume(self, configs={}): _volume = Volume_Module() if _volume.set_host(configs["host_id"]).check_health(): print( _volume.remove(configs["volume_id"], configs["force"] == "True"))
def get_volume(self, configs={}): _volume = Volume_Module() if _volume.set_host(configs["host_id"]).check_health(): print(_volume.get(configs["volume_id"]))