more consistent naming
diff --git a/openstack/blockstorage/v1/apiversions/results.go b/openstack/blockstorage/v1/apiversions/results.go
index 79a89de..f510c6d 100644
--- a/openstack/blockstorage/v1/apiversions/results.go
+++ b/openstack/blockstorage/v1/apiversions/results.go
@@ -26,12 +26,11 @@
// ExtractAPIVersions takes a collection page, extracts all of the elements,
// and returns them a slice of APIVersion structs. It is effectively a cast.
-func ExtractAPIVersions(page pagination.Page) ([]APIVersion, error) {
- r := page.(APIVersionPage)
+func ExtractAPIVersions(r pagination.Page) ([]APIVersion, error) {
var s struct {
Versions []APIVersion `json:"versions"`
}
- err := r.ExtractInto(&s)
+ err := (r.(APIVersionPage)).ExtractInto(&s)
return s.Versions, err
}
diff --git a/openstack/blockstorage/v1/snapshots/results.go b/openstack/blockstorage/v1/snapshots/results.go
index f0f8864..195200d 100644
--- a/openstack/blockstorage/v1/snapshots/results.go
+++ b/openstack/blockstorage/v1/snapshots/results.go
@@ -74,12 +74,11 @@
}
// ExtractSnapshots extracts and returns Snapshots. It is used while iterating over a snapshots.List call.
-func ExtractSnapshots(page pagination.Page) ([]Snapshot, error) {
- r := page.(SnapshotPage)
+func ExtractSnapshots(r pagination.Page) ([]Snapshot, error) {
var s struct {
Snapshots []Snapshot `json:"snapshots"`
}
- err := r.ExtractInto(&s)
+ err := (r.(SnapshotPage)).ExtractInto(&s)
return s.Snapshots, err
}
@@ -93,7 +92,6 @@
if r.Err != nil {
return nil, r.Err
}
-
m := r.Body.(map[string]interface{})["metadata"]
return m.(map[string]interface{}), nil
}
diff --git a/openstack/blockstorage/v1/volumes/results.go b/openstack/blockstorage/v1/volumes/results.go
index 6371840..09d1ba6 100644
--- a/openstack/blockstorage/v1/volumes/results.go
+++ b/openstack/blockstorage/v1/volumes/results.go
@@ -74,12 +74,11 @@
}
// ExtractVolumes extracts and returns Volumes. It is used while iterating over a volumes.List call.
-func ExtractVolumes(page pagination.Page) ([]Volume, error) {
- r := page.(VolumePage)
+func ExtractVolumes(r pagination.Page) ([]Volume, error) {
var s struct {
Volumes []Volume `json:"volumes"`
}
- err := r.ExtractInto(&s)
+ err := (r.(VolumePage)).ExtractInto(&s)
return s.Volumes, err
}
diff --git a/openstack/blockstorage/v1/volumetypes/results.go b/openstack/blockstorage/v1/volumetypes/results.go
index 74e193f..2c31238 100644
--- a/openstack/blockstorage/v1/volumetypes/results.go
+++ b/openstack/blockstorage/v1/volumetypes/results.go
@@ -39,12 +39,11 @@
}
// ExtractVolumeTypes extracts and returns Volume Types.
-func ExtractVolumeTypes(page pagination.Page) ([]VolumeType, error) {
- r := page.(VolumeTypePage)
+func ExtractVolumeTypes(r pagination.Page) ([]VolumeType, error) {
var s struct {
VolumeTypes []VolumeType `json:"volume_types"`
}
- err := r.ExtractInto(&s)
+ err := (r.(VolumeTypePage)).ExtractInto(&s)
return s.VolumeTypes, err
}
diff --git a/openstack/cdn/v1/flavors/results.go b/openstack/cdn/v1/flavors/results.go
index 1b15dbc..02c2851 100644
--- a/openstack/cdn/v1/flavors/results.go
+++ b/openstack/cdn/v1/flavors/results.go
@@ -34,20 +34,16 @@
// IsEmpty returns true if a FlavorPage contains no Flavors.
func (r FlavorPage) IsEmpty() (bool, error) {
flavors, err := ExtractFlavors(r)
- if err != nil {
- return true, err
- }
- return len(flavors) == 0, nil
+ return len(flavors) == 0, err
}
// ExtractFlavors extracts and returns Flavors. It is used while iterating over
// a flavors.List call.
-func ExtractFlavors(page pagination.Page) ([]Flavor, error) {
- r := page.(FlavorPage)
+func ExtractFlavors(r pagination.Page) ([]Flavor, error) {
var s struct {
Flavors []Flavor `json:"flavors"`
}
- err := r.ExtractInto(&s)
+ err := (r.(FlavorPage)).ExtractInto(&s)
return s.Flavors, err
}
@@ -58,7 +54,7 @@
// Extract is a function that extracts a flavor from a GetResult.
func (r GetResult) Extract() (*Flavor, error) {
- var s Flavor
+ var s *Flavor
err := r.ExtractInto(&s)
- return &s, err
+ return s, err
}
diff --git a/openstack/cdn/v1/services/results.go b/openstack/cdn/v1/services/results.go
index e37fafa..6de3497 100644
--- a/openstack/cdn/v1/services/results.go
+++ b/openstack/cdn/v1/services/results.go
@@ -230,10 +230,7 @@
// IsEmpty returns true if a ListResult contains no services.
func (r ServicePage) IsEmpty() (bool, error) {
services, err := ExtractServices(r)
- if err != nil {
- return true, err
- }
- return len(services) == 0, nil
+ return len(services) == 0, err
}
// LastMarker returns the last service in a ListResult.
@@ -249,12 +246,11 @@
}
// ExtractServices is a function that takes a ListResult and returns the services' information.
-func ExtractServices(page pagination.Page) ([]Service, error) {
- r := page.(ServicePage)
+func ExtractServices(r pagination.Page) ([]Service, error) {
var s struct {
Services []Service `json:"services"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ServicePage)).ExtractInto(&s)
return s.Services, err
}
diff --git a/openstack/common/extensions/results.go b/openstack/common/extensions/results.go
index 05de97e..d5f8650 100755
--- a/openstack/common/extensions/results.go
+++ b/openstack/common/extensions/results.go
@@ -38,20 +38,16 @@
// IsEmpty checks whether an ExtensionPage struct is empty.
func (r ExtensionPage) IsEmpty() (bool, error) {
is, err := ExtractExtensions(r)
- if err != nil {
- return true, err
- }
- return len(is) == 0, nil
+ return len(is) == 0, err
}
// ExtractExtensions accepts a Page struct, specifically an ExtensionPage struct, and extracts the
// elements into a slice of Extension structs.
// In other words, a generic collection is mapped into a relevant slice.
-func ExtractExtensions(page pagination.Page) ([]Extension, error) {
- r := page.(ExtensionPage)
+func ExtractExtensions(r pagination.Page) ([]Extension, error) {
var s struct {
Extensions []Extension `json:"extensions"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ExtensionPage)).ExtractInto(&s)
return s.Extensions, err
}
diff --git a/openstack/compute/v2/extensions/defsecrules/results.go b/openstack/compute/v2/extensions/defsecrules/results.go
index 00d0bb5..61b918d 100644
--- a/openstack/compute/v2/extensions/defsecrules/results.go
+++ b/openstack/compute/v2/extensions/defsecrules/results.go
@@ -18,20 +18,16 @@
// IsEmpty determines whether or not a page of default rules contains any results.
func (page DefaultRulePage) IsEmpty() (bool, error) {
users, err := ExtractDefaultRules(page)
- if err != nil {
- return false, err
- }
- return len(users) == 0, nil
+ return len(users) == 0, err
}
// ExtractDefaultRules returns a slice of DefaultRules contained in a single
// page of results.
-func ExtractDefaultRules(page pagination.Page) ([]DefaultRule, error) {
- r := page.(DefaultRulePage)
+func ExtractDefaultRules(r pagination.Page) ([]DefaultRule, error) {
var s struct {
DefaultRules []DefaultRule `json:"security_group_default_rules"`
}
- err := r.ExtractInto(&s)
+ err := (r.(DefaultRulePage)).ExtractInto(&s)
return s.DefaultRules, err
}
diff --git a/openstack/compute/v2/extensions/floatingips/results.go b/openstack/compute/v2/extensions/floatingips/results.go
index c77ed77..753f3af 100644
--- a/openstack/compute/v2/extensions/floatingips/results.go
+++ b/openstack/compute/v2/extensions/floatingips/results.go
@@ -37,12 +37,11 @@
// ExtractFloatingIPs interprets a page of results as a slice of
// FloatingIPs.
-func ExtractFloatingIPs(page pagination.Page) ([]FloatingIP, error) {
- r := page.(FloatingIPPage)
+func ExtractFloatingIPs(r pagination.Page) ([]FloatingIP, error) {
var s struct {
FloatingIPs []FloatingIP `json:"floating_ips"`
}
- err := r.ExtractInto(&s)
+ err := (r.(FloatingIPPage)).ExtractInto(&s)
return s.FloatingIPs, err
}
diff --git a/openstack/compute/v2/extensions/keypairs/results.go b/openstack/compute/v2/extensions/keypairs/results.go
index 2b40943..f4d8d35 100644
--- a/openstack/compute/v2/extensions/keypairs/results.go
+++ b/openstack/compute/v2/extensions/keypairs/results.go
@@ -39,15 +39,14 @@
}
// ExtractKeyPairs interprets a page of results as a slice of KeyPairs.
-func ExtractKeyPairs(page pagination.Page) ([]KeyPair, error) {
- r := page.(KeyPairPage)
+func ExtractKeyPairs(r pagination.Page) ([]KeyPair, error) {
type pair struct {
KeyPair KeyPair `json:"keypair"`
}
var s struct {
KeyPairs []pair `json:"keypairs"`
}
- err := r.ExtractInto(&s)
+ err := (r.(KeyPairPage)).ExtractInto(&s)
results := make([]KeyPair, len(s.KeyPairs))
for i, pair := range s.KeyPairs {
results[i] = pair.KeyPair
diff --git a/openstack/compute/v2/extensions/networks/results.go b/openstack/compute/v2/extensions/networks/results.go
index d9b746e..cbcce31 100644
--- a/openstack/compute/v2/extensions/networks/results.go
+++ b/openstack/compute/v2/extensions/networks/results.go
@@ -105,12 +105,11 @@
}
// ExtractNetworks interprets a page of results as a slice of Networks
-func ExtractNetworks(page pagination.Page) ([]Network, error) {
- r := page.(NetworkPage)
+func ExtractNetworks(r pagination.Page) ([]Network, error) {
var s struct {
Networks []Network `json:"networks"`
}
- err := r.ExtractInto(&s)
+ err := (r.(NetworkPage)).ExtractInto(&s)
return s.Networks, err
}
diff --git a/openstack/compute/v2/extensions/secgroups/results.go b/openstack/compute/v2/extensions/secgroups/results.go
index 5e18c0b..764f580 100644
--- a/openstack/compute/v2/extensions/secgroups/results.go
+++ b/openstack/compute/v2/extensions/secgroups/results.go
@@ -76,12 +76,11 @@
}
// ExtractSecurityGroups returns a slice of SecurityGroups contained in a single page of results.
-func ExtractSecurityGroups(page pagination.Page) ([]SecurityGroup, error) {
- r := page.(SecurityGroupPage)
+func ExtractSecurityGroups(r pagination.Page) ([]SecurityGroup, error) {
var s struct {
SecurityGroups []SecurityGroup `json:"security_groups"`
}
- err := r.ExtractInto(&s)
+ err := (r.(SecurityGroupPage)).ExtractInto(&s)
return s.SecurityGroups, err
}
diff --git a/openstack/compute/v2/extensions/servergroups/results.go b/openstack/compute/v2/extensions/servergroups/results.go
index ff64a7e..ab49b35 100644
--- a/openstack/compute/v2/extensions/servergroups/results.go
+++ b/openstack/compute/v2/extensions/servergroups/results.go
@@ -37,12 +37,11 @@
// ExtractServerGroups interprets a page of results as a slice of
// ServerGroups.
-func ExtractServerGroups(page pagination.Page) ([]ServerGroup, error) {
- r := page.(ServerGroupPage)
+func ExtractServerGroups(r pagination.Page) ([]ServerGroup, error) {
var s struct {
ServerGroups []ServerGroup `json:"server_groups"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ServerGroupPage)).ExtractInto(&s)
return s.ServerGroups, err
}
diff --git a/openstack/compute/v2/extensions/tenantnetworks/results.go b/openstack/compute/v2/extensions/tenantnetworks/results.go
index 5db5cbd..88cbc80 100644
--- a/openstack/compute/v2/extensions/tenantnetworks/results.go
+++ b/openstack/compute/v2/extensions/tenantnetworks/results.go
@@ -30,12 +30,11 @@
}
// ExtractNetworks interprets a page of results as a slice of Networks
-func ExtractNetworks(page pagination.Page) ([]Network, error) {
- r := page.(NetworkPage)
+func ExtractNetworks(r pagination.Page) ([]Network, error) {
var s struct {
Networks []Network `json:"networks"`
}
- err := r.ExtractInto(&s)
+ err := (r.(NetworkPage)).ExtractInto(&s)
return s.Networks, err
}
diff --git a/openstack/compute/v2/extensions/volumeattach/requests.go b/openstack/compute/v2/extensions/volumeattach/requests.go
index 7017da2..17cb72e 100644
--- a/openstack/compute/v2/extensions/volumeattach/requests.go
+++ b/openstack/compute/v2/extensions/volumeattach/requests.go
@@ -10,7 +10,7 @@
// List returns a Pager that allows you to iterate over a collection of VolumeAttachments.
func List(client *gophercloud.ServiceClient, serverId string) pagination.Pager {
return pagination.NewPager(client, listURL(client, serverId), func(r pagination.PageResult) pagination.Page {
- return VolumeAttachmentsPage{pagination.SinglePageBase(r)}
+ return VolumeAttachmentPage{pagination.SinglePageBase(r)}
})
}
diff --git a/openstack/compute/v2/extensions/volumeattach/results.go b/openstack/compute/v2/extensions/volumeattach/results.go
index 62e7398..2eef0cd 100644
--- a/openstack/compute/v2/extensions/volumeattach/results.go
+++ b/openstack/compute/v2/extensions/volumeattach/results.go
@@ -20,26 +20,25 @@
ServerID string `json:"serverId"`
}
-// VolumeAttachmentsPage stores a single, only page of VolumeAttachments
+// VolumeAttachmentPage stores a single, only page of VolumeAttachments
// results from a List call.
-type VolumeAttachmentsPage struct {
+type VolumeAttachmentPage struct {
pagination.SinglePageBase
}
// IsEmpty determines whether or not a VolumeAttachmentsPage is empty.
-func (page VolumeAttachmentsPage) IsEmpty() (bool, error) {
+func (page VolumeAttachmentPage) IsEmpty() (bool, error) {
va, err := ExtractVolumeAttachments(page)
return len(va) == 0, err
}
// ExtractVolumeAttachments interprets a page of results as a slice of
// VolumeAttachments.
-func ExtractVolumeAttachments(page pagination.Page) ([]VolumeAttachment, error) {
- r := page.(VolumeAttachmentsPage)
+func ExtractVolumeAttachments(r pagination.Page) ([]VolumeAttachment, error) {
var s struct {
VolumeAttachments []VolumeAttachment `json:"volumeAttachments"`
}
- err := r.ExtractInto(&s)
+ err := (r.(VolumeAttachmentPage)).ExtractInto(&s)
return s.VolumeAttachments, err
}
diff --git a/openstack/compute/v2/flavors/results.go b/openstack/compute/v2/flavors/results.go
index 3f14e76..0edc7d2 100644
--- a/openstack/compute/v2/flavors/results.go
+++ b/openstack/compute/v2/flavors/results.go
@@ -71,11 +71,10 @@
}
// ExtractFlavors provides access to the list of flavors in a page acquired from the List operation.
-func ExtractFlavors(page pagination.Page) ([]Flavor, error) {
- r := page.(FlavorPage)
+func ExtractFlavors(r pagination.Page) ([]Flavor, error) {
var s struct {
Flavors []Flavor `json:"flavors"`
}
- err := r.ExtractInto(&s)
+ err := (r.(FlavorPage)).ExtractInto(&s)
return s.Flavors, err
}
diff --git a/openstack/compute/v2/images/results.go b/openstack/compute/v2/images/results.go
index c9832d4..f38466b 100644
--- a/openstack/compute/v2/images/results.go
+++ b/openstack/compute/v2/images/results.go
@@ -72,11 +72,10 @@
}
// ExtractImages converts a page of List results into a slice of usable Image structs.
-func ExtractImages(page pagination.Page) ([]Image, error) {
- r := page.(ImagePage)
+func ExtractImages(r pagination.Page) ([]Image, error) {
var s struct {
Images []Image `json:"images"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ImagePage)).ExtractInto(&s)
return s.Images, err
}
diff --git a/openstack/compute/v2/servers/results.go b/openstack/compute/v2/servers/results.go
index 2517e65..4d80667 100644
--- a/openstack/compute/v2/servers/results.go
+++ b/openstack/compute/v2/servers/results.go
@@ -170,12 +170,11 @@
}
// ExtractServers interprets the results of a single page from a List() call, producing a slice of Server entities.
-func ExtractServers(page pagination.Page) ([]Server, error) {
- r := page.(ServerPage)
+func ExtractServers(r pagination.Page) ([]Server, error) {
var s struct {
Servers []Server `json:"servers"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ServerPage)).ExtractInto(&s)
return s.Servers, err
}
@@ -258,12 +257,11 @@
// ExtractAddresses interprets the results of a single page from a ListAddresses() call,
// producing a map of addresses.
-func ExtractAddresses(page pagination.Page) (map[string][]Address, error) {
- r := page.(AddressPage)
+func ExtractAddresses(r pagination.Page) (map[string][]Address, error) {
var s struct {
Addresses map[string][]Address `json:"addresses"`
}
- err := r.ExtractInto(&s)
+ err := (r.(AddressPage)).ExtractInto(&s)
return s.Addresses, err
}
@@ -282,10 +280,9 @@
// ExtractNetworkAddresses interprets the results of a single page from a ListAddressesByNetwork() call,
// producing a slice of addresses.
-func ExtractNetworkAddresses(page pagination.Page) ([]Address, error) {
- r := page.(NetworkAddressPage)
+func ExtractNetworkAddresses(r pagination.Page) ([]Address, error) {
var s map[string][]Address
- err := r.ExtractInto(&s)
+ err := (r.(NetworkAddressPage)).ExtractInto(&s)
if err != nil {
return nil, err
}
diff --git a/openstack/db/v1/configurations/results.go b/openstack/db/v1/configurations/results.go
index a708abd..c52a654 100644
--- a/openstack/db/v1/configurations/results.go
+++ b/openstack/db/v1/configurations/results.go
@@ -32,12 +32,11 @@
}
// ExtractConfigs will retrieve a slice of Config structs from a page.
-func ExtractConfigs(page pagination.Page) ([]Config, error) {
- r := page.(ConfigPage)
+func ExtractConfigs(r pagination.Page) ([]Config, error) {
var s struct {
Configs []Config `json:"configurations"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ConfigPage)).ExtractInto(&s)
return s.Configs, err
}
@@ -100,12 +99,11 @@
}
// ExtractParams will retrieve a slice of Param structs from a page.
-func ExtractParams(page pagination.Page) ([]Param, error) {
- r := page.(ParamPage)
+func ExtractParams(r pagination.Page) ([]Param, error) {
var s struct {
Params []Param `json:"configuration-parameters"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ParamPage)).ExtractInto(&s)
return s.Params, err
}
@@ -117,7 +115,7 @@
// Extract will retrieve a param from an operation result.
func (r ParamResult) Extract() (*Param, error) {
- var s Param
+ var s *Param
err := r.ExtractInto(&s)
- return &s, err
+ return s, err
}
diff --git a/openstack/db/v1/datastores/results.go b/openstack/db/v1/datastores/results.go
index e893884..a6e27d2 100644
--- a/openstack/db/v1/datastores/results.go
+++ b/openstack/db/v1/datastores/results.go
@@ -53,12 +53,11 @@
// ExtractDatastores retrieves a slice of datastore structs from a paginated
// collection.
-func ExtractDatastores(page pagination.Page) ([]Datastore, error) {
- r := page.(DatastorePage)
+func ExtractDatastores(r pagination.Page) ([]Datastore, error) {
var s struct {
Datastores []Datastore `json:"datastores"`
}
- err := r.ExtractInto(&s)
+ err := (r.(DatastorePage)).ExtractInto(&s)
return s.Datastores, err
}
@@ -83,12 +82,11 @@
}
// ExtractVersions retrieves a slice of versions from a paginated collection.
-func ExtractVersions(page pagination.Page) ([]Version, error) {
- r := page.(VersionPage)
+func ExtractVersions(r pagination.Page) ([]Version, error) {
var s struct {
Versions []Version `json:"versions"`
}
- err := r.ExtractInto(&s)
+ err := (r.(VersionPage)).ExtractInto(&s)
return s.Versions, err
}
diff --git a/openstack/db/v1/flavors/results.go b/openstack/db/v1/flavors/results.go
index d2a5cba..f74f20c 100644
--- a/openstack/db/v1/flavors/results.go
+++ b/openstack/db/v1/flavors/results.go
@@ -58,11 +58,10 @@
}
// ExtractFlavors provides access to the list of flavors in a page acquired from the List operation.
-func ExtractFlavors(page pagination.Page) ([]Flavor, error) {
- r := page.(FlavorPage)
+func ExtractFlavors(r pagination.Page) ([]Flavor, error) {
var s struct {
Flavors []Flavor `json:"flavors"`
}
- err := r.ExtractInto(&s)
+ err := (r.(FlavorPage)).ExtractInto(&s)
return s.Flavors, err
}
diff --git a/openstack/db/v1/instances/results.go b/openstack/db/v1/instances/results.go
index 905b32c..f32632c 100644
--- a/openstack/db/v1/instances/results.go
+++ b/openstack/db/v1/instances/results.go
@@ -109,12 +109,11 @@
// ExtractInstances will convert a generic pagination struct into a more
// relevant slice of Instance structs.
-func ExtractInstances(page pagination.Page) ([]Instance, error) {
- r := page.(InstancePage)
+func ExtractInstances(r pagination.Page) ([]Instance, error) {
var s struct {
Instances []Instance `json:"instances"`
}
- err := r.ExtractInto(&s)
+ err := (r.(InstancePage)).ExtractInto(&s)
return s.Instances, err
}
diff --git a/openstack/db/v1/users/results.go b/openstack/db/v1/users/results.go
index 018b7c3..d12a681 100644
--- a/openstack/db/v1/users/results.go
+++ b/openstack/db/v1/users/results.go
@@ -53,11 +53,10 @@
// ExtractUsers will convert a generic pagination struct into a more
// relevant slice of User structs.
-func ExtractUsers(page pagination.Page) ([]User, error) {
- r := page.(UserPage)
+func ExtractUsers(r pagination.Page) ([]User, error) {
var s struct {
Users []User `json:"users"`
}
- err := r.ExtractInto(&s)
+ err := (r.(UserPage)).ExtractInto(&s)
return s.Users, err
}
diff --git a/openstack/identity/v2/extensions/admin/roles/results.go b/openstack/identity/v2/extensions/admin/roles/results.go
index 608f206..28de6bb 100644
--- a/openstack/identity/v2/extensions/admin/roles/results.go
+++ b/openstack/identity/v2/extensions/admin/roles/results.go
@@ -26,18 +26,17 @@
}
// IsEmpty determines whether or not a page of Tenants contains any results.
-func (page RolePage) IsEmpty() (bool, error) {
- users, err := ExtractRoles(page)
+func (r RolePage) IsEmpty() (bool, error) {
+ users, err := ExtractRoles(r)
return len(users) == 0, err
}
// ExtractRoles returns a slice of roles contained in a single page of results.
-func ExtractRoles(page pagination.Page) ([]Role, error) {
- r := page.(RolePage)
+func ExtractRoles(r pagination.Page) ([]Role, error) {
var s struct {
Roles []Role `json:"roles"`
}
- err := r.ExtractInto(&s)
+ err := (r.(RolePage)).ExtractInto(&s)
return s.Roles, err
}
diff --git a/openstack/identity/v2/tenants/results.go b/openstack/identity/v2/tenants/results.go
index bf52554..3ce1e67 100644
--- a/openstack/identity/v2/tenants/results.go
+++ b/openstack/identity/v2/tenants/results.go
@@ -26,17 +26,17 @@
}
// IsEmpty determines whether or not a page of Tenants contains any results.
-func (page TenantPage) IsEmpty() (bool, error) {
- tenants, err := ExtractTenants(page)
+func (r TenantPage) IsEmpty() (bool, error) {
+ tenants, err := ExtractTenants(r)
return len(tenants) == 0, err
}
// NextPageURL extracts the "next" link from the tenants_links section of the result.
-func (page TenantPage) NextPageURL() (string, error) {
+func (r TenantPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"tenants_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -44,11 +44,10 @@
}
// ExtractTenants returns a slice of Tenants contained in a single page of results.
-func ExtractTenants(page pagination.Page) ([]Tenant, error) {
- r := page.(TenantPage)
+func ExtractTenants(r pagination.Page) ([]Tenant, error) {
var s struct {
Tenants []Tenant `json:"tenants"`
}
- err := r.ExtractInto(&s)
+ err := (r.(TenantPage)).ExtractInto(&s)
return s.Tenants, err
}
diff --git a/openstack/identity/v2/users/results.go b/openstack/identity/v2/users/results.go
index c353c61..c493383 100644
--- a/openstack/identity/v2/users/results.go
+++ b/openstack/identity/v2/users/results.go
@@ -47,34 +47,32 @@
}
// IsEmpty determines whether or not a page of Tenants contains any results.
-func (page UserPage) IsEmpty() (bool, error) {
- users, err := ExtractUsers(page)
+func (r UserPage) IsEmpty() (bool, error) {
+ users, err := ExtractUsers(r)
return len(users) == 0, err
}
// ExtractUsers returns a slice of Tenants contained in a single page of results.
-func ExtractUsers(page pagination.Page) ([]User, error) {
- r := page.(UserPage)
+func ExtractUsers(r pagination.Page) ([]User, error) {
var s struct {
Users []User `json:"users"`
}
- err := r.ExtractInto(&s)
+ err := (r.(UserPage)).ExtractInto(&s)
return s.Users, err
}
// IsEmpty determines whether or not a page of Tenants contains any results.
-func (page RolePage) IsEmpty() (bool, error) {
- users, err := ExtractRoles(page)
+func (r RolePage) IsEmpty() (bool, error) {
+ users, err := ExtractRoles(r)
return len(users) == 0, err
}
// ExtractRoles returns a slice of Roles contained in a single page of results.
-func ExtractRoles(page pagination.Page) ([]Role, error) {
- r := page.(RolePage)
+func ExtractRoles(r pagination.Page) ([]Role, error) {
var s struct {
Roles []Role `json:"roles"`
}
- err := r.ExtractInto(&s)
+ err := (r.(RolePage)).ExtractInto(&s)
return s.Roles, err
}
diff --git a/openstack/identity/v3/endpoints/results.go b/openstack/identity/v3/endpoints/results.go
index 09e58e5..2788f16 100644
--- a/openstack/identity/v3/endpoints/results.go
+++ b/openstack/identity/v3/endpoints/results.go
@@ -55,17 +55,16 @@
}
// IsEmpty returns true if no Endpoints were returned.
-func (p EndpointPage) IsEmpty() (bool, error) {
- es, err := ExtractEndpoints(p)
+func (r EndpointPage) IsEmpty() (bool, error) {
+ es, err := ExtractEndpoints(r)
return len(es) == 0, err
}
// ExtractEndpoints extracts an Endpoint slice from a Page.
-func ExtractEndpoints(page pagination.Page) ([]Endpoint, error) {
- r := page.(EndpointPage)
+func ExtractEndpoints(r pagination.Page) ([]Endpoint, error) {
var s struct {
Endpoints []Endpoint `json:"endpoints"`
}
- err := r.ExtractInto(&s)
+ err := (r.(EndpointPage)).ExtractInto(&s)
return s.Endpoints, err
}
diff --git a/openstack/identity/v3/roles/requests.go b/openstack/identity/v3/roles/requests.go
index f825627..0264347 100644
--- a/openstack/identity/v3/roles/requests.go
+++ b/openstack/identity/v3/roles/requests.go
@@ -43,7 +43,7 @@
}
url += query
createPage := func(r pagination.PageResult) pagination.Page {
- return RoleAssignmentsPage{pagination.LinkedPageBase{PageResult: r}}
+ return RoleAssignmentPage{pagination.LinkedPageBase{PageResult: r}}
}
return pagination.NewPager(client, url, createPage)
diff --git a/openstack/identity/v3/roles/results.go b/openstack/identity/v3/roles/results.go
index 86f21a0..e8a3aa9 100644
--- a/openstack/identity/v3/roles/results.go
+++ b/openstack/identity/v3/roles/results.go
@@ -35,34 +35,33 @@
ID string `json:"id,omitempty"`
}
-// RoleAssignmentsPage is a single page of RoleAssignments results.
-type RoleAssignmentsPage struct {
+// RoleAssignmentPage is a single page of RoleAssignments results.
+type RoleAssignmentPage struct {
pagination.LinkedPageBase
}
// IsEmpty returns true if the page contains no results.
-func (p RoleAssignmentsPage) IsEmpty() (bool, error) {
- roleAssignments, err := ExtractRoleAssignments(p)
+func (r RoleAssignmentPage) IsEmpty() (bool, error) {
+ roleAssignments, err := ExtractRoleAssignments(r)
return len(roleAssignments) == 0, err
}
// NextPageURL uses the response's embedded link reference to navigate to the next page of results.
-func (page RoleAssignmentsPage) NextPageURL() (string, error) {
+func (r RoleAssignmentPage) NextPageURL() (string, error) {
var s struct {
Links struct {
Next string `json:"next"`
} `json:"links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
return s.Links.Next, err
}
// ExtractRoleAssignments extracts a slice of RoleAssignments from a Collection acquired from List.
-func ExtractRoleAssignments(page pagination.Page) ([]RoleAssignment, error) {
- r := page.(RoleAssignmentsPage)
+func ExtractRoleAssignments(r pagination.Page) ([]RoleAssignment, error) {
var s struct {
RoleAssignments []RoleAssignment `json:"role_assignments"`
}
- err := r.ExtractInto(&s)
+ err := (r.(RoleAssignmentPage)).ExtractInto(&s)
return s.RoleAssignments, err
}
diff --git a/openstack/identity/v3/services/results.go b/openstack/identity/v3/services/results.go
index 45040c6..b0d36fb 100644
--- a/openstack/identity/v3/services/results.go
+++ b/openstack/identity/v3/services/results.go
@@ -59,11 +59,10 @@
}
// ExtractServices extracts a slice of Services from a Collection acquired from List.
-func ExtractServices(page pagination.Page) ([]Service, error) {
- r := page.(ServicePage)
+func ExtractServices(r pagination.Page) ([]Service, error) {
var s struct {
Services []Service `json:"services"`
}
- err := r.ExtractInto(&s)
+ err := (r.(ServicePage)).ExtractInto(&s)
return s.Services, err
}
diff --git a/openstack/networking/v2/extensions/external/results.go b/openstack/networking/v2/extensions/external/results.go
index 2c5173a..7e10c6d 100644
--- a/openstack/networking/v2/extensions/external/results.go
+++ b/openstack/networking/v2/extensions/external/results.go
@@ -67,11 +67,10 @@
// ExtractList accepts a Page struct, specifically a NetworkPage struct, and
// extracts the elements into a slice of NetworkExternal structs. In other
// words, a generic collection is mapped into a relevant slice.
-func ExtractList(page pagination.Page) ([]NetworkExternal, error) {
- r := page.(networks.NetworkPage)
+func ExtractList(r pagination.Page) ([]NetworkExternal, error) {
var s struct {
Networks []NetworkExternal `json:"networks" json:"networks"`
}
- err := r.ExtractInto(&s)
+ err := (r.(networks.NetworkPage)).ExtractInto(&s)
return s.Networks, err
}
diff --git a/openstack/networking/v2/extensions/fwaas/firewalls/results.go b/openstack/networking/v2/extensions/fwaas/firewalls/results.go
index 2b4338c..ab6cf8e 100644
--- a/openstack/networking/v2/extensions/fwaas/firewalls/results.go
+++ b/openstack/networking/v2/extensions/fwaas/firewalls/results.go
@@ -38,11 +38,11 @@
// NextPageURL is invoked when a paginated collection of firewalls has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page FirewallPage) NextPageURL() (string, error) {
+func (r FirewallPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"firewalls_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -50,19 +50,19 @@
}
// IsEmpty checks whether a FirewallPage struct is empty.
-func (page FirewallPage) IsEmpty() (bool, error) {
- is, err := ExtractFirewalls(page)
+func (r FirewallPage) IsEmpty() (bool, error) {
+ is, err := ExtractFirewalls(r)
return len(is) == 0, err
}
// ExtractFirewalls accepts a Page struct, specifically a RouterPage struct,
// and extracts the elements into a slice of Router structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractFirewalls(page pagination.Page) ([]Firewall, error) {
+func ExtractFirewalls(r pagination.Page) ([]Firewall, error) {
var s struct {
Firewalls []Firewall `json:"firewalls" json:"firewalls"`
}
- err := (page.(FirewallPage)).ExtractInto(&s)
+ err := (r.(FirewallPage)).ExtractInto(&s)
return s.Firewalls, err
}
diff --git a/openstack/networking/v2/extensions/fwaas/policies/results.go b/openstack/networking/v2/extensions/fwaas/policies/results.go
index d23c81d..7bdea5b 100644
--- a/openstack/networking/v2/extensions/fwaas/policies/results.go
+++ b/openstack/networking/v2/extensions/fwaas/policies/results.go
@@ -38,11 +38,11 @@
// NextPageURL is invoked when a paginated collection of firewall policies has
// reached the end of a page and the pager seeks to traverse over a new one.
// In order to do this, it needs to construct the next page's URL.
-func (page PolicyPage) NextPageURL() (string, error) {
+func (r PolicyPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"firewall_policies_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -50,19 +50,19 @@
}
// IsEmpty checks whether a PolicyPage struct is empty.
-func (page PolicyPage) IsEmpty() (bool, error) {
- is, err := ExtractPolicies(page)
+func (r PolicyPage) IsEmpty() (bool, error) {
+ is, err := ExtractPolicies(r)
return len(is) == 0, err
}
// ExtractPolicies accepts a Page struct, specifically a RouterPage struct,
// and extracts the elements into a slice of Router structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractPolicies(page pagination.Page) ([]Policy, error) {
+func ExtractPolicies(r pagination.Page) ([]Policy, error) {
var s struct {
Policies []Policy `json:"firewall_policies"`
}
- err := (page.(PolicyPage)).ExtractInto(&s)
+ err := (r.(PolicyPage)).ExtractInto(&s)
return s.Policies, err
}
diff --git a/openstack/networking/v2/extensions/fwaas/rules/results.go b/openstack/networking/v2/extensions/fwaas/rules/results.go
index 4afdf22..c44e5a9 100644
--- a/openstack/networking/v2/extensions/fwaas/rules/results.go
+++ b/openstack/networking/v2/extensions/fwaas/rules/results.go
@@ -33,11 +33,11 @@
// NextPageURL is invoked when a paginated collection of firewall rules has
// reached the end of a page and the pager seeks to traverse over a new one.
// In order to do this, it needs to construct the next page's URL.
-func (page RulePage) NextPageURL() (string, error) {
+func (r RulePage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"firewall_rules_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -45,20 +45,19 @@
}
// IsEmpty checks whether a RulePage struct is empty.
-func (p RulePage) IsEmpty() (bool, error) {
- is, err := ExtractRules(p)
+func (r RulePage) IsEmpty() (bool, error) {
+ is, err := ExtractRules(r)
return len(is) == 0, err
}
// ExtractRules accepts a Page struct, specifically a RouterPage struct,
// and extracts the elements into a slice of Router structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractRules(page pagination.Page) ([]Rule, error) {
- r := page.(RulePage)
+func ExtractRules(r pagination.Page) ([]Rule, error) {
var s struct {
Rules []Rule `json:"firewall_rules"`
}
- err := r.ExtractInto(&s)
+ err := (r.(RulePage)).ExtractInto(&s)
return s.Rules, err
}
diff --git a/openstack/networking/v2/extensions/layer3/floatingips/results.go b/openstack/networking/v2/extensions/layer3/floatingips/results.go
index c33b139..838ca2c 100644
--- a/openstack/networking/v2/extensions/layer3/floatingips/results.go
+++ b/openstack/networking/v2/extensions/layer3/floatingips/results.go
@@ -78,11 +78,11 @@
// NextPageURL is invoked when a paginated collection of floating IPs has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page FloatingIPPage) NextPageURL() (string, error) {
+func (r FloatingIPPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"floatingips_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -90,19 +90,18 @@
}
// IsEmpty checks whether a NetworkPage struct is empty.
-func (page FloatingIPPage) IsEmpty() (bool, error) {
- is, err := ExtractFloatingIPs(page)
+func (r FloatingIPPage) IsEmpty() (bool, error) {
+ is, err := ExtractFloatingIPs(r)
return len(is) == 0, err
}
// ExtractFloatingIPs accepts a Page struct, specifically a FloatingIPPage struct,
// and extracts the elements into a slice of FloatingIP structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractFloatingIPs(page pagination.Page) ([]FloatingIP, error) {
- r := page.(FloatingIPPage)
+func ExtractFloatingIPs(r pagination.Page) ([]FloatingIP, error) {
var s struct {
FloatingIPs []FloatingIP `json:"floatingips"`
}
- err := r.ExtractInto(&s)
+ err := (r.(FloatingIPPage)).ExtractInto(&s)
return s.FloatingIPs, err
}
diff --git a/openstack/networking/v2/extensions/layer3/routers/results.go b/openstack/networking/v2/extensions/layer3/routers/results.go
index e26f243..d849d45 100644
--- a/openstack/networking/v2/extensions/layer3/routers/results.go
+++ b/openstack/networking/v2/extensions/layer3/routers/results.go
@@ -60,11 +60,11 @@
// NextPageURL is invoked when a paginated collection of routers has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page RouterPage) NextPageURL() (string, error) {
+func (r RouterPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"routers_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -72,20 +72,19 @@
}
// IsEmpty checks whether a RouterPage struct is empty.
-func (page RouterPage) IsEmpty() (bool, error) {
- is, err := ExtractRouters(page)
+func (r RouterPage) IsEmpty() (bool, error) {
+ is, err := ExtractRouters(r)
return len(is) == 0, err
}
// ExtractRouters accepts a Page struct, specifically a RouterPage struct,
// and extracts the elements into a slice of Router structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractRouters(page pagination.Page) ([]Router, error) {
- r := page.(RouterPage)
+func ExtractRouters(r pagination.Page) ([]Router, error) {
var s struct {
Routers []Router `json:"routers"`
}
- err := r.ExtractInto(&s)
+ err := (r.(RouterPage)).ExtractInto(&s)
return s.Routers, err
}
diff --git a/openstack/networking/v2/extensions/lbaas/members/results.go b/openstack/networking/v2/extensions/lbaas/members/results.go
index ae9f341..933e1ae 100644
--- a/openstack/networking/v2/extensions/lbaas/members/results.go
+++ b/openstack/networking/v2/extensions/lbaas/members/results.go
@@ -42,11 +42,11 @@
// NextPageURL is invoked when a paginated collection of members has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page MemberPage) NextPageURL() (string, error) {
+func (r MemberPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"members_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -54,20 +54,19 @@
}
// IsEmpty checks whether a MemberPage struct is empty.
-func (page MemberPage) IsEmpty() (bool, error) {
- is, err := ExtractMembers(page)
+func (r MemberPage) IsEmpty() (bool, error) {
+ is, err := ExtractMembers(r)
return len(is) == 0, err
}
// ExtractMembers accepts a Page struct, specifically a MemberPage struct,
// and extracts the elements into a slice of Member structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractMembers(page pagination.Page) ([]Member, error) {
- r := page.(MemberPage)
+func ExtractMembers(r pagination.Page) ([]Member, error) {
var s struct {
Members []Member `json:"members"`
}
- err := r.ExtractInto(&s)
+ err := (r.(MemberPage)).ExtractInto(&s)
return s.Members, err
}
diff --git a/openstack/networking/v2/extensions/lbaas/monitors/results.go b/openstack/networking/v2/extensions/lbaas/monitors/results.go
index 86c24bd..11ba7df 100644
--- a/openstack/networking/v2/extensions/lbaas/monitors/results.go
+++ b/openstack/networking/v2/extensions/lbaas/monitors/results.go
@@ -70,11 +70,11 @@
// NextPageURL is invoked when a paginated collection of monitors has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page MonitorPage) NextPageURL() (string, error) {
+func (r MonitorPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"health_monitors_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -83,20 +83,19 @@
}
// IsEmpty checks whether a PoolPage struct is empty.
-func (page MonitorPage) IsEmpty() (bool, error) {
- is, err := ExtractMonitors(page)
+func (r MonitorPage) IsEmpty() (bool, error) {
+ is, err := ExtractMonitors(r)
return len(is) == 0, err
}
// ExtractMonitors accepts a Page struct, specifically a MonitorPage struct,
// and extracts the elements into a slice of Monitor structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractMonitors(page pagination.Page) ([]Monitor, error) {
- r := page.(MonitorPage)
+func ExtractMonitors(r pagination.Page) ([]Monitor, error) {
var s struct {
Monitors []Monitor `json:"health_monitors"`
}
- err := r.ExtractInto(&s)
+ err := (r.(MonitorPage)).ExtractInto(&s)
return s.Monitors, err
}
diff --git a/openstack/networking/v2/extensions/lbaas/pools/results.go b/openstack/networking/v2/extensions/lbaas/pools/results.go
index 135046a..2ca1963 100644
--- a/openstack/networking/v2/extensions/lbaas/pools/results.go
+++ b/openstack/networking/v2/extensions/lbaas/pools/results.go
@@ -64,11 +64,11 @@
// NextPageURL is invoked when a paginated collection of pools has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page PoolPage) NextPageURL() (string, error) {
+func (r PoolPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"pools_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -76,20 +76,19 @@
}
// IsEmpty checks whether a PoolPage struct is empty.
-func (page PoolPage) IsEmpty() (bool, error) {
- is, err := ExtractPools(page)
+func (r PoolPage) IsEmpty() (bool, error) {
+ is, err := ExtractPools(r)
return len(is) == 0, err
}
// ExtractPools accepts a Page struct, specifically a RouterPage struct,
// and extracts the elements into a slice of Router structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractPools(page pagination.Page) ([]Pool, error) {
- r := page.(PoolPage)
+func ExtractPools(r pagination.Page) ([]Pool, error) {
var s struct {
Pools []Pool `json:"pools"`
}
- err := r.ExtractInto(&s)
+ err := (r.(PoolPage)).ExtractInto(&s)
return s.Pools, err
}
diff --git a/openstack/networking/v2/extensions/lbaas/vips/results.go b/openstack/networking/v2/extensions/lbaas/vips/results.go
index 398c981..7ac7e79 100644
--- a/openstack/networking/v2/extensions/lbaas/vips/results.go
+++ b/openstack/networking/v2/extensions/lbaas/vips/results.go
@@ -89,11 +89,11 @@
// NextPageURL is invoked when a paginated collection of routers has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page VIPPage) NextPageURL() (string, error) {
+func (r VIPPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"vips_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -101,20 +101,19 @@
}
// IsEmpty checks whether a VIPPage struct is empty.
-func (page VIPPage) IsEmpty() (bool, error) {
- is, err := ExtractVIPs(page)
+func (r VIPPage) IsEmpty() (bool, error) {
+ is, err := ExtractVIPs(r)
return len(is) == 0, err
}
// ExtractVIPs accepts a Page struct, specifically a VIPPage struct,
// and extracts the elements into a slice of VirtualIP structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractVIPs(page pagination.Page) ([]VirtualIP, error) {
- r := page.(VIPPage)
+func ExtractVIPs(r pagination.Page) ([]VirtualIP, error) {
var s struct {
VIPs []VirtualIP `json:"vips"`
}
- err := r.ExtractInto(&s)
+ err := (r.(VIPPage)).ExtractInto(&s)
return s.VIPs, err
}
diff --git a/openstack/networking/v2/extensions/provider/results.go b/openstack/networking/v2/extensions/provider/results.go
index f437461..394045a 100755
--- a/openstack/networking/v2/extensions/provider/results.go
+++ b/openstack/networking/v2/extensions/provider/results.go
@@ -94,11 +94,10 @@
// ExtractList accepts a Page struct, specifically a NetworkPage struct, and
// extracts the elements into a slice of NetworkExtAttrs structs. In other
// words, a generic collection is mapped into a relevant slice.
-func ExtractList(page pagination.Page) ([]NetworkExtAttrs, error) {
- r := page.(networks.NetworkPage)
+func ExtractList(r pagination.Page) ([]NetworkExtAttrs, error) {
var s struct {
Networks []NetworkExtAttrs `json:"networks" json:"networks"`
}
- err := r.ExtractInto(&s)
+ err := (r.(networks.NetworkPage)).ExtractInto(&s)
return s.Networks, err
}
diff --git a/openstack/networking/v2/extensions/security/groups/results.go b/openstack/networking/v2/extensions/security/groups/results.go
index 7479e19..ea3ad65 100644
--- a/openstack/networking/v2/extensions/security/groups/results.go
+++ b/openstack/networking/v2/extensions/security/groups/results.go
@@ -36,11 +36,11 @@
// NextPageURL is invoked when a paginated collection of security groups has
// reached the end of a page and the pager seeks to traverse over a new one. In
// order to do this, it needs to construct the next page's URL.
-func (page SecGroupPage) NextPageURL() (string, error) {
+func (r SecGroupPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"security_groups_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -49,20 +49,19 @@
}
// IsEmpty checks whether a SecGroupPage struct is empty.
-func (page SecGroupPage) IsEmpty() (bool, error) {
- is, err := ExtractGroups(page)
+func (r SecGroupPage) IsEmpty() (bool, error) {
+ is, err := ExtractGroups(r)
return len(is) == 0, err
}
// ExtractGroups accepts a Page struct, specifically a SecGroupPage struct,
// and extracts the elements into a slice of SecGroup structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractGroups(page pagination.Page) ([]SecGroup, error) {
- r := page.(SecGroupPage)
+func ExtractGroups(r pagination.Page) ([]SecGroup, error) {
var s struct {
SecGroups []SecGroup `json:"security_groups"`
}
- err := r.ExtractInto(&s)
+ err := (r.(SecGroupPage)).ExtractInto(&s)
return s.SecGroups, err
}
diff --git a/openstack/networking/v2/extensions/security/rules/results.go b/openstack/networking/v2/extensions/security/rules/results.go
index a9d6f1b..18476a6 100644
--- a/openstack/networking/v2/extensions/security/rules/results.go
+++ b/openstack/networking/v2/extensions/security/rules/results.go
@@ -61,11 +61,11 @@
// NextPageURL is invoked when a paginated collection of security group rules has
// reached the end of a page and the pager seeks to traverse over a new one. In
// order to do this, it needs to construct the next page's URL.
-func (page SecGroupRulePage) NextPageURL() (string, error) {
+func (r SecGroupRulePage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"security_group_rules_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -73,20 +73,19 @@
}
// IsEmpty checks whether a SecGroupRulePage struct is empty.
-func (page SecGroupRulePage) IsEmpty() (bool, error) {
- is, err := ExtractRules(page)
+func (r SecGroupRulePage) IsEmpty() (bool, error) {
+ is, err := ExtractRules(r)
return len(is) == 0, err
}
// ExtractRules accepts a Page struct, specifically a SecGroupRulePage struct,
// and extracts the elements into a slice of SecGroupRule structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractRules(page pagination.Page) ([]SecGroupRule, error) {
- r := page.(SecGroupRulePage)
+func ExtractRules(r pagination.Page) ([]SecGroupRule, error) {
var s struct {
SecGroupRules []SecGroupRule `json:"security_group_rules"`
}
- err := r.ExtractInto(&s)
+ err := (r.(SecGroupRulePage)).ExtractInto(&s)
return s.SecGroupRules, err
}
diff --git a/openstack/networking/v2/networks/results.go b/openstack/networking/v2/networks/results.go
index 7f64ddb..d928980 100644
--- a/openstack/networking/v2/networks/results.go
+++ b/openstack/networking/v2/networks/results.go
@@ -72,11 +72,11 @@
// NextPageURL is invoked when a paginated collection of networks has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page NetworkPage) NextPageURL() (string, error) {
+func (r NetworkPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"networks_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -84,19 +84,18 @@
}
// IsEmpty checks whether a NetworkPage struct is empty.
-func (page NetworkPage) IsEmpty() (bool, error) {
- is, err := ExtractNetworks(page)
+func (r NetworkPage) IsEmpty() (bool, error) {
+ is, err := ExtractNetworks(r)
return len(is) == 0, err
}
// ExtractNetworks accepts a Page struct, specifically a NetworkPage struct,
// and extracts the elements into a slice of Network structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractNetworks(page pagination.Page) ([]Network, error) {
- r := page.(NetworkPage)
+func ExtractNetworks(r pagination.Page) ([]Network, error) {
var s struct {
Networks []Network `json:"networks"`
}
- err := r.ExtractInto(&s)
+ err := (r.(NetworkPage)).ExtractInto(&s)
return s.Networks, err
}
diff --git a/openstack/networking/v2/ports/results.go b/openstack/networking/v2/ports/results.go
index e757a54..57a1765 100644
--- a/openstack/networking/v2/ports/results.go
+++ b/openstack/networking/v2/ports/results.go
@@ -90,11 +90,11 @@
// NextPageURL is invoked when a paginated collection of ports has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page PortPage) NextPageURL() (string, error) {
+func (r PortPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"ports_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -102,19 +102,18 @@
}
// IsEmpty checks whether a PortPage struct is empty.
-func (page PortPage) IsEmpty() (bool, error) {
- is, err := ExtractPorts(page)
+func (r PortPage) IsEmpty() (bool, error) {
+ is, err := ExtractPorts(r)
return len(is) == 0, err
}
// ExtractPorts accepts a Page struct, specifically a PortPage struct,
// and extracts the elements into a slice of Port structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractPorts(page pagination.Page) ([]Port, error) {
- r := page.(PortPage)
+func ExtractPorts(r pagination.Page) ([]Port, error) {
var s struct {
Ports []Port `json:"ports"`
}
- err := r.ExtractInto(&s)
+ err := (r.(PortPage)).ExtractInto(&s)
return s.Ports, err
}
diff --git a/openstack/networking/v2/subnets/results.go b/openstack/networking/v2/subnets/results.go
index 22cff1e..ab5cce1 100644
--- a/openstack/networking/v2/subnets/results.go
+++ b/openstack/networking/v2/subnets/results.go
@@ -88,11 +88,11 @@
// NextPageURL is invoked when a paginated collection of subnets has reached
// the end of a page and the pager seeks to traverse over a new one. In order
// to do this, it needs to construct the next page's URL.
-func (page SubnetPage) NextPageURL() (string, error) {
+func (r SubnetPage) NextPageURL() (string, error) {
var s struct {
Links []gophercloud.Link `json:"subnets_links"`
}
- err := page.ExtractInto(&s)
+ err := r.ExtractInto(&s)
if err != nil {
return "", err
}
@@ -100,18 +100,18 @@
}
// IsEmpty checks whether a SubnetPage struct is empty.
-func (page SubnetPage) IsEmpty() (bool, error) {
- is, err := ExtractSubnets(page)
+func (r SubnetPage) IsEmpty() (bool, error) {
+ is, err := ExtractSubnets(r)
return len(is) == 0, err
}
// ExtractSubnets accepts a Page struct, specifically a SubnetPage struct,
// and extracts the elements into a slice of Subnet structs. In other words,
// a generic collection is mapped into a relevant slice.
-func ExtractSubnets(page pagination.Page) ([]Subnet, error) {
+func ExtractSubnets(r pagination.Page) ([]Subnet, error) {
var s struct {
Subnets []Subnet `json:"subnets"`
}
- err := (page.(SubnetPage)).ExtractInto(&s)
+ err := (r.(SubnetPage)).ExtractInto(&s)
return s.Subnets, err
}
diff --git a/openstack/objectstorage/v1/accounts/results.go b/openstack/objectstorage/v1/accounts/results.go
index 50032bd..f9e5fcd 100644
--- a/openstack/objectstorage/v1/accounts/results.go
+++ b/openstack/objectstorage/v1/accounts/results.go
@@ -47,21 +47,21 @@
// Extract will return a struct of headers returned from a call to Get. To obtain
// a map of headers, call the ExtractHeader method on the GetResult.
-func (gr GetResult) Extract() (*GetHeader, error) {
- var gh *GetHeader
- err := gr.ExtractInto(&gh)
- return gh, err
+func (r GetResult) Extract() (*GetHeader, error) {
+ var s *GetHeader
+ err := r.ExtractInto(&s)
+ return s, err
}
// ExtractMetadata is a function that takes a GetResult (of type *http.Response)
// and returns the custom metatdata associated with the account.
-func (gr GetResult) ExtractMetadata() (map[string]string, error) {
- if gr.Err != nil {
- return nil, gr.Err
+func (r GetResult) ExtractMetadata() (map[string]string, error) {
+ if r.Err != nil {
+ return nil, r.Err
}
metadata := make(map[string]string)
- for k, v := range gr.Header {
+ for k, v := range r.Header {
if strings.HasPrefix(k, "X-Account-Meta-") {
key := strings.TrimPrefix(k, "X-Account-Meta-")
metadata[key] = v[0]
diff --git a/openstack/orchestration/v1/stackresources/results.go b/openstack/orchestration/v1/stackresources/results.go
index 951f144..bd3e29f 100644
--- a/openstack/orchestration/v1/stackresources/results.go
+++ b/openstack/orchestration/v1/stackresources/results.go
@@ -161,8 +161,5 @@
return nil, r.Err
}
template, err := json.MarshalIndent(r.Body, "", " ")
- if err != nil {
- return nil, err
- }
- return template, nil
+ return template, err
}
diff --git a/openstack/orchestration/v1/stacks/results.go b/openstack/orchestration/v1/stacks/results.go
index 5da178e..6b6f3a3 100644
--- a/openstack/orchestration/v1/stacks/results.go
+++ b/openstack/orchestration/v1/stacks/results.go
@@ -176,8 +176,5 @@
// the result of an Abandon operation to an AdoptOpts AdoptStackData field.
func (r AbandonResult) String() (string, error) {
out, err := json.Marshal(r)
- if err != nil {
- return "", err
- }
- return string(out), nil
+ return string(out), err
}
diff --git a/results.go b/results.go
index 0de2223..1a3aaa4 100644
--- a/results.go
+++ b/results.go
@@ -114,7 +114,9 @@
tmpHeaderMap := map[string]string{}
for k, v := range r.Header {
- tmpHeaderMap[k] = v[0]
+ if len(v) > 0 {
+ tmpHeaderMap[k] = v[0]
+ }
}
b, err := json.Marshal(tmpHeaderMap)
@@ -203,7 +205,7 @@
return nil
}
-// StackFmtTime is the time format used in Heat (Orchestration).
+// RFC3339NoZ is the time format used in Heat (Orchestration).
const RFC3339NoZ = "2006-01-02T15:04:05"
type JSONRFC3339NoZ time.Time