@RequestMapping(value = "/{providerName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setProvider(@PathVariable String deploymentName, @PathVariable String providerName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawProvider) { Provider provider = objectMapper.convertValue( rawProvider, Providers.translateProviderType(providerName) ); return GenericUpdateRequest.<Provider>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(p -> providerService.setProvider(deploymentName, p)) .validator(() -> providerService.validateProvider(deploymentName, providerName)) .description("Edit the " + providerName + " provider") .build() .execute(validationSettings, provider); }