summaryrefslogtreecommitdiff
path: root/trove/configuration/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/configuration/models.py')
-rw-r--r--trove/configuration/models.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/trove/configuration/models.py b/trove/configuration/models.py
index 7a240cb5..6639cc88 100644
--- a/trove/configuration/models.py
+++ b/trove/configuration/models.py
@@ -209,6 +209,21 @@ class Configuration(object):
item["deleted_at"] = None
DBConfigurationParameter.save(item)
+ @staticmethod
+ def find(context, configuration_id, datastore_version_id):
+ try:
+ info = Configuration.load(context, configuration_id)
+ if (info.datastore_version_id == datastore_version_id):
+ return Configuration(context, configuration_id)
+ except exception.ModelNotFoundError:
+ raise exception.NotFound(
+ message='Configuration group id: %s could not be found.'
+ % configuration_id)
+
+ raise exception.ConfigurationDatastoreNotMatchInstance(
+ config_datastore_version=info.datastore_version_id,
+ instance_datastore_version=datastore_version_id)
+
class DBConfiguration(dbmodels.DatabaseModelBase):
_data_fields = ['name', 'description', 'tenant_id', 'datastore_version_id',
@@ -256,6 +271,7 @@ class DBDatastoreConfigurationParameters(dbmodels.DatabaseModelBase):
class DatastoreConfigurationParameters(object):
+
def __init__(self, db_info):
self.db_info = db_info