Port metric v1 to resource2
This change ports metric v1 to resource2. Note that most of this stuff isn't exposed in the proxy, but that change should be made elsewhere. I also removed the resource.Generic.create method as that doesn't seem necessary based on what's documented. Change-Id: I662ad4811ff84bd7b7726d02d676e9f5f05e3808
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
from openstack.metric.v1 import capabilities
|
||||
from openstack import proxy
|
||||
from openstack import proxy2 as proxy
|
||||
|
||||
|
||||
class Proxy(proxy.BaseProxy):
|
||||
|
@@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
from openstack.metric import metric_service
|
||||
from openstack import resource
|
||||
from openstack import resource2 as resource
|
||||
|
||||
|
||||
class ArchivePolicy(resource.Resource):
|
||||
@@ -20,18 +20,16 @@ class ArchivePolicy(resource.Resource):
|
||||
|
||||
# Supported Operations
|
||||
allow_create = True
|
||||
allow_retrieve = True
|
||||
allow_get = True
|
||||
allow_delete = True
|
||||
allow_list = True
|
||||
|
||||
id_attribute = "name"
|
||||
|
||||
# Properties
|
||||
#: The name of this policy
|
||||
name = resource.prop('name')
|
||||
name = resource.Body('name', alternate_id=True)
|
||||
#: The definition of this policy
|
||||
definition = resource.prop('definition', type=list)
|
||||
definition = resource.Body('definition', type=list)
|
||||
#: The window of time older than the period that archives can be requested
|
||||
back_window = resource.prop('back_window')
|
||||
back_window = resource.Body('back_window')
|
||||
#: A list of the aggregation methods supported
|
||||
aggregation_methods = resource.prop("aggregation_methods", type=list)
|
||||
aggregation_methods = resource.Body("aggregation_methods", type=list)
|
||||
|
@@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
from openstack.metric import metric_service
|
||||
from openstack import resource
|
||||
from openstack import resource2 as resource
|
||||
|
||||
|
||||
class Capabilities(resource.Resource):
|
||||
@@ -19,7 +19,7 @@ class Capabilities(resource.Resource):
|
||||
service = metric_service.MetricService()
|
||||
|
||||
# Supported Operations
|
||||
allow_retrieve = True
|
||||
allow_get = True
|
||||
|
||||
#: The supported methods of aggregation.
|
||||
aggregation_methods = resource.prop('aggregation_methods', type=list)
|
||||
aggregation_methods = resource.Body('aggregation_methods', type=list)
|
||||
|
@@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
from openstack.metric import metric_service
|
||||
from openstack import resource
|
||||
from openstack import resource2 as resource
|
||||
|
||||
|
||||
class Metric(resource.Resource):
|
||||
@@ -20,20 +20,20 @@ class Metric(resource.Resource):
|
||||
|
||||
# Supported Operations
|
||||
allow_create = True
|
||||
allow_retrieve = True
|
||||
allow_get = True
|
||||
allow_delete = True
|
||||
allow_list = True
|
||||
|
||||
# Properties
|
||||
#: The name of the archive policy
|
||||
archive_policy_name = resource.prop('archive_policy_name')
|
||||
archive_policy_name = resource.Body('archive_policy_name')
|
||||
#: The archive policy
|
||||
archive_policy = resource.prop('archive_policy')
|
||||
archive_policy = resource.Body('archive_policy')
|
||||
#: The ID of the user who created this metric
|
||||
created_by_user_id = resource.prop('created_by_user_id')
|
||||
created_by_user_id = resource.Body('created_by_user_id')
|
||||
#: The ID of the project this metric was created under
|
||||
created_by_project_id = resource.prop('created_by_project_id')
|
||||
created_by_project_id = resource.Body('created_by_project_id')
|
||||
#: The identifier of this metric
|
||||
resource_id = resource.prop('resource_id')
|
||||
resource_id = resource.Body('resource_id')
|
||||
#: The name of this metric
|
||||
name = resource.prop('name')
|
||||
name = resource.Body('name')
|
||||
|
@@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
from openstack.metric import metric_service
|
||||
from openstack import resource
|
||||
from openstack import resource2 as resource
|
||||
|
||||
|
||||
class Generic(resource.Resource):
|
||||
@@ -20,31 +20,27 @@ class Generic(resource.Resource):
|
||||
|
||||
# Supported Operations
|
||||
allow_create = True
|
||||
allow_retrieve = True
|
||||
allow_get = True
|
||||
allow_delete = True
|
||||
allow_list = True
|
||||
allow_update = True
|
||||
|
||||
# Properties
|
||||
#: The identifier of this resource
|
||||
id = resource.prop('id', alias="resource_id")
|
||||
id = resource.Body('id')
|
||||
#: The ID of the user who created this resource
|
||||
created_by_user_id = resource.prop('created_by_user_id')
|
||||
created_by_user_id = resource.Body('created_by_user_id')
|
||||
#: The ID of the project this resource was created under
|
||||
created_by_project_id = resource.prop('created_by_project_id')
|
||||
created_by_project_id = resource.Body('created_by_project_id')
|
||||
#: The ID of the user
|
||||
user_id = resource.prop('user_id')
|
||||
user_id = resource.Body('user_id')
|
||||
#: The ID of the project
|
||||
project_id = resource.prop('project_id')
|
||||
project_id = resource.Body('project_id')
|
||||
#: Timestamp when this resource was started
|
||||
started_at = resource.prop('started_at')
|
||||
started_at = resource.Body('started_at')
|
||||
#: Timestamp when this resource was ended
|
||||
ended_at = resource.prop('ended_at')
|
||||
ended_at = resource.Body('ended_at')
|
||||
#: A dictionary of metrics collected on this resource
|
||||
metrics = resource.prop('metrics', type=dict)
|
||||
|
||||
def create(self, session):
|
||||
resp = self.create_by_id(session, self._attrs)
|
||||
self._attrs[self.id_attribute] = resp[self.id_attribute]
|
||||
self._reset_dirty()
|
||||
return self
|
||||
metrics = resource.Body('metrics', type=dict)
|
||||
#: The type of resource
|
||||
type = resource.Body('type')
|
||||
|
@@ -47,14 +47,15 @@ class TestArchivePolicy(testtools.TestCase):
|
||||
self.assertEqual('/archive_policy', m.base_path)
|
||||
self.assertEqual('metric', m.service.service_type)
|
||||
self.assertTrue(m.allow_create)
|
||||
self.assertTrue(m.allow_retrieve)
|
||||
self.assertTrue(m.allow_get)
|
||||
self.assertFalse(m.allow_update)
|
||||
self.assertTrue(m.allow_delete)
|
||||
self.assertTrue(m.allow_list)
|
||||
|
||||
def test_make_it(self):
|
||||
m = archive_policy.ArchivePolicy(EXAMPLE)
|
||||
m = archive_policy.ArchivePolicy(**EXAMPLE)
|
||||
self.assertEqual(EXAMPLE['name'], m.name)
|
||||
self.assertEqual(EXAMPLE['name'], m.id)
|
||||
self.assertEqual(EXAMPLE['definition'], m.definition)
|
||||
self.assertEqual(EXAMPLE['back_window'], m.back_window)
|
||||
self.assertEqual(EXAMPLE['aggregation_methods'], m.aggregation_methods)
|
||||
|
@@ -25,12 +25,12 @@ class TestCapabilites(testtools.TestCase):
|
||||
self.assertEqual('/capabilities', sot.base_path)
|
||||
self.assertEqual('metric', sot.service.service_type)
|
||||
self.assertFalse(sot.allow_create)
|
||||
self.assertTrue(sot.allow_retrieve)
|
||||
self.assertTrue(sot.allow_get)
|
||||
self.assertFalse(sot.allow_update)
|
||||
self.assertFalse(sot.allow_delete)
|
||||
self.assertFalse(sot.allow_list)
|
||||
|
||||
def test_make_it(self):
|
||||
sot = capabilities.Capabilities(BODY)
|
||||
sot = capabilities.Capabilities(**BODY)
|
||||
self.assertEqual(BODY['aggregation_methods'],
|
||||
sot.aggregation_methods)
|
||||
|
@@ -52,13 +52,13 @@ class TestMetric(testtools.TestCase):
|
||||
self.assertEqual('/metric', m.base_path)
|
||||
self.assertEqual('metric', m.service.service_type)
|
||||
self.assertTrue(m.allow_create)
|
||||
self.assertTrue(m.allow_retrieve)
|
||||
self.assertTrue(m.allow_get)
|
||||
self.assertFalse(m.allow_update)
|
||||
self.assertTrue(m.allow_delete)
|
||||
self.assertTrue(m.allow_list)
|
||||
|
||||
def test_make_it(self):
|
||||
m = metric.Metric(EXAMPLE)
|
||||
m = metric.Metric(**EXAMPLE)
|
||||
self.assertEqual(EXAMPLE['id'], m.id)
|
||||
self.assertEqual(EXAMPLE['archive_policy_name'], m.archive_policy_name)
|
||||
self.assertEqual(EXAMPLE['created_by_user_id'], m.created_by_user_id)
|
||||
@@ -67,7 +67,7 @@ class TestMetric(testtools.TestCase):
|
||||
self.assertEqual(EXAMPLE['resource_id'], m.resource_id)
|
||||
self.assertEqual(EXAMPLE['name'], m.name)
|
||||
|
||||
m = metric.Metric(EXAMPLE_AP)
|
||||
m = metric.Metric(**EXAMPLE_AP)
|
||||
self.assertEqual(EXAMPLE_AP['id'], m.id)
|
||||
self.assertEqual(EXAMPLE_AP['archive_policy'], m.archive_policy)
|
||||
self.assertEqual(EXAMPLE_AP['created_by_user_id'],
|
||||
|
@@ -12,7 +12,7 @@
|
||||
|
||||
from openstack.metric.v1 import _proxy
|
||||
from openstack.metric.v1 import capabilities
|
||||
from openstack.tests.unit import test_proxy_base
|
||||
from openstack.tests.unit import test_proxy_base2 as test_proxy_base
|
||||
|
||||
|
||||
class TestMetricProxy(test_proxy_base.TestProxyBase):
|
||||
|
@@ -36,13 +36,13 @@ class TestResource(testtools.TestCase):
|
||||
self.assertEqual('/resource/generic', m.base_path)
|
||||
self.assertEqual('metric', m.service.service_type)
|
||||
self.assertTrue(m.allow_create)
|
||||
self.assertTrue(m.allow_retrieve)
|
||||
self.assertTrue(m.allow_get)
|
||||
self.assertTrue(m.allow_update)
|
||||
self.assertTrue(m.allow_delete)
|
||||
self.assertTrue(m.allow_list)
|
||||
|
||||
def test_make_generic(self):
|
||||
r = resource.Generic(EXAMPLE_GENERIC)
|
||||
r = resource.Generic(**EXAMPLE_GENERIC)
|
||||
self.assertEqual(EXAMPLE_GENERIC['created_by_user_id'],
|
||||
r.created_by_user_id)
|
||||
self.assertEqual(EXAMPLE_GENERIC['created_by_project_id'],
|
||||
|
Reference in New Issue
Block a user