@RequestMapping(value = "/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> addArtifactAccount(@PathVariable String deploymentName, @PathVariable String providerName, @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.addArtifactAccount(deploymentName, providerName, a)) .validator(() -> accountService.validateArtifactAccount(deploymentName, providerName, account.getName())) .description("Add the " + account.getName() + " artifact account") .build() .execute(validationSettings, account); } }