Remove the event class and use Meter instead.

Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
This commit is contained in:
Angus Salkeld
2012-11-30 13:31:47 +11:00
parent 2ae6238fe9
commit 46cedbcf1e
3 changed files with 13 additions and 66 deletions

View File

@@ -31,7 +31,6 @@ class Client(http.HTTPClient):
""" Initialize a new client for the Ceilometer v1 API. """
super(Client, self).__init__(*args, **kwargs)
self.meters = meters.MeterManager(self)
self.events = meters.EventManager(self)
self.users = meters.UserManager(self)
self.resources = meters.ResourceManager(self)
self.projects = meters.ProjectManager(self)

View File

@@ -83,37 +83,6 @@ class ResourceManager(base.Manager):
return self._list('/v1/%s' % path, 'resources')
class Event(base.Resource):
def __repr__(self):
return "<Event %s>" % self._info
def data(self, **kwargs):
return self.manager.data(self, **kwargs)
class EventManager(base.Manager):
resource_class = Event
def list(self, **kwargs):
c = kwargs['counter_name']
r = kwargs.get('resource_id')
u = kwargs.get('user_id')
p = kwargs.get('project_id')
s = kwargs.get('source')
if r:
path = '/resources/%s/events/%s' % (r, c)
elif u:
path = '/users/%s/events/%s' % (u, c)
elif p:
path = '/projects/%s/events/%s' % (p, c)
elif s:
path = '/sources/%s/events/%s' % (s, c)
else:
path = '/events'
self._list('/v1/%s' % path, 'events')
class Meter(base.Resource):
def __repr__(self):
return "<Meter %s>" % self._info

View File

@@ -20,56 +20,35 @@ import ceilometerclient.exc as exc
@utils.arg('-s', '--source', metavar='<SOURCE>',
help='ID of the resource to show events for.')
help='ID of the resource to show meters for.')
@utils.arg('-r', '--resource_id', metavar='<RESOURCE_ID>',
help='ID of the resource to show events for.')
help='ID of the resource to show meters for.')
@utils.arg('-u', '--user_id', metavar='<USER_ID>',
help='ID of the user to show events for.')
help='ID of the user to show meters for.')
@utils.arg('-p', '--project_id', metavar='<PROJECT_ID>',
help='ID of the project to show events for.')
help='ID of the project to show meters for.')
@utils.arg('-c', '--counter_name', metavar='<NAME>',
help='Name of meter to show events for.')
def do_event_list(cc, args):
'''List the events for this meters'''
help='Name of meter to show meters for.')
def do_meter_list(cc, args):
'''List the meters for this meters'''
fields = {'counter_name': args.counter_name,
'resource_id': args.resource_id,
'user_id': args.user_id,
'project_id': args.project_id,
'source': args.source}
try:
events = cc.events.list(**fields)
meters = cc.meters.list(**fields)
except exc.HTTPNotFound:
raise exc.CommandError('Events not found: %s' % args.counter_name)
raise exc.CommandError('meters not found: %s' % args.counter_name)
else:
json_format = lambda js: json.dumps(js, indent=2)
formatters = {
'metadata': json_format,
}
for e in events:
for e in meters:
utils.print_dict(e.to_dict(), formatters=formatters)
@utils.arg('-s', '--source', metavar='<SOURCE>',
help='ID of the resource to show events for.')
@utils.arg('-r', '--resource_id', metavar='<RESOURCE_ID>',
help='ID of the resource to show events for.')
@utils.arg('-u', '--user_id', metavar='<USER_ID>',
help='ID of the user to show events for.')
@utils.arg('-p', '--project_id', metavar='<PROJECT_ID>',
help='ID of the project to show events for.')
def do_metric_list(cc, args={}):
'''List the user's metrices'''
fields = {'resource_id': args.resource_id,
'user_id': args.user_id,
'project_id': args.project_id,
'source': args.source}
metrics = cc.meters.list(**fields)
field_labels = ['Name', 'Resource ID', 'User ID']
fields = ['counter_name', 'resource_id', 'user_id']
utils.print_list(metrics, fields, field_labels,
sortby=0)
def do_user_list(cc, args={}):
'''List the users'''
kwargs = {}
@@ -81,9 +60,9 @@ def do_user_list(cc, args={}):
@utils.arg('-s', '--source', metavar='<SOURCE>',
help='ID of the resource to show events for.')
help='ID of the resource to show meters for.')
@utils.arg('-u', '--user_id', metavar='<USER_ID>',
help='ID of the user to show events for.')
help='ID of the user to show meters for.')
def do_resource_list(cc, args={}):
'''List the users'''
kwargs = {'source': args.source,
@@ -97,7 +76,7 @@ def do_resource_list(cc, args={}):
@utils.arg('-s', '--source', metavar='<SOURCE>',
help='ID of the resource to show events for.')
help='ID of the resource to show meters for.')
def do_project_list(cc, args={}):
'''List the projects'''
kwargs = {'source': args.source}