def show(self, req, tenant_id, version_id, id): """Show a configuration parameter.""" ds_models.DatastoreVersion.load_by_uuid(version_id) config_params = config_models.DatastoreConfigurationParameters rule = config_params.load_parameter_by_name(version_id, id) return wsgi.Result( views.MgmtConfigurationParameterView(rule).data(), 200)
def update(self, req, body, tenant_id, version_id, id): """Updating configuration parameter for datastore version.""" LOG.info(_("Updating configuration parameter for datastore")) LOG.debug("req : '%s'\n\n" % req) LOG.debug("body : '%s'\n\n" % body) if not body: raise exception.BadRequest(_("Invalid request body.")) parameter = body['configuration-parameter'] restart_required = bool(parameter['restart_required']) data_type, min_size, max_size = self._validate_data_type(parameter) ds_models.DatastoreVersion.load_by_uuid(version_id) ds_config_params = config_models.DatastoreConfigurationParameters param = ds_config_params.load_parameter_by_name(version_id, id) param.restart_required = restart_required param.data_type = data_type param.max_size = max_size param.min_size = min_size param.save() return wsgi.Result( views.MgmtConfigurationParameterView(param).data(), 200)
def create(self, req, body, tenant_id, version_id): """Create configuration parameter for datastore version.""" LOG.info(_("Creating configuration parameter for datastore")) LOG.debug("req : '%s'\n\n" % req) LOG.debug("body : '%s'\n\n" % body) if not body: raise exception.BadRequest(_("Invalid request body.")) parameter = body['configuration-parameter'] name = parameter['name'] restart_required = bool(parameter['restart_required']) data_type, min_size, max_size = self._validate_data_type(parameter) datastore_version = ds_models.DatastoreVersion.load_by_uuid(version_id) rule = config_models.DatastoreConfigurationParameters.create( name=name, datastore_version_id=datastore_version.id, restart_required=restart_required, data_type=data_type, max_size=max_size, min_size=min_size) return wsgi.Result( views.MgmtConfigurationParameterView(rule).data(), 200)