github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/dms/v2/products/requests.go (about) 1 package products 2 3 import ( 4 "fmt" 5 6 "github.com/opentelekomcloud/gophertelekomcloud" 7 ) 8 9 // Get products 10 func Get(client *golangsdk.ServiceClient, engine string) (*GetResponse, error) { 11 if len(engine) == 0 { 12 return nil, fmt.Errorf("The parameter \"engine\" cannot be empty, it is required.") 13 } 14 url := getURL(client) 15 url = url + "?engine=" + engine 16 17 var rst golangsdk.Result 18 _, err := client.Get(url, &rst.Body, nil) 19 if err == nil { 20 var r GetResponse 21 err = rst.ExtractInto(&r) 22 return &r, err 23 } 24 return nil, err 25 } 26 27 type ListOpts struct { 28 ProductId string `q:"product_id"` 29 } 30 31 func List(c *golangsdk.ServiceClient, engineType string, opts ListOpts) (*ListResp, error) { 32 url := listURL(c, engineType) 33 query, err := golangsdk.BuildQueryString(opts) 34 if err != nil { 35 return nil, err 36 } 37 url += query.String() 38 39 var r ListResp 40 _, err = c.Get(url, &r, nil) 41 if err != nil { 42 return nil, err 43 } 44 return &r, nil 45 }