51 lines
1.9 KiB
YAML
51 lines
1.9 KiB
YAML
---
|
|
# 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'
|