mirror of
https://github.com/containers/ansible-podman-collections.git
synced 2026-02-04 07:11:49 +00:00
Add skip option for podman secret (#324)
This commit is contained in:
parent
717963d66d
commit
4982579c79
2 changed files with 31 additions and 2 deletions
|
|
@ -33,6 +33,12 @@ options:
|
||||||
- Use it when C(state) is C(present) to remove and recreate an existing secret.
|
- Use it when C(state) is C(present) to remove and recreate an existing secret.
|
||||||
type: bool
|
type: bool
|
||||||
default: false
|
default: false
|
||||||
|
skip_existing:
|
||||||
|
description:
|
||||||
|
- Use it when C(state) is C(present) and secret with the same name already exists.
|
||||||
|
If set to C(true), the secret will NOT be recreated and remains as is.
|
||||||
|
type: bool
|
||||||
|
default: false
|
||||||
name:
|
name:
|
||||||
description:
|
description:
|
||||||
- The name of the secret.
|
- The name of the secret.
|
||||||
|
|
@ -78,9 +84,16 @@ EXAMPLES = r"""
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible.module_utils.basic import AnsibleModule
|
||||||
|
|
||||||
|
|
||||||
def podman_secret_create(module, executable, name, data, force):
|
def podman_secret_create(module, executable, name, data, force, skip):
|
||||||
if force:
|
if force:
|
||||||
module.run_command([executable, 'secret', 'rm', name])
|
module.run_command([executable, 'secret', 'rm', name])
|
||||||
|
if skip:
|
||||||
|
rc, out, err = module.run_command(
|
||||||
|
[executable, 'secret', 'ls', "--format", "{{.Name}}"])
|
||||||
|
if name in [i.strip() for i in out.splitlines()]:
|
||||||
|
return {
|
||||||
|
"changed": False,
|
||||||
|
}
|
||||||
|
|
||||||
rc, out, err = module.run_command(
|
rc, out, err = module.run_command(
|
||||||
[executable, 'secret', 'create', name, '-'], data=data)
|
[executable, 'secret', 'create', name, '-'], data=data)
|
||||||
|
|
@ -116,6 +129,7 @@ def main():
|
||||||
name=dict(type='str', required=True),
|
name=dict(type='str', required=True),
|
||||||
data=dict(type='str', no_log=True),
|
data=dict(type='str', no_log=True),
|
||||||
force=dict(type='bool', default=False),
|
force=dict(type='bool', default=False),
|
||||||
|
skip_existing=dict(type='bool', default=False),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -128,7 +142,8 @@ def main():
|
||||||
if data is None:
|
if data is None:
|
||||||
raise Exception("'data' is required when 'state' is 'present'")
|
raise Exception("'data' is required when 'state' is 'present'")
|
||||||
force = module.params['force']
|
force = module.params['force']
|
||||||
results = podman_secret_create(module, executable, name, data, force)
|
skip = module.params['skip_existing']
|
||||||
|
results = podman_secret_create(module, executable, name, data, force, skip)
|
||||||
else:
|
else:
|
||||||
results = podman_secret_remove(module, executable, name)
|
results = podman_secret_remove(module, executable, name)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,20 @@
|
||||||
name: mysecret
|
name: mysecret
|
||||||
data: super secret content
|
data: super secret content
|
||||||
force: true
|
force: true
|
||||||
|
register: forced
|
||||||
|
|
||||||
|
- name: Skip secret
|
||||||
|
containers.podman.podman_secret:
|
||||||
|
name: mysecret
|
||||||
|
data: super secret content
|
||||||
|
skip_existing: true
|
||||||
|
register: skipped
|
||||||
|
|
||||||
|
- name: Check assertions
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- forced is changed
|
||||||
|
- skipped is not changed
|
||||||
|
|
||||||
- name: Create container that uses secret
|
- name: Create container that uses secret
|
||||||
containers.podman.podman_container:
|
containers.podman.podman_container:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue