github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/waf-premium/v1/instances/List.go (about)

     1  package instances
     2  
     3  import (
     4  	golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
     5  	"github.com/opentelekomcloud/gophertelekomcloud/internal/extract"
     6  )
     7  
     8  func List(client *golangsdk.ServiceClient, opts ListOpts) ([]Instance, error) {
     9  	// GET /v1/{project_id}/premium-waf/instance
    10  	query, err := golangsdk.BuildQueryString(opts)
    11  	if err != nil {
    12  		return nil, err
    13  	}
    14  
    15  	url := client.ServiceURL("premium-waf", "instance") + query.String()
    16  	raw, err := client.Get(url, nil, nil)
    17  	if err != nil {
    18  		return nil, err
    19  	}
    20  
    21  	var res []Instance
    22  	err = extract.IntoSlicePtr(raw.Body, &res, "items")
    23  	return res, err
    24  }
    25  
    26  type ListOpts struct {
    27  	// Fuzzy query for dedicated WAF engine names.
    28  	// Only Prefix and Suffix match query are supported
    29  	Name string `json:"instancename"`
    30  }