remove mapstructure from identity,networking,objectstorage,orchestration,pagination
diff --git a/openstack/identity/v2/tenants/results.go b/openstack/identity/v2/tenants/results.go
index cee7568..bf52554 100644
--- a/openstack/identity/v2/tenants/results.go
+++ b/openstack/identity/v2/tenants/results.go
@@ -1,7 +1,6 @@
package tenants
import (
- "github.com/mitchellh/mapstructure"
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/pagination"
)
@@ -9,16 +8,16 @@
// Tenant is a grouping of users in the identity service.
type Tenant struct {
// ID is a unique identifier for this tenant.
- ID string `mapstructure:"id"`
+ ID string `json:"id"`
// Name is a friendlier user-facing name for this tenant.
- Name string `mapstructure:"name"`
+ Name string `json:"name"`
// Description is a human-readable explanation of this Tenant's purpose.
- Description string `mapstructure:"description"`
+ Description string `json:"description"`
// Enabled indicates whether or not a tenant is active.
- Enabled bool `mapstructure:"enabled"`
+ Enabled bool `json:"enabled"`
}
// TenantPage is a single page of Tenant results.
@@ -29,34 +28,27 @@
// IsEmpty determines whether or not a page of Tenants contains any results.
func (page TenantPage) IsEmpty() (bool, error) {
tenants, err := ExtractTenants(page)
- if err != nil {
- return false, err
- }
- return len(tenants) == 0, nil
+ return len(tenants) == 0, err
}
// NextPageURL extracts the "next" link from the tenants_links section of the result.
func (page TenantPage) NextPageURL() (string, error) {
- type resp struct {
- Links []gophercloud.Link `mapstructure:"tenants_links"`
+ var s struct {
+ Links []gophercloud.Link `json:"tenants_links"`
}
-
- var r resp
- err := mapstructure.Decode(page.Body, &r)
+ err := page.ExtractInto(&s)
if err != nil {
return "", err
}
-
- return gophercloud.ExtractNextURL(r.Links)
+ return gophercloud.ExtractNextURL(s.Links)
}
// ExtractTenants returns a slice of Tenants contained in a single page of results.
func ExtractTenants(page pagination.Page) ([]Tenant, error) {
- casted := page.(TenantPage).Body
- var response struct {
- Tenants []Tenant `mapstructure:"tenants"`
+ r := page.(TenantPage)
+ var s struct {
+ Tenants []Tenant `json:"tenants"`
}
-
- err := mapstructure.Decode(casted, &response)
- return response.Tenants, err
+ err := r.ExtractInto(&s)
+ return s.Tenants, err
}