summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Martz <matt@sivel.net>2014-08-11 15:58:10 -0500
committerJames Cammarata <jimi@sngx.net>2014-08-14 15:03:18 -0500
commita096240d171ee2557f50fef823b61024f3418fa5 (patch)
tree569eb0a21ce438e92700e6774c5d5428925f5831
parentdcde900e84adbf342cf6881a754806f40f407962 (diff)
downloadansible-a096240d171ee2557f50fef823b61024f3418fa5.tar.gz
If ansible and ansible-playbook accept a script for --vault-password-file so should ansible-vault
Conflicts: bin/ansible-vault
-rwxr-xr-xbin/ansible-vault32
1 files changed, 13 insertions, 19 deletions
diff --git a/bin/ansible-vault b/bin/ansible-vault
index 6d994df2f8..4bf0643245 100755
--- a/bin/ansible-vault
+++ b/bin/ansible-vault
@@ -27,6 +27,8 @@ import os
import sys
import traceback
+import ansible.constants as C
+
from ansible import utils
from ansible import errors
from ansible.utils.vault import VaultEditor
@@ -58,7 +60,7 @@ def build_option_parser(action):
#parser.add_option('-c', '--cipher', dest='cipher', default="AES256", help="cipher to use")
parser.add_option('--debug', dest='debug', action="store_true", help="debug")
parser.add_option('--vault-password-file', dest='password_file',
- help="vault password file")
+ help="vault password file", default=C.DEFAULT_VAULT_PASSWORD_FILE)
# options specific to actions
if action == "create":
@@ -104,21 +106,14 @@ def get_opt(options, k, defval=""):
# Command functions
#-------------------------------------------------------------------------------------
-def _read_password(filename):
- f = open(filename, "rb")
- data = f.read()
- f.close()
- data = data.strip()
- return data
-
def execute_create(args, options, parser):
if len(args) > 1:
raise errors.AnsibleError("'create' does not accept more than one filename")
- if not options.password_file:
+ if not options.password_file:
password, new_password = utils.ask_vault_passwords(ask_vault_pass=True, confirm_vault=True)
else:
- password = _read_password(options.password_file)
+ password = utils.read_vault_file(options.password_file)
cipher = 'AES256'
if hasattr(options, 'cipher'):
@@ -129,10 +124,10 @@ def execute_create(args, options, parser):
def execute_decrypt(args, options, parser):
- if not options.password_file:
+ if not options.password_file:
password, new_password = utils.ask_vault_passwords(ask_vault_pass=True)
else:
- password = _read_password(options.password_file)
+ password = utils.read_vault_file(options.vault_password_file)
cipher = 'AES256'
if hasattr(options, 'cipher'):
@@ -149,10 +144,10 @@ def execute_edit(args, options, parser):
if len(args) > 1:
raise errors.AnsibleError("create does not accept more than one filename")
- if not options.password_file:
+ if not options.password_file:
password, new_password = utils.ask_vault_passwords(ask_vault_pass=True)
else:
- password = _read_password(options.password_file)
+ password = utils.read_vault_file(options.password_file)
cipher = None
@@ -162,10 +157,10 @@ def execute_edit(args, options, parser):
def execute_encrypt(args, options, parser):
- if not options.password_file:
+ if not options.password_file:
password, new_password = utils.ask_vault_passwords(ask_vault_pass=True, confirm_vault=True)
else:
- password = _read_password(options.password_file)
+ password = utils.read_vault_file(options.password_file)
cipher = 'AES256'
if hasattr(options, 'cipher'):
@@ -179,10 +174,10 @@ def execute_encrypt(args, options, parser):
def execute_rekey(args, options, parser):
- if not options.password_file:
+ if not options.password_file:
password, __ = utils.ask_vault_passwords(ask_vault_pass=True)
else:
- password = _read_password(options.password_file)
+ password = utils.read_vault_file(options.password_file)
__, new_password = utils.ask_vault_passwords(ask_vault_pass=False, ask_new_vault_pass=True, confirm_new=True)
@@ -220,4 +215,3 @@ def main():
if __name__ == "__main__":
main()
-