from __future__ import annotations from typing import Optional from . import base_api class Docker(base_api.BaseApi): def containers(self) -> dict[str, object] | str: api_name = 'SYNO.Docker.Container' info = self.gen_list[api_name] api_path = info['path'] req_param = {'version': info['maxVersion'], 'method': 'list', 'limit': '-1', 'offset': '0', 'type': 'all'} return self.request_data(api_name, api_path, req_param) def container_resources(self) -> dict[str, object] | str: api_name = 'SYNO.Docker.Container.Resource' info = self.gen_list[api_name] api_path = info['path'] req_param = {'version': info['maxVersion'], 'method': 'get'} return self.request_data(api_name, api_path, req_param) def system_resources(self) -> dict[str, object] | str: api_name = 'SYNO.Core.System.Utilization' info = self.gen_list[api_name] api_path = info['path'] req_param = {'version': info['maxVersion'], 'method': 'get'} return self.request_data(api_name, api_path, req_param) def downloaded_images(self) -> dict[str, object] | str: api_name = 'SYNO.Docker.Image' info = self.gen_list[api_name] api_path = info['path'] req_param = {'version': info['maxVersion'], 'method': 'list', 'limit': '-1', 'offset': '0', "show_dsm": 'false'} return self.request_data(api_name, api_path, req_param) def images_registry_resources(self) -> dict[str, object] | str: api_name = 'SYNO.Docker.Registry' info = self.gen_list[api_name] api_path = info['path'] req_param = {'version': info['maxVersion'], 'method': 'get'} return self.request_data(api_name, api_path, req_param) def network(self) -> dict[str, object] | str: api_name = 'SYNO.Docker.Network' info = self.gen_list[api_name] api_path = info['path'] req_param = {'version': info['maxVersion'], 'method': 'list'} return self.request_data(api_name, api_path, req_param)