diff --git a/heat/api/openstack/v1/events.py b/heat/api/openstack/v1/events.py index b0c0bbb69d..8e00758183 100644 --- a/heat/api/openstack/v1/events.py +++ b/heat/api/openstack/v1/events.py @@ -57,6 +57,9 @@ def format_event(req, event, keys=None): # and RES_STATUS, so the API format doesn't expose the # internal split of state into action/status yield (key, '_'.join((event[engine_api.EVENT_RES_ACTION], value))) + elif (key == engine_api.RES_NAME): + yield ('logical_resource_id', value) + yield (key, value) else: yield (key, value) diff --git a/heat/api/openstack/v1/resources.py b/heat/api/openstack/v1/resources.py index 5f3633599d..504324b6df 100644 --- a/heat/api/openstack/v1/resources.py +++ b/heat/api/openstack/v1/resources.py @@ -44,6 +44,10 @@ def format_resource(req, res, keys=[]): # and RES_STATUS, so the API format doesn't expose the # internal split of state into action/status yield (key, '_'.join((res[engine_api.RES_ACTION], value))) + elif (key == engine_api.RES_NAME): + yield ('logical_resource_id', value) + yield (key, value) + else: yield (key, value) diff --git a/heat/tests/test_api_openstack_v1.py b/heat/tests/test_api_openstack_v1.py index 70745734b5..8921ab1bfe 100644 --- a/heat/tests/test_api_openstack_v1.py +++ b/heat/tests/test_api_openstack_v1.py @@ -1344,6 +1344,7 @@ class ResourceControllerTest(ControllerTest, HeatTestCase): {'href': self._url(stack_identity), 'rel': 'stack'}], u'resource_name': res_name, + u'logical_resource_id': res_name, u'resource_status_reason': None, u'updated_time': u'2012-07-23T13:06:00Z', u'resource_status': u'CREATE_COMPLETE', @@ -1427,6 +1428,7 @@ class ResourceControllerTest(ControllerTest, HeatTestCase): ], u'description': u'', u'resource_name': res_name, + u'logical_resource_id': res_name, u'resource_status_reason': None, u'updated_time': u'2012-07-23T13:06:00Z', u'resource_status': u'CREATE_COMPLETE', @@ -1687,6 +1689,7 @@ class EventControllerTest(ControllerTest, HeatTestCase): u'event_time': u'2012-07-23T13:05:39Z', u'stack_identity': dict(stack_identity), u'resource_name': 'SomeOtherResource', + u'logical_resource_id': 'SomeOtherResource', u'resource_status_reason': u'state changed', u'event_identity': dict(ev_identity), u'resource_action': u'CREATE', @@ -1720,6 +1723,7 @@ class EventControllerTest(ControllerTest, HeatTestCase): {'href': self._url(stack_identity), 'rel': 'stack'}, ], u'resource_name': res_name, + u'logical_resource_id': res_name, u'resource_status_reason': u'state changed', u'event_time': u'2012-07-23T13:05:39Z', u'resource_status': u'CREATE_IN_PROGRESS', @@ -1781,6 +1785,7 @@ class EventControllerTest(ControllerTest, HeatTestCase): {'href': self._url(stack_identity), 'rel': 'stack'}, ], u'resource_name': res_name, + u'logical_resource_id': res_name, u'resource_status_reason': u'state changed', u'event_time': u'2012-07-23T13:05:39Z', u'resource_status': u'CREATE_IN_PROGRESS', @@ -1931,6 +1936,7 @@ class EventControllerTest(ControllerTest, HeatTestCase): {'href': self._url(stack_identity), 'rel': 'stack'}, ], u'resource_name': res_name, + u'logical_resource_id': res_name, u'resource_status_reason': u'state changed', u'event_time': u'2012-07-23T13:06:00Z', u'resource_status': u'CREATE_COMPLETE',