40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
---
|
|
- block:
|
|
- name: Authorize new members to network
|
|
uri:
|
|
url: "{{ zerotier_api_url }}/api/network/{{ zerotier_network_id }}/member/{{ ansible_local['zerotier']['node_id'] }}"
|
|
method: POST
|
|
headers:
|
|
Authorization: bearer {{ zerotier_api_accesstoken }}
|
|
body:
|
|
hidden: false
|
|
config:
|
|
authorized: "{{ zerotier_authorize_member }}"
|
|
body_format: json
|
|
register: auth_apiresult
|
|
delegate_to: "{{ zerotier_api_delegate }}"
|
|
when:
|
|
- ansible_local['zerotier']['networks'][zerotier_network_id] is not defined or
|
|
ansible_local['zerotier']['networks'][zerotier_network_id]['status'] != 'OK'
|
|
|
|
- name: Configure members in network
|
|
uri:
|
|
url: "{{ zerotier_api_url }}/api/network/{{ zerotier_network_id }}/member/{{ ansible_local['zerotier']['node_id'] }}"
|
|
method: POST
|
|
headers:
|
|
Authorization: bearer {{ zerotier_api_accesstoken }}
|
|
body:
|
|
name: "{{ zerotier_member_register_short_hostname | ternary(inventory_hostname_short, inventory_hostname) }}"
|
|
description: "{{ zerotier_member_description | default() }}"
|
|
config:
|
|
ipAssignments: "{{ zerotier_member_ip_assignments | default([]) | list }}"
|
|
body_format: json
|
|
register: conf_apiresult
|
|
delegate_to: "{{ zerotier_api_delegate }}"
|
|
|
|
when:
|
|
- not ansible_check_mode
|
|
tags:
|
|
- configuration
|
|
become: false
|