Convert pass lookup plugin to ansible 2
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
This commit is contained in:
parent
7cec9ace31
commit
c271d9650c
23
pass.py
23
pass.py
|
|
@ -19,27 +19,31 @@ from __future__ import (absolute_import, division, print_function)
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import six
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from ansible import utils, errors
|
from ansible import utils, errors
|
||||||
|
from ansible.plugins.lookup import LookupBase
|
||||||
from ansible.errors import AnsibleError
|
from ansible.errors import AnsibleError
|
||||||
|
|
||||||
class LookupModule(object):
|
class LookupModule(LookupBase):
|
||||||
|
|
||||||
COMMAND="pass"
|
COMMAND="pass"
|
||||||
CREDENIAL_DIR="credentials"
|
CREDENIAL_DIR="credentials"
|
||||||
|
|
||||||
def __init__(self, basedir=None, **kwargs):
|
#def __init__(self, basedir=None, **kwargs):
|
||||||
self.basedir = basedir
|
# super(LookupModule, self).__init__()
|
||||||
|
# self.basedir = basedir
|
||||||
|
|
||||||
def run(self, terms, inject=None, **kwargs):
|
def run(self, terms, inject=None, variables=None, **kwargs):
|
||||||
|
|
||||||
candidates = []
|
candidates = []
|
||||||
basepath = utils.path_dwim(self.basedir, self.CREDENIAL_DIR)
|
basedir = self.get_basedir(variables)
|
||||||
|
basepath = self._loader.path_dwim_relative(basedir, "", self.CREDENIAL_DIR)
|
||||||
if basepath:
|
if basepath:
|
||||||
candidates.append(basepath)
|
candidates.append(basepath)
|
||||||
|
|
||||||
if "playbook_dir" in inject:
|
if inject is not None and "playbook_dir" in inject:
|
||||||
candidates.append(os.path.join(inject['playbook_dir'], self.CREDENIAL_DIR))
|
candidates.append(os.path.join(inject['playbook_dir'], self.CREDENIAL_DIR))
|
||||||
|
|
||||||
keydir = None
|
keydir = None
|
||||||
|
|
@ -47,9 +51,10 @@ class LookupModule(object):
|
||||||
if os.path.exists(candidate):
|
if os.path.exists(candidate):
|
||||||
keydir = candidate
|
keydir = candidate
|
||||||
break
|
break
|
||||||
terms = utils.listify_lookup_plugin_terms(terms, self.basedir, inject)
|
if 'listify_lookup_plugin_terms' in globals():
|
||||||
|
terms = utils.listify_lookup_plugin_terms(terms, self.basedir, inject)
|
||||||
|
|
||||||
if isinstance(terms, basestring):
|
if isinstance(terms, six.string_types):
|
||||||
terms = [ terms ]
|
terms = [ terms ]
|
||||||
|
|
||||||
ret = []
|
ret = []
|
||||||
|
|
@ -74,7 +79,7 @@ class LookupModule(object):
|
||||||
command = "%s %s" % (self.COMMAND, term)
|
command = "%s %s" % (self.COMMAND, term)
|
||||||
|
|
||||||
p = subprocess.Popen(command,
|
p = subprocess.Popen(command,
|
||||||
cwd=self.basedir,
|
cwd=basedir,
|
||||||
shell=True,
|
shell=True,
|
||||||
stdin=subprocess.PIPE,
|
stdin=subprocess.PIPE,
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue