Add a encode() to AnsibleVaultEncryptedUnicode (#19840)

* Add a encode() to AnsibleVaultEncryptedUnicode

Without it, calling encode() on it results in a bytestring
of the encrypted !vault-encrypted string.

ssh connection plugin triggers this if ansible_password
is from a var using !vault-encrypted. That path ends up
calling .encode() instead of using the __str__.

Fixes #19795

* Fix str.encode() errors on py2.6

py2.6 str.encode() does not take keyword arguments.
This commit is contained in:
Adrian Likins 2017-01-04 12:17:19 -05:00 committed by Brian Coca
parent ac00c8a660
commit c771ab34c7
2 changed files with 12 additions and 0 deletions

View file

@ -132,3 +132,6 @@ class AnsibleVaultEncryptedUnicode(yaml.YAMLObject, AnsibleUnicode):
def __unicode__(self):
return unicode(self.data)
def encode(self, encoding=None, errors=None):
return self.data.encode(encoding, errors)