ansible-vault view - new command

This commit is contained in:
Jakub Paweł Głazik
2014-04-17 21:13:48 +02:00
committed by Michael DeHaan
parent 783a1e3dfc
commit 58feee0f45
2 changed files with 42 additions and 1 deletions

View File

@@ -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: