From a1d646a45285574a8ea5ae605ddd30e9bfed9b7a Mon Sep 17 00:00:00 2001 From: Phil Renaud Date: Wed, 2 Nov 2022 11:53:01 -0400 Subject: [PATCH] passthru method added to api/jobs.list --- api/jobs.go | 23 ++++++++++++++++++++++- command/job_status.go | 2 +- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/api/jobs.go b/api/jobs.go index 6db6080fb16e..363d3dac06d4 100644 --- a/api/jobs.go +++ b/api/jobs.go @@ -155,10 +155,31 @@ func (j *Jobs) RegisterOpts(job *Job, opts *RegisterOptions, q *WriteOptions) (* return &resp, wm, nil } +type JobListFields struct { + Meta bool +} +type JobListOptions struct { + Fields *JobListFields +} + // List is used to list all of the existing jobs. func (j *Jobs) List(q *QueryOptions) ([]*JobListStub, *QueryMeta, error) { + return j.ListOptions(nil, q) +} + +// List is used to list all of the existing jobs. +func (j *Jobs) ListOptions(opts *JobListOptions, q *QueryOptions) ([]*JobListStub, *QueryMeta, error) { var resp []*JobListStub - qm, err := j.client.query("/v1/jobs", &resp, q) + + destinationURL := "/v1/jobs" + + if opts != nil && opts.Fields != nil { + qp := url.Values{} + qp.Add("Meta", fmt.Sprint(opts.Fields.Meta)) + destinationURL = destinationURL + "?" + qp.Encode() + } + + qm, err := j.client.query(destinationURL, &resp, q) if err != nil { return nil, qm, err } diff --git a/command/job_status.go b/command/job_status.go index f129fc922883..ea464974caab 100644 --- a/command/job_status.go +++ b/command/job_status.go @@ -128,7 +128,7 @@ func (c *JobStatusCommand) Run(args []string) int { // Invoke list mode if no job ID. if len(args) == 0 { - jobs, _, err := client.Jobs().List(nil) + jobs, _, err := client.Jobs().ListOptions(nil, nil) if err != nil { c.Ui.Error(fmt.Sprintf("Error querying jobs: %s", err))