From 3928fce2828ada041e0846e5a488dd0920ff823d Mon Sep 17 00:00:00 2001 From: Kristian Aune Date: Mon, 27 Mar 2023 13:43:56 +0200 Subject: Support bucketSpace doc/v1 argument in vespa cli --- client/go/internal/cli/cmd/visit.go | 15 +++++++++++++++ client/go/internal/cli/cmd/visit_test.go | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/client/go/internal/cli/cmd/visit.go b/client/go/internal/cli/cmd/visit.go index 6a5b936434c..0e68c983ac7 100644 --- a/client/go/internal/cli/cmd/visit.go +++ b/client/go/internal/cli/cmd/visit.go @@ -33,6 +33,7 @@ type visitArgs struct { to string slices int sliceId int + bucketSpace string cli *CLI } @@ -132,6 +133,7 @@ $ vespa visit --field-set "[id]" # list document IDs cmd.Flags().StringVar(&vArgs.to, "to", "", `Timestamp to visit up to, in seconds`) cmd.Flags().IntVar(&vArgs.sliceId, "slice-id", -1, `The number of the slice this visit invocation should fetch`) cmd.Flags().IntVar(&vArgs.slices, "slices", -1, `Split the document corpus into this number of independent slices`) + cmd.Flags().StringVar(&vArgs.bucketSpace, "bucket-space", "default", `"default" or "global" bucket space`) return cmd } @@ -157,6 +159,16 @@ func checkArguments(vArgs visitArgs) (res util.OperationResult) { return util.Failure("Invalid 'to' argument: '" + vArgs.to + "': " + err.Error()) } } + if vArgs.bucketSpace != "" { + switch vArgs.bucketSpace { + case + "default", + "global": + // Do nothing + default: + return util.Failure("Invalid 'bucket-space' argument, must be 'default' or 'global'") + } + } return util.Success("") } @@ -330,6 +342,9 @@ func runOneVisit(vArgs *visitArgs, service *vespa.Service, contToken string) (*V if vArgs.slices > 0 { urlPath = urlPath + fmt.Sprintf("&slices=%d&sliceId=%d", vArgs.slices, vArgs.sliceId) } + if vArgs.bucketSpace != "" { + urlPath = urlPath + "&bucketSpace=" + vArgs.bucketSpace + } url, urlParseError := url.Parse(urlPath) if urlParseError != nil { return nil, util.Failure("Invalid request path: '" + urlPath + "': " + urlParseError.Error()) diff --git a/client/go/internal/cli/cmd/visit_test.go b/client/go/internal/cli/cmd/visit_test.go index 4302680b9d9..b675ff5f69e 100644 --- a/client/go/internal/cli/cmd/visit_test.go +++ b/client/go/internal/cli/cmd/visit_test.go @@ -118,7 +118,7 @@ func TestVisitCommand(t *testing.T) { document3 + `],"documentCount":2}`, }, - "cluster=fooCC&continuation=CAFE&wantedDocumentCount=1000", + "cluster=fooCC&continuation=CAFE&wantedDocumentCount=1000&bucketSpace=default", document1+"\n"+ document2+"\n"+ document3+"\n") -- cgit v1.2.3