From 55a24d9bdcba072a5f360dc6a35cee3f20124997 Mon Sep 17 00:00:00 2001 From: i010869 Date: Tue, 30 Dec 2025 14:16:13 +0100 Subject: [PATCH 1/2] Update deb_repository and deb_distribution --- plugins/modules/.deb_repository.py.swp | Bin 0 -> 1024 bytes plugins/modules/deb_distribution.py | 19 ++++++++++++++++++- plugins/modules/deb_repository.py | 21 +++++++++++++++++---- 3 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 plugins/modules/.deb_repository.py.swp diff --git a/plugins/modules/.deb_repository.py.swp b/plugins/modules/.deb_repository.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..3c98309d5459d486f0d67e9eaf859d4ab9dcff5e GIT binary patch literal 1024 zcmYc?$V<%2S1{8vVn6{7Tv`m728IR}W|k=8*f;@hCP8lQ=HA%kki}9`lj4g~3-XII aOY(~<^$IGHB}dt#Aut*Ov<`t#bPE8`J`Rfj literal 0 HcmV?d00001 diff --git a/plugins/modules/deb_distribution.py b/plugins/modules/deb_distribution.py index 48644ab..23796a5 100644 --- a/plugins/modules/deb_distribution.py +++ b/plugins/modules/deb_distribution.py @@ -26,6 +26,12 @@ - Href of the publication to be served type: str required: false + repository: + description: + - Name of the repository to be served + type: str + required: false + version_added: "0.2.4" content_guard: description: - Name of the content guard for the served content @@ -98,7 +104,7 @@ try: from pulp_glue.deb import __version__ as pulp_glue_deb_version - from pulp_glue.deb.context import PulpAptDistributionContext + from pulp_glue.deb.context import PulpAptDistributionContext, PulpAptRepositoryContext assert_version(GLUE_DEB_VERSION_SPEC, pulp_glue_deb_version, "pulp-glue-deb") PULP_GLUE_DEB_IMPORT_ERR = None @@ -120,6 +126,7 @@ def main(): "name": {}, "base_path": {}, "publication": {}, + "repository": {}, "content_guard": {}, }, required_if=[ @@ -128,6 +135,7 @@ def main(): ], ) as module: content_guard_name = module.params["content_guard"] + repository_name = module.params["repository"] natural_key = {"name": module.params["name"]} desired_attributes = { @@ -136,6 +144,15 @@ def main(): if module.params[key] is not None } + if repository_name is not None: + if repository_name: + repository_ctx = PulpAptRepositoryContext( + module.pulp_ctx, entity={"name": repository_name} + ) + desired_attributes["repository"] = repository_ctx.pulp_href + else: + desired_attributes["repository"] = "" + if content_guard_name is not None: if content_guard_name: content_guard_ctx = PulpContentGuardContext( diff --git a/plugins/modules/deb_repository.py b/plugins/modules/deb_repository.py index 5d84283..5476daf 100644 --- a/plugins/modules/deb_repository.py +++ b/plugins/modules/deb_repository.py @@ -19,6 +19,11 @@ description: - Description of the repository type: str + autopublish: + description: + - Whether to automatically create publications for new repository versions + type: bool + version_added: "0.0.13" remote: description: - An optional remote to use by default when syncing @@ -102,6 +107,13 @@ PULP_GLUE_DEB_IMPORT_ERR = traceback.format_exc() PulpAptRepositoryContext = None +DESIRED_KEYS = { + "autopublish", + "description", + "remote", + "retain_repo_versions", +} + def main(): with PulpEntityAnsibleModule( @@ -112,13 +124,17 @@ def main(): argument_spec={ "name": {}, "description": {}, + "autopublish": {"type": "bool"}, + "retain_repo_versions": {"type": "int"}, "remote": {}, }, required_if=[("state", "present", ["name"]), ("state", "absent", ["name"])], ) as module: remote_name = module.params["remote"] natural_key = {"name": module.params["name"]} - desired_attributes = {} + desired_attributes = { + key: module.params[key] for key in DESIRED_KEYS if module.params[key] is not None + } if remote_name is not None: if remote_name: @@ -127,9 +143,6 @@ def main(): else: desired_attributes["remote"] = "" - if module.params["description"] is not None: - desired_attributes["description"] = module.params["description"] - module.process(natural_key, desired_attributes) From ff5608973e6a7f9d7b920b61539ed9fe30d5f155 Mon Sep 17 00:00:00 2001 From: i010869 Date: Tue, 30 Dec 2025 14:22:09 +0100 Subject: [PATCH 2/2] Update docs --- ...pository.py.swp => .rpm_repository.py.swp} | Bin 1024 -> 1024 bytes plugins/modules/deb_repository.py | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) rename plugins/modules/{.deb_repository.py.swp => .rpm_repository.py.swp} (81%) diff --git a/plugins/modules/.deb_repository.py.swp b/plugins/modules/.rpm_repository.py.swp similarity index 81% rename from plugins/modules/.deb_repository.py.swp rename to plugins/modules/.rpm_repository.py.swp index 3c98309d5459d486f0d67e9eaf859d4ab9dcff5e..4b0fd8d1eeeb9a807d1779d1ae9504c589a07b65 100644 GIT binary patch delta 38 tcmZqRXyBM2!Q@*pQ7TBdAg44vGp|@bH$SB`C$(6=s33P^egiWj0|55g4BP+! delta 38 gcmZqRXyBM2!Q{X-Q7VWzB{gYdeFL*#C<7V*0I9wPNdN!< diff --git a/plugins/modules/deb_repository.py b/plugins/modules/deb_repository.py index 5476daf..7288b33 100644 --- a/plugins/modules/deb_repository.py +++ b/plugins/modules/deb_repository.py @@ -23,11 +23,16 @@ description: - Whether to automatically create publications for new repository versions type: bool - version_added: "0.0.13" + version_added: "0.2.4" remote: description: - An optional remote to use by default when syncing type: str + retain_repo_versions: + description: + - Max number of repository versions to keep + type: int + version_added: "0.2.4" extends_documentation_fragment: - pulp.squeezer.pulp.entity_state - pulp.squeezer.pulp