Adding a method for setting up magic variables from connection info in v2

This commit is contained in:
James Cammarata 2015-04-14 21:10:17 -05:00
parent 0fb4520d7a
commit dd1c14a0c7
2 changed files with 13 additions and 1 deletions

View file

@ -261,3 +261,11 @@ class ConnectionInformation:
for field in self._get_fields(): for field in self._get_fields():
value = templar.template(getattr(self, field)) value = templar.template(getattr(self, field))
setattr(self, field, value) setattr(self, field, value)
def update_vars(self, variables):
'''
Adds 'magic' variables relating to connections to the variable dictionary provided.
'''
variables['ansible_ssh_port'] = self.port
variables['ansible_ssh_user'] = self.remote_user

View file

@ -193,9 +193,13 @@ class TaskExecutor:
variables = self._job_vars variables = self._job_vars
# fields set from the play/task may be based on variables, so we have to # fields set from the play/task may be based on variables, so we have to
# do the same kind of post validation step on it here before we use it # do the same kind of post validation step on it here before we use it.
self._connection_info.post_validate(variables=variables, loader=self._loader) self._connection_info.post_validate(variables=variables, loader=self._loader)
# now that the connection information is finalized, we can add 'magic'
# variables to the variable dictionary
self._connection_info.update_vars(variables)
# get the connection and the handler for this execution # get the connection and the handler for this execution
self._connection = self._get_connection(variables) self._connection = self._get_connection(variables)
self._handler = self._get_action_handler(connection=self._connection) self._handler = self._get_action_handler(connection=self._connection)