@RequestMapping(value = "/{deploymentName:.+}/connect/", method = RequestMethod.POST) DaemonTask<Halconfig, RemoteAction> connect(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames) { List<String> finalServiceNames = serviceNames == null ? new ArrayList<>() : serviceNames; StaticRequestBuilder<RemoteAction> builder = new StaticRequestBuilder<>( () -> deployService.connectCommand(deploymentName, finalServiceNames)); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler.submitTask(builder::build, "Connect to Spinnaker deployment."); }
@RequestMapping(value = "/{deploymentName:.+}/collectLogs/", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> collectLogs(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames, @RequestParam(required = false) List<String> excludeServiceNames) { List<String> finalServiceNames = serviceNames != null ? serviceNames : Collections.emptyList(); List<String> finalExcludeServiceNames = excludeServiceNames != null ? excludeServiceNames : Collections.emptyList(); StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(() -> { deployService.collectLogs(deploymentName, finalServiceNames, finalExcludeServiceNames); return null; }); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler.submitTask(builder::build, "Collecting service logs"); }
@RequestMapping(value = "/{deploymentName:.+}/rollback/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> rollback(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames, @RequestParam(required = false) List<String> excludeServiceNames) { List<String> finalServiceNames = serviceNames != null ? serviceNames : Collections.emptyList(); List<String> finalExcludeServiceNames = excludeServiceNames != null ? excludeServiceNames : Collections.emptyList(); Supplier<Void> buildResponse = () -> { deployService.rollback(deploymentName, finalServiceNames, finalExcludeServiceNames); return null; }; StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(buildResponse); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler .submitTask(builder::build, "Rollback Spinnaker", TimeUnit.MINUTES.toMillis(30)); }
@RequestMapping(value = "/{deploymentName:.+}/version/", method = RequestMethod.GET) DaemonTask<Halconfig, String> getVersion(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings) { return GenericGetRequest.<String>builder() .getter(() -> deploymentService.getVersion(deploymentName)) .validator(() -> deploymentService.validateDeploymentShallow(deploymentName)) .description("Get Spinnaker version") .build() .execute(validationSettings); }
@RequestMapping(value = "/{deploymentName:.+}/clean/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> clean(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings) { Supplier<Void> buildResponse = () -> { deployService.clean(deploymentName); return null; }; StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(buildResponse); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler.submitTask(builder::build, "Clean Deployment of Spinnaker"); }
@RequestMapping(value = "/{deploymentName:.+}/version/", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setVersion(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Versions.Version version) { UpdateRequestBuilder builder = new UpdateRequestBuilder(); builder.setUpdate(() -> deploymentService.setVersion(deploymentName, version.getVersion())); builder.setSeverity(validationSettings.getSeverity()); Supplier<ProblemSet> doValidate = ProblemSet::new; if (validationSettings.isValidate()) { doValidate = () -> deploymentService.validateDeploymentShallow(deploymentName); } builder.setValidate(doValidate); builder.setRevert(halconfigParser::undoChanges); builder.setSave(halconfigParser::saveConfig); return DaemonTaskHandler.submitTask(builder::build, "Edit Spinnaker version"); }