github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/evs/v1/snapshots/list.go (about) 1 package snapshots 2 3 import ( 4 "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 6 ) 7 8 type ListOpts struct { 9 Name string `q:"display_name"` 10 Status string `q:"status"` 11 VolumeID string `q:"volume_id"` 12 } 13 14 func List(client *golangsdk.ServiceClient, opts ListOpts) ([]Snapshot, error) { 15 url, err := golangsdk.NewURLBuilder().WithEndpoints("snapshots").WithQueryParams(&opts).Build() 16 if err != nil { 17 return nil, err 18 } 19 20 raw, err := client.Get(client.ServiceURL(url.String()), nil, nil) 21 if err != nil { 22 return nil, err 23 } 24 25 var res []Snapshot 26 err = extract.IntoSlicePtr(raw.Body, &res, "snapshots") 27 return res, err 28 }