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

     1  package rules
     2  
     3  import (
     4  	golangsdk "github.com/opentelekomcloud/gophertelekomcloud"
     5  	"github.com/opentelekomcloud/gophertelekomcloud/internal/extract"
     6  )
     7  
     8  type ListReferenceTableOpts struct {
     9  	// Number of records on each page.
    10  	// The maximum value is 100. If this parameter is not specified, the default value -1 is used.
    11  	// All policies are queried regardless of the value of Page
    12  	PageSize int64 `q:"pagesize,omitempty"`
    13  	// Page. Default value: 1
    14  	Page int `q:"page,omitempty"`
    15  	// Reference table name, Fuzzy search is supported.
    16  	Name string `q:"name,omitempty"`
    17  }
    18  
    19  // ListReferenceTable is used to query the reference table list.
    20  func ListReferenceTable(client *golangsdk.ServiceClient, opts ListReferenceTableOpts) ([]ReferenceTable, error) {
    21  	query, err := golangsdk.BuildQueryString(opts)
    22  	if err != nil {
    23  		return nil, err
    24  	}
    25  
    26  	// GET /v1/{project_id}/waf/valuelist
    27  	url := client.ServiceURL("waf", "valuelist") + query.String()
    28  	raw, err := client.Get(url, nil, nil)
    29  	if err != nil {
    30  		return nil, err
    31  	}
    32  
    33  	var res []ReferenceTable
    34  	err = extract.IntoSlicePtr(raw.Body, &res, "items")
    35  	return res, err
    36  }