diff --git a/gate-core/src/main/groovy/com/netflix/spinnaker/gate/services/internal/ClouddriverService.groovy b/gate-core/src/main/groovy/com/netflix/spinnaker/gate/services/internal/ClouddriverService.groovy index 52806899b8..ba85bfe7a8 100644 --- a/gate-core/src/main/groovy/com/netflix/spinnaker/gate/services/internal/ClouddriverService.groovy +++ b/gate-core/src/main/groovy/com/netflix/spinnaker/gate/services/internal/ClouddriverService.groovy @@ -373,4 +373,10 @@ interface ClouddriverService { @Query(value = "region") String region, @Path(value = "account") String account) + @GET("/servicebroker/{account}/serviceInstance") + Map getServiceInstance(@Path(value = "account") String account, + @Query(value = "cloudProvider") String cloudProvider, + @Query(value = "region") String region, + @Query(value = "serviceInstanceName") String serviceInstanceName) + } diff --git a/gate-web/src/main/groovy/com/netflix/spinnaker/gate/controllers/ServiceBrokerController.java b/gate-web/src/main/groovy/com/netflix/spinnaker/gate/controllers/ServiceBrokerController.java index c40e1716d2..e26e6a2188 100644 --- a/gate-web/src/main/groovy/com/netflix/spinnaker/gate/controllers/ServiceBrokerController.java +++ b/gate-web/src/main/groovy/com/netflix/spinnaker/gate/controllers/ServiceBrokerController.java @@ -39,4 +39,12 @@ public List listServices(@RequestParam(value = "cloudProvider", required = @PathVariable String account) { return serviceBrokerService.listServices(cloudProvider, region, account); } + + @RequestMapping(value = "{account}/serviceInstance", method = RequestMethod.GET) + public Map getServiceInstance(@PathVariable(value = "account") String account, + @RequestParam(value = "cloudProvider") String cloudProvider, + @RequestParam(value = "region") String region, + @RequestParam(value = "serviceInstanceName") String serviceInstanceName) { + return serviceBrokerService.getServiceInstance(account, cloudProvider, region, serviceInstanceName); + } } diff --git a/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/ServiceBrokerService.java b/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/ServiceBrokerService.java index 4d38655e9a..0c8a158acc 100644 --- a/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/ServiceBrokerService.java +++ b/gate-web/src/main/groovy/com/netflix/spinnaker/gate/services/ServiceBrokerService.java @@ -33,4 +33,8 @@ public class ServiceBrokerService { public List listServices(String cloudProvider, String region, String account) { return this.clouddriverService.listServices(cloudProvider, region, account); } + + public Map getServiceInstance(String account, String cloudProvider, String region, String serviceInstanceName) { + return this.clouddriverService.getServiceInstance(account, cloudProvider, region, serviceInstanceName); + } }