diff --git a/pulp-glue-deb/pulp_glue/deb/context.py b/pulp-glue-deb/pulp_glue/deb/context.py index 1286759..e8d4997 100644 --- a/pulp-glue-deb/pulp_glue/deb/context.py +++ b/pulp-glue-deb/pulp_glue/deb/context.py @@ -3,6 +3,7 @@ from pulp_glue.common.context import ( # type: ignore[attr-defined] EntityDefinition, PluginRequirement, + PulpACSContext, PulpContentContext, PulpEntityContext, PulpException, @@ -219,3 +220,14 @@ class PulpAptRepositoryContext(PulpRepositoryContext): RESOURCE_TYPE = "apt" VERSION_CONTEXT = PulpAptRepositoryVersionContext CAPABILITIES = {"pulpexport": [PluginRequirement("deb", "2.20.0")]} + + +class PulpDebACSContext(PulpACSContext): + PLUGIN = "deb" + RESOURCE_TYPE = "apt" + ENTITY = _("deb ACS") + ENTITIES = _("deb ACSes") + REPOSITORY_HREF = "deb_apt_alternate_content_source_href" + ID_PREFIX = "acs_deb_apt" + NEEDS_PLUGINS = [PluginRequirement("deb", specifier=">=3.8.0")] + CAPABILITIES = {"roles": [PluginRequirement("deb", specifier=">=3.8.0")]} diff --git a/pulpcore/cli/deb/__init__.py b/pulpcore/cli/deb/__init__.py index 80853b1..1dfccdd 100644 --- a/pulpcore/cli/deb/__init__.py +++ b/pulpcore/cli/deb/__init__.py @@ -1,8 +1,10 @@ from typing import Any import click +from pulp_glue.deb.context import PulpAptRemoteContext, PulpDebACSContext from pulpcore.cli.common.generic import pulp_group +from pulpcore.cli.common.acs import acs_command from pulpcore.cli.deb.content import content from pulpcore.cli.deb.distribution import distribution from pulpcore.cli.deb.publication import publication @@ -23,4 +25,10 @@ def mount(main: click.Group, **kwargs: Any) -> None: deb_group.add_command(remote) deb_group.add_command(repository) deb_group.add_command(content) + deb_group.add_command( + acs_command( + acs_contexts={"deb": PulpDebACSContext}, + remote_context_table={"deb:apt": PulpAptRemoteContext}, + ) + ) main.add_command(deb_group)