client.go raw
1 package gnocchi
2
3 import (
4 "github.com/gophercloud/gophercloud"
5 )
6
7 func initClientOpts(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts, clientType string) (*gophercloud.ServiceClient, error) {
8 sc := new(gophercloud.ServiceClient)
9 eo.ApplyDefaults(clientType)
10 url, err := client.EndpointLocator(eo)
11 if err != nil {
12 return sc, err
13 }
14 sc.ProviderClient = client
15 sc.Endpoint = url
16 sc.Type = clientType
17 return sc, nil
18 }
19
20 // NewGnocchiV1 creates a ServiceClient that may be used with the v1 Gnocchi package.
21 func NewGnocchiV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) {
22 sc, err := initClientOpts(client, eo, "metric")
23 sc.ResourceBase = sc.Endpoint + "v1/"
24 return sc, err
25 }
26