func (r ResourcePage) IsEmpty() (bool, error) {
	resources, err := ExtractResources(r)
	if err != nil {
		return true, err
	}
	return len(resources) == 0, nil
}
IsEmpty returns true if a page contains no Server results.
package stackresources
import (
	"time"
	"github.com/mitchellh/mapstructure"
	"github.com/rackspace/gophercloud"
	"github.com/rackspace/gophercloud/pagination"
)
type Resource struct {
	Links        []gophercloud.Link `mapstructure:"links"`
	LogicalID    string             `mapstructure:"logical_resource_id"`
	Name         string             `mapstructure:"resource_name"`
	PhysicalID   string             `mapstructure:"physical_resource_id"`
	RequiredBy   []interface{}      `mapstructure:"required_by"`
	Status       string             `mapstructure:"resource_status"`
	StatusReason string             `mapstructure:"resource_status_reason"`
	Type         string             `mapstructure:"resource_type"`
	UpdatedTime  time.Time          `mapstructure:"-"`
}
type FindResult struct {
	gophercloud.Result
}
func (r FindResult) Extract() ([]Resource, error) {
	if r.Err != nil {
		return nil, r.Err
	}
	var res struct {
		Res []Resource `mapstructure:"resources"`
	}
	if err := mapstructure.Decode(r.Body, &res); err != nil {
		return nil, err
	}
	resources := r.Body.(map[string]interface{})["resources"].([]interface{})
	for i, resourceRaw := range resources {
		resource := resourceRaw.(map[string]interface{})
		if date, ok := resource["updated_time"]; ok && date != nil {
			t, err := time.Parse(time.RFC3339, date.(string))
			if err != nil {
				return nil, err
			}
			res.Res[i].UpdatedTime = t
		}
	}
	return res.Res, nil
}
type ResourcePage struct {
	pagination.MarkerPageBase
}