Adding API resource operation
diff --git a/openstack/networking/v2/networks/results.go b/openstack/networking/v2/networks/results.go
index eabf6bc..e601c57 100644
--- a/openstack/networking/v2/networks/results.go
+++ b/openstack/networking/v2/networks/results.go
@@ -80,3 +80,51 @@
 func ToAPIVersions(results gophercloud.Collection) []APIVersion {
 	return results.(*APIVersionsList).APIVersions
 }
+
+type APIResource struct {
+	Name       string
+	Collection string
+}
+
+type APIInfoList struct {
+	gophercloud.PaginationLinks `json:"links"`
+	Client                      *gophercloud.ServiceClient
+	APIResources                []APIResource `json:"resources"`
+}
+
+func (list APIInfoList) Pager() gophercloud.Pager {
+	return gophercloud.NewLinkPager(list)
+}
+
+func (list APIInfoList) Concat(other gophercloud.Collection) gophercloud.Collection {
+	return APIInfoList{
+		Client:       list.Client,
+		APIResources: append(list.APIResources, ToAPIResource(other)...),
+	}
+}
+
+func (list APIInfoList) Service() *gophercloud.ServiceClient {
+	return list.Client
+}
+
+func (list APIInfoList) Links() gophercloud.PaginationLinks {
+	return list.PaginationLinks
+}
+
+func (list APIInfoList) Interpret(json interface{}) (gophercloud.LinkCollection, error) {
+	mapped, ok := json.(map[string]interface{})
+	if !ok {
+		return nil, fmt.Errorf("Unexpected JSON response: %#v", json)
+	}
+
+	var result APIInfoList
+	err := mapstructure.Decode(mapped, &result)
+	if err != nil {
+		return nil, err
+	}
+	return result, nil
+}
+
+func ToAPIResource(results gophercloud.Collection) []APIResource {
+	return results.(*APIInfoList).APIResources
+}