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  }