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

     1  package reserved
     2  
     3  import (
     4  	golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
     5  	"github.com/opentelekomcloud/gophertelekomcloud/internal/extract"
     6  )
     7  
     8  type ListOpts struct {
     9  	Marker  string `q:"marker"`
    10  	Limit   string `q:"limit"`
    11  	FuncUrn string `q:"urn"`
    12  }
    13  
    14  func ListReservedInst(client *golangsdk.ServiceClient, opts ListOpts) (*FuncReservedInstResp, error) {
    15  	url, err := golangsdk.NewURLBuilder().WithEndpoints("fgs", "functions", "reservedinstances").WithQueryParams(&opts).Build()
    16  	if err != nil {
    17  		return nil, err
    18  	}
    19  
    20  	raw, err := client.Get(client.ServiceURL(url.String()), nil, nil)
    21  	if err != nil {
    22  		return nil, err
    23  	}
    24  
    25  	var res FuncReservedInstResp
    26  	err = extract.Into(raw.Body, &res)
    27  	return &res, err
    28  }
    29  
    30  type FuncReservedInstResp struct {
    31  	ReservedInstances []FuncReservedResp `json:"reserved_instances"`
    32  	PageInfo          *PageInfo          `json:"page_info"`
    33  	Count             int                `json:"count"`
    34  }
    35  
    36  type FuncReservedResp struct {
    37  	FuncUrn string `json:"func_urn"`
    38  	Count   int    `json:"count"`
    39  }