###################################################### # Manage Hosts File on Linux ###################################################### - name: Get vm device details ansible.builtin.uri: url: "{{ netbox_uri }}/ipam/ip-addresses/?{% if 'is_virtual' in group_names %}virtual_machine{% else %}device{% endif %}={{ inventory_hostname|urlencode() }}" method: GET validate_certs: false headers: Content-Type: application/json Authorization: "{{ netbox_api_token }}" status_code: [200, 201] return_content: true register: results check_mode: false - name: Manage Linux file /etc/hosts loop: "{{ results['json']['results'] }}" when: item.dns_name | length > 0 loop_control: label: "{{ item.dns_name }}" template: src: hosts.j2 dest: /etc/hosts owner: root group: root mode: 0644 backup: yes