github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/workspace/v2/jobs/requests.go (about) 1 package jobs 2 3 import "github.com/chnsz/golangsdk" 4 5 // ListOpts is the structure required by the List method to query job list. 6 type ListOpts struct { 7 // Job status. 8 Status string `q:"status"` 9 // Job ID. 10 JobId string `q:"job_id"` 11 //Job type. 12 JobType string `q:"job_type"` 13 // Number of records to be queried. 14 // Value range: 0–1000. 15 // Default value: 1000, indicating that a maximum of 1000 records can be queried and all records are displayed on 16 // the same page. 17 Limit int `q:"limit"` 18 // The offset number, start with 0. 19 Offset int `q:"offset"` 20 } 21 22 var requestOpts = golangsdk.RequestOpts{ 23 MoreHeaders: map[string]string{"Content-Type": "application/json", "X-Language": "en-us"}, 24 } 25 26 // List is a method to query the job details using given parameters. 27 func List(c *golangsdk.ServiceClient, opts ListOpts) (*QueryResp, error) { 28 url := rootURL(c) 29 query, err := golangsdk.BuildQueryString(opts) 30 if err != nil { 31 return nil, err 32 } 33 url += query.String() 34 35 var r QueryResp 36 _, err = c.Get(url, &r, &golangsdk.RequestOpts{ 37 MoreHeaders: requestOpts.MoreHeaders, 38 }) 39 return &r, err 40 }