35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
---
|
|
- hosts: router.net.enp.one
|
|
name: Configure users on router
|
|
connection: network_cli
|
|
gather_facts: false
|
|
tasks:
|
|
- import_tasks: tasks/users-preprocessing.yml
|
|
|
|
- name: Create users
|
|
edgeos_config:
|
|
lines:
|
|
- set system login user {{ item.name }} authentication encrypted-password "{{ item.password }}"
|
|
- set system login user {{ item.name }} full-name "{{ item.fullname if item.fullname is defined else "" }}"
|
|
- set system login user {{ item.name }} level {{ 'operator' if item.name != 'ansible' else 'admin' }}
|
|
loop: "{{ local_users | difference([None]) }}"
|
|
|
|
- name: Grant administrative access to admin users
|
|
edgeos_config:
|
|
lines:
|
|
- set system login user {{ item.name }} level admin
|
|
with_items:
|
|
- "{{ local_admin_users | difference([None]) }}"
|
|
|
|
- name: Assemble loadkey files
|
|
edgeos_command:
|
|
commands:
|
|
- sudo tee "{{ item.sshkeys | join('\n') }}"<<</tmp/{{ item.name }}.keys
|
|
loop: "{{ local_admin_users | difference([None]) }}"
|
|
|
|
- name: Load keys
|
|
edgeos_config:
|
|
lines:
|
|
- loadkey {{ item }} /tmp/{{ item }}.keys
|
|
loop: "{{ local_admin_users | difference([None]) }}"
|