1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

[PR #8779/96d5e6e5 backport][stable-9] copr: add includepkgs functionality (#8808)

copr: add includepkgs functionality (#8779)

* Limit package for Copr using includepkgs

* Limit package for Copr using includepkgs

* Limit package for Copr using includepkgs

* Limit package for Copr using includepkgs

* Limit package for Copr using includepkgs

* Added changes in copr module

* Excludepkgs parameter add

* Update module and params to handle a list + Docs updated

* Update module and params to handle a list + Docs updated

(cherry picked from commit 96d5e6e50e)

Co-authored-by: Shubham Singh Sugara <37795429+shubhamsugara22@users.noreply.github.com>
This commit is contained in:
patchback[bot] 2024-08-27 09:02:00 +02:00 committed by GitHub
parent 5b62e0edd6
commit 7f729d99a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 0 deletions

View file

@ -0,0 +1,2 @@
minor_changes:
- copr - Added ``includepkgs`` and ``excludepkgs`` parameters to limit the list of packages fetched or excluded from the repository(https://github.com/ansible-collections/community.general/pull/8779).

View file

@ -52,6 +52,18 @@ options:
for example V(epel-7-x86_64). Default chroot is determined by the operating system, for example V(epel-7-x86_64). Default chroot is determined by the operating system,
version of the operating system, and architecture on which the module is run. version of the operating system, and architecture on which the module is run.
type: str type: str
includepkgs:
description: List of packages to include.
required: false
type: list
elements: str
version_added: 9.4.0
excludepkgs:
description: List of packages to exclude.
required: false
type: list
elements: str
version_added: 9.4.0
""" """
EXAMPLES = r""" EXAMPLES = r"""
@ -255,6 +267,12 @@ class CoprModule(object):
""" """
if not repo_content: if not repo_content:
repo_content = self._download_repo_info() repo_content = self._download_repo_info()
if self.ansible_module.params["includepkgs"]:
includepkgs_value = ','.join(self.ansible_module.params['includepkgs'])
repo_content = repo_content.rstrip('\n') + '\nincludepkgs={0}\n'.format(includepkgs_value)
if self.ansible_module.params["excludepkgs"]:
excludepkgs_value = ','.join(self.ansible_module.params['excludepkgs'])
repo_content = repo_content.rstrip('\n') + '\nexcludepkgs={0}\n'.format(excludepkgs_value)
if self._compare_repo_content(repo_filename_path, repo_content): if self._compare_repo_content(repo_filename_path, repo_content):
return False return False
if not self.check_mode: if not self.check_mode:
@ -470,6 +488,8 @@ def run_module():
name=dict(type="str", required=True), name=dict(type="str", required=True),
state=dict(type="str", choices=["enabled", "disabled", "absent"], default="enabled"), state=dict(type="str", choices=["enabled", "disabled", "absent"], default="enabled"),
chroot=dict(type="str"), chroot=dict(type="str"),
includepkgs=dict(type='list', elements="str", required=False),
excludepkgs=dict(type='list', elements="str", required=False),
) )
module = AnsibleModule(argument_spec=module_args, supports_check_mode=True) module = AnsibleModule(argument_spec=module_args, supports_check_mode=True)
params = module.params params = module.params