diff options
Diffstat (limited to 'trove/configuration/models.py')
-rw-r--r-- | trove/configuration/models.py | 16 |
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 |