/usr/lib/python3/dist-packages/uaclient/entitlements
NameSizeModeActions
__pycache__/-0755rm
anbox.py31330644editdlrm
base.py478640644editdlrm
cc.py10130644editdlrm
cis.py11740644editdlrm
entitlement_status.py33550644editdlrm
esm.py45890644editdlrm
esm_legacy.py7030644editdlrm
fips.py266170644editdlrm
landscape.py45080644editdlrm
livepatch.py144570644editdlrm
realtime.py72780644editdlrm
repo.py272790644editdlrm
ros.py20200644editdlrm
__init__.py89390644editdlrm
Edit: /usr/lib/python3/dist-packages/uaclient/entitlements/entitlement_status.py (3355B)
import enum from typing import Optional from uaclient import messages @enum.unique class ApplicationStatus(enum.Enum): """ An enum to represent the current application status of an entitlement """ ENABLED = object() DISABLED = object() WARNING = object() @enum.unique class ContractStatus(enum.Enum): """ An enum to represent whether a user is entitled to an entitlement (The value of each member is the string that will be used in status output.) """ ENTITLED = "yes" UNENTITLED = "no" @enum.unique class ApplicabilityStatus(enum.Enum): """ An enum to represent whether an entitlement could apply to this machine """ APPLICABLE = object() INAPPLICABLE = object() @enum.unique class UserFacingAvailability(enum.Enum): """ An enum representing whether a service could be available for a machine. 'Availability' means whether a service is available to machines with this architecture, series and kernel. Whether a contract is entitled to use the specific service is determined by the contract level. This enum should only be used in display code, it should not be used in business logic. """ AVAILABLE = "yes" UNAVAILABLE = "no" @enum.unique class UserFacingConfigStatus(enum.Enum): """ An enum representing the user-visible config status of Pro system. This enum will be used in display code and will be written to status.json """ INACTIVE = "inactive" # No Pro config commands/daemons ACTIVE = "active" # Pro command is running REBOOTREQUIRED = "reboot-required" # System Reboot required @enum.unique class UserFacingStatus(enum.Enum): """ An enum representing the states we will display in status output. This enum should only be used in display code, it should not be used in business logic. """ ACTIVE = "enabled" INACTIVE = "disabled" INAPPLICABLE = "n/a" UNAVAILABLE = "—" WARNING = "warning" @enum.unique class CanEnableFailureReason(enum.Enum): """ An enum representing the reasons an entitlement can't be enabled. """ NOT_ENTITLED = object() ALREADY_ENABLED = object() INAPPLICABLE = object() IS_BETA = object() INCOMPATIBLE_SERVICE = object() INACTIVE_REQUIRED_SERVICES = object() ACCESS_ONLY_NOT_SUPPORTED = object() ONLY_ACCESS_ONLY_SUPPORTED = object() class CanEnableFailure: def __init__( self, reason: CanEnableFailureReason, message: Optional[messages.NamedMessage] = None, ) -> None: self.reason = reason self.message = message @enum.unique class CanDisableFailureReason(enum.Enum): """ An enum representing the reasons an entitlement can't be disabled. """ ALREADY_DISABLED = object() NOT_APPLICABLE = object() ACTIVE_DEPENDENT_SERVICES = object() PURGE_NOT_SUPPORTED = object() NOT_FOUND_DEPENDENT_SERVICE = object() NO_PURGE_WITHOUT_ORIGIN = object() class CanDisableFailure: def __init__( self, reason: CanDisableFailureReason, message: Optional[messages.NamedMessage] = None, ) -> None: self.reason = reason self.message = message @property def message_value(self) -> str: return self.message.msg if self.message else ""