39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
- name: Store current ovfEnvironment
|
|
ansible.builtin.shell:
|
|
cmd: /usr/bin/vmtoolsd --cmd "info-get guestinfo.ovfEnv"
|
|
register: ovfenv
|
|
|
|
- name: Parse XML for MoRef ID
|
|
community.general.xml:
|
|
xmlstring: "{{ ovfenv.stdout }}"
|
|
namespaces:
|
|
ns: http://schemas.dmtf.org/ovf/environment/1
|
|
ve: http://www.vmware.com/schema/ovfenv
|
|
xpath: /ns:Environment
|
|
content: attribute
|
|
register: environment_attribute
|
|
|
|
- name: Store MoRef ID
|
|
ansible.builtin.set_fact:
|
|
moref_id: "{{ ((environment_attribute.matches[0].values() | list)[0].values() | list)[1] }}"
|
|
|
|
- name: Parse XML for vApp properties
|
|
community.general.xml:
|
|
xmlstring: "{{ ovfenv.stdout }}"
|
|
namespaces:
|
|
ns: http://schemas.dmtf.org/ovf/environment/1
|
|
xpath: /ns:Environment/ns:PropertySection/ns:Property
|
|
content: attribute
|
|
register: property_section
|
|
|
|
- name: Assign vApp properties to dictionary
|
|
ansible.builtin.set_fact:
|
|
vapp: >-
|
|
{{ vapp | default({}) | combine({
|
|
((item.values() | list)[0].values() | list)[0]:
|
|
((item.values() | list)[0].values() | list)[1]})
|
|
}}
|
|
loop: "{{ property_section.matches }}"
|
|
loop_control:
|
|
label: "{{ ((item.values() | list)[0].values() | list)[0] }}"
|