I changed mine to default to no host and have a check to catch it. That way the user or cron is forced to provide a single host or group etc. I like the logic from the comment from @wallydrag. The empty_group
contains no hosts in the inventory.
- hosts: "{{ variable_host | default('empty_group') }}"
Then add the check in tasks:
tasks: - name: Fail script if required variable_host parameter is missing fail: msg: "You have to add the --extra-vars='variable_host='" when: (variable_host is not defined) or (variable_host == "")