Merge pull request #83 from justinsb/specify_tenant_name

Expose auth with a tenantName
diff --git a/context.go b/context.go
index ebad36c..21d0ae0 100644
--- a/context.go
+++ b/context.go
@@ -2,6 +2,7 @@
 
 import (
 	"net/http"
+	"strings"
 )
 
 // Provider structures exist for each tangible provider of OpenStack service.
@@ -92,6 +93,12 @@
 			return descriptor, nil
 		}
 	}
+	if strings.Contains(name, "://") {
+		p = Provider {
+			AuthEndpoint: name,
+		}
+		return p, nil
+	}
 	return Provider{}, ErrProvider
 }
 
diff --git a/service_catalog.go b/service_catalog.go
index 326f653..a439935 100644
--- a/service_catalog.go
+++ b/service_catalog.go
@@ -11,6 +11,9 @@
 	// Name specifies the desired service catalog entry name.
 	Name string
 
+	// Type specifies the desired service catalog entry type.
+	Type string
+
 	// Region specifies the desired endpoint region.
 	Region string
 
@@ -45,6 +48,10 @@
 			continue
 		}
 
+		if (ac.Type != "") && (ac.Type != entry.Type) {
+			continue
+		}
+
 		for _, endpoint := range entry.Endpoints {
 			if (ac.Region != "") && (rgn != strings.ToUpper(endpoint.Region)) {
 				continue