| Server IP : 195.134.90.114 / Your IP : 216.73.217.46 Web Server : Apache/2.4.58 System : Linux nepub 6.8.0-88-generic #89-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 01:02:46 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3/dist-packages/uaclient/entitlements/ |
Upload File : |
from typing import Tuple, Type
from uaclient import messages
from uaclient.entitlements import repo
from uaclient.entitlements.base import EntitlementWithMessage, UAEntitlement
class ROSCommonEntitlement(repo.RepoEntitlement):
help_doc_url = messages.urls.ROS_HOME_PAGE
repo_key_file = "ubuntu-pro-ros.gpg"
class ROSEntitlement(ROSCommonEntitlement):
name = "ros"
title = messages.ROS_TITLE
description = messages.ROS_DESCRIPTION
help_text = messages.ROS_HELP_TEXT
origin = "UbuntuROS"
@property
def required_services(self) -> Tuple[EntitlementWithMessage, ...]:
from uaclient.entitlements.esm import (
ESMAppsEntitlement,
ESMInfraEntitlement,
)
return (
EntitlementWithMessage(
ESMInfraEntitlement,
messages.ROS_REQUIRES_ESM,
),
EntitlementWithMessage(
ESMAppsEntitlement,
messages.ROS_REQUIRES_ESM,
),
)
@property
def dependent_services(self) -> Tuple[Type[UAEntitlement], ...]:
return (ROSUpdatesEntitlement,)
class ROSUpdatesEntitlement(ROSCommonEntitlement):
name = "ros-updates"
title = messages.ROS_UPDATES_TITLE
description = messages.ROS_UPDATES_DESCRIPTION
help_text = messages.ROS_UPDATES_HELP_TEXT
origin = "UbuntuROSUpdates"
@property
def required_services(self) -> Tuple[EntitlementWithMessage, ...]:
from uaclient.entitlements.esm import (
ESMAppsEntitlement,
ESMInfraEntitlement,
)
return (
EntitlementWithMessage(
ESMInfraEntitlement,
messages.ROS_REQUIRES_ESM,
),
EntitlementWithMessage(
ESMAppsEntitlement,
messages.ROS_REQUIRES_ESM,
),
EntitlementWithMessage(
ROSEntitlement,
messages.ROS_UPDATES_REQUIRES_ROS,
),
)