func NewIdentityAdminV3(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) { eo.ApplyDefaults("identity") eo.Availability = gophercloud.AvailabilityAdmin url, err := client.EndpointLocator(eo) if err != nil { return nil, err } // Force using v3 API if strings.Contains(url, "/v2.0") { url = strings.Replace(url, "/v2.0", "/v3", -1) } return &gophercloud.ServiceClient{ProviderClient: client, Endpoint: url}, nil }