Update keep to comply with the MIME type revamp
Also bump the version
This commit is contained in:
@@ -4,6 +4,7 @@ from barbicanclient import client
|
||||
|
||||
|
||||
class Keep:
|
||||
|
||||
def __init__(self):
|
||||
self.parser = self.get_main_parser()
|
||||
self.subparsers = self.parser.add_subparsers(title='subcommands',
|
||||
@@ -46,9 +47,6 @@ class Keep:
|
||||
def add_create_args(self):
|
||||
create_parser = self.subparsers.add_parser('create', help='Create a '
|
||||
'secret or an order')
|
||||
create_parser.add_argument('--mime_type', '-m', default='text/plain',
|
||||
help='the MIME type of the raw secret (defa'
|
||||
'ult: %(default)s)')
|
||||
create_parser.add_argument('--name', '-n', help='a human-friendly name'
|
||||
' used only for reference')
|
||||
create_parser.add_argument('--algorithm', '-a', default='aes', help='t'
|
||||
@@ -58,10 +56,26 @@ class Keep:
|
||||
help='the bit length of the secret; used '
|
||||
'only for reference (default: %(default)s)',
|
||||
type=int)
|
||||
create_parser.add_argument('--cypher_type', '-c', help='the cypher typ'
|
||||
'e used only for reference')
|
||||
create_parser.add_argument('--plain_text', '-p', help='the unencrypted'
|
||||
' secret (only used for secrets)')
|
||||
create_parser.add_argument('--cypher_type', '-c', default="cbc",
|
||||
help='the cypher type used only for referen'
|
||||
'ce (default: %(default)s)')
|
||||
create_parser.add_argument('--payload', '-p', help='the unencrypted'
|
||||
' secret; if provided, you must also provid'
|
||||
'e a payload_content_type (only used for se'
|
||||
'crets)')
|
||||
create_parser.add_argument('--payload_content_type', '-t',
|
||||
choices=["text/plain",
|
||||
"text/plain; charset=utf-8",
|
||||
"application/octet-stream"],
|
||||
help='the type/format of the provided '
|
||||
'secret data; "text/plain" is assumed to be'
|
||||
' UTF-8; required when --payload is su'
|
||||
'pplied (only used for secrets)')
|
||||
create_parser.add_argument('--payload_content_encoding', '-d',
|
||||
choices=["base64"],
|
||||
help='required if --payload_content_type is'
|
||||
' "application/octet-stream" (only used for'
|
||||
' secrets)')
|
||||
create_parser.add_argument('--expiration', '-e', help='the expiration '
|
||||
'time for the secret in ISO 8601 format')
|
||||
create_parser.set_defaults(func=self.create)
|
||||
@@ -81,10 +95,12 @@ class Keep:
|
||||
get_parser.add_argument('UUID', help='the universally unique identi'
|
||||
'fier of the the secret or order')
|
||||
get_parser.add_argument('--raw', '-r', help='if specified, gets the ra'
|
||||
'w secret of type specified with --mime_type ('
|
||||
'only used for secrets)', action='store_true')
|
||||
get_parser.add_argument('--mime_type', '-m', default='text/plain',
|
||||
help='the MIME type of the raw secret (defa'
|
||||
'w secret of type specified with --payload_con'
|
||||
'tent_type (only used for secrets)',
|
||||
action='store_true')
|
||||
get_parser.add_argument('--payload_content_type', '-t',
|
||||
default='text/plain',
|
||||
help='the content type of the raw secret (defa'
|
||||
'ult: %(default)s; only used for secrets)')
|
||||
get_parser.set_defaults(func=self.get)
|
||||
|
||||
@@ -105,17 +121,17 @@ class Keep:
|
||||
|
||||
def create(self, args):
|
||||
if args.type == 'secret':
|
||||
secret = self.conn.create_secret(args.mime_type,
|
||||
args.plain_text,
|
||||
args.name,
|
||||
secret = self.conn.create_secret(args.name,
|
||||
args.payload,
|
||||
args.payload_content_type,
|
||||
args.payload_content_encoding,
|
||||
args.algorithm,
|
||||
args.bit_length,
|
||||
args.cypher_type,
|
||||
args.expiration)
|
||||
print secret
|
||||
else:
|
||||
order = self.conn.create_order(args.mime_type,
|
||||
args.name,
|
||||
order = self.conn.create_order(args.name,
|
||||
args.algorithm,
|
||||
args.bit_length,
|
||||
args.cypher_type,
|
||||
@@ -131,7 +147,8 @@ class Keep:
|
||||
def get(self, args):
|
||||
if args.type == 'secret':
|
||||
if args.raw:
|
||||
print self.conn.get_raw_secret_by_id(args.UUID, args.mime_type)
|
||||
print self.conn.get_raw_secret_by_id(args.UUID,
|
||||
args.payload_content_type)
|
||||
else:
|
||||
print self.conn.get_secret_by_id(args.UUID)
|
||||
else:
|
||||
|
||||
@@ -17,5 +17,5 @@
|
||||
Cloudkeep's Barbican Client version
|
||||
"""
|
||||
|
||||
__version__ = '0.2.1dev'
|
||||
__version__ = '0.3.0'
|
||||
__version_info__ = tuple(__version__.split('.'))
|
||||
|
||||
Reference in New Issue
Block a user