Using ansible's order of precedence you can set the default value in the
playbook and override it with extra_vars.
override.yaml:
---
- name: test overriding playbook variable
hosts: all
become: false
gather_facts: false
vars:
rebootSetting: "ifRequired"
tasks:
- name: reboot setting
debug: var=rebootSetting
Execution: note the first test does not provide an extra_var value for
rebootSetting, while the second and third do provide one.
% ansible-playbook -i localhost, override.yaml
PLAY [test overriding playbook variable]
*******************************************************************************
TASK [reboot setting]
**************************************************************************************************
ok: [localhost] => {
"rebootSetting": "ifRequired"
}
PLAY RECAP
*************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
skipped=0 rescued=0 ignored=0
% ansible-playbook -i localhost, override.yaml -e rebootSetting=Never
PLAY [test overriding playbook variable]
*******************************************************************************
TASK [reboot setting]
**************************************************************************************************
ok: [localhost] => {
"rebootSetting": "Never"
}
PLAY RECAP
*************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
skipped=0 rescued=0 ignored=0
% ansible-playbook -i localhost, override.yaml -e rebootSetting=Always
PLAY [test overriding playbook variable]
*******************************************************************************
TASK [reboot setting]
**************************************************************************************************
ok: [localhost] => {
"rebootSetting": "Always"
}
PLAY RECAP
*************************************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
skipped=0 rescued=0 ignored=0
Walter
--
Walter Rowe, Division Chief
Infrastructure Services, OISM
Mobile: 202.355.4123
On Jul 26, 2023, at 8:39 AM, Veera <[email protected]> wrote:
Hi,
I have the below variable defined in my playbook.
reboot_option:
- IfRequired
- Never
- Always
while calling the same variable from the playbook , the value "IfRequired'
must be the default.
"rebootSetting": "{{ reboot_option | default(Ifrequired) }}"
While executing the playbook without extra-vars reboot_option then by
"ifrequired " need to the default,.
If the playbook is executed with -e "reboot_option=Never" or "Always" then it
should select the given option.
how to call the dictionary items with default as "Ifrequired"?
Or I have to declare the variables in a different way ?
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/90154402-8d8b-4041-8a9f-d1bbea023a6en%40googlegroups.com<https://groups.google.com/d/msgid/ansible-project/90154402-8d8b-4041-8a9f-d1bbea023a6en%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/978B6FAD-7D86-4D08-BF6F-710D93FD19A5%40nist.gov.