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 <sveem...@gmail.com> 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 
ansible-project+unsubscr...@googlegroups.com<mailto:ansible-project+unsubscr...@googlegroups.com>.
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/978B6FAD-7D86-4D08-BF6F-710D93FD19A5%40nist.gov.

Reply via email to