Template management with files - no nasty shell commands
This commit is contained in:
parent
0aa00b477b
commit
fbfbb66d56
2 changed files with 17 additions and 9 deletions
|
|
@ -1,6 +1,7 @@
|
|||
__author__ = 'dale mcdiarmid'
|
||||
|
||||
import re
|
||||
import os.path
|
||||
|
||||
def modify_list(values=[], pattern='', replacement='', ignorecase=False):
|
||||
''' Perform a `re.sub` on every item in the list'''
|
||||
|
|
@ -28,9 +29,16 @@ def extract_role_users(users={}):
|
|||
return role_users
|
||||
|
||||
|
||||
def filename(filename=''):
|
||||
return os.path.splitext(os.path.basename(filename))[0]
|
||||
|
||||
|
||||
class FilterModule(object):
|
||||
def filters(self):
|
||||
return {'modify_list': modify_list,
|
||||
'append_to_list':append_to_list,
|
||||
'array_to_str':array_to_str,
|
||||
'extract_role_users':extract_role_users}
|
||||
'extract_role_users':extract_role_users,
|
||||
'filename':filename}
|
||||
|
||||
print filename('/etc/elasticsearch/templates/basic.json')
|
||||
|
|
@ -7,28 +7,28 @@
|
|||
wait_for: port={{es_api_port}} delay=10
|
||||
|
||||
- name: Get template files
|
||||
shell: find . -maxdepth 1 -type f | sed "s#\./##" | sed "s/.json//" chdir=/etc/elasticsearch/templates
|
||||
register: resultstemplate
|
||||
find: paths="/etc/elasticsearch/templates" patterns="*.json"
|
||||
register: templates
|
||||
|
||||
- name: Install templates without auth
|
||||
uri:
|
||||
url: http://{{es_api_host}}:{{es_api_port}}/_template/{{item}}
|
||||
url: "http://{{es_api_host}}:{{es_api_port}}/_template/{{item.path | filename}}"
|
||||
method: PUT
|
||||
status_code: 200
|
||||
body_format: json
|
||||
body: "{{ lookup('file', '/etc/elasticsearch/templates/'+item+'.json') }}"
|
||||
body: "{{ lookup('file', item.path) }}"
|
||||
when: not es_enable_xpack or not es_xpack_features is defined or not '"shield" in es_xpack_features'
|
||||
with_items: "{{ resultstemplate.stdout_lines }}"
|
||||
with_items: "{{ templates.files }}"
|
||||
|
||||
- name: Install templates with auth
|
||||
uri:
|
||||
url: http://{{es_api_host}}:{{es_api_port}}/_template/{{item}}
|
||||
url: "http://{{es_api_host}}:{{es_api_port}}/_template/{{item.path | filename}}"
|
||||
method: PUT
|
||||
status_code: 200
|
||||
user: "{{es_api_basic_auth_username}}"
|
||||
password: "{{es_api_basic_auth_password}}"
|
||||
force_basic_auth: yes
|
||||
body_format: json
|
||||
body: "{{ lookup('file', '/etc/elasticsearch/templates/'+item+'.json') }}"
|
||||
body: "{{ lookup('file', item.path) }}"
|
||||
when: es_enable_xpack and es_xpack_features is defined and '"shield" in es_xpack_features'
|
||||
with_items: "{{ resultstemplate.stdout_lines }}"
|
||||
with_items: "{{ templates.files }}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue