github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/dds/v3/jobs/requests.go (about) 1 package jobs 2 3 import ( 4 "github.com/chnsz/golangsdk" 5 ) 6 7 var requestOpts golangsdk.RequestOpts = golangsdk.RequestOpts{ 8 MoreHeaders: map[string]string{"Content-Type": "application/json", "X-Language": "en-us"}, 9 } 10 11 // QueryOpts allows to filter list data using given parameters. 12 type QueryOpts struct { 13 // Job ID. 14 JobId string `q:"id"` 15 } 16 17 // Get is a method to retrieves a particular job based on its unique ID. 18 func Get(c *golangsdk.ServiceClient, jobId string) (*Job, error) { 19 opts := QueryOpts{ 20 JobId: jobId, 21 } 22 url := rootURL(c) 23 query, err := golangsdk.BuildQueryString(opts) 24 if err != nil { 25 return nil, err 26 } 27 url += query.String() 28 29 var r struct { 30 Job Job `json:"job"` 31 } 32 _, err = c.Get(url, &r, &golangsdk.RequestOpts{ 33 MoreHeaders: requestOpts.MoreHeaders, 34 }) 35 return &r.Job, err 36 }