31 lines
869 B
YAML
31 lines
869 B
YAML
######################################################
|
|
# 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 |