Claim create CLI support for v1

Change-Id: Id89cb904c29a462e0035dd3ba16b9ebb6344476e
This commit is contained in:
MD NADEEM
2015-12-17 08:53:17 +05:30
committed by Ryan S. Brown
parent 8304764667
commit a84e620253
2 changed files with 52 additions and 0 deletions

View File

@@ -65,6 +65,7 @@ openstack.messaging.v1 =
messaging_flavor_update = zaqarclient.queues.v1.cli:UpdateFlavor
messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor
messaging_flavor_create = zaqarclient.queues.v1.cli:CreateFlavor
claim_create = zaqarclient.queues.v1.cli:CreateClaim
openstack.messaging.v2 =
queue_list = zaqarclient.queues.v2.cli:ListQueues

View File

@@ -560,3 +560,54 @@ class ListFlavors(lister.Lister):
columns = ("Name", 'Pool', 'Capabilities')
return (columns,
(utils.get_item_properties(s, columns) for s in data))
class CreateClaim(lister.Lister):
"""Create claim and return a list of claimed messages"""
log = logging.getLogger(__name__ + ".CreateClaim")
def get_parser(self, prog_name):
parser = super(CreateClaim, self).get_parser(prog_name)
parser.add_argument(
"queue_name",
metavar="<queue_name>",
help="Name of the queue to be claim")
parser.add_argument(
"--ttl",
metavar="<ttl>",
type=int,
default=300,
help="Time to live in seconds for claim")
parser.add_argument(
"--grace",
metavar="<grace>",
type=int,
default=60,
help="The message grace period in seconds")
parser.add_argument(
"--limit",
metavar="<limit>",
type=int,
default=10,
help="Claims a set of messages, up to limit")
return parser
def take_action(self, parsed_args):
client = _get_client(self, parsed_args)
kwargs = {}
if parsed_args.ttl is not None:
kwargs["ttl"] = parsed_args.ttl
if parsed_args.grace is not None:
kwargs["grace"] = parsed_args.grace
if parsed_args.limit is not None:
kwargs["limit"] = parsed_args.limit
queue = client.queue(parsed_args.queue_name, auto_create=False)
keys = ("claim_id", "_id", "ttl", "age", 'body')
columns = ("Claim_ID", "Message_ID", "TTL", "Age", "Messages")
data = queue.claim(**kwargs)
return (columns,
(utils.get_item_properties(s, keys) for s in data))