github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/waf-premium/v1/rules/ListGeoIp.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 ListGeoIpOpts 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 // ListGeoIp is used to query the list of false alarm masking rules. 18 func ListGeoIp(client *golangsdk.ServiceClient, policyId string, opts ListGeoIpOpts) ([]GeoIpRule, 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}/geoip 25 url := client.ServiceURL("waf", "policy", policyId, "geoip") + query.String() 26 raw, err := client.Get(url, nil, nil) 27 if err != nil { 28 return nil, err 29 } 30 31 var res []GeoIpRule 32 err = extract.IntoSlicePtr(raw.Body, &res, "items") 33 return res, err 34 }