From 0f91fea501edaa5380ceeb931c9545ed1e969df1 Mon Sep 17 00:00:00 2001 From: "patchback[bot]" <45432694+patchback[bot]@users.noreply.github.com> Date: Sun, 14 Feb 2021 16:06:03 +0100 Subject: [PATCH] Implemented fix pointed in issue (#1760) (#1817) (cherry picked from commit 41bc7816f36de27b5cf151eb523c8bd08fe06f05) Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com> --- .../fragments/1714-gitlab_runner-required-reg-token.yml | 2 ++ plugins/modules/source_control/gitlab/gitlab_runner.py | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/1714-gitlab_runner-required-reg-token.yml diff --git a/changelogs/fragments/1714-gitlab_runner-required-reg-token.yml b/changelogs/fragments/1714-gitlab_runner-required-reg-token.yml new file mode 100644 index 0000000000..ec73bf422c --- /dev/null +++ b/changelogs/fragments/1714-gitlab_runner-required-reg-token.yml @@ -0,0 +1,2 @@ +bugfixes: + - gitlab_runner - parameter ``registration_token`` was required but is used only when ``state`` is ``present`` (https://github.com/ansible-collections/community.general/issues/1714). diff --git a/plugins/modules/source_control/gitlab/gitlab_runner.py b/plugins/modules/source_control/gitlab/gitlab_runner.py index 7038491499..c9d1785654 100644 --- a/plugins/modules/source_control/gitlab/gitlab_runner.py +++ b/plugins/modules/source_control/gitlab/gitlab_runner.py @@ -55,7 +55,7 @@ options: registration_token: description: - The registration token is used to register new runners. - required: True + - Required if I(state) is C(present). type: str active: description: @@ -284,7 +284,7 @@ def main(): locked=dict(type='bool', default=False), access_level=dict(type='str', default='ref_protected', choices=["not_protected", "ref_protected"]), maximum_timeout=dict(type='int', default=3600), - registration_token=dict(type='str', required=True, no_log=True), + registration_token=dict(type='str', no_log=True), state=dict(type='str', default="present", choices=["absent", "present"]), )) @@ -300,6 +300,9 @@ def main(): required_one_of=[ ['api_username', 'api_token'], ], + required_if=[ + ('state', 'present', ['registration_token']), + ], supports_check_mode=True, )