Implement and test the Service Info call.
diff --git a/openstack/identity/v3/services/requests.go b/openstack/identity/v3/services/requests.go
index 899b91c..7b1a250 100644
--- a/openstack/identity/v3/services/requests.go
+++ b/openstack/identity/v3/services/requests.go
@@ -67,3 +67,21 @@
return &resp, nil
}
+
+// Info returns additional information about a service, given its ID.
+func Info(client *gophercloud.ServiceClient, serviceID string) (*ServiceResult, error) {
+ type response struct {
+ Service ServiceResult `json:"service"`
+ }
+
+ var resp response
+ _, err := perigee.Request("GET", getServiceURL(client, serviceID), perigee.Options{
+ MoreHeaders: client.Provider.AuthenticatedHeaders(),
+ Results: &resp,
+ OkCodes: []int{200},
+ })
+ if err != nil {
+ return nil, err
+ }
+ return &resp.Service, nil
+}