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,
version of the operating system, and architecture on which the module is run.
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"""
@ -255,6 +267,12 @@ class CoprModule(object):
"""
if not repo_content:
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):
return False
if not self.check_mode:
@ -470,6 +488,8 @@ def run_module():
name=dict(type="str", required=True),
state=dict(type="str", choices=["enabled", "disabled", "absent"], default="enabled"),
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)
params = module.params