github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/networking/v2/extensions/delegate.go (about) 1 package extensions 2 3 import ( 4 "context" 5 6 "github.com/vnpaycloud-console/gophercloud/v2" 7 common "github.com/vnpaycloud-console/gophercloud/v2/openstack/common/extensions" 8 "github.com/vnpaycloud-console/gophercloud/v2/pagination" 9 ) 10 11 // Extension is a single OpenStack extension. 12 type Extension struct { 13 common.Extension 14 } 15 16 // GetResult wraps a GetResult from common. 17 type GetResult struct { 18 common.GetResult 19 } 20 21 // ExtractExtensions interprets a Page as a slice of Extensions. 22 func ExtractExtensions(page pagination.Page) ([]Extension, error) { 23 inner, err := common.ExtractExtensions(page) 24 if err != nil { 25 return nil, err 26 } 27 outer := make([]Extension, len(inner)) 28 for index, ext := range inner { 29 outer[index] = Extension{ext} 30 } 31 return outer, nil 32 } 33 34 // Get retrieves information for a specific extension using its alias. 35 func Get(ctx context.Context, c *gophercloud.ServiceClient, alias string) GetResult { 36 return GetResult{common.Get(ctx, c, alias)} 37 } 38 39 // List returns a Pager which allows you to iterate over the full collection of extensions. 40 // It does not accept query parameters. 41 func List(c *gophercloud.ServiceClient) pagination.Pager { 42 return common.List(c) 43 }