|
Server : LiteSpeed System : Linux srv107862549.host 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 User : malam2778 ( 1069) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /lib/python3/dist-packages/uaclient/clouds/ |
Upload File : |
import abc
from typing import Any, Dict
class AutoAttachCloudInstance(metaclass=abc.ABCMeta):
@property
@abc.abstractmethod
def identity_doc(self) -> Dict[str, Any]:
"""Return the identity document representing this cloud instance"""
pass
@property
@abc.abstractmethod
def cloud_type(self) -> str:
"""Return a string of the cloud type on which this instance runs"""
pass
@property
@abc.abstractmethod
def is_viable(self) -> bool:
"""Return True if the machine is a viable AutoAttachCloudInstance."""
pass
@abc.abstractmethod
def should_poll_for_pro_license(self) -> bool:
"""
Cloud-specific checks for whether the daemon should continously poll
for Ubuntu Pro licenses.
"""
pass
@abc.abstractmethod
def is_pro_license_present(self, *, wait_for_change: bool) -> bool:
"""
Check for an Ubuntu Pro license
"""
pass