From caee2bfa12cb5adef78155e27b1b745a4ad172eb Mon Sep 17 00:00:00 2001 From: TC1977 <37350377+TC1977@users.noreply.github.com> Date: Mon, 20 May 2019 10:30:44 -0400 Subject: [PATCH] Move to find module Switched to the find module, and made the whole block dependent on server being undefined. --- users.yml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/users.yml b/users.yml index 49eeb113..7689c191 100644 --- a/users.yml +++ b/users.yml @@ -8,29 +8,35 @@ tasks: - block: - name: Get list of installed servers - command: ls configs/ - register: _directory_list + find: + paths: configs/ + depth: 2 + recurse: true + hidden: true + patterns: ".config.yml" + register: _configs_list - name: Build list of installed servers set_fact: - server_list: "{{ _directory_list.stdout_lines|replace('algo.pem.pub','')|replace('algo.pem','') }}" + server_list: "{% if server_list is defined %}{{ server_list }},{% endif %}{{ item.path|replace('configs/','')|replace('/.config.yml','') }}" + with_items: "{{ _configs_list.files }}" - name: Server address prompt pause: prompt: | Select the server to update user list below: - {% for r in server_list %} - {% if r %}{{ loop.index }}. {{ r }} - {% endif -%} + {% for r in server_list.split(',') %} + {{ loop.index }}. {{ r }} {% endfor %} register: _server - when: server is undefined + when: server is undefined + - block: - name: Set facts based on the input set_fact: algo_server: >- {% if server is defined %}{{ server }} - {%- elif _server.user_input %}{{ server_list[_server.user_input | int -1 ] }} + {%- elif _server.user_input %}{{ server_list.split(',')[_server.user_input | int -1 ] }} {%- else %}omit{% endif %} - name: Import host specific variables