Hello all, I would like to ask about the sense of the default values of the parameters of Ansible modules.
Let me give you an example, let's say there is a module to manage Virtual Machines(VM), the module looks for example like this: module_vm: name: myvm memory: 1GiB When you run this module and the VM don't exist it will create it with 1GiB. Now let's say the 'memory' parameter has default value of 2GiB. module_vm: name: myvm Now I will run this^ playbook which has removed the 'memory' parameter. If the 'memory' parameter is idempotent, then the VM should be updated to 2GiB of memory. All seems OK.... but... If I will create a VM like this: module_vm: name: myvm cpu: 5 memory: 4GiB cluster: west And the module has following default values: memory: 1GIB cpu: 1 cluster: mycluster Then when I for example want to update all of my VMs to 8GiB of memory I will create folllowing task: module_vm: name: {{ item }} memory: 8GiB with_items: - {{ vms_to_update }} The module will update the memory to 8GiB and the cpu and cluster to default values. So in such case default values doesn't make sense to me, because it's not clear if the user want's to have the value of cpu and cluster updated or not. Is there any best practise for this? What is the correct usage of the update? Thanks a lot, Ondra -- 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 post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/35703bac-e22b-4c11-8021-1d590ffbbc6a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.