# SPDX-License-Identifier: MIT
---
- name: Configure ticket constraint {{ constraint.id | d(constraint_index) }}
  command:
    cmd: >
      pcs -f {{ __ha_cluster_tempfile_cib_xml.path | quote }}
      -- constraint ticket add
      {{ constraint.ticket | quote }}
      {% if constraint.resource.role | d() %}
        {{
          __ha_cluster_pcs_cli_role[constraint.resource.role | lower]
          | d(constraint.resource.role)
          | lower | quote
        }}
      {% endif %}
      {{ constraint.resource.id | quote }}
      {% if constraint.id | d() %}
        id={{ constraint.id | quote }}
      {% endif %}
      {% for option in constraint.options | d([]) %}
        {{ option.name | quote }}={{ option.value | quote }}
      {% endfor %}
  # We always need to create CIB to see whether it's the same as what is
  # already present in the cluster. However, we don't want to report it as a
  # change since the only thing which matters is pushing the resulting CIB to
  # the cluster.
  check_mode: false
  changed_when: not ansible_check_mode
