def handle(self, request, data): source_type = data.get('source_type') if source_type == "yaml": spec = data.get("spec_yaml") else: spec = self.files['spec_file'].read() opts = _populate_profile_params( name=data.get('name'), spec=spec, metadata=data.get('metadata') ) try: profile = senlin.profile_create(request, **opts) messages.success(request, _('Your profile %s has been created.') % opts['name']) return profile except ValidationError as e: self.api_error(e.messages[0]) return False except Exception: redirect = reverse(INDEX_URL) msg = _('Unable to create new profile') exceptions.handle(request, msg, redirect=redirect) return False
def handle(self, request, data): source_type = data.get('source_type') if source_type == "yaml": spec = data.get("spec_yaml") else: spec = self.files['spec_file'].read() opts = _populate_profile_params( name=data.get('name'), spec=spec, metadata=data.get('metadata') ) try: profile = senlin.profile_create(request, opts) messages.success(request, _('Your profile %s has been created.') % opts['name']) return profile except ValidationError as e: self.api_error(e.messages[0]) return False except Exception: redirect = reverse(INDEX_URL) msg = _('Unable to create new profile') exceptions.handle(request, msg, redirect=redirect) return False
def post(self, request): """Create a new Profile. Returns the new Profile object on success. """ request_param = request.DATA params = forms._populate_profile_params(request_param.get("name"), request_param.get("spec"), request_param.get("metadata")) new_profile = senlin.profile_create(request, **params) return rest_utils.CreatedResponse( '/api/senlin/profiles/%s' % new_profile.id, new_profile.to_dict())