blob: c2491495c9990b6b4291b5c8dc9a51fddfaf71a6 [file] [log] [blame]
Jamie Hannaford4721abc2014-09-16 16:29:04 +02001package extensions
2
3import (
4 "github.com/mitchellh/mapstructure"
5 "github.com/rackspace/gophercloud"
6)
Jamie Hannaford1ce30f22014-09-16 11:23:34 +02007
8type Extension struct {
9 Updated string `json:"updated"`
10 Name string `json:"name"`
11 Links []interface{} `json:"links"`
12 Namespace string `json:"namespace"`
13 Alias string `json:"alias"`
14 Description string `json:"description"`
15}
Jamie Hannaford4721abc2014-09-16 16:29:04 +020016
17func ExtractExtensions(page gophercloud.Page) ([]Extension, error) {
18 var resp struct {
19 Extensions []Extension `mapstructure:"extensions"`
20 }
21
22 err := mapstructure.Decode(page.(gophercloud.LinkedPage).Body, &resp)
23 if err != nil {
24 return nil, err
25 }
26
27 return resp.Extensions, nil
28}