github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/elb/v3/security_policy/List.go (about) 1 package security_policy 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 PageReverse bool `q:"page_reverse"` 12 ID []string `q:"id"` 13 Name []string `q:"name"` 14 Description []string `q:"description"` 15 Protocols []string `q:"protocols"` 16 Ciphers []string `q:"ciphers"` 17 } 18 19 func List(client *golangsdk.ServiceClient, opts ListOpts) ([]PolicyRef, error) { 20 url, err := golangsdk.NewURLBuilder().WithEndpoints("security-policies").WithQueryParams(&opts).Build() 21 if err != nil { 22 return nil, err 23 } 24 25 raw, err := client.Get(client.ServiceURL(url.String()), nil, &golangsdk.RequestOpts{OkCodes: []int{200}}) 26 if err != nil { 27 return nil, err 28 } 29 30 var res []PolicyRef 31 32 err = extract.IntoSlicePtr(raw.Body, &res, "security_policies") 33 return res, err 34 35 }