Skip to content

Commit

Permalink
gitlab_project - add missing options
Browse files Browse the repository at this point in the history
  • Loading branch information
julien-lecomte committed Aug 16, 2024
1 parent 9571ec7 commit e1d04d8
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
minor_changes:
- gitlab_project - add option ``analytics_access_level`` to enable/disable analytics (https://github.com/ansible-collections/community.general/pull/8768).
- gitlab_project - add option ``requirements_access_level`` to enable/disable requirements (https://github.com/ansible-collections/community.general/pull/8768).
- gitlab_project - add option ``requirements_enabled`` to enable/disable requirements (https://github.com/ansible-collections/community.general/pull/8768).
37 changes: 37 additions & 0 deletions plugins/modules/gitlab_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@
- Allow merge when skipped pipelines exist.
type: bool
version_added: "3.4.0"
analytics_access_level:
description:
- V(private) means that analytics is allowed only to project members.
- V(disabled) means that analytics is disabled.
- V(enabled) means that analytics is enabled.
type: str
choices: ["private", "disabled", "enabled"]
version_added: "9.4.0"
avatar_path:
description:
- Absolute path image to configure avatar. File size should not exceed 200 kb.
Expand Down Expand Up @@ -260,6 +268,22 @@
type: str
choices: ["private", "disabled", "enabled"]
version_added: "9.3.0"
requirements_access_level:
description:
- V(private) means that requirements tab is allowed only to project members.
- V(disabled) means that requirements tab is disabled.
- V(enabled) means that requirements tab is enabled.
- O(requirements_access_level) and O(requirements_enabled) are mutually exclusive.
type: str
choices: ["private", "disabled", "enabled"]
version_added: "9.4.0"
requirements_enabled:
description:
- Whether you want requirements to be available or not.
- O(requirements_access_level) and O(requirements_enabled) are mutually exclusive.
type: bool
default: true
version_added: "9.4.0"
security_and_compliance_access_level:
description:
- V(private) means that accessing security and complicance tab is allowed only to project members.
Expand Down Expand Up @@ -423,6 +447,7 @@ def create_or_update_project(self, module, project_name, namespace, options):
changed = False
project_options = {
'allow_merge_on_skipped_pipeline': options['allow_merge_on_skipped_pipeline'],
'analytics_access_level': options['analytics_access_level'],
'builds_access_level': options['builds_access_level'],
'ci_config_path': options['ci_config_path'],
'container_expiration_policy': options['container_expiration_policy'],
Expand All @@ -446,6 +471,8 @@ def create_or_update_project(self, module, project_name, namespace, options):
'releases_access_level': options['releases_access_level'],
'remove_source_branch_after_merge': options['remove_source_branch_after_merge'],
'repository_access_level': options['repository_access_level'],
'requirements_access_level': options['requirements_access_level'],
'requirements_enabled': options['requirements_enabled'],
'security_and_compliance_access_level': options['security_and_compliance_access_level'],
'service_desk_enabled': options['service_desk_enabled'],
'shared_runners_enabled': options['shared_runners_enabled'],
Expand Down Expand Up @@ -584,6 +611,7 @@ def main():
argument_spec.update(auth_argument_spec())
argument_spec.update(dict(
allow_merge_on_skipped_pipeline=dict(type='bool'),
analytics_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
avatar_path=dict(type='path'),
builds_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
ci_config_path=dict(type='str'),
Expand Down Expand Up @@ -620,6 +648,8 @@ def main():
releases_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
remove_source_branch_after_merge=dict(type='bool'),
repository_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
requirements_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
requirements_enabled=dict(type='bool'),
security_and_compliance_access_level=dict(type='str', choices=['private', 'disabled', 'enabled']),
service_desk_enabled=dict(type='bool'),
shared_runners_enabled=dict(type='bool'),
Expand All @@ -641,6 +671,7 @@ def main():
['api_token', 'api_oauth_token'],
['api_token', 'api_job_token'],
['group', 'username'],
['requirements_access_level', 'requirements_enabled'],
],
required_together=[
['api_username', 'api_password'],
Expand All @@ -655,6 +686,7 @@ def main():
gitlab_instance = gitlab_authentication(module)

allow_merge_on_skipped_pipeline = module.params['allow_merge_on_skipped_pipeline']
analytics_access_level = module.params['analytics_access_level']
avatar_path = module.params['avatar_path']
builds_access_level = module.params['builds_access_level']
ci_config_path = module.params['ci_config_path']
Expand Down Expand Up @@ -684,6 +716,8 @@ def main():
releases_access_level = module.params['releases_access_level']
remove_source_branch_after_merge = module.params['remove_source_branch_after_merge']
repository_access_level = module.params['repository_access_level']
requirements_access_level = module.params['requirements_access_level']
requirements_enabled = module.params['requirements_enabled']
security_and_compliance_access_level = module.params['security_and_compliance_access_level']
service_desk_enabled = module.params['service_desk_enabled']
shared_runners_enabled = module.params['shared_runners_enabled']
Expand Down Expand Up @@ -738,6 +772,7 @@ def main():

if gitlab_project.create_or_update_project(module, project_name, namespace, {
"allow_merge_on_skipped_pipeline": allow_merge_on_skipped_pipeline,
"analytics_access_level": analytics_access_level,
"avatar_path": avatar_path,
"builds_access_level": builds_access_level,
"ci_config_path": ci_config_path,
Expand Down Expand Up @@ -765,6 +800,8 @@ def main():
"releases_access_level": releases_access_level,
"remove_source_branch_after_merge": remove_source_branch_after_merge,
"repository_access_level": repository_access_level,
"requirements_access_level": requirements_access_level,
"requirements_enabled": requirements_enabled,
"security_and_compliance_access_level": security_and_compliance_access_level,
"service_desk_enabled": service_desk_enabled,
"shared_runners_enabled": shared_runners_enabled,
Expand Down

0 comments on commit e1d04d8

Please sign in to comment.