def do_stream_definition_list(mc, args): """Show list of stream definitions.""" fields = {} if args.limit: fields['limit'] = args.limit if args.offset: fields['offset'] = args.offset try: definitions = mc.stream_definitions.list(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) if args.json: print(utils.json_formatter(definitions)) return cols = ['id', 'name', 'description', 'select', 'group_by', 'fire_criteria', 'expiration', 'fire_actions', 'expire_actions'] formatters = { 'id': lambda x: x['id'], 'name': lambda x: x['name'], 'description': lambda x: x['description'], 'select': lambda x: utils.format_dictlist(x['select']), 'group_by': lambda x: x['group_by'], 'fire_criteria': lambda x: utils.format_dictlist(x['fire_criteria']), 'expiration': lambda x: x['expiration'], 'fire_actions': lambda x: x['fire_actions'], 'expire_actions': lambda x: x['expire_actions'], } utils.print_list(definitions, cols, formatters=formatters)
def do_stream_definition_get(mc, args): """Get specific stream definition.""" fields = {'definition_id': args.id} try: definition = mc.stream_definitions.get(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) if args.json: print(utils.json_formatter(definition)) return cols = ['id', 'name', 'description', 'select', 'group_by', 'fire_criteria', 'expiration', 'fire_actions', 'expire_actions'] formatters = { 'id': lambda x: x['id'], 'name': lambda x: x['name'], 'description': lambda x: x['description'], 'select': lambda x: utils.format_dictlist(x['select']), 'group_by': lambda x: x['group_by'], 'fire_criteria': lambda x: utils.format_dictlist(x['fire_criteria']), 'expiration': lambda x: x['expiration'], 'fire_actions': lambda x: x['fire_actions'], 'expire_actions': lambda x: x['expire_actions'], } # add to list so print_list will work definition_list = list() definition_list.append(definition) utils.print_list(definition_list, cols, formatters=formatters)