From e7133e83f28e1390711465531a3953bb986cdca6 Mon Sep 17 00:00:00 2001 From: Vault Automation Date: Tue, 13 Jan 2026 09:40:37 -0800 Subject: [PATCH] VAULT-40965 async option for scan API (#11011) (#11751) * VAULT-40965 async option for scan API * whoopsie * whoopsie * add test, return accepted (for real), fix docs * Add extra time * make test more resilient Co-authored-by: Violet Hynes --- api/sys_reporting_scan.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/api/sys_reporting_scan.go b/api/sys_reporting_scan.go index 4d6c936f03..a04ac251dc 100644 --- a/api/sys_reporting_scan.go +++ b/api/sys_reporting_scan.go @@ -11,16 +11,20 @@ import ( "github.com/mitchellh/mapstructure" ) -func (c *Sys) ReportingScan() (*ReportingScanOutput, error) { - return c.ReportingScanWithContext(context.Background()) +func (c *Sys) ReportingScan(opts *ReportingScanRequest) (*ReportingScanOutput, error) { + return c.ReportingScanWithContext(context.Background(), opts) } -func (c *Sys) ReportingScanWithContext(ctx context.Context) (*ReportingScanOutput, error) { +func (c *Sys) ReportingScanWithContext(ctx context.Context, opts *ReportingScanRequest) (*ReportingScanOutput, error) { ctx, cancelFunc := c.c.withConfiguredTimeout(ctx) defer cancelFunc() r := c.c.NewRequest(http.MethodPost, "/v1/sys/reporting/scan") + if err := r.SetJSONBody(opts); err != nil { + return nil, err + } + resp, err := c.c.rawRequestWithContext(ctx, r) if err != nil { return nil, err @@ -44,6 +48,11 @@ func (c *Sys) ReportingScanWithContext(ctx context.Context) (*ReportingScanOutpu return &result, err } +// ReportingScanRequest represents the parameters consumed by the reporting scan API +type ReportingScanRequest struct { + Async bool `json:"async"` +} + type ReportingScanOutput struct { Timestamp string `json:"timestamp" structs:"timestamp" mapstructure:"timestamp"` FullDirectoryPath string `json:"full_directory_path" structs:"full_directory_path" mapstructure:"full_directory_path"`