summaryrefslogtreecommitdiff
path: root/bin/ansible-vault
diff options
context:
space:
mode:
authorJakub Paweł Głazik <zytek@nuxi.pl>2014-04-17 21:13:48 +0200
committerMichael DeHaan <michael@ansible.com>2014-08-11 16:02:10 -0400
commit58feee0f45b91cd255214f6ca16cbc024294cc07 (patch)
tree39f335f5668d41605120c39534c70873ccb34f0c /bin/ansible-vault
parent783a1e3dfc7bb210004cdf70ee5112b667cdfb7c (diff)
downloadansible-58feee0f45b91cd255214f6ca16cbc024294cc07.tar.gz
ansible-vault view - new command
Diffstat (limited to 'bin/ansible-vault')
-rwxr-xr-xbin/ansible-vault20
1 files changed, 19 insertions, 1 deletions
diff --git a/bin/ansible-vault b/bin/ansible-vault
index 6d994df2f8..bec3e0c4cb 100755
--- a/bin/ansible-vault
+++ b/bin/ansible-vault
@@ -37,7 +37,7 @@ from optparse import OptionParser
# Utility functions for parsing actions/options
#-------------------------------------------------------------------------------------
-VALID_ACTIONS = ("create", "decrypt", "edit", "encrypt", "rekey")
+VALID_ACTIONS = ("create", "decrypt", "edit", "view", "encrypt", "rekey")
def build_option_parser(action):
"""
@@ -67,6 +67,8 @@ def build_option_parser(action):
parser.set_usage("usage: %prog decrypt [options] file_name")
elif action == "edit":
parser.set_usage("usage: %prog edit [options] file_name")
+ elif action == "view":
+ parser.set_usage("usage: %prog view [options] file_name")
elif action == "encrypt":
parser.set_usage("usage: %prog encrypt [options] file_name")
elif action == "rekey":
@@ -160,6 +162,22 @@ def execute_edit(args, options, parser):
this_editor = VaultEditor(cipher, password, f)
this_editor.edit_file()
+def execute_view(args, options, parser):
+
+ if len(args) > 1:
+ raise errors.AnsibleError("view does not accept more than one filename")
+
+ if not options.password_file:
+ password, new_password = utils.ask_vault_passwords(ask_vault_pass=True)
+ else:
+ password = _read_password(options.password_file)
+
+ cipher = None
+
+ for f in args:
+ this_editor = VaultEditor(cipher, password, f)
+ this_editor.view_file()
+
def execute_encrypt(args, options, parser):
if not options.password_file: