@RequestMapping(value = "/account/{accountName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setArtifactAccount(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String accountName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawArtifactAccount) { ArtifactAccount account = objectMapper.convertValue( rawArtifactAccount, Artifacts.translateArtifactAccountType(providerName) ); return GenericUpdateRequest.<ArtifactAccount>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(a -> accountService.setArtifactAccount(deploymentName, providerName, accountName, a)) .validator(() -> accountService.validateArtifactAccount(deploymentName, providerName, account.getName())) .description("Edit the " + accountName + " artifact account") .build() .execute(validationSettings, account); }