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  }