remove mapstructure from blockstorage,cdn,compute,db pkgs
diff --git a/openstack/compute/v2/extensions/defsecrules/results.go b/openstack/compute/v2/extensions/defsecrules/results.go
index 4adfa91..00d0bb5 100644
--- a/openstack/compute/v2/extensions/defsecrules/results.go
+++ b/openstack/compute/v2/extensions/defsecrules/results.go
@@ -1,8 +1,6 @@
package defsecrules
import (
- "github.com/mitchellh/mapstructure"
-
"github.com/gophercloud/gophercloud"
"github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/secgroups"
"github.com/gophercloud/gophercloud/pagination"
@@ -29,14 +27,12 @@
// ExtractDefaultRules returns a slice of DefaultRules contained in a single
// page of results.
func ExtractDefaultRules(page pagination.Page) ([]DefaultRule, error) {
- casted := page.(DefaultRulePage).Body
- var response struct {
- Rules []DefaultRule `mapstructure:"security_group_default_rules"`
+ r := page.(DefaultRulePage)
+ var s struct {
+ DefaultRules []DefaultRule `json:"security_group_default_rules"`
}
-
- err := mapstructure.WeakDecode(casted, &response)
-
- return response.Rules, err
+ err := r.ExtractInto(&s)
+ return s.DefaultRules, err
}
type commonResult struct {
@@ -55,15 +51,9 @@
// Extract will extract a DefaultRule struct from most responses.
func (r commonResult) Extract() (*DefaultRule, error) {
- if r.Err != nil {
- return nil, r.Err
+ var s struct {
+ DefaultRule DefaultRule `json:"security_group_default_rule"`
}
-
- var response struct {
- Rule DefaultRule `mapstructure:"security_group_default_rule"`
- }
-
- err := mapstructure.WeakDecode(r.Body, &response)
-
- return &response.Rule, err
+ err := r.ExtractInto(&s)
+ return &s.DefaultRule, err
}