semaphore/roles/linux/tasks/hosts_file.yml
2024-08-12 01:22:12 +08:00

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