コード例 #1
0
ファイル: licenses.py プロジェクト: vmssoftware/pywebui
    def register_license(self, product: str, data: dict) -> License:
        """Adds a new license to the License Database.

        Args:
            product (str): The name of product with a license.
            data (dict): License parameters.

        Example:
            ::

                connector.register('CSP', {
                    "authorization": "string",
                    "checksum": "string",
                    "issuer": "string",
                    "options": ["string"],
                    "producer": "string",
                    "termination": 1599955199,
                    "token": "string",
                    "units": 0
                })
        """
        r = self.post(urls.API_REGISTER_LICENSE, product=product, json=data)
        if r.status_code == 200:
            return License(r.json())
        elif r.status_code == 400:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #2
0
 def get_queue(self, queue: str) -> QueueDetails:
     """Returns the details of selected queue."""
     r = self.get(urls.API_GET_QUEUE_DETAIL, queue=queue)
     if r.status_code == 200:
         return Queue(r.json())
     elif r.status_code == 404:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #3
0
ファイル: services.py プロジェクト: vmssoftware/pywebui
 def get_service(self, name) -> Service:
     """Returns the details of selected service."""
     r = self.get(urls.API_GET_SERVICE, name=name)
     if r.status_code == 200:
         return Service(r.json())
     else:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #4
0
 def get_interface(self, name) -> Interface:
     """Returns details for selected interface."""
     r = self.get(urls.API_GET_INTERFACE, name=name)
     if r.status_code == 200:
         return Interface(r.json())
     else:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #5
0
 def get_disk(self, device) -> Disk:
     """Returns details for selected disk."""
     r = self.get(urls.API_GET_DISK_DETAIL, device=device)
     if r.status_code == 200:
         return Disk(r.json())
     elif r.status_code == 404:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #6
0
 def get_device(self, name) -> Device:
     """Returns details for selected device."""
     r = self.get(urls.API_GET_DEVICE, name=name)
     if r.status_code == 200:
         return Device(r.json())
     else:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #7
0
    def start_job(self, job: str, queue: str) -> bool:
        """Starts selected job in queue."""
        r = self.put(urls.API_START_JOB, job=job, json={"queueName": queue})

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #8
0
    def edit_queue_description(self, queue: str, description: str) -> bool:
        """Edits description of selected queue."""
        r = self.put(urls.API_EDIT_QUEUE_DESCRIPTION, queue=queue, json={"description": description})

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #9
0
    def stop_queue(self, queue: str) -> bool:
        """Stops selected queue."""
        r = self.put(urls.API_STOP_QUEUE, queue=queue)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #10
0
    def get_resinfo(self) -> ResInfo:
        """Returns the information about resources of node."""
        r = self.get(urls.API_GET_SYSTEM_RESOURCES)

        if r.status_code == 200:
            return ResInfo(r.json())
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #11
0
    def get_sysinfo(self) -> SysInfo:
        """Returns the system information."""
        r = self.get(urls.API_GET_SYSTEM_INFO)

        if r.status_code == 200:
            return SysInfo(r.json())
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #12
0
ファイル: services.py プロジェクト: vmssoftware/pywebui
    def delete_service(self, name: str) -> bool:
        """Delete service."""
        r = self.delete(urls.API_DELETE_SERVICE, name=name)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #13
0
    def delete_host(self, name: str, address: str) -> bool:
        """Delete host."""
        r = self.delete(urls.API_DELETE_HOST, name=name, address=address)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #14
0
ファイル: identifiers.py プロジェクト: vmssoftware/pywebui
 def grant_identifiers(self, username: str, identifiers: List[str]) -> bool:
     """Grants identifiers to user."""
     data = [{"username": username, "identifiers": identifiers}]
     r = self.put(urls.API_GRANT_IDENTIFIERS, json=data)
     if r.status_code == 200:
         return True
     elif r.status_code == 400:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #15
0
ファイル: identifiers.py プロジェクト: vmssoftware/pywebui
    def delete_identifier(self, identifier) -> bool:
        """Deletes selected identifier."""
        r = self.delete(urls.API_DELETE_IDENTIFIER, identifier=identifier)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #16
0
ファイル: users.py プロジェクト: vmssoftware/pywebui
    def enable_user(self, username) -> bool:
        """Enabled user."""
        r = self.put(urls.API_ENABLE_USER, username=username)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #17
0
    def delete_job(self, job: str, queue: str) -> bool:
        """Deletes selected job from queue."""
        r = self.put(urls.API_DELETE_JOB, job=job, json={"queueName": queue})

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #18
0
ファイル: users.py プロジェクト: vmssoftware/pywebui
    def delete_user(self, username) -> bool:
        """Deletes user."""
        r = self.delete(urls.API_DELETE_USER, username=username)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #19
0
 def get_log(self, filename: str, directory: str) -> str:
     """Returns details of log file."""
     r = self.get(urls.API_GET_REPORT_LOG,
                  filename=os.path.basename(filename),
                  directory=directory)
     if r.status_code == 200:
         return r.text
     else:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #20
0
    def export_package_history(self, product: str) -> str:
        """Exports the history of selected package on current node to text."""
        r = self.get(urls.API_EXPORT_INSTALLED_PACKAGE_HISTORY,
                     product=product)

        if r.status_code == 200:
            return r.text
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #21
0
 def export_report(self, filename: str, directory: str) -> str:
     """Returns report content."""
     r = self.get(urls.API_EXPORT_REPORT,
                  filename=filename,
                  directory=directory)
     if r.status_code == 200:
         return r.text
     else:
         message = r.json()
         raise ConnectorException(message['details'])
コード例 #22
0
ファイル: subsystems.py プロジェクト: vmssoftware/pywebui
    def edit_subsystem(self, name: str, attribute: str, value: int) -> bool:
        """Edits the current value of attribute for selected subsystem."""
        data = {"name": attribute, "value": value}

        r = self.put(urls.API_EDIT_SUBSYSTEMS, name=name, json=data)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #23
0
ファイル: processes.py プロジェクト: vmssoftware/pywebui
    def get_process(self, pid: str) -> List[ProcessDetails]:
        """Get details of selected process.

        Args:
            pid (str): The PID of selected process."""
        r = self.get(urls.API_GET_PROCESS_DETAIL, pid=pid)
        if r.status_code == 200:
            return ProcessDetails(r.json())
        elif r.status_code == 404:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #24
0
ファイル: licenses.py プロジェクト: vmssoftware/pywebui
    def unload_license(self, product: str, authorization: str) -> bool:
        """Unloads license for selected product from memory."""
        r = self.post(urls.API_UNLOAD_LICENSE,
                      product=product,
                      authorization=authorization)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #25
0
ファイル: processes.py プロジェクト: vmssoftware/pywebui
    def end_process(self, pid: str) -> bool:
        """Ends selected process.

        Args:
            pid (str): The PID of selected process."""
        r = self.post(urls.API_KILL_PROCESS, pid=pid)
        if r.status_code == 200:
            return True
        elif r.status_code == 404:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #26
0
ファイル: licenses.py プロジェクト: vmssoftware/pywebui
    def disable_license(self, product: str, authorization: str) -> bool:
        """Disables license."""
        r = self.put(urls.API_DISABLE_LICENSE,
                     product=product,
                     authorization=authorization)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #27
0
ファイル: licenses.py プロジェクト: vmssoftware/pywebui
    def export_license_history(self, product: str, authorization: str) -> str:
        """Exports the license history of selected product (records with status “Extinct”) to text."""
        r = self.get(urls.API_EXPORT_LICENSE_HISTORY,
                     product=product,
                     authorization=authorization)

        if r.status_code == 200:
            return r.text
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #28
0
ファイル: licenses.py プロジェクト: vmssoftware/pywebui
    def delete_license_history(self, product: str, authorization: str) -> bool:
        """Deletes license history for selected product (records with status “Extinct”)."""
        r = self.delete(urls.API_DELETE_LICENSE_HISTORY,
                        product=product,
                        authorization=authorization)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #29
0
ファイル: licenses.py プロジェクト: vmssoftware/pywebui
    def delete_license(self, product: str, authorization: str) -> bool:
        """Deletes license for selected product."""
        r = self.delete(urls.API_DELETE_LICENSE,
                        product=product,
                        authorization=authorization)

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])
コード例 #30
0
    def pause_job(self, job: str, queue: str) -> bool:
        """Pauses selected job in queue.

        Job gets status “Holding” and retain in queue until release."""
        r = self.put(urls.API_PAUSE_JOB, job=job, json={"queueName": queue})

        if r.status_code == 200:
            return True
        else:
            message = r.json()
            raise ConnectorException(message['details'])