summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-03-30 18:49:13 +0000
committerGerrit Code Review <review@openstack.org>2015-03-30 18:49:13 +0000
commit2f90b8b9fd5e0ef5f7a312d574058cd25501ca65 (patch)
treeacf94ed8e87ec3650fda035f75967e55587893f7
parent06709099debd41ef9c75a4c6f24c3eb1c14eb8a5 (diff)
parentb94053510f9804ac25865f1ac623d5532b9598dd (diff)
downloadpython-barbicanclient-2f90b8b9fd5e0ef5f7a312d574058cd25501ca65.tar.gz
Merge "Fix order creation on the command line"
-rw-r--r--barbicanclient/barbican_cli/orders.py5
-rw-r--r--barbicanclient/orders.py7
2 files changed, 11 insertions, 1 deletions
diff --git a/barbicanclient/barbican_cli/orders.py b/barbicanclient/barbican_cli/orders.py
index 06a39c4..f1b4db9 100644
--- a/barbicanclient/barbican_cli/orders.py
+++ b/barbicanclient/barbican_cli/orders.py
@@ -27,6 +27,8 @@ class CreateOrder(show.ShowOne):
parser = super(CreateOrder, self).get_parser(prog_name)
parser.add_argument('--name', '-n',
help='a human-friendly name.')
+ parser.add_argument('--type', '-p',
+ help='the type of the order to create.')
parser.add_argument('--algorithm', '-a', default='aes',
help='the algorithm to be used with the '
'requested key (default: '
@@ -49,7 +51,8 @@ class CreateOrder(show.ShowOne):
def take_action(self, args):
entity = self.app.client.orders.create(
- name=args.name, payload_content_type=args.payload_content_type,
+ name=args.name, type=args.type,
+ payload_content_type=args.payload_content_type,
algorithm=args.algorithm, bit_length=args.bit_length,
mode=args.mode, expiration=args.expiration)
entity.submit()
diff --git a/barbicanclient/orders.py b/barbicanclient/orders.py
index 49c6de4..8cfde36 100644
--- a/barbicanclient/orders.py
+++ b/barbicanclient/orders.py
@@ -335,6 +335,13 @@ class OrderManager(base.BaseEntityManager):
else:
raise TypeError('Unknown Order type "{0}"'.format(order_type))
+ def create(self, type=None, **kwargs):
+ order_type = self._order_type_to_class_map.get(type.lower())
+ if order_type is not None:
+ return order_type(self._api, **kwargs)
+ else:
+ raise TypeError('Unknown Order type "{0}"'.format(type))
+
def create_key(self, name=None, algorithm=None, bit_length=None, mode=None,
payload_content_type=None, expiration=None):
"""