Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 4 additions & 30 deletions tasks/advanced-resource.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,11 @@
---
- include_tasks: pre.yml

- name: Create {{ pcmk_resource.type }} resource {{ pcmk_resource.id }}
xml:
path: "{{ pcmk_config.path }}"
xpath: "/cib/configuration/resources/{{ pcmk_resource.type }}[@id='{{ pcmk_resource.id }}']"
check_mode: false
run_once: true

- name: Configure attributes for {{ pcmk_resource.id }}
include_tasks: nvpair.yml
vars:
nvpair_parent: >-
{{ '/cib/configuration/resources/' ~
'%(type)s[@id="%(id)s"]/meta_attributes[@id="%(id)s-meta_attributes"]'
| format(type = pcmk_resource.type, id = pcmk_resource.id) }}
parent_id: "{{ pcmk_resource.id }}"
with_dict: "{{ pcmk_resource.meta | default({}) }}"
loop_control:
loop_var: nvpair
label: "{{ '{' ~ nvpair.name ~ ': ' ~ nvpair.value ~ '}' }}"
run_once: true

- name: Create resources in {{ pcmk_resource.id }}
include_tasks: primitive.yml
- name: Configure advanced resource
include_tasks: advanced.yml
vars:
primitive_parent: >-
{{ '/cib/configuration/resources/%(type)s[@id="%(id)s"]'
| format(type = pcmk_resource.type, id = pcmk_resource.id) }}
parent_id: "{{ pcmk_resource.id }}"
primitive: "{{ item.value }}"
primitive_id: "{{ item.key }}"
with_dict: "{{ pcmk_resource.resources }}"
resource_parent: /cib/configuration/resources
resource: "{{ pcmk_resource }}"
run_once: true

- include_tasks: post.yml
33 changes: 33 additions & 0 deletions tasks/advanced.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
- name: Create {{ resource.type }} resource {{ resource_id | default(resource.id) }}
xml:
path: "{{ pcmk_config.path }}"
xpath: "{{ resource_parent }}/{{ resource.type }}[@id='{{ resource_id | default(resource.id) }}']"
check_mode: false
run_once: true

- name: Configure attributes for {{ resource_id | default(resource.id) }}
include_tasks: nvpair.yml
vars:
nvpair_parent: >-
{{ resource_parent ~ '/' ~
'%(type)s[@id="%(id)s"]/meta_attributes[@id="%(id)s-meta_attributes"]'
| format(type = resource.type, id = resource_id | default(resource.id)) }}
parent_id: "{{ resource_id | default(resource.id) }}"
with_dict: "{{ resource.meta | default({}) }}"
loop_control:
loop_var: nvpair
label: "{{ '{' ~ nvpair.key ~ ': ' ~ nvpair.value ~ '}' }}"
run_once: true

- name: Create resources in {{ resource_id | default(resource.id) }}
include_tasks: primitive.yml
vars:
primitive_parent: >-
{{ resource_parent ~ '/%(type)s[@id="%(id)s"]'
| format(type = resource.type, id = resource_id | default(resource.id)) }}
parent_id: "{{ resource_id | default(resource.id) }}"
primitive: "{{ item.value }}"
primitive_id: "{{ item.key }}"
with_dict: "{{ resource.resources }}"
run_once: true
11 changes: 11 additions & 0 deletions tasks/any-resource.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
- name: Create resource {{ resource_id | default(resource.id) }}
include_tasks: primitive.yml
vars:
primitive_parent: "{{ resource_parent }}"
primitive: "{{ resource }}"
primitive_id: "{{ resource_id }}"
when: resource.resources is not defined
- name: Create advanced resource {{ resource_id | default(resource.id) }}
include_tasks: advanced.yml
when: resource.resources is defined
8 changes: 4 additions & 4 deletions tasks/group.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
run_once: true

- name: Create resources in group {{ pcmk_group.id }}
include_tasks: primitive.yml
include_tasks: any-resource.yml
vars:
primitive_parent: '/cib/configuration/resources/group[@id="{{ pcmk_group.id }}"]'
resource_parent: '/cib/configuration/resources/group[@id="{{ pcmk_group.id }}"]'
parent_id: "{{ pcmk_group.id }}"
primitive: "{{ item.value }}"
primitive_id: "{{ item.key }}"
resource: "{{ item.value }}"
resource_id: "{{ item.key }}"
with_dict: "{{ pcmk_group.resources }}"
run_once: true

Expand Down