---

- name: Fail if required matrix-corporal settings not defined
  ansible.builtin.fail:
    msg: >-
      You need to define a required configuration setting (`{{ item }}`) for using matrix-corporal.
  when: "vars[item] == ''"
  with_items:
    - "matrix_corporal_matrix_homeserver_api_endpoint"
    - "matrix_corporal_matrix_auth_shared_secret"
    - "matrix_corporal_matrix_registration_shared_secret"
    - "matrix_corporal_policy_provider_config"

- name: Fail if HTTP API enabled, but no token set
  ansible.builtin.fail:
    msg: "The Matrix Corporal HTTP API is enabled (`matrix_corporal_http_api_enabled`), but no auth token has been set in `matrix_corporal_http_api_auth_token`"
  when: "matrix_corporal_http_api_enabled | bool and matrix_corporal_http_api_auth_token == ''"

- name: (Deprecation) Catch and report renamed corporal variables
  ansible.builtin.fail:
    msg: >-
      Your configuration contains a variable, which now has a different name.
      Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`).
  when: "item.old in vars"
  with_items:
    - {'old': 'matrix_corporal_container_expose_ports', 'new': '<superseded by matrix_corporal_container_http_gateway_host_bind_port and matrix_corporal_container_http_api_host_bind_port>'}
    - {'old': 'matrix_corporal_reconciliation_user_id_local_part', 'new': 'matrix_corporal_corporal_user_id_local_part'}
