github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/waf-premium/v1/rules/ListAntiLeakage.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 ListAntiLeakageOpts 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  }
    16  
    17  // ListAntiLeakage is used to query the list of information leakage prevention rules.
    18  func ListAntiLeakage(client *golangsdk.ServiceClient, policyId string, opts ListAntiLeakageOpts) ([]AntiLeakageRule, error) {
    19  	query, err := golangsdk.BuildQueryString(opts)
    20  	if err != nil {
    21  		return nil, err
    22  	}
    23  
    24  	// GET /v1/{project_id}/waf/policy/{policy_id}/antileakage
    25  	url := client.ServiceURL("waf", "policy", policyId, "antileakage") + query.String()
    26  	raw, err := client.Get(url, nil, nil)
    27  	if err != nil {
    28  		return nil, err
    29  	}
    30  
    31  	var res []AntiLeakageRule
    32  	err = extract.IntoSlicePtr(raw.Body, &res, "items")
    33  	return res, err
    34  }