From cf96c7719e4974f69cd4691ecfe21ba5cda29c55 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Fri, 20 Mar 2015 23:48:52 -0400 Subject: [PATCH] added become_method list and pipeline support to connection class methods added generic method to check supported become methods for the connection plugin --- v2/ansible/plugins/connections/__init__.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/v2/ansible/plugins/connections/__init__.py b/v2/ansible/plugins/connections/__init__.py index aad19b77643..11015d74313 100644 --- a/v2/ansible/plugins/connections/__init__.py +++ b/v2/ansible/plugins/connections/__init__.py @@ -34,8 +34,18 @@ class ConnectionBase: A base class for connections to contain common code. ''' + has_pipelining = False + become_methods = C.BECOME_METHODS + def __init__(self, connection_info, *args, **kwargs): self._connection_info = connection_info - self._has_pipelining = False self._display = Display(connection_info) + + def _become_method_supported(self, become_method): + ''' Checks if the current class supports this privilege escalation method ''' + + if become_method in self.__class__.become_methods: + return True + + raise errors.AnsibleError("Internal Error: this connection module does not support running commands via %s" % become_method)