--- # yamllint disable rule:line-length - name: Populate instance config dict Linux ansible.builtin.set_fact: instance_conf_dict: instance: '{{ instance_info.name }}' address: '{{ instance_info.networkInterfaces.0.accessConfigs.0.natIP if molecule_yml.driver.external_access else instance_info.networkInterfaces.0.networkIP }}' user: "{{ lookup('env','USER') }}" port: '22' identity_file: '{{ ssh_identity_file }}' instance_os_type: '{{ molecule_yml.driver.instance_os_type }}' loop: '{{ server.results }}' loop_control: loop_var: instance_info no_log: true register: instance_conf_dict - name: Populate instance config dict Windows ansible.builtin.set_fact: instance_conf_dict: instance: '{{ instance_info.name }}' address: '{{ instance_info.networkInterfaces.0.accessConfigs.0.natIP if molecule_yml.driver.external_access else instance_info.networkInterfaces.0.networkIP }}' user: molecule_usr password: '{{ instance_info.password }}' port: '{{ instance_info.winrm_port | default(5986) }}' winrm_transport: "{{ molecule_yml.driver.winrm_transport | default('ntlm') }}" winrm_server_cert_validation: "{{ molecule_yml.driver.winrm_server_cert_validation | default('ignore') }}" instance_os_type: '{{ molecule_yml.driver.instance_os_type }}' loop: '{{ win_instances }}' loop_control: loop_var: instance_info no_log: true register: instance_conf_dict - name: Wipe out instance config ansible.builtin.set_fact: instance_conf: {} - name: Convert instance config dict to a list ansible.builtin.set_fact: instance_conf: "{{ instance_conf_dict.results | map(attribute='ansible_facts.instance_conf_dict') | list }}" - name: Dump instance config ansible.builtin.copy: content: '{{ instance_conf }}' dest: '{{ molecule_instance_config }}' mode: '0600'