--- - name: Ensure state is valid fail: msg: >-2 Invalid state '{{ postgresql_state }}'! Supported states are {{ postgresql_states | join(', ') }}. when: postgresql_state not in postgresql_states - name: Ensure deployment method is valid fail: msg: >-2 Unsupported deployment method '{{ postgresql_deployment_method }}! Supported deployment methods are {{ postgresql_deployment_methods | join(', ') }}. when: postgresql_deployment_method not in postgresql_deployment_methods - name: Ensure postgresql user '{{ postgresql_user }}' is {{ postgresql_state }} ansible.builtin.user: name: "{{ postgresql_user }}" state: "{{ postgresql_state }}" system: "{{ postgresql_user_system | default(omit, true) }}" create_home: "{{ postgresql_user_create_home | default(omit, true) }}" groups: "{{ postgresql_user_groups | default(omit, true) }}" append: "{{ postgresql_user_append | default(omit, true) }}" register: postgresql_user_info - name: Deploy postgresql using {{ postgresql_deployment_method }} ansible.builtin.include_tasks: file: "deploy-{{ postgresql_deployment_method }}.yml"