@RequestMapping(value = "/cluster/{clusterName:.+}", method = RequestMethod.GET) DaemonTask<Halconfig, Cluster> cluster(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String clusterName, @ModelAttribute ValidationSettings validationSettings) { return GenericGetRequest.<Cluster>builder() .getter(() -> clusterService.getProviderCluster(deploymentName, providerName, clusterName)) .validator(() -> clusterService.validateCluster(deploymentName, providerName, clusterName)) .description("Get " + clusterName + " cluster") .build() .execute(validationSettings); }
@RequestMapping(value = "/cluster/{clusterName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setCluster(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String clusterName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawCluster) { Cluster cluster = objectMapper.convertValue( rawCluster, Providers.translateClusterType(providerName) ); return GenericUpdateRequest.<Cluster>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(c -> clusterService.setCluster(deploymentName, providerName, clusterName, c)) .validator(() -> clusterService.validateCluster(deploymentName, providerName, cluster.getName())) .description("Edit the " + clusterName + " cluster") .build() .execute(validationSettings, cluster); }
@RequestMapping(value = "/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> addCluster(@PathVariable String deploymentName, @PathVariable String providerName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawCluster) { Cluster cluster = objectMapper.convertValue( rawCluster, Providers.translateClusterType(providerName) ); return GenericUpdateRequest.<Cluster>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(c -> clusterService.addCluster(deploymentName, providerName, c)) .validator(() -> clusterService.validateCluster(deploymentName, providerName, cluster.getName())) .description("Add the " + cluster.getName() + " cluster") .build() .execute(validationSettings, cluster); } }