|
94 | 94 | ansible.builtin.set_fact: |
95 | 95 | run__datahub_available_templates: "{{ __datahub_template_info.templates | selectattr('productVersion', 'search', run__cdp_datalake_version) | map(attribute='clusterTemplateName') | list }}" |
96 | 96 |
|
| 97 | + - name: Retrieve available CDP Datahub definitions |
| 98 | + cloudera.cloud.datahub_definition_info: |
| 99 | + register: __datahub_definition_info |
| 100 | + |
| 101 | + - name: Set fact for available CDP Datahub definitions by Datalake version |
| 102 | + ansible.builtin.set_fact: |
| 103 | + run__datahub_available_definitions: "{{ __datahub_definition_info.definitions | selectattr('productVersion', 'search', run__cdp_datalake_version) | map(attribute='clusterDefinitionName') | list }}" |
| 104 | + |
97 | 105 | - name: Construct CDP Datahub configurations |
98 | 106 | ansible.builtin.set_fact: |
99 | 107 | run__datahub_configs: "{{ run__datahub_configs | default([]) | union([config]) }}" |
100 | 108 | vars: |
101 | 109 | include: "{{ lookup('template', __datahub_config.include | default('experiences_config_placeholder.j2')) | from_yaml }}" |
102 | | - overlay: "{{ __datahub_config.instance_groups | default(include.instance_groups) | mandatory }}" |
| 110 | + overlay: "{{ __datahub_config.instance_groups | default(include.instance_groups | default([]) ) }}" |
103 | 111 | base: "{{ run__datahub_instance_group_base }}" |
104 | 112 | config: |
105 | 113 | name: "{{ __datahub_config.name | default([run__namespace, __datahub_config.suffix | default(include.suffix) | default(run__datahub_suffix)] | join('-')) }}" |
106 | | - template: "{{ __datahub_config.template | default(include.template) | mandatory }}" |
107 | | - instance_groups: "{{ overlay | map('cloudera.exe.combine_onto', base, recursive=True) | list }}" |
| 114 | + template: "{{ __datahub_config.template | default(include.template | default(omit) ) }}" |
| 115 | + definition: "{{ __datahub_config.definition | default(include.definition | default(omit) ) }}" |
| 116 | + instance_groups: "{{ (overlay | length > 0) | ternary(overlay | map('cloudera.exe.combine_onto', base, recursive=True) | list, omit) }}" |
108 | 117 | tags: "{{ __datahub_config.tags | default(run__datahub_tags) }}" |
109 | 118 | loop: "{{ run__datahub_definitions }}" |
110 | 119 | loop_control: |
111 | 120 | loop_var: __datahub_config |
112 | 121 | label: "{{ config.name }}" |
113 | | - failed_when: run__datahub_available_templates | select('search', config.template) | list | length < 1 |
| 122 | + failed_when: |
| 123 | + - "'template' in __datahub_config or 'template' in include" |
| 124 | + - run__datahub_available_templates | select('search', config.template) | list | length < 1 |
114 | 125 |
|
115 | 126 | - name: Check CDP Datahub names |
116 | 127 | ansible.builtin.assert: |
|
0 commit comments