---
- block:
  - name: Find out which resources we are going to configure
    set_fact: rkind="{{ tmpl.kind }}" rname="{{ tmpl.metadata.name }}"

  - name: "Lookup the specified resource {{rkind}}/{{rname}} in {{project}}"
    command: "oc get -n {{project}} {{rkind}}/{{rname}}"
    register: find_result
    changed_when: false
    failed_when: false

  - name: "Detroy existing resources {{rkind}}/{{rname}} in {{project}}"
    command: "oc delete -n {{project}} {{rkind}}/{{rname}}"
    register: rm_result
    failed_when: false
    changed_when: (rm_result | succeeded)
    when: (recreate|default(false)) 

  - name: "Populate resources defined in {{ template }} to {{project}}"
    command: "oc create -n {{project}} -f '{{ template_path }}/{{ template }}' {{ create_args | default('') }}"
    when: (recreate|default(false)) or (find_result.rc != 0)
  run_once: true