github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/fgs/v2/alias/ListVersion.go (about)

     1  package alias
     2  
     3  import (
     4  	golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
     5  	"github.com/opentelekomcloud/gophertelekomcloud/internal/extract"
     6  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/fgs/v2/function"
     7  )
     8  
     9  type ListVersionOpts struct {
    10  	FuncUrn  string `q:"-"`
    11  	Marker   string `q:"marker,omitempty"`
    12  	Maxitems string `q:"maxitems,omitempty"`
    13  }
    14  
    15  func ListVersion(client *golangsdk.ServiceClient, opts ListVersionOpts) (*ListVersionResponse, error) {
    16  	url, err := golangsdk.NewURLBuilder().WithEndpoints("fgs", "functions", opts.FuncUrn, "versions").WithQueryParams(&opts).Build()
    17  	if err != nil {
    18  		return nil, err
    19  	}
    20  
    21  	raw, err := client.Get(client.ServiceURL(url.String()), nil, nil)
    22  	if err != nil {
    23  		return nil, err
    24  	}
    25  
    26  	var res ListVersionResponse
    27  	err = extract.Into(raw.Body, &res)
    28  	return &res, err
    29  }
    30  
    31  type ListVersionResponse struct {
    32  	Functions  []function.FuncGraph `json:"versions"`
    33  	NextMarker int                  `json:"next_marker"`
    34  	Count      int                  `json:"count"`
    35  }