diff --git a/backends/gcppubsub/relay.go b/backends/gcppubsub/relay.go index de53daed..25d3276e 100644 --- a/backends/gcppubsub/relay.go +++ b/backends/gcppubsub/relay.go @@ -2,21 +2,16 @@ package gcppubsub import ( "context" - "fmt" "sync" "time" "cloud.google.com/go/pubsub" - "github.com/pkg/errors" - "github.com/sirupsen/logrus" - sdk "github.com/streamdal/streamdal/sdks/go" - "github.com/batchcorp/plumber-schemas/build/go/protos/opts" "github.com/batchcorp/plumber-schemas/build/go/protos/records" + "github.com/pkg/errors" + "github.com/sirupsen/logrus" "github.com/streamdal/plumber/backends/gcppubsub/types" - "github.com/streamdal/plumber/util" - "github.com/streamdal/plumber/prometheus" "github.com/streamdal/plumber/validate" ) @@ -33,14 +28,6 @@ func (g *GCPPubSub) Relay(ctx context.Context, relayOpts *opts.RelayOptions, rel "backend": "gcp-pubsub", }) - // streamdal sdk BEGIN - sc, err := util.SetupStreamdalSDK(relayOpts, llog) - if err != nil { - return errors.Wrap(err, "kafka.Relay(): unable to create new streamdal client") - } - // defer sc.Close() - // streamdal sdk END - var m sync.Mutex var readFunc = func(ctx context.Context, msg *pubsub.Message) { @@ -53,42 +40,6 @@ func (g *GCPPubSub) Relay(ctx context.Context, relayOpts *opts.RelayOptions, rel prometheus.Incr("gcp-pubsub-relay-consumer", 1) - // streamdal sdk BEGIN - // If streamdal integration is enabled, process message via sdk - if sc != nil { - g.log.Debug("Processing message via streamdal SDK") - - operationName := "relay" - - if relayOpts != nil && relayOpts.GcpPubsub != nil && relayOpts.GcpPubsub.GetArgs() != nil { - if relayOpts.GcpPubsub.GetArgs().SubscriptionId == "" { - operationName = "relay-unknown-subid" - } else { - operationName = "relay-" + relayOpts.GcpPubsub.GetArgs().SubscriptionId - } - } - - resp := sc.Process(ctx, &sdk.ProcessRequest{ - ComponentName: "gcp-pubsub", - OperationType: sdk.OperationTypeConsumer, - OperationName: operationName, - Data: msg.Data, - }) - - if resp.Status == sdk.ExecStatusError { - wrappedErr := fmt.Errorf("unable to process message via streamdal: %v", resp.StatusMessage) - - prometheus.IncrPromCounter("plumber_sdk_errors", 1) - util.WriteError(llog, errorCh, wrappedErr) - - return - } - - // Update msg value with processed data - msg.Data = resp.Data - } - // streamdal sdk END - g.log.Debug("Writing message to relay channel") relayCh <- &types.RelayMessage{ diff --git a/backends/kafka/relay.go b/backends/kafka/relay.go index 179d46c0..3b07f8cd 100644 --- a/backends/kafka/relay.go +++ b/backends/kafka/relay.go @@ -15,8 +15,6 @@ import ( "github.com/streamdal/plumber/prometheus" "github.com/streamdal/plumber/util" "github.com/streamdal/plumber/validate" - - sdk "github.com/streamdal/streamdal/sdks/go" ) const ( @@ -36,14 +34,6 @@ func (k *Kafka) Relay(ctx context.Context, relayOpts *opts.RelayOptions, relayCh defer reader.Close() - // streamdal sdk BEGIN - sc, err := util.SetupStreamdalSDK(relayOpts, k.log) - if err != nil { - return errors.Wrap(err, "kafka.Relay(): unable to create new streamdal client") - } - // defer sc.Close() - // streamdal sdk END - llog := k.log.WithFields(logrus.Fields{ "relay-id": relayOpts.XRelayId, "backend": "kafka", @@ -74,32 +64,6 @@ func (k *Kafka) Relay(ctx context.Context, relayOpts *opts.RelayOptions, relayCh prometheus.Incr("kafka-relay-consumer", 1) - // streamdal sdk BEGIN - // If streamdal integration is enabled, process message via sdk - if sc != nil { - k.log.Debug("Processing message via streamdal SDK") - - resp := sc.Process(ctx, &sdk.ProcessRequest{ - ComponentName: "kafka", - OperationType: sdk.OperationTypeConsumer, - OperationName: "relay", - Data: msg.Value, - }) - - if resp.Status == sdk.ExecStatusError { - wrappedErr := fmt.Errorf("unable to process message via streamdal: %v", resp.StatusMessage) - - prometheus.IncrPromCounter("plumber_sdk_errors", 1) - util.WriteError(llog, errorCh, wrappedErr) - - continue - } - - // Update msg value with processed data - msg.Value = resp.Data - } - // streamdal sdk END - k.log.Debugf("Writing Kafka message to relay channel: %s", msg.Value) relayCh <- &types.RelayMessage{ diff --git a/backends/streamdal/auth.go b/backends/streamdal/auth.go deleted file mode 100644 index 8a074758..00000000 --- a/backends/streamdal/auth.go +++ /dev/null @@ -1,154 +0,0 @@ -package streamdal - -import ( - "bufio" - "encoding/json" - "fmt" - "io" - "net/http" - "os" - "strings" - "syscall" - - "github.com/streamdal/plumber/config" - - "github.com/pkg/errors" - "golang.org/x/crypto/ssh/terminal" -) - -// AuthResponse is used to unmarshal the JSON results of a login API call -type AuthResponse struct { - AccountID string `json:"id"` - Name string `json:"name"` - Email string `json:"email"` - OnboardingState string `json:"onboarding_state"` - OnboardingStateStatus string `json:"onboarding_state_status"` - Team struct { - ID string `json:"id"` - Name string `json:"name"` - } -} - -var ( - errCouldNotLogin = errors.New("could not authenticate") - errMissingUsername = errors.New("you must enter a username") - errMissingPassword = errors.New("you must enter a password") -) - -// Login attempts to login to the Streamdal API using credentials supplied via stdin -func (b *Streamdal) Login() error { - - // No credentials, or expired, ask for username/password - username, err := readUsername(os.Stdin) - if err != nil { - return err - } - - password, err := readPassword(readPasswordFromTerminal) - if err != nil { - return err - } - - authResponse, err := b.Authenticate(username, password) - if err != nil { - return errCouldNotLogin - } - - cfg := &config.Config{ - TeamID: authResponse.Team.ID, - UserID: authResponse.AccountID, - Token: b.PersistentConfig.Token, - } - - // Successfully authenticated, write token to cache - if err := b.PersistentConfig.Update(cfg); err != nil { - return errors.Wrap(err, "unable to cache login credentials") - } - - b.Log.Info("Authentication successful!") - - return nil -} - -// Logout logs a user out of the Streamdal API and clears saved credentials -func (b *Streamdal) Logout() error { - // Perform APi logout - b.Post("/auth/logout", nil) - - // Clear existing credentials - b.PersistentConfig.Token = "" - b.PersistentConfig.TeamID = "" - b.PersistentConfig.UserID = "" - - if err := b.PersistentConfig.Save(); err != nil { - return errors.Wrap(err, "unable to save persistent config") - } - - return nil -} - -// Authenticate makes an API call to the Streamdal API with the given account's credentials -func (b *Streamdal) Authenticate(username, password string) (*AuthResponse, error) { - res, code, err := b.Post("/v1/login", map[string]interface{}{ - "email": username, - "password": password, - }) - - if err != nil { - return nil, err - } - - if code != http.StatusPermanentRedirect && code != http.StatusOK { - return nil, errCouldNotLogin - } - - authResponse := &AuthResponse{} - if err := json.Unmarshal(res, authResponse); err != nil { - return nil, err - } - - return authResponse, nil -} - -// readUsername reads a password from stdin -func readUsername(stdin io.Reader) (string, error) { - for { - fmt.Print("\n\nEnter Username: ") - - // int typecast is needed for windows - reader := bufio.NewReader(stdin) - username, err := reader.ReadString('\n') - if err != nil { - return "", errMissingUsername - } - - s := strings.TrimSpace(username) - if s != "" { - return s, nil - } - } -} - -func readPasswordFromTerminal(fd int) ([]byte, error) { - return terminal.ReadPassword(fd) -} - -// readPassword securely reads a password from stdin -func readPassword(readPassword func(fd int) ([]byte, error)) (string, error) { - for { - fmt.Print("Enter Password: ") - - // int typecast is needed for windows - password, err := readPassword(int(syscall.Stdin)) - if err != nil { - return "", errMissingPassword - } - - fmt.Println("") - - sp := strings.TrimSpace(string(password)) - if sp != "" { - return sp, nil - } - } -} diff --git a/backends/streamdal/auth_test.go b/backends/streamdal/auth_test.go deleted file mode 100644 index e253f8c8..00000000 --- a/backends/streamdal/auth_test.go +++ /dev/null @@ -1,63 +0,0 @@ -package streamdal - -import ( - "bytes" - "testing" - - . "github.com/onsi/gomega" -) - -func TestAuthenticate(t *testing.T) { - g := NewGomegaWithT(t) - - apiResponse := `{ - "id": "8d8af58b-7d3d-474f-82ff-8b228245d159", - "name": "Test User", - "email": "test@streamdal.com", - "onboarding_state": "", - "onboarding_state_status": "", - "team": { - "id": "dce9c35e-1762-4233-97b8-e3f1830faf57", - "name": "Testing-1" - } - }` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.Authenticate("test@streamdal.com", "password123") - g.Expect(err).ToNot(HaveOccurred()) - g.Expect(output).To(BeAssignableToTypeOf(&AuthResponse{})) - g.Expect(output.AccountID).To(Equal("8d8af58b-7d3d-474f-82ff-8b228245d159")) - g.Expect(output.Name).To(Equal("Test User")) - g.Expect(output.Email).To(Equal("test@streamdal.com")) - g.Expect(output.Team.ID).To(Equal("dce9c35e-1762-4233-97b8-e3f1830faf57")) - g.Expect(output.Team.Name).To(Equal("Testing-1")) -} - -func TestReadUsername(t *testing.T) { - g := NewGomegaWithT(t) - - var stdin bytes.Buffer - stdin.Write([]byte("test@streamdal.com\n")) - - username, err := readUsername(&stdin) - - g.Expect(err).ToNot(HaveOccurred()) - g.Expect(username).To(Equal("test@streamdal.com")) -} - -func TestReadPassword(t *testing.T) { - g := NewGomegaWithT(t) - - var stdin bytes.Buffer - stdin.Write([]byte("test@streamdal.com\n")) - - var testfunc = func(fd int) ([]byte, error) { - return []byte("solarwinds123"), nil - } - - username, err := readPassword(testfunc) - - g.Expect(err).ToNot(HaveOccurred()) - g.Expect(username).To(Equal("solarwinds123")) -} diff --git a/backends/streamdal/collections.go b/backends/streamdal/collections.go deleted file mode 100644 index e2c7d648..00000000 --- a/backends/streamdal/collections.go +++ /dev/null @@ -1,225 +0,0 @@ -package streamdal - -import ( - "bufio" - "encoding/json" - "fmt" - "os" - - "github.com/pkg/errors" -) - -// CollectionSchema is used to unmarshal the JSON results of a list collections API call -type CollectionSchema struct { - ID string `json:"id,omitempty"` - Name string `json:"name" header:"Schema"` - Type string `json:"type"` -} - -// Collection is used to unmarshal the JSON results of a list collections API call -type Collection struct { - ID string `json:"id" header:"ID"` - Name string `json:"name" header:"Name"` - Token string `json:"token"` - Paused bool `json:"paused" header:"Is Paused?"` - Archived bool `json:"archived" header:"Archived"` - *CollectionSchema `json:"schema"` -} - -// CollectionOutput is used for displaying collections as a table -type CollectionOutput struct { - Name string `header:"Name" json:"name"` - ID string `header:"ID" json:"id"` - Token string `header:"Token" json:"token"` - Paused bool `header:"Is Paused" json:"paused"` - Archived bool `header:"Archived" json:"archived"` - SchemaName string `header:"Schema Name" json:"schema_name"` - SchemaType string `header:"Schema Type" json:"schema_type"` -} - -// SearchResult is used to unmarshal the JSON results of a search API call -type SearchResult struct { - Total int `json:"total"` - Data []json.RawMessage `json:"data"` -} - -type DataLake struct { - ID string `json:"id"` -} - -const ( - EnterKey = byte(10) - PageSize = 25 -) - -var ( - errNoCollections = errors.New("you have no collections") - errCollectionsFailed = errors.New("unable to get list of collections") - errCreateCollectionFailed = errors.New("failed to create collection") - errNoDataLake = errors.New("you have no datalake; please contact Streamdal support") -) - -// ListCollections lists all of an account's collections -func (b *Streamdal) ListCollections() error { - output, err := b.listCollections() - if err != nil { - return err - } - - b.Printer(output) - return nil -} - -func (b *Streamdal) listCollections() ([]CollectionOutput, error) { - res, _, err := b.Get("/v1/collection", nil) - if err != nil { - return nil, err - } - - collections := make([]Collection, 0) - - err = json.Unmarshal(res, &collections) - if err != nil { - return nil, errCollectionsFailed - } - - if len(collections) == 0 { - return nil, errNoCollections - } - - output := make([]CollectionOutput, 0) - for _, c := range collections { - if c.Archived { - continue - } - output = append(output, CollectionOutput{ - ID: c.ID, - Name: c.Name, - Token: c.Token, - Paused: c.Paused, - SchemaName: c.CollectionSchema.Name, - SchemaType: c.CollectionSchema.Type, - }) - } - - return output, nil -} - -// SearchCollection queries a collection -func (b *Streamdal) SearchCollection() error { - return b.search(PageSize*int(b.Opts.Streamdal.Search.Page), PageSize, int(b.Opts.Streamdal.Search.Page)) -} - -// search recursively displays pages of (PageSize) results until no more are available -func (b *Streamdal) search(from, size, page int) error { - p := map[string]interface{}{ - "query": b.Opts.Streamdal.Search.Query, - "from": from, - "size": size, - } - - res, _, err := b.Post("/v1/collection/"+b.Opts.Streamdal.Search.CollectionId+"/search", p) - if err != nil { - return errors.Wrap(err, "unable to complete search request") - } - - results := &SearchResult{} - if err := json.Unmarshal(res, results); err != nil { - return errors.Wrap(err, "failed to search collection") - } - - // Our JSON output should be human-readable - m, err := json.MarshalIndent(results.Data, "", " ") - if err != nil { - return errors.Wrap(err, "could not display search results") - } - - // Display JSON results - fmt.Println(string(m)) - - // Total is the total number of results for the entire query, not the page - if results.Total > (from + PageSize) { - page++ - - nextPageSize := PageSize - remaining := results.Total - (page * PageSize) - if remaining < PageSize { - nextPageSize = remaining - } - - fmt.Printf("--- Press [Enter] for more %d results, %d results total remaining ---\n", nextPageSize, remaining) - - input, _ := bufio.NewReader(os.Stdin).ReadByte() - if input == EnterKey { - return b.search(from+PageSize, PageSize, page) - } - } - - return nil -} - -func (b *Streamdal) getDataLakeID() (string, error) { - res, _, err := b.Get("/v1/datalake", nil) - if err != nil { - return "", err - } - - lakes := make([]*DataLake, 0) - if err := json.Unmarshal(res, &lakes); err != nil { - return "", errors.New("unable to unmarshal response from API") - } - - if len(lakes) == 0 { - return "", errNoDataLake - } - - return lakes[0].ID, nil -} - -func (b *Streamdal) CreateCollection() error { - // Get datalake ID - datalakeID, err := b.getDataLakeID() - if err != nil { - return err - } - - // Create collection - p := map[string]interface{}{ - "schema_id": b.Opts.Streamdal.Create.Collection.SchemaId, - "name": b.Opts.Streamdal.Create.Collection.Name, - "notes": b.Opts.Streamdal.Create.Collection.Notes, - "datalake_id": datalakeID, - "envelope_type": b.Opts.Streamdal.Create.Collection.EnvelopeType, - "envelope_root_message": b.Opts.Streamdal.Create.Collection.EnvelopeRootMessage, - "payload_field_id": b.Opts.Streamdal.Create.Collection.PayloadFieldId, - "payload_root_message": b.Opts.Streamdal.Create.Collection.PayloadFieldMessage, - } - - res, code, err := b.Post("/v1/collection", p) - if err != nil { - return errCreateCollectionFailed - } - - if code < 200 || code > 299 { - errResponse := &BlunderErrorResponse{} - if err := json.Unmarshal(res, errResponse); err != nil { - return errCreateCollectionFailed - } - - for _, e := range errResponse.Errors { - b.Log.Errorf("%s: %s", errCreateCollectionFailed, e.Message) - } - - return fmt.Errorf("received a non-200 response code from API (%d)", code) - } - - createdCollection := &Collection{} - - if err := json.Unmarshal(res, createdCollection); err != nil { - return errCreateCollectionFailed - } - - b.Log.Infof("Created collection %s!\n", createdCollection.ID) - - return nil -} diff --git a/backends/streamdal/collections_test.go b/backends/streamdal/collections_test.go deleted file mode 100644 index 69463db0..00000000 --- a/backends/streamdal/collections_test.go +++ /dev/null @@ -1,138 +0,0 @@ -package streamdal - -import ( - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" -) - -var _ = Describe("Streamdal", func() { - Context("ListCollections", func() { - It("returns an error when empty", func() { - b := StreamdalWithMockResponse(200, `[]`) - - output, err := b.listCollections() - Expect(err).To(Equal(errNoCollections)) - Expect(len(output)).To(Equal(0)) - }) - - It("returns error on a bad response", func() { - b := StreamdalWithMockResponse(200, `{}`) - - output, err := b.listCollections() - Expect(err).To(Equal(errCollectionsFailed)) - Expect(len(output)).To(Equal(0)) - }) - - It("lists collections", func() { - apiResponse := `[ - { - "id": "64db7559-74f8-4c35-b70d-a7fa20566994", - "name": "Test Collection", - "notes": "", - "token": "2b8c459a-3481-463a-a876-155d671796f7", - "paused": false, - "inserted_at": "2021-01-11T18:46:47.416139Z", - "updated_at": "2021-02-11T16:54:53.05585Z", - "disable_archiving": false, - "team": { - "id": "90dd117d-ee04-4e05-8bee-17b691843737", - "name": "test-1", - "inserted_at": "2020-12-30T22:20:31.29824Z", - "updated_at": "2020-12-30T22:20:31.29824Z" - }, - "schema": { - "id": "4f62e26d-682d-4c28-bcd4-a5f932eed73e", - "name": "Generic JSON", - "root_type": "", - "type": "json", - "shared": "true", - "archived": false, - "inserted_at": "2020-07-23T18:04:06.490768Z", - "updated_at": "2020-07-23T21:02:32.552232Z" - }, - "datalake": { - "id": "e802032e-12aa-4b4d-ac4e-2cc9feb513ad", - "type": "aws", - "name": "Test Lake", - "status": "active", - "status_full": "", - "inserted_at": "2020-12-30T22:32:32.9821Z", - "updated_at": "2020-12-30T22:32:32.986047Z" - }, - "author": { - "id": "c1c6c497-8594-4ae8-84ca-616172a007b3", - "name": "Test User", - "email": "testuser@streamdal.com" - }, - "plan": { - "id": "c4ec4d4e-63e3-4f71-94fa-80028fc9f3b9", - "stripe_plan_id": "prod_IlTxuV7gXfJic8", - "plan_attributes": { - "num_seats": 1, - "replay_gb": 1, - "storage_gb": 1, - "num_collections": 1, - "trial_available": true, - "trial_length_days": 14 - }, - "plan_usage": { - "seats": 1, - "collections": 0 - }, - "status": "active", - "status_reason": "account created", - "inserted_at": "2021-01-22T17:44:27.888542Z", - "updated_at": "2021-01-22T17:44:27.888542Z" - } - } - ]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.listCollections() - Expect(err).ToNot(HaveOccurred()) - Expect(len(output)).To(Equal(1)) - Expect(output[0].ID).To(Equal("64db7559-74f8-4c35-b70d-a7fa20566994")) - Expect(output[0].Name).To(Equal("Test Collection")) - Expect(output[0].Token).To(Equal("2b8c459a-3481-463a-a876-155d671796f7")) - Expect(output[0].Paused).To(BeFalse()) - Expect(output[0].SchemaName).To(Equal("Generic JSON")) - Expect(output[0].SchemaType).To(Equal("json")) - }) - }) - - Context("getDataLakeID", func() { - It("returns an error when no datalakes exist", func() { - apiResponse := `[]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.getDataLakeID() - Expect(err).To(HaveOccurred()) - Expect(output).To(Equal("")) - Expect(err).To(Equal(errNoDataLake)) - }) - - It("returns a datalake ID", func() { - apiResponse := `[ - { - "id": "e802032e-12aa-4b4d-ac4e-2cc9feb513ad", - "type": "aws", - "name": "e2etest1", - "team_id": "90dd117d-ee04-4e05-8bee-17b691843737", - "status": "active", - "status_full": "", - "archived": false, - "inserted_at": "2020-12-30T22:32:32.9821Z", - "updated_at": "2020-12-30T22:32:32.986047Z" - } - ]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.getDataLakeID() - Expect(err).ToNot(HaveOccurred()) - Expect(output).To(Equal("e802032e-12aa-4b4d-ac4e-2cc9feb513ad")) - }) - }) -}) diff --git a/backends/streamdal/destinations.go b/backends/streamdal/destinations.go deleted file mode 100644 index 1e2bff97..00000000 --- a/backends/streamdal/destinations.go +++ /dev/null @@ -1,180 +0,0 @@ -package streamdal - -import ( - "encoding/json" - "fmt" - - "github.com/pkg/errors" -) - -// DestinationOutput is used for displaying destinations as a table -type DestinationOutput struct { - Name string `json:"name" header:"Name"` - ID string `json:"id" header:"Destination ID"` - Type string `json:"type" header:"Type"` - Archived bool `json:"archived" header:"Is Archived"` -} - -var ( - errDestinationsFailed = errors.New("unable to get list of destinations") - errNoDestinations = errors.New("you have no destinations") - errCreateDestinationFailed = errors.New("failed to create destination") -) - -// ListDestinations lists all of an account's replay destinations -func (b *Streamdal) ListDestinations() error { - output, err := b.listDestinations() - if err != nil { - return err - } - - b.Printer(output) - - return nil -} - -func (b *Streamdal) listDestinations() ([]DestinationOutput, error) { - res, _, err := b.Get("/v1/destination", nil) - if err != nil { - return nil, errDestinationsFailed - } - - output := make([]DestinationOutput, 0) - - err = json.Unmarshal(res, &output) - if err != nil { - return nil, errDestinationsFailed - } - - if len(output) == 0 { - return nil, errNoDestinations - } - - return output, nil -} - -func (b *Streamdal) createDestination(dstType string) (*DestinationOutput, error) { - p := map[string]interface{}{ - "type": b.Opts.Streamdal.Create.Destination.XApiDestinationType, - "name": b.Opts.Streamdal.Create.Destination.Name, - "notes": b.Opts.Streamdal.Create.Destination.Notes, - "metadata": b.getDestinationMetadata(dstType), - } - - res, code, err := b.Post("/v1/destination", p) - if err != nil { - return nil, errCreateDestinationFailed - } - - if code > 299 { - errResponse := &BlunderErrorResponse{} - if err := json.Unmarshal(res, errResponse); err != nil { - return nil, errCreateDestinationFailed - } - - for _, e := range errResponse.Errors { - err := fmt.Errorf("%s: '%s' %s", errCreateDestinationFailed, e.Field, e.Message) - b.Log.Error(err) - } - - return nil, fmt.Errorf("received a non-200 response (%d) from API", code) - } - - createdDestination := &DestinationOutput{} - if err := json.Unmarshal(res, createdDestination); err != nil { - return nil, errCreateCollectionFailed - } - - return createdDestination, nil -} - -func (b *Streamdal) CreateDestination(dstType string) error { - apiDestinationType, err := convertDestinationType(dstType) - if err != nil { - return errors.Wrap(err, "unable to convert destination type") - } - - b.Opts.Streamdal.Create.Destination.XApiDestinationType = apiDestinationType - - destination, err := b.createDestination(dstType) - if err != nil { - return err - } - - b.Log.Infof("Created %s destination %s!\n", b.Opts.Streamdal.Create.Destination.XApiDestinationType, destination.ID) - - return nil -} - -func convertDestinationType(dstType string) (string, error) { - switch dstType { - case "kafka": - return "kafka", nil - case "http": - return "http", nil - case "aws-sqs": - return "sqs", nil - case "rabbit": - return "rmq", nil - default: - return "", fmt.Errorf("unrecognized destination type '%s'", dstType) - } -} - -func (b *Streamdal) getDestinationMetadata(destType string) map[string]interface{} { - switch destType { - case "kafka": - return b.getDestinationMetadataKafka() - case "http": - return b.getDestinationMetadataHTTP() - case "aws-sqs": - return b.getDestinationMetadataSQS() - case "rabbit": - return b.getDestinationMetadataRabbitMQ() - } - - return nil -} - -func (b *Streamdal) getDestinationMetadataKafka() map[string]interface{} { - return map[string]interface{}{ - "topic": b.Opts.Streamdal.Create.Destination.Kafka.Args.Topics[0], - "address": b.Opts.Streamdal.Create.Destination.Kafka.XConn.Address, - "use_tls": b.Opts.Streamdal.Create.Destination.Kafka.XConn.UseTls, - "insecure_tls": b.Opts.Streamdal.Create.Destination.Kafka.XConn.TlsSkipVerify, - "sasl_type": b.Opts.Streamdal.Create.Destination.Kafka.XConn.SaslType, - "username": b.Opts.Streamdal.Create.Destination.Kafka.XConn.SaslUsername, - "password": b.Opts.Streamdal.Create.Destination.Kafka.XConn.SaslPassword, - } -} - -func (b *Streamdal) getDestinationMetadataHTTP() map[string]interface{} { - headers := make([]map[string]string, 0) - for k, v := range b.Opts.Streamdal.Create.Destination.Http.Headers { - headers = append(headers, map[string]string{k: v}) - } - - return map[string]interface{}{ - "url": b.Opts.Streamdal.Create.Destination.Http.Url, - "headers": headers, - } -} - -func (b *Streamdal) getDestinationMetadataSQS() map[string]interface{} { - return map[string]interface{}{ - "aws_account_id": b.Opts.Streamdal.Create.Destination.AwsSqs.Args.RemoteAccountId, - "queue_name": b.Opts.Streamdal.Create.Destination.AwsSqs.Args.QueueName, - } -} - -func (b *Streamdal) getDestinationMetadataRabbitMQ() map[string]interface{} { - return map[string]interface{}{ - "dsn": b.Opts.Streamdal.Create.Destination.Rabbit.XConn.Address, - "exchange": b.Opts.Streamdal.Create.Destination.Rabbit.Args.ExchangeName, - "routing_key": b.Opts.Streamdal.Create.Destination.Rabbit.Args.RoutingKey, - "exchange_type": b.Opts.Streamdal.Create.Destination.Rabbit.Args.ExchangeType, - "exchange_declare": b.Opts.Streamdal.Create.Destination.Rabbit.Args.ExchangeDeclare, - "exchange_durable": b.Opts.Streamdal.Create.Destination.Rabbit.Args.ExchangeDurable, - "exchange_auto_delete": b.Opts.Streamdal.Create.Destination.Rabbit.Args.ExchangeAutoDelete, - } -} diff --git a/backends/streamdal/destinations_test.go b/backends/streamdal/destinations_test.go deleted file mode 100644 index 5807c5e9..00000000 --- a/backends/streamdal/destinations_test.go +++ /dev/null @@ -1,134 +0,0 @@ -package streamdal - -import ( - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" - - "github.com/batchcorp/plumber-schemas/build/go/protos/opts" -) - -var _ = Describe("Streamdal", func() { - Context("ListDestinations", func() { - It("returns an error when empty", func() { - b := StreamdalWithMockResponse(200, `[]`) - - output, err := b.listDestinations() - Expect(err).To(Equal(errNoDestinations)) - Expect(len(output)).To(Equal(0)) - }) - - It("returns error on a bad response", func() { - b := StreamdalWithMockResponse(200, `{}`) - - output, err := b.listDestinations() - Expect(err).To(Equal(errDestinationsFailed)) - Expect(len(output)).To(Equal(0)) - }) - - It("lists destinations", func() { - apiResponse := `[{ - "id": "5803fb0e-f26a-498f-a6e3-c89c6230e147", - "name": "Test Destination", - "notes": "", - "type": "kafka", - "team_id": "90dd117d-ee04-4e05-8bee-17b691843737", - "archived": true, - "metadata": { - "topic": "test", - "address": "127.0.0.1", - "use_tls": true, - "password": "test", - "username": "test", - "sasl_type": "plain", - "insecure_tls": true - }, - "author": { - "id": "c1c6c497-8594-4ae8-84ca-616172a007b3", - "name": "Mark Gregan", - "email": "mark@streamdal.com" - }, - "inserted_at": "2021-02-13T01:35:42.807576Z", - "updated_at": "2021-02-13T01:35:42.807576Z" - } - ]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.listDestinations() - Expect(err).ToNot(HaveOccurred()) - Expect(len(output)).To(Equal(1)) - Expect(output[0].ID).To(Equal("5803fb0e-f26a-498f-a6e3-c89c6230e147")) - Expect(output[0].Name).To(Equal("Test Destination")) - Expect(output[0].Type).To(Equal("kafka")) - Expect(output[0].Archived).To(BeTrue()) - }) - }) - - Context("CreateDestination", func() { - It("Creates a destination", func() { - apiResponse := `{ - "id": "3e2c0a91-af49-4eee-a8db-9ae523682cfc", - "name": "test http", - "notes": "", - "type": "http", - "team_id": "fa2b3482-2a00-43ea-a0ed-341974a5f6ef", - "archived": false, - "metadata": { - "url": "http://localhost", - "headers": [ - { - "content-type": "application/json" - } - ] - }, - "author": { - "id": "1503e318-9c87-4e86-ab6c-fda235cb4bde", - "name": "mark test", - "email": "mark-new@streamdal.com" - }, - "inserted_at": "2021-04-01T15:15:00.835626Z", - "updated_at": "2021-04-01T15:15:00.835626Z" - }` - - b := StreamdalWithMockResponse(200, apiResponse) - //b.Opts.Streamdal.DestinationMetadata = &options.DestinationMetadata{} - - destination, err := b.createDestination("http") - Expect(err).ToNot(HaveOccurred()) - Expect(destination.ID).To(Equal("3e2c0a91-af49-4eee-a8db-9ae523682cfc")) - }) - }) - - Context("getDestinationMetadataHTTP", func() { - It("returns correct map", func() { - b := &Streamdal{ - Opts: &opts.CLIOptions{ - Streamdal: &opts.StreamdalOptions{ - Create: &opts.StreamdalCreateOptions{ - Destination: &opts.StreamdalCreateDestinationOptions{ - Name: "testing", - Notes: "some notes", - XApiDestinationType: "http", - Http: &opts.HTTPDestination{ - Url: "http://localhost", - Headers: map[string]string{ - "content-type": "application/json", - }, - }, - }, - }, - }, - }, - } - - md := b.getDestinationMetadataHTTP() - - // Return is map[string]interface{}. We need to type assert the "headers" key to test - headers, ok := md["headers"].([]map[string]string) - Expect(ok).To(BeTrue()) - - Expect(md["url"]).To(Equal("http://localhost")) - Expect(headers[0]).To(Equal(map[string]string{"content-type": "application/json"})) - }) - }) -}) diff --git a/backends/streamdal/replays.go b/backends/streamdal/replays.go deleted file mode 100644 index 6d5b1b35..00000000 --- a/backends/streamdal/replays.go +++ /dev/null @@ -1,234 +0,0 @@ -package streamdal - -import ( - "encoding/json" - "fmt" - "strings" - "time" - - "github.com/pkg/errors" -) - -// ReplayCollection is used to unmarshal the JSON results of a list replays API call -type ReplayCollection struct { - Name string `json:"name"` -} - -// ReplayDestination is used to unmarshal the JSON results of a list replays API call -type ReplayDestination struct { - Name string `json:"name"` -} - -// ReplayStage is used to unmarshal the JSON results of a list replays API call -type ReplayStage struct { - Name string `json:"name"` -} - -// Replay is used to unmarshal the JSON results of a list replays API call -type Replay struct { - ID string `header:"Replay ID" json:"id"` - Name string `header:"Name" json:"name"` - Type string `header:"Type" json:"type"` - Query string `header:"Query" json:"query"` - Paused bool `header:"Is Paused" json:"paused"` - Archived bool `header:"Archived" json:"archived"` - Status string `header:"Status" json:"status"` - *ReplayDestination `json:"destination"` - *ReplayCollection `json:"collection"` - *ReplayStage `json:"stage"` -} - -// ReplayOutput is used for displaying replays as a table -type ReplayOutput struct { - Name string `header:"Name" json:"name"` - ID string `header:"Replay ID" json:"id"` - Type string `header:"Type" json:"type"` - Query string `header:"Query" json:"query"` - Source string `header:"Source"` - Destination string `header:"Destination Name"` - Paused bool `header:"Is Paused" json:"paused"` - Status string `header:"Status" json:"status"` -} - -var ( - errReplayListFailed = errors.New("unable to get list of replays") - errNoReplays = errors.New("you have no replays") - errCreateReplayFailed = errors.New("failed to create new replay") - errReplayArchiveFailed = errors.New("failed to delete replay") -) - -// ListReplays lists all of an account's replays -func (b *Streamdal) ListReplays() error { - output, err := b.listReplays() - if err != nil { - return err - } - - b.Printer(output) - - return nil -} - -func (b *Streamdal) listReplays() ([]ReplayOutput, error) { - res, _, err := b.Get("/v1/replay", nil) - if err != nil { - return nil, errors.Wrap(err, errReplayListFailed.Error()) - } - - replays := make([]*Replay, 0) - - err = json.Unmarshal(res, &replays) - if err != nil { - return nil, errReplayListFailed - } - - if len(replays) == 0 { - return nil, errNoReplays - } - - output := make([]ReplayOutput, 0) - for _, r := range replays { - if r.Archived { - continue - } - - row := ReplayOutput{ - ID: r.ID, - Name: r.Name, - Type: strings.Title(r.Type), - Query: r.Query, - Destination: r.ReplayDestination.Name, - Paused: r.Paused, - Status: strings.Title(r.Status), - } - - if r.ReplayCollection != nil { - row.Source = fmt.Sprintf("Collection - %s", r.ReplayCollection.Name) - } else if r.ReplayStage != nil { - row.Source = fmt.Sprintf("Dead Letter Stage - %s", r.ReplayStage.Name) - } - - output = append(output, row) - - } - - fmt.Printf("%#v\n", output) - - return output, nil -} - -// ArchiveReplay archives a replay -func (b *Streamdal) ArchiveReplay() error { - if err := b.archiveReplay(); err != nil { - return err - } - - b.Printer("Successfully archived replay") - - return nil -} - -func (b *Streamdal) archiveReplay() error { - res, code, err := b.Delete("/v1/replay/" + b.Opts.Streamdal.Archive.Replay.ReplayId) - if err != nil { - return errors.Wrap(err, errReplayArchiveFailed.Error()) - } - - if code > 299 || code < 200 { - errResponse := &BlunderErrorResponse{} - if err := json.Unmarshal(res, errResponse); err != nil { - return errReplayArchiveFailed - } - - for _, e := range errResponse.Errors { - err := fmt.Errorf("%s: %s", errReplayArchiveFailed, e.Message) - b.Log.Error(err) - } - - return errReplayArchiveFailed - } - - return nil -} - -func (b *Streamdal) pauseReplay() error { - // TODO - - return nil -} - -func (b *Streamdal) resumeReplay() error { - // TODO - - return nil -} - -func (b *Streamdal) createReplay(query string) (*Replay, error) { - p := map[string]interface{}{ - "name": b.Opts.Streamdal.Create.Replay.Name, - "type": b.Opts.Streamdal.Create.Replay.Type, - "query": query, - "collection_id": b.Opts.Streamdal.Create.Replay.CollectionId, - "destination_id": b.Opts.Streamdal.Create.Replay.DestinationId, - } - - res, code, err := b.Post("/v1/replay", p) - if code > 299 { - errResponse := &BlunderErrorResponse{} - if err := json.Unmarshal(res, errResponse); err != nil { - return nil, errCreateReplayFailed - } - - for _, e := range errResponse.Errors { - err := fmt.Errorf("%s: '%s' %s", errCreateReplayFailed, e.Field, e.Message) - b.Log.Error(err) - } - - return nil, err - } - - replay := &Replay{} - - if err := json.Unmarshal(res, replay); err != nil { - return nil, errors.New("failed to unmarshal response") - } - - return replay, nil -} - -func (b *Streamdal) CreateReplay() error { - - query, err := b.generateReplayQuery() - if err != nil { - return err - } - - replay, err := b.createReplay(query) - if err != nil { - return err - } - - // TODO: Watch replay events and errors using generated ID - - b.Log.Infof("Replay started with id '%s'", replay.ID) - - return nil -} - -func (b *Streamdal) generateReplayQuery() (string, error) { - from, err := time.Parse("2006-01-02T15:04:05Z", b.Opts.Streamdal.Create.Replay.FromTimestamp) - if err != nil { - return "", fmt.Errorf("--from-timestamp '%s' is not a valid RFC3339 date", b.Opts.Streamdal.Create.Replay.FromTimestamp) - } - - to, err := time.Parse("2006-01-02T15:04:05Z", b.Opts.Streamdal.Create.Replay.ToTimestamp) - if err != nil { - return "", fmt.Errorf("--to-timestamp '%s' is not a valid RFC3339 date", b.Opts.Streamdal.Create.Replay.ToTimestamp) - } - - if b.Opts.Streamdal.Create.Replay.Query == "*" { - return fmt.Sprintf("batch.info.date_human: [%s TO %s]", from.Format(time.RFC3339), to.Format(time.RFC3339)), nil - } - - return fmt.Sprintf("%s AND batch.info.date_human: [%s TO %s]", b.Opts.Streamdal.Create.Replay.Query, from.Format(time.RFC3339), to.Format(time.RFC3339)), nil -} diff --git a/backends/streamdal/replays_test.go b/backends/streamdal/replays_test.go deleted file mode 100644 index 24b8ae90..00000000 --- a/backends/streamdal/replays_test.go +++ /dev/null @@ -1,182 +0,0 @@ -package streamdal - -import ( - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" - - "github.com/batchcorp/plumber-schemas/build/go/protos/opts" -) - -var _ = Describe("Replays", func() { - defer GinkgoRecover() - - Context("listReplays", func() { - It("returns an error when empty", func() { - b := StreamdalWithMockResponse(200, `[]`) - - output, err := b.listReplays() - Expect(err).To(Equal(errNoReplays)) - Expect(len(output)).To(Equal(0)) - }) - - It("returns error on a bad response", func() { - b := StreamdalWithMockResponse(200, `{}`) - - output, err := b.listReplays() - Expect(err).To(Equal(errReplayListFailed)) - Expect(len(output)).To(Equal(0)) - }) - - It("lists replays with collection source", func() { - apiResponse := `[{ - "id": "44da12e6-6dfd-4f11-a952-6863958acf05", - "name": "Test Replay", - "type": "single", - "query": "*", - "paused": false, - "collection": {"name": "Test Collection"}, - "destination": {"name": "Test Destination"} - }]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.listReplays() - Expect(err).ToNot(HaveOccurred()) - Expect(len(output)).To(Equal(1)) - Expect(output[0].ID).To(Equal("44da12e6-6dfd-4f11-a952-6863958acf05")) - Expect(output[0].Name).To(Equal("Test Replay")) - Expect(output[0].Type).To(Equal("Single")) - Expect(output[0].Query).To(Equal("*")) - Expect(output[0].Paused).To(BeFalse()) - Expect(output[0].Source).To(Equal("Collection - Test Collection")) - Expect(output[0].Destination).To(Equal("Test Destination")) - }) - - It("lists replays with dead letter stage source", func() { - apiResponse := `[{ - "id": "44da12e6-6dfd-4f11-a952-6863958acf05", - "name": "Test Replay", - "type": "single", - "query": "*", - "paused": false, - "stage": {"name": "Test Stage"}, - "destination": {"name": "Test Destination"} - }]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.listReplays() - Expect(err).ToNot(HaveOccurred()) - Expect(len(output)).To(Equal(1)) - Expect(output[0].ID).To(Equal("44da12e6-6dfd-4f11-a952-6863958acf05")) - Expect(output[0].Name).To(Equal("Test Replay")) - Expect(output[0].Type).To(Equal("Single")) - Expect(output[0].Query).To(Equal("*")) - Expect(output[0].Paused).To(BeFalse()) - Expect(output[0].Source).To(Equal("Dead Letter Stage - Test Stage")) - Expect(output[0].Destination).To(Equal("Test Destination")) - }) - }) - - Context("Create Replay", func() { - apiResponse := `{ - "id": "729e524d-6801-4660-8cc1-2c75999727ad", - "name": "foo", - "type": "single", - "query": "*", - "notes": "", - "status": "running", - "archived": false, - "team": { - "id": "fa2b3482-2a00-43ea-a0ed-341974a5f6ef", - "name": "test-123" - }, - "destination": { - "id": "14a4af72-d119-457c-b572-863794a7e9e1", - "name": "test pubsub", - "notes": "", - "type": "redis_streams", - "metadata": { - "address": "localhost:6379", - "streams": [ - "plumbertest" - ], - "password": "test", - "username": "mark" - } - }, - "collection": { - "id": "cc512f2e-51e8-4a3a-994b-1dffc8d78108", - "name": "newtest2", - "notes": "", - "token": "c745eae3-8ed5-47d7-a27e-a7d4c876257e", - "paused": false, - "schema_id": "a2dd7760-5907-4505-8813-42543b40ebec" - }, - "author": { - "id": "1503e318-9c87-4e86-ab6c-fda235cb4bde", - "name": "mark test", - "email": "mark-new@streamdal.com" - }, - "inserted_at": "2021-04-01T14:35:00.840143Z", - "updated_at": "2021-04-01T14:35:00.840143Z" -}` - b := StreamdalWithMockResponse(200, apiResponse) - replay, err := b.createReplay("*") - - Expect(err).ToNot(HaveOccurred()) - Expect(replay.ID).To(Equal("729e524d-6801-4660-8cc1-2c75999727ad")) - }) - - Context("generateReplayQuery", func() { - It("handles wildcard", func() { - b := &Streamdal{ - Opts: &opts.CLIOptions{ - Streamdal: &opts.StreamdalOptions{ - Create: &opts.StreamdalCreateOptions{ - Replay: &opts.StreamdalCreateReplayOptions{ - Name: "", - Type: 0, - Notes: "", - CollectionId: "", - DestinationId: "", - Query: "*", - FromTimestamp: "2021-04-01T12:13:14Z", - ToTimestamp: "2021-04-02T12:13:14Z", - }, - }, - }, - }, - } - - query, err := b.generateReplayQuery() - Expect(err).ToNot(HaveOccurred()) - Expect(query).To(Equal("batch.info.date_human: [2021-04-01T12:13:14Z TO 2021-04-02T12:13:14Z]")) - }) - - It("handles query with a field", func() { - b := &Streamdal{ - Opts: &opts.CLIOptions{ - Streamdal: &opts.StreamdalOptions{ - Create: &opts.StreamdalCreateOptions{ - Replay: &opts.StreamdalCreateReplayOptions{ - Name: "", - Type: 0, - Notes: "", - CollectionId: "", - DestinationId: "", - Query: "batch.team.id: 'foo'", - FromTimestamp: "2021-04-01T12:13:14Z", - ToTimestamp: "2021-04-02T12:13:14Z", - }, - }, - }, - }, - } - - query, err := b.generateReplayQuery() - Expect(err).ToNot(HaveOccurred()) - Expect(query).To(Equal("batch.team.id: 'foo' AND batch.info.date_human: [2021-04-01T12:13:14Z TO 2021-04-02T12:13:14Z]")) - }) - }) -}) diff --git a/backends/streamdal/schemas.go b/backends/streamdal/schemas.go deleted file mode 100644 index fc1e482e..00000000 --- a/backends/streamdal/schemas.go +++ /dev/null @@ -1,52 +0,0 @@ -package streamdal - -import ( - "encoding/json" - "errors" -) - -// SchemaOutput is used for displaying schemas as a table -type SchemaOutput struct { - Name string `header:"Name" json:"name"` - ID string `header:"Schema ID" json:"id"` - Type string `header:"Type" json:"type"` - Archived bool `header:"Is Archived" json:"archived"` -} - -var ( - errSchemaFailed = errors.New("unable to get list of schemas") - errNoSchemas = errors.New("you have no schemas") -) - -// ListSchemas lists all of an account's schemas -func (b *Streamdal) ListSchemas() error { - output, err := b.listSchemas() - if err != nil { - return err - } - - b.Printer(output) - - return nil -} - -func (b *Streamdal) listSchemas() ([]SchemaOutput, error) { - - res, _, err := b.Get("/v1/schema", nil) - if err != nil { - return nil, errSchemaFailed - } - - output := make([]SchemaOutput, 0) - - err = json.Unmarshal(res, &output) - if err != nil { - return nil, errSchemaFailed - } - - if len(output) == 0 { - return nil, errNoSchemas - } - - return output, nil -} diff --git a/backends/streamdal/schemas_test.go b/backends/streamdal/schemas_test.go deleted file mode 100644 index 75cf8043..00000000 --- a/backends/streamdal/schemas_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package streamdal - -import ( - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" -) - -var _ = Describe("Streamdal", func() { - Context("ListSchemas", func() { - It("returns error when no schemas exist", func() { - b := StreamdalWithMockResponse(200, `[]`) - - output, err := b.listSchemas() - Expect(err).To(Equal(errNoSchemas)) - Expect(len(output)).To(Equal(0)) - }) - - It("returns error on a bad response", func() { - b := StreamdalWithMockResponse(200, `{}`) - - output, err := b.listSchemas() - Expect(err).To(Equal(errSchemaFailed)) - Expect(len(output)).To(Equal(0)) - }) - - It("returns list of schemas", func() { - apiResponse := `[{ - "id": "44da12e6-6dfd-4f11-a952-6863958acf05", - "name": "Test Schema", - "type": "json", - "root_type": "", - "archived": false - }]` - - b := StreamdalWithMockResponse(200, apiResponse) - - output, err := b.listSchemas() - Expect(err).ToNot(HaveOccurred()) - Expect(len(output)).To(Equal(1)) - Expect(output[0].ID).To(Equal("44da12e6-6dfd-4f11-a952-6863958acf05")) - Expect(output[0].Name).To(Equal("Test Schema")) - Expect(output[0].Type).To(Equal("json")) - Expect(output[0].Archived).To(BeFalse()) - }) - }) -}) diff --git a/backends/streamdal/streamdal.go b/backends/streamdal/streamdal.go deleted file mode 100644 index d1eca8b5..00000000 --- a/backends/streamdal/streamdal.go +++ /dev/null @@ -1,260 +0,0 @@ -// Package batch is used for interacting with the Streamdal platform's API. This -// backend is a non-traditional backend and does not implement the Backend -// interface; it should be used independently. -package streamdal - -import ( - "bytes" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "net/http/cookiejar" - "net/url" - "os" - "strings" - - "github.com/batchcorp/plumber-schemas/build/go/protos/opts" - - "github.com/streamdal/plumber/config" - - "github.com/kataras/tablewriter" - "github.com/lensesio/tableprinter" - "github.com/pkg/errors" - "github.com/sirupsen/logrus" -) - -const ( - DefaultAPIURL = "https://api.streamdal.com" -) - -type IBatch interface { - LoadConfig() - Login() error - Logout() error - ListReplays() error - ListCollections() error - ListSchemas() error - ListDestinations() error - Get(path string, queryParams map[string]string) (content []byte, statusCode int, err error) - Post(path string, params map[string]interface{}) (content []byte, statusCode int, err error) - Delete(path string) (content []byte, statusCode int, err error) -} - -type Streamdal struct { - PersistentConfig *config.Config - Log *logrus.Entry - Opts *opts.CLIOptions - Client *http.Client - Printer PrinterFunc - ApiUrl string -} - -type BlunderError struct { - Code int `json:"code"` - Domain string `json:"domain"` - Field string `json:"field"` - Status string `json:"status"` - RawError string `json:"raw_error"` - Message string `json:"message"` -} - -type BlunderErrorResponse struct { - Errors []*BlunderError `json:"errors"` -} - -// PrinterFunc is a function that will be used to display output to the user's console -type PrinterFunc func(v interface{}) - -var errNotAuthenticated = errors.New("you are not authenticated. run `plumber streamdal login`") - -// New creates a new instance of a Streamdal struct with defaults -func New(cliOpts *opts.CLIOptions, cfg *config.Config) *Streamdal { - printer := printTable - - if cliOpts.Streamdal.OutputType == opts.StreamdalOutputType_JSON { - printer = printJSON - } - - b := &Streamdal{ - PersistentConfig: cfg, - Log: logrus.WithField("pkg", "batch"), - Opts: cliOpts, - Client: &http.Client{}, - Printer: printer, - ApiUrl: cliOpts.Streamdal.ApiUrl, - } - - if b.ApiUrl == "" { - b.ApiUrl = DefaultAPIURL - } - - return b -} - -// getCookieJar builds a cookiejar, containing auth_token, to be used with http.Client -func (b *Streamdal) getCookieJar(path string) *cookiejar.Jar { - cookies := make([]*http.Cookie, 0) - - u, _ := url.Parse(b.ApiUrl + path) - - if b.PersistentConfig.Token != "" { - cookies = append(cookies, &http.Cookie{ - Name: "auth_token", - Value: b.PersistentConfig.Token, - Path: "/", - Domain: "." + u.Hostname(), - }) - } - - j, _ := cookiejar.New(nil) - j.SetCookies(u, cookies) - - return j -} - -// Get makes a GET request to the Streamdal API -func (b *Streamdal) Get(path string, queryParams map[string]string) ([]byte, int, error) { - - if b.Client.Jar == nil { - b.Client.Jar = b.getCookieJar(path) - } - - params := url.Values{} - if len(queryParams) > 0 { - for k, v := range queryParams { - params.Add(k, v) - } - } - - req, err := http.NewRequest(http.MethodGet, b.ApiUrl+path, strings.NewReader(params.Encode())) - if err != nil { - return nil, 0, fmt.Errorf("API call to %s failed: %s", path, err) - } - - resp, err := b.Client.Do(req) - if err != nil { - return nil, 0, fmt.Errorf("API call to %s failed: %s", path, err) - } - - defer resp.Body.Close() - - // Advise user to use `plumber streamdal login` first - if resp.StatusCode == http.StatusUnauthorized { - return nil, 0, errNotAuthenticated - } - - contents, err := ioutil.ReadAll(resp.Body) - if err != nil { - return nil, 0, err - } - - return contents, resp.StatusCode, nil -} - -// Post makes a POST request to the Streamdal API -func (b *Streamdal) Post(path string, params map[string]interface{}) ([]byte, int, error) { - if b.Client.Jar == nil { - b.Client.Jar = b.getCookieJar(path) - } - - body, err := json.Marshal(params) - if err != nil { - return nil, 0, errors.Wrap(err, "bad parameters supplied") - } - - req, err := http.NewRequest(http.MethodPost, b.ApiUrl+path, bytes.NewBuffer(body)) - if err != nil { - return nil, 0, errors.New("unable to create new request for post") - } - - req.Header.Set("Content-Type", "application/json") - - resp, err := b.Client.Do(req) - if err != nil { - return nil, 0, fmt.Errorf("API call to %s failed: %s", path, err) - } - defer resp.Body.Close() - - // Advise user to use `plumber streamdal login` first - if resp.StatusCode == http.StatusUnauthorized { - return nil, 0, errNotAuthenticated - } - - contents, err := ioutil.ReadAll(resp.Body) - if err != nil { - return nil, 0, err - } - - // Save auth_token cookie value - for _, cookie := range resp.Cookies() { - if cookie.Name == "auth_token" { - b.PersistentConfig.Token = cookie.Value - } - } - - return contents, resp.StatusCode, nil -} - -func (b *Streamdal) Delete(path string) ([]byte, int, error) { - if b.Client.Jar == nil { - b.Client.Jar = b.getCookieJar(path) - } - - req, err := http.NewRequest(http.MethodDelete, b.ApiUrl+path, nil) - if err != nil { - return nil, 0, errors.New("unable to create new request for delete") - } - - req.Header.Set("Content-Type", "application/json") - - resp, err := b.Client.Do(req) - if err != nil { - return nil, 0, fmt.Errorf("API call to %s failed: %s", path, err) - } - defer resp.Body.Close() - - // Advise user to use `plumber streamdal login` first - if resp.StatusCode == http.StatusUnauthorized { - return nil, 0, errNotAuthenticated - } - - contents, err := ioutil.ReadAll(resp.Body) - if err != nil { - return nil, 0, err - } - - // Save auth_token cookie value - for _, cookie := range resp.Cookies() { - if cookie.Name == "auth_token" { - b.PersistentConfig.Token = cookie.Value - } - } - - return contents, resp.StatusCode, nil -} - -// printTable displays a slice of structs in an ASCII table -func printTable(v interface{}) { - printer := tableprinter.New(os.Stdout) - - printer.HeaderAlignment = tableprinter.AlignCenter - printer.BorderTop, printer.BorderBottom, printer.BorderLeft, printer.BorderRight = true, true, true, true - printer.CenterSeparator = "│" - printer.ColumnSeparator = "│" - printer.RowSeparator = "─" - printer.HeaderBgColor = tablewriter.BgBlackColor - printer.HeaderFgColor = tablewriter.FgCyanColor - - printer.Print(v) -} - -// printJSON displays output from batch commands as JSON. Needed for automation purposes -func printJSON(v interface{}) { - output, err := json.Marshal(v) - if err != nil { - fmt.Printf(`{"error": "%s"}\n`, err.Error()) - } - - fmt.Println(string(output)) -} diff --git a/backends/streamdal/streamdal_suite_test.go b/backends/streamdal/streamdal_suite_test.go deleted file mode 100644 index 53c8d301..00000000 --- a/backends/streamdal/streamdal_suite_test.go +++ /dev/null @@ -1,16 +0,0 @@ -package streamdal - -import ( - "testing" - - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" - "github.com/sirupsen/logrus" -) - -func TestAPISuite(t *testing.T) { - logrus.SetLevel(logrus.FatalLevel) - - RegisterFailHandler(Fail) - RunSpecs(t, "Streamdal Test Suite") -} diff --git a/backends/streamdal/streamdal_test.go b/backends/streamdal/streamdal_test.go deleted file mode 100644 index 54310126..00000000 --- a/backends/streamdal/streamdal_test.go +++ /dev/null @@ -1,88 +0,0 @@ -package streamdal - -import ( - "bytes" - "io/ioutil" - "net/http" - "net/url" - - . "github.com/onsi/ginkgo" - . "github.com/onsi/gomega" - "github.com/sirupsen/logrus" - - "github.com/batchcorp/plumber-schemas/build/go/protos/opts" - - "github.com/streamdal/plumber/config" - "github.com/streamdal/plumber/options" - "github.com/streamdal/plumber/server/types" -) - -var logger = &logrus.Logger{Out: ioutil.Discard} - -type RoundTripFunc func(req *http.Request) *http.Response - -func (f RoundTripFunc) RoundTrip(req *http.Request) (*http.Response, error) { - return f(req), nil -} - -// newHttpClient returns *http.Client with Transport replaced to avoid making real calls -func newHttpClient(fn RoundTripFunc) *http.Client { - return &http.Client{ - Transport: RoundTripFunc(fn), - } -} - -func StreamdalWithMockResponse(httpCode int, responseBody string) *Streamdal { - client := newHttpClient(func(req *http.Request) *http.Response { - return &http.Response{ - StatusCode: httpCode, - Body: ioutil.NopCloser(bytes.NewBufferString(responseBody)), - } - }) - - return &Streamdal{ - Log: logrus.NewEntry(logger), - Client: client, - Opts: options.NewCLIOptions(), - PersistentConfig: &config.Config{ - Connections: make(map[string]*types.Connection), - }, - } -} - -var _ = Describe("Streamdal", func() { - Context("New", func() { - It("returns a new instance of Streamdal struct", func() { - b := New(&opts.CLIOptions{Streamdal: &opts.StreamdalOptions{}}, &config.Config{}) - Expect(b).To(BeAssignableToTypeOf(&Streamdal{})) - }) - }) - Context("getCookieJar", func() { - It("returns cookie jar with auth_token", func() { - const Token = "testin123" - - b := &Streamdal{ - PersistentConfig: &config.Config{Token: Token}, - ApiUrl: "https://api.streamdal.com", - } - - jar := b.getCookieJar("/v1/collection") - - u, _ := url.Parse(b.ApiUrl + "/v1/collection") - cookies := jar.Cookies(u) - - Expect(len(cookies)).To(Equal(1)) - Expect(cookies[0].Name).To(Equal("auth_token")) - Expect(cookies[0].Value).To(Equal(Token)) - }) - }) - Context("Post", func() { - It("returns unauthenticated error", func() { - b := StreamdalWithMockResponse(http.StatusUnauthorized, "") - - _, _, err := b.Post("/", nil) - Expect(err).To(HaveOccurred()) - Expect(err).To(Equal(errNotAuthenticated)) - }) - }) -}) diff --git a/go.mod b/go.mod index 6a24d26c..a92d0a4f 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/batchcorp/collector-schemas v0.0.22 github.com/batchcorp/kong v0.2.17-batch-fix github.com/batchcorp/natty v0.0.16 - github.com/batchcorp/plumber-schemas v0.0.185 + github.com/batchcorp/plumber-schemas v0.0.186 github.com/batchcorp/rabbit v0.1.17 github.com/batchcorp/thrifty v0.0.10 github.com/eclipse/paho.mqtt.golang v1.2.0 diff --git a/go.sum b/go.sum index 2eb57651..22a4cf52 100644 --- a/go.sum +++ b/go.sum @@ -116,8 +116,8 @@ github.com/batchcorp/kong v0.2.17-batch-fix h1:H6sOfst2NcL2T/EZVNLukG7YRimJDHg9D github.com/batchcorp/kong v0.2.17-batch-fix/go.mod h1:ut4pbR4KLPWzKHbpEHZspWpRqjFr4UiPY3D2xf2tzf8= github.com/batchcorp/natty v0.0.16 h1:RN20W2rlA1GtPzY3ioYIjqY0UlIFnH9Rs2c1nWajxcU= github.com/batchcorp/natty v0.0.16/go.mod h1:9vbgoZghKr/2FtueAquAlRacCSnEgfgTSA2eX2gpO54= -github.com/batchcorp/plumber-schemas v0.0.185 h1:9fMpw1pr1nVgQW1FIrGNPxK83nizgIE3E/H3pEJiG30= -github.com/batchcorp/plumber-schemas v0.0.185/go.mod h1:gs6JhcCX29FLplmxzqEMns9g4ks+avrIbEzuW4uZHGI= +github.com/batchcorp/plumber-schemas v0.0.186 h1:FxT1YV5/PfE1npeuvPmoL7PquJG/upBtjV777iVahsc= +github.com/batchcorp/plumber-schemas v0.0.186/go.mod h1:gs6JhcCX29FLplmxzqEMns9g4ks+avrIbEzuW4uZHGI= github.com/batchcorp/plz v0.9.2 h1:bPqb+sn7OUrpHjeTEI9YO4BJS9IQ7AstDDz2gn+tcn8= github.com/batchcorp/plz v0.9.2/go.mod h1:3gacX+hQo+xvl0vtLqCMufzxuNCwt4geAVOMt2LQYfE= github.com/batchcorp/rabbit v0.1.17 h1:dui1W7FLTrNxyVlDN+G+6d8LXz8HBhVAcUethXql9vQ= diff --git a/options/options.go b/options/options.go index 0b127787..39fbfd3d 100644 --- a/options/options.go +++ b/options/options.go @@ -191,13 +191,12 @@ func NewCLIOptions() *opts.CLIOptions { Global: &opts.GlobalCLIOptions{ XCommands: make([]string, 0), }, - Server: &opts.ServerOptions{}, - Read: newReadOptions(), - Write: newWriteOptions(), - Relay: newRelayOptions(), - Tunnel: newTunnelOptions(), - Streamdal: newStreamdalOptions(), - Manage: newManageOptions(), + Server: &opts.ServerOptions{}, + Read: newReadOptions(), + Write: newWriteOptions(), + Relay: newRelayOptions(), + Tunnel: newTunnelOptions(), + Manage: newManageOptions(), } } @@ -543,48 +542,6 @@ func newTunnelOptions() *opts.TunnelOptions { } } -func newStreamdalOptions() *opts.StreamdalOptions { - return &opts.StreamdalOptions{ - Login: &opts.StreamdalLoginOptions{}, - Logout: &opts.StreamdalLogoutOptions{}, - List: &opts.StreamdalListOptions{}, - Create: &opts.StreamdalCreateOptions{ - Collection: &opts.StreamdalCreateCollectionOptions{}, - Replay: &opts.StreamdalCreateReplayOptions{}, - Destination: &opts.StreamdalCreateDestinationOptions{ - Kafka: &opts.WriteGroupKafkaOptions{ - XConn: &args.KafkaConn{}, - Args: &args.KafkaWriteArgs{ - Headers: make(map[string]string, 0), - Topics: make([]string, 0), - }, - }, - Rabbit: &opts.WriteGroupRabbitOptions{ - XConn: &args.RabbitConn{}, - Args: &args.RabbitWriteArgs{}, - }, - KubemqQueue: &opts.WriteGroupKubeMQQueueOptions{ - XConn: &args.KubeMQQueueConn{}, - Args: &args.KubeMQQueueWriteArgs{}, - }, - AwsSqs: &opts.WriteGroupAWSSQSOptions{ - XConn: &args.AWSSQSConn{}, - Args: &args.AWSSQSWriteArgs{ - Attributes: make(map[string]string, 0), - }, - }, - Http: &opts.HTTPDestination{ - Headers: make(map[string]string, 0), - }, - }, - }, - Search: &opts.StreamdalSearchOptions{}, - Archive: &opts.StreamdalArchiveOptions{ - Replay: &opts.StreamdalArchiveReplayOptions{}, - }, - } -} - func newManageOptions() *opts.ManageOptions { return &opts.ManageOptions{ GlobalOptions: &opts.GlobalManageOptions{}, diff --git a/plumber/cli_batch.go b/plumber/cli_batch.go deleted file mode 100644 index 3d3364c3..00000000 --- a/plumber/cli_batch.go +++ /dev/null @@ -1,44 +0,0 @@ -package plumber - -import ( - "fmt" - "strings" - - "github.com/streamdal/plumber/backends/streamdal" -) - -// HandleStreamdalCmd handles all commands related to Streamdal API -func (p *Plumber) HandleStreamdalCmd() error { - b := streamdal.New(p.CLIOptions, p.PersistentConfig) - - // Less typing - cmd := p.CLIOptions.Global.XFullCommand - - switch { - case strings.HasPrefix(cmd, "streamdal login"): - return b.Login() - case strings.HasPrefix(cmd, "streamdal logout"): - return b.Logout() - case strings.HasPrefix(cmd, "streamdal list collection"): - return b.ListCollections() - case strings.HasPrefix(cmd, "streamdal create collection"): - return b.CreateCollection() - case strings.HasPrefix(cmd, "streamdal create destination"): - commands := strings.Split(cmd, " ") - return b.CreateDestination(commands[3]) - case strings.HasPrefix(cmd, "streamdal list destination"): - return b.ListDestinations() - case strings.HasPrefix(cmd, "streamdal list schema"): - return b.ListSchemas() - case strings.HasPrefix(cmd, "streamdal list replay"): - return b.ListReplays() - case strings.HasPrefix(cmd, "streamdal create replay"): - return b.CreateReplay() - case strings.HasPrefix(cmd, "streamdal archive replay"): - return b.ArchiveReplay() - case strings.HasPrefix(cmd, "streamdal search"): - return b.SearchCollection() - default: - return fmt.Errorf("unrecognized command: %s", p.CLIOptions.Global.XFullCommand) - } -} diff --git a/plumber/cli_manage.go b/plumber/cli_manage.go index 8df8c929..9a694276 100644 --- a/plumber/cli_manage.go +++ b/plumber/cli_manage.go @@ -15,7 +15,6 @@ import ( "google.golang.org/grpc/credentials" "github.com/batchcorp/natty" - "github.com/batchcorp/plumber-schemas/build/go/protos" ) @@ -82,8 +81,6 @@ func (p *Plumber) HandleManageCmd() error { // Create case "create connection": err = p.HandleCreateConnectionCmd(ctx, client) - case "create relay": - err = p.HandleCreateRelayCmd(ctx, client) case "create tunnel": err = p.HandleCreateTunnelCmd(ctx, client) diff --git a/plumber/cli_manage_relay.go b/plumber/cli_manage_relay.go index 7c420626..6ce27a58 100644 --- a/plumber/cli_manage_relay.go +++ b/plumber/cli_manage_relay.go @@ -8,8 +8,6 @@ import ( "github.com/batchcorp/plumber-schemas/build/go/protos/common" "github.com/batchcorp/plumber-schemas/build/go/protos/opts" "github.com/pkg/errors" - - "github.com/streamdal/plumber/validate" ) func (p *Plumber) HandleGetRelayCmd(ctx context.Context, client protos.PlumberServerClient) error { @@ -107,39 +105,6 @@ func (p *Plumber) HandleDeleteRelayCmd(ctx context.Context, client protos.Plumbe return nil } -func (p *Plumber) HandleCreateRelayCmd(ctx context.Context, client protos.PlumberServerClient) error { - // Just in case - if p.CLIOptions == nil || p.CLIOptions.Manage == nil || p.CLIOptions.Manage.Create == nil || p.CLIOptions.Manage.Create.Relay == nil { - return errors.New("unable to create relay: missing CLI options") - } - - if err := validate.ManageCreateRelayCmd(p.CLIOptions.Manage.Create.Relay); err != nil { - return errors.Wrap(err, "unable to validate manage create relay options") - } - - // Create relay options from CLI opts - relayOpts, err := generateRelayOptionsForManageCreate(p.CLIOptions) - if err != nil { - return errors.Wrap(err, "failed to generate relay options") - } - - resp, err := client.CreateRelay(ctx, &protos.CreateRelayRequest{ - Auth: &common.Auth{ - Token: p.CLIOptions.Manage.GlobalOptions.ManageToken, - }, - Opts: relayOpts, - }) - - if err != nil { - p.displayJSON(map[string]string{"error": err.Error()}) - return nil - } - - p.displayProtobuf(resp) - - return nil -} - func generateRelayOptionsForManageCreate(cliOpts *opts.CLIOptions) (*opts.RelayOptions, error) { relayOpts := &opts.RelayOptions{ CollectionToken: cliOpts.Manage.Create.Relay.CollectionToken, @@ -147,7 +112,6 @@ func generateRelayOptionsForManageCreate(cliOpts *opts.CLIOptions) (*opts.RelayO BatchMaxRetry: cliOpts.Manage.Create.Relay.BatchMaxRetry, ConnectionId: cliOpts.Manage.Create.Relay.ConnectionId, NumWorkers: cliOpts.Manage.Create.Relay.NumWorkers, - StreamdalIntegrationOptions: cliOpts.Manage.Create.Relay.StreamdalIntegrationOptions, XStreamdalGrpcAddress: cliOpts.Manage.Create.Relay.StreamdalGrpcAddress, XStreamdalGrpcDisableTls: cliOpts.Manage.Create.Relay.StreamdalGrpcDisableTls, XStreamdalGrpcTimeoutSeconds: cliOpts.Manage.Create.Relay.StreamdalGrpcTimeoutSeconds, diff --git a/plumber/plumber.go b/plumber/plumber.go index acc2f9c4..557f8051 100644 --- a/plumber/plumber.go +++ b/plumber/plumber.go @@ -142,8 +142,6 @@ func (p *Plumber) Run() { switch p.CLIOptions.Global.XAction { case "server": err = p.RunServer() - case "streamdal": - err = p.HandleStreamdalCmd() case "read": err = p.HandleReadCmd() case "write": diff --git a/util/util.go b/util/util.go index 9ddf5d2f..bc366d1e 100644 --- a/util/util.go +++ b/util/util.go @@ -15,14 +15,11 @@ import ( "strings" "time" - "github.com/batchcorp/plumber-schemas/build/go/protos/opts" + "github.com/batchcorp/plumber-schemas/build/go/protos/records" "github.com/nats-io/nats.go" "github.com/nats-io/nkeys" "github.com/pkg/errors" "github.com/sirupsen/logrus" - sdk "github.com/streamdal/streamdal/sdks/go" - - "github.com/batchcorp/plumber-schemas/build/go/protos/records" ) func init() { @@ -114,30 +111,6 @@ func WriteError(l *logrus.Entry, errorCh chan<- *records.ErrorRecord, err error) } } -// SetupStreamdalSDK creates a new Streamdal client if the integration is enabled. -// If integration opts are nil or if integration is not enabled, return nil. -func SetupStreamdalSDK(relayOpts *opts.RelayOptions, l *logrus.Entry) (*sdk.Streamdal, error) { - // Either no StreamIntegrationOptions or integration is disabled - if relayOpts == nil || relayOpts.StreamdalIntegrationOptions == nil || !relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationEnable { - return nil, nil - } - - // Integration is enabled; create client - sc, err := sdk.New(&sdk.Config{ - ServerURL: relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationServerAddress, - ServerToken: relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationAuthToken, - ServiceName: relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationServiceName, - Logger: l, - ClientType: sdk.ClientTypeSDK, - }) - - if err != nil { - return nil, errors.Wrap(err, "unable to create new streamdal client") - } - - return sc, nil -} - func MapInterfaceToString(input map[string]interface{}) map[string]string { out := make(map[string]string) diff --git a/validate/cli.go b/validate/cli.go index a0125d39..7daa287b 100644 --- a/validate/cli.go +++ b/validate/cli.go @@ -4,7 +4,6 @@ package validate import ( "fmt" "os" - "regexp" "github.com/pkg/errors" @@ -61,38 +60,6 @@ func ReadOptionsForCLI(readOpts *opts.ReadOptions) error { return nil } -func ManageCreateRelayCmd(relayOpts *opts.CreateRelayOptions) error { - if relayOpts == nil { - return errors.New("create relay options cannot be nil") - } - - // Perform additional validations if streamdal integration is enabled - if relayOpts.StreamdalIntegrationOptions != nil && relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationEnable { - // Server and auth token must be set - if relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationServerAddress == "" { - return errors.New("--streamdal-server must be set if Streamdal integration is enabled") - } - - if relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationAuthToken == "" { - return errors.New("--streamdal-auth-token must be set if Streamdal integration is enabled") - } - - // Only allow service name to be alphanumeric - if relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationServiceName != "" { - re, err := regexp.Compile(`^[a-zA-Z0-9]*$`) - if err != nil { - return errors.Wrap(err, "unable to compile service name regex") - } - - if !re.MatchString(relayOpts.StreamdalIntegrationOptions.StreamdalIntegrationServiceName) { - return errors.New("--streamdal-service-name must be alphanumeric") - } - } - } - - return nil -} - func WriteOptionsForCLI(writeOpts *opts.WriteOptions) error { if writeOpts == nil { return ErrEmptyWriteOpts diff --git a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/batch_connection_options.pb.go b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/batch_connection_options.pb.go index a31dce09..312243e1 100644 --- a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/batch_connection_options.pb.go +++ b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/batch_connection_options.pb.go @@ -8,203 +8,203 @@ import ( func GenerateConnOpts(backend string, connArgs interface{}) (IsConnectionOptions_Conn, bool) { switch backend { - case "memphis": - asserted, ok := connArgs.(args.MemphisConn) + case "awssqs": + asserted, ok := connArgs.(args.AWSSQSConn) if !ok { return nil, false } - return &ConnectionOptions_Memphis{ - Memphis: &asserted, + return &ConnectionOptions_AwsSqs{ + AwsSqs: &asserted, }, true - case "awssns": - asserted, ok := connArgs.(args.AWSSNSConn) + case "nats": + asserted, ok := connArgs.(args.NatsConn) if !ok { return nil, false } - return &ConnectionOptions_AwsSns{ - AwsSns: &asserted, + return &ConnectionOptions_Nats{ + Nats: &asserted, }, true - case "nsq": - asserted, ok := connArgs.(args.NSQConn) + case "natsstreaming": + asserted, ok := connArgs.(args.NatsStreamingConn) if !ok { return nil, false } - return &ConnectionOptions_Nsq{ - Nsq: &asserted, + return &ConnectionOptions_NatsStreaming{ + NatsStreaming: &asserted, }, true - case "rabbitstreams": - asserted, ok := connArgs.(args.RabbitStreamsConn) + case "postgres": + asserted, ok := connArgs.(args.PostgresConn) if !ok { return nil, false } - return &ConnectionOptions_RabbitStreams{ - RabbitStreams: &asserted, + return &ConnectionOptions_Postgres{ + Postgres: &asserted, }, true - case "azureeventhub": - asserted, ok := connArgs.(args.AzureEventHubConn) + case "natsjetstream": + asserted, ok := connArgs.(args.NatsJetstreamConn) if !ok { return nil, false } - return &ConnectionOptions_AzureEventHub{ - AzureEventHub: &asserted, + return &ConnectionOptions_NatsJetstream{ + NatsJetstream: &asserted, }, true - case "azureservicebus": - asserted, ok := connArgs.(args.AzureServiceBusConn) + case "awskinesis": + asserted, ok := connArgs.(args.AWSKinesisConn) if !ok { return nil, false } - return &ConnectionOptions_AzureServiceBus{ - AzureServiceBus: &asserted, + return &ConnectionOptions_AwsKinesis{ + AwsKinesis: &asserted, }, true - case "natsjetstream": - asserted, ok := connArgs.(args.NatsJetstreamConn) + case "activemq": + asserted, ok := connArgs.(args.ActiveMQConn) if !ok { return nil, false } - return &ConnectionOptions_NatsJetstream{ - NatsJetstream: &asserted, + return &ConnectionOptions_ActiveMq{ + ActiveMq: &asserted, }, true - case "mongo": - asserted, ok := connArgs.(args.MongoConn) + case "pulsar": + asserted, ok := connArgs.(args.PulsarConn) if !ok { return nil, false } - return &ConnectionOptions_Mongo{ - Mongo: &asserted, + return &ConnectionOptions_Pulsar{ + Pulsar: &asserted, }, true - case "natsstreaming": - asserted, ok := connArgs.(args.NatsStreamingConn) + case "rabbit": + asserted, ok := connArgs.(args.RabbitConn) if !ok { return nil, false } - return &ConnectionOptions_NatsStreaming{ - NatsStreaming: &asserted, + return &ConnectionOptions_Rabbit{ + Rabbit: &asserted, }, true - case "redisstreams": - asserted, ok := connArgs.(args.RedisStreamsConn) + case "rabbitstreams": + asserted, ok := connArgs.(args.RabbitStreamsConn) if !ok { return nil, false } - return &ConnectionOptions_RedisStreams{ - RedisStreams: &asserted, + return &ConnectionOptions_RabbitStreams{ + RabbitStreams: &asserted, }, true - case "kubemqqueue": - asserted, ok := connArgs.(args.KubeMQQueueConn) + case "azureservicebus": + asserted, ok := connArgs.(args.AzureServiceBusConn) if !ok { return nil, false } - return &ConnectionOptions_KubemqQueue{ - KubemqQueue: &asserted, + return &ConnectionOptions_AzureServiceBus{ + AzureServiceBus: &asserted, }, true - case "gcppubsub": - asserted, ok := connArgs.(args.GCPPubSubConn) + case "memphis": + asserted, ok := connArgs.(args.MemphisConn) if !ok { return nil, false } - return &ConnectionOptions_GcpPubsub{ - GcpPubsub: &asserted, + return &ConnectionOptions_Memphis{ + Memphis: &asserted, }, true - case "kafka": - asserted, ok := connArgs.(args.KafkaConn) + case "awssns": + asserted, ok := connArgs.(args.AWSSNSConn) if !ok { return nil, false } - return &ConnectionOptions_Kafka{ - Kafka: &asserted, + return &ConnectionOptions_AwsSns{ + AwsSns: &asserted, }, true - case "activemq": - asserted, ok := connArgs.(args.ActiveMQConn) + case "redispubsub": + asserted, ok := connArgs.(args.RedisPubSubConn) if !ok { return nil, false } - return &ConnectionOptions_ActiveMq{ - ActiveMq: &asserted, + return &ConnectionOptions_RedisPubsub{ + RedisPubsub: &asserted, }, true - case "postgres": - asserted, ok := connArgs.(args.PostgresConn) + case "kafka": + asserted, ok := connArgs.(args.KafkaConn) if !ok { return nil, false } - return &ConnectionOptions_Postgres{ - Postgres: &asserted, + return &ConnectionOptions_Kafka{ + Kafka: &asserted, }, true - case "redispubsub": - asserted, ok := connArgs.(args.RedisPubSubConn) + case "mongo": + asserted, ok := connArgs.(args.MongoConn) if !ok { return nil, false } - return &ConnectionOptions_RedisPubsub{ - RedisPubsub: &asserted, + return &ConnectionOptions_Mongo{ + Mongo: &asserted, }, true - case "mqtt": - asserted, ok := connArgs.(args.MQTTConn) + case "nsq": + asserted, ok := connArgs.(args.NSQConn) if !ok { return nil, false } - return &ConnectionOptions_Mqtt{ - Mqtt: &asserted, + return &ConnectionOptions_Nsq{ + Nsq: &asserted, }, true - case "awssqs": - asserted, ok := connArgs.(args.AWSSQSConn) + case "redisstreams": + asserted, ok := connArgs.(args.RedisStreamsConn) if !ok { return nil, false } - return &ConnectionOptions_AwsSqs{ - AwsSqs: &asserted, + return &ConnectionOptions_RedisStreams{ + RedisStreams: &asserted, }, true - case "nats": - asserted, ok := connArgs.(args.NatsConn) + case "azureeventhub": + asserted, ok := connArgs.(args.AzureEventHubConn) if !ok { return nil, false } - return &ConnectionOptions_Nats{ - Nats: &asserted, + return &ConnectionOptions_AzureEventHub{ + AzureEventHub: &asserted, }, true - case "pulsar": - asserted, ok := connArgs.(args.PulsarConn) + case "mqtt": + asserted, ok := connArgs.(args.MQTTConn) if !ok { return nil, false } - return &ConnectionOptions_Pulsar{ - Pulsar: &asserted, + return &ConnectionOptions_Mqtt{ + Mqtt: &asserted, }, true - case "rabbit": - asserted, ok := connArgs.(args.RabbitConn) + case "kubemqqueue": + asserted, ok := connArgs.(args.KubeMQQueueConn) if !ok { return nil, false } - return &ConnectionOptions_Rabbit{ - Rabbit: &asserted, + return &ConnectionOptions_KubemqQueue{ + KubemqQueue: &asserted, }, true - case "awskinesis": - asserted, ok := connArgs.(args.AWSKinesisConn) + case "gcppubsub": + asserted, ok := connArgs.(args.GCPPubSubConn) if !ok { return nil, false } - return &ConnectionOptions_AwsKinesis{ - AwsKinesis: &asserted, + return &ConnectionOptions_GcpPubsub{ + GcpPubsub: &asserted, }, true default: return nil, false diff --git a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_cli.pb.go b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_cli.pb.go index 379796da..8318d498 100644 --- a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_cli.pb.go +++ b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_cli.pb.go @@ -143,8 +143,6 @@ type CLIOptions struct { Relay *RelayOptions `protobuf:"bytes,4,opt,name=relay,proto3" json:"relay,omitempty" kong:"cmd,help='Relay message(s) from messaging system to Streamdal'"` // @gotags: kong:"cmd,help='Use plumber as a destination tunnel in Streamdal'" Tunnel *TunnelOptions `protobuf:"bytes,5,opt,name=tunnel,proto3" json:"tunnel,omitempty" kong:"cmd,help='Use plumber as a destination tunnel in Streamdal'"` - // @gotags: kong:"cmd,help='Control your Streamdal resources via the public API'" - Streamdal *StreamdalOptions `protobuf:"bytes,6,opt,name=streamdal,proto3" json:"streamdal,omitempty" kong:"cmd,help='Control your Streamdal resources via the public API'"` // @gotags: kong:"cmd,help='Run plumber in server mode'" Server *ServerOptions `protobuf:"bytes,7,opt,name=server,proto3" json:"server,omitempty" kong:"cmd,help='Run plumber in server mode'"` // @gotags: kong:"cmd,help='Manage plumber server'" @@ -218,13 +216,6 @@ func (x *CLIOptions) GetTunnel() *TunnelOptions { return nil } -func (x *CLIOptions) GetStreamdal() *StreamdalOptions { - if x != nil { - return x.Streamdal - } - return nil -} - func (x *CLIOptions) GetServer() *ServerOptions { if x != nil { return x.Server @@ -250,57 +241,51 @@ var file_opts_ps_opts_cli_proto_rawDesc = []byte{ 0x65, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6f, 0x70, 0x74, 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6f, 0x70, 0x74, 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, - 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, - 0x6f, 0x70, 0x74, 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6f, 0x70, - 0x74, 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6f, 0x70, 0x74, 0x73, 0x2f, 0x70, 0x73, - 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x4c, 0x49, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x14, 0x0a, 0x05, - 0x71, 0x75, 0x69, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, 0x75, 0x69, - 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0xe8, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x46, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe9, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0xac, 0x03, 0x0a, 0x0a, 0x43, 0x4c, 0x49, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, - 0x74, 0x73, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x4c, 0x49, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x04, 0x72, - 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x72, 0x65, - 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x06, 0x74, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, - 0x3b, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x06, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x12, 0x32, 0x0a, 0x06, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x70, 0x6c, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6f, 0x70, 0x74, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x6f, 0x70, 0x74, 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x74, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6f, 0x70, 0x74, 0x73, 0x2f, + 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x4c, + 0x49, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x62, 0x75, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x65, 0x62, 0x75, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, + 0x75, 0x69, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, + 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x46, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe9, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x43, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x0a, 0x43, 0x4c, 0x49, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, + 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x43, 0x4c, 0x49, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x2c, 0x0a, + 0x04, 0x72, 0x65, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x32, 0x0a, + 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x74, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, + 0x70, 0x74, 0x73, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x06, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, + 0x70, 0x2f, 0x70, 0x6c, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2f, 0x6f, 0x70, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -323,9 +308,8 @@ var file_opts_ps_opts_cli_proto_goTypes = []interface{}{ (*WriteOptions)(nil), // 3: protos.opts.WriteOptions (*RelayOptions)(nil), // 4: protos.opts.RelayOptions (*TunnelOptions)(nil), // 5: protos.opts.TunnelOptions - (*StreamdalOptions)(nil), // 6: protos.opts.StreamdalOptions - (*ServerOptions)(nil), // 7: protos.opts.ServerOptions - (*ManageOptions)(nil), // 8: protos.opts.ManageOptions + (*ServerOptions)(nil), // 6: protos.opts.ServerOptions + (*ManageOptions)(nil), // 7: protos.opts.ManageOptions } var file_opts_ps_opts_cli_proto_depIdxs = []int32{ 0, // 0: protos.opts.CLIOptions.global:type_name -> protos.opts.GlobalCLIOptions @@ -333,14 +317,13 @@ var file_opts_ps_opts_cli_proto_depIdxs = []int32{ 3, // 2: protos.opts.CLIOptions.write:type_name -> protos.opts.WriteOptions 4, // 3: protos.opts.CLIOptions.relay:type_name -> protos.opts.RelayOptions 5, // 4: protos.opts.CLIOptions.tunnel:type_name -> protos.opts.TunnelOptions - 6, // 5: protos.opts.CLIOptions.streamdal:type_name -> protos.opts.StreamdalOptions - 7, // 6: protos.opts.CLIOptions.server:type_name -> protos.opts.ServerOptions - 8, // 7: protos.opts.CLIOptions.manage:type_name -> protos.opts.ManageOptions - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 6, // 5: protos.opts.CLIOptions.server:type_name -> protos.opts.ServerOptions + 7, // 6: protos.opts.CLIOptions.manage:type_name -> protos.opts.ManageOptions + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_opts_ps_opts_cli_proto_init() } @@ -352,7 +335,6 @@ func file_opts_ps_opts_cli_proto_init() { file_opts_ps_opts_read_proto_init() file_opts_ps_opts_relay_proto_init() file_opts_ps_opts_server_proto_init() - file_opts_ps_opts_streamdal_proto_init() file_opts_ps_opts_tunnel_proto_init() file_opts_ps_opts_write_proto_init() if !protoimpl.UnsafeEnabled { diff --git a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage.pb.go b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage.pb.go index 4b62a04b..f1652d21 100644 --- a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage.pb.go +++ b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage.pb.go @@ -120,8 +120,8 @@ type GlobalManageOptions struct { // @gotags: kong:"help='Plumber server gRPC API address',default='localhost:9090'" ManageAddress string `protobuf:"bytes,1,opt,name=manage_address,json=manageAddress,proto3" json:"manage_address,omitempty" kong:"help='Plumber server gRPC API address',default='localhost:9090'"` - // @gotags: kong:"help='Plumber server auth token',default='streamdal'" - ManageToken string `protobuf:"bytes,2,opt,name=manage_token,json=manageToken,proto3" json:"manage_token,omitempty" kong:"help='Plumber server auth token',default='streamdal'"` + // @gotags: kong:"help='Plumber server auth token',default='plumber-token'" + ManageToken string `protobuf:"bytes,2,opt,name=manage_token,json=manageToken,proto3" json:"manage_token,omitempty" kong:"help='Plumber server auth token',default='plumber-token'"` // @gotags: kong:"help='gRPC call timeout seconds',default=10" ManageTimeoutSeconds int64 `protobuf:"varint,3,opt,name=manage_timeout_seconds,json=manageTimeoutSeconds,proto3" json:"manage_timeout_seconds,omitempty" kong:"help='gRPC call timeout seconds',default=10"` // @gotags: kong:"help='Use TLS when talking to plumber server',default='false'" diff --git a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage_relay.pb.go b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage_relay.pb.go index 113eae16..46f3d242 100644 --- a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage_relay.pb.go +++ b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_manage_relay.pb.go @@ -69,81 +69,6 @@ func (x *GetRelayOptions) GetId() string { return "" } -type StreamdalIntegrationOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Whether to enable Streamdal integration',group='Streamdal Integration (github.com/streamdal/streamdal)'" - StreamdalIntegrationEnable bool `protobuf:"varint,1,opt,name=streamdal_integration_enable,json=streamdalIntegrationEnable,proto3" json:"streamdal_integration_enable,omitempty" kong:"help='Whether to enable Streamdal integration',group='Streamdal Integration (github.com/streamdal/streamdal)'"` - // @gotags: kong:"help='Streamdal integration server address',default='localhost:8082',group='Streamdal Integration (github.com/streamdal/streamdal)'" - StreamdalIntegrationServerAddress string `protobuf:"bytes,2,opt,name=streamdal_integration_server_address,json=streamdalIntegrationServerAddress,proto3" json:"streamdal_integration_server_address,omitempty" kong:"help='Streamdal integration server address',default='localhost:8082',group='Streamdal Integration (github.com/streamdal/streamdal)'"` - // @gotags: kong:"help='Streamdal integration auth token',default='1234',group='Streamdal Integration (github.com/streamdal/streamdal)'" - StreamdalIntegrationAuthToken string `protobuf:"bytes,3,opt,name=streamdal_integration_auth_token,json=streamdalIntegrationAuthToken,proto3" json:"streamdal_integration_auth_token,omitempty" kong:"help='Streamdal integration auth token',default='1234',group='Streamdal Integration (github.com/streamdal/streamdal)'"` - // @gotags: kong:"help='Streamdal integration service name',group='Streamdal Integration (github.com/streamdal/streamdal)'" - StreamdalIntegrationServiceName string `protobuf:"bytes,4,opt,name=streamdal_integration_service_name,json=streamdalIntegrationServiceName,proto3" json:"streamdal_integration_service_name,omitempty" kong:"help='Streamdal integration service name',group='Streamdal Integration (github.com/streamdal/streamdal)'"` -} - -func (x *StreamdalIntegrationOptions) Reset() { - *x = StreamdalIntegrationOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalIntegrationOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalIntegrationOptions) ProtoMessage() {} - -func (x *StreamdalIntegrationOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalIntegrationOptions.ProtoReflect.Descriptor instead. -func (*StreamdalIntegrationOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{1} -} - -func (x *StreamdalIntegrationOptions) GetStreamdalIntegrationEnable() bool { - if x != nil { - return x.StreamdalIntegrationEnable - } - return false -} - -func (x *StreamdalIntegrationOptions) GetStreamdalIntegrationServerAddress() string { - if x != nil { - return x.StreamdalIntegrationServerAddress - } - return "" -} - -func (x *StreamdalIntegrationOptions) GetStreamdalIntegrationAuthToken() string { - if x != nil { - return x.StreamdalIntegrationAuthToken - } - return "" -} - -func (x *StreamdalIntegrationOptions) GetStreamdalIntegrationServiceName() string { - if x != nil { - return x.StreamdalIntegrationServiceName - } - return "" -} - type CreateRelayOptions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -167,8 +92,6 @@ type CreateRelayOptions struct { StreamdalGrpcTimeoutSeconds int32 `protobuf:"varint,8,opt,name=streamdal_grpc_timeout_seconds,json=streamdalGrpcTimeoutSeconds,proto3" json:"streamdal_grpc_timeout_seconds,omitempty" kong:"help='How long to wait before giving up talking to the gRPC collector',default=5"` // @gotags: kong:"help='Consumed messages are intended to be dead-lettered'" DeadLetter bool `protobuf:"varint,9,opt,name=dead_letter,json=deadLetter,proto3" json:"dead_letter,omitempty" kong:"help='Consumed messages are intended to be dead-lettered'"` - // @gotags: kong:"embed" - StreamdalIntegrationOptions *StreamdalIntegrationOptions `protobuf:"bytes,10,opt,name=streamdal_integration_options,json=streamdalIntegrationOptions,proto3" json:"streamdal_integration_options,omitempty" kong:"embed"` // @gotags: kong:"cmd,help='Apache Kafka'" Kafka *args.KafkaRelayArgs `protobuf:"bytes,100,opt,name=kafka,proto3" json:"kafka,omitempty" kong:"cmd,help='Apache Kafka'"` // @gotags: kong:"cmd,help='AWS Simple Queue System'" @@ -204,7 +127,7 @@ type CreateRelayOptions struct { func (x *CreateRelayOptions) Reset() { *x = CreateRelayOptions{} if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[2] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -217,7 +140,7 @@ func (x *CreateRelayOptions) String() string { func (*CreateRelayOptions) ProtoMessage() {} func (x *CreateRelayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[2] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -230,7 +153,7 @@ func (x *CreateRelayOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRelayOptions.ProtoReflect.Descriptor instead. func (*CreateRelayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{2} + return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{1} } func (x *CreateRelayOptions) GetConnectionId() string { @@ -296,13 +219,6 @@ func (x *CreateRelayOptions) GetDeadLetter() bool { return false } -func (x *CreateRelayOptions) GetStreamdalIntegrationOptions() *StreamdalIntegrationOptions { - if x != nil { - return x.StreamdalIntegrationOptions - } - return nil -} - func (x *CreateRelayOptions) GetKafka() *args.KafkaRelayArgs { if x != nil { return x.Kafka @@ -420,7 +336,7 @@ type DeleteRelayOptions struct { func (x *DeleteRelayOptions) Reset() { *x = DeleteRelayOptions{} if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[3] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -433,7 +349,7 @@ func (x *DeleteRelayOptions) String() string { func (*DeleteRelayOptions) ProtoMessage() {} func (x *DeleteRelayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[3] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -446,7 +362,7 @@ func (x *DeleteRelayOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRelayOptions.ProtoReflect.Descriptor instead. func (*DeleteRelayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{3} + return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{2} } func (x *DeleteRelayOptions) GetId() string { @@ -468,7 +384,7 @@ type StopRelayOptions struct { func (x *StopRelayOptions) Reset() { *x = StopRelayOptions{} if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[4] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -481,7 +397,7 @@ func (x *StopRelayOptions) String() string { func (*StopRelayOptions) ProtoMessage() {} func (x *StopRelayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[4] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -494,7 +410,7 @@ func (x *StopRelayOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use StopRelayOptions.ProtoReflect.Descriptor instead. func (*StopRelayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{4} + return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{3} } func (x *StopRelayOptions) GetId() string { @@ -516,7 +432,7 @@ type ResumeRelayOptions struct { func (x *ResumeRelayOptions) Reset() { *x = ResumeRelayOptions{} if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[5] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -529,7 +445,7 @@ func (x *ResumeRelayOptions) String() string { func (*ResumeRelayOptions) ProtoMessage() {} func (x *ResumeRelayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[5] + mi := &file_opts_ps_opts_manage_relay_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -542,7 +458,7 @@ func (x *ResumeRelayOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeRelayOptions.ProtoReflect.Descriptor instead. func (*ResumeRelayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{5} + return file_opts_ps_opts_manage_relay_proto_rawDescGZIP(), []int{4} } func (x *ResumeRelayOptions) GetId() string { @@ -588,129 +504,101 @@ var file_opts_ps_opts_manage_relay_proto_rawDesc = []byte{ 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0xc6, 0x02, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x24, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, - 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x21, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x74, - 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, - 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x1d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4b, - 0x0a, 0x22, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x0b, 0x0a, 0x12, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, - 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6e, 0x75, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, - 0x70, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, - 0x72, 0x70, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6c, 0x73, 0x12, 0x43, 0x0a, - 0x1e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x47, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x1d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, - 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x31, 0x0a, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, - 0x61, 0x66, 0x6b, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, 0x52, 0x05, 0x6b, - 0x61, 0x66, 0x6b, 0x61, 0x12, 0x35, 0x0a, 0x07, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x71, 0x73, 0x18, - 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, - 0x72, 0x67, 0x73, 0x2e, 0x41, 0x57, 0x53, 0x53, 0x51, 0x53, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, - 0x72, 0x67, 0x73, 0x52, 0x06, 0x61, 0x77, 0x73, 0x53, 0x71, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x6d, - 0x6f, 0x6e, 0x67, 0x6f, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x52, 0x65, - 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x12, 0x2a, 0x0a, - 0x03, 0x6e, 0x73, 0x71, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x53, 0x51, 0x52, 0x65, 0x61, 0x64, - 0x41, 0x72, 0x67, 0x73, 0x52, 0x03, 0x6e, 0x73, 0x71, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x61, 0x62, - 0x62, 0x69, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x52, 0x65, - 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x12, 0x2d, - 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x52, - 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x50, 0x0a, - 0x11, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, - 0x75, 0x73, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0f, - 0x61, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x12, - 0x3d, 0x0a, 0x0a, 0x67, 0x63, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x6b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, - 0x73, 0x2e, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, 0x64, 0x41, - 0x72, 0x67, 0x73, 0x52, 0x09, 0x67, 0x63, 0x70, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x43, - 0x0a, 0x0c, 0x6b, 0x75, 0x62, 0x65, 0x6d, 0x71, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x6c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, - 0x67, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, - 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0b, 0x6b, 0x75, 0x62, 0x65, 0x6d, 0x71, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, - 0x73, 0x75, 0x62, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, - 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x64, - 0x69, 0x73, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x46, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, - 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, - 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, - 0x67, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x18, 0x70, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, - 0x73, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6e, - 0x61, 0x74, 0x73, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, - 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x6e, 0x61, - 0x74, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x72, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, - 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0d, 0x6e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x73, 0x5f, 0x6a, 0x65, - 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, - 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, - 0x73, 0x52, 0x0d, 0x6e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x22, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x12, 0x52, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x70, 0x6c, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, - 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6f, 0x70, 0x74, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x64, 0x22, 0xb4, 0x0a, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, + 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0d, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79, + 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, + 0x73, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x14, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, 0x70, 0x63, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, 0x70, 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x54, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, + 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x61, + 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x05, 0x6b, 0x61, + 0x66, 0x6b, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, 0x52, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x12, 0x35, 0x0a, + 0x07, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x71, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x57, 0x53, + 0x53, 0x51, 0x53, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, 0x52, 0x06, 0x61, 0x77, + 0x73, 0x53, 0x71, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x18, 0x66, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, + 0x73, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, + 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x12, 0x2a, 0x0a, 0x03, 0x6e, 0x73, 0x71, 0x18, 0x67, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, + 0x73, 0x2e, 0x4e, 0x53, 0x51, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x03, 0x6e, + 0x73, 0x71, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x18, 0x68, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, + 0x2e, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, + 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, + 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, + 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x50, 0x0a, 0x11, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x73, 0x18, 0x6a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x52, + 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x67, 0x63, 0x70, 0x5f, + 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x47, 0x43, 0x50, 0x50, 0x75, + 0x62, 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x09, 0x67, 0x63, + 0x70, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x43, 0x0a, 0x0c, 0x6b, 0x75, 0x62, 0x65, 0x6d, + 0x71, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, + 0x4d, 0x51, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, + 0x0b, 0x6b, 0x75, 0x62, 0x65, 0x6d, 0x71, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x0c, + 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x6d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, + 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, 0x64, + 0x41, 0x72, 0x67, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x73, 0x75, + 0x62, 0x12, 0x46, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x64, + 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x6f, 0x73, + 0x74, 0x67, 0x72, 0x65, 0x73, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, + 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, + 0x67, 0x72, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x18, 0x71, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, + 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6e, + 0x61, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, + 0x0d, 0x6e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x49, + 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x73, 0x5f, 0x6a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, + 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x0d, 0x6e, 0x61, 0x74, 0x73, + 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x22, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, + 0x70, 0x2f, 0x70, 0x6c, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2f, 0x6f, 0x70, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -725,52 +613,50 @@ func file_opts_ps_opts_manage_relay_proto_rawDescGZIP() []byte { return file_opts_ps_opts_manage_relay_proto_rawDescData } -var file_opts_ps_opts_manage_relay_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_opts_ps_opts_manage_relay_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_opts_ps_opts_manage_relay_proto_goTypes = []interface{}{ (*GetRelayOptions)(nil), // 0: protos.opts.GetRelayOptions - (*StreamdalIntegrationOptions)(nil), // 1: protos.opts.StreamdalIntegrationOptions - (*CreateRelayOptions)(nil), // 2: protos.opts.CreateRelayOptions - (*DeleteRelayOptions)(nil), // 3: protos.opts.DeleteRelayOptions - (*StopRelayOptions)(nil), // 4: protos.opts.StopRelayOptions - (*ResumeRelayOptions)(nil), // 5: protos.opts.ResumeRelayOptions - (*args.KafkaRelayArgs)(nil), // 6: protos.args.KafkaRelayArgs - (*args.AWSSQSRelayArgs)(nil), // 7: protos.args.AWSSQSRelayArgs - (*args.MongoReadArgs)(nil), // 8: protos.args.MongoReadArgs - (*args.NSQReadArgs)(nil), // 9: protos.args.NSQReadArgs - (*args.RabbitReadArgs)(nil), // 10: protos.args.RabbitReadArgs - (*args.MQTTReadArgs)(nil), // 11: protos.args.MQTTReadArgs - (*args.AzureServiceBusReadArgs)(nil), // 12: protos.args.AzureServiceBusReadArgs - (*args.GCPPubSubReadArgs)(nil), // 13: protos.args.GCPPubSubReadArgs - (*args.KubeMQQueueReadArgs)(nil), // 14: protos.args.KubeMQQueueReadArgs - (*args.RedisPubSubReadArgs)(nil), // 15: protos.args.RedisPubSubReadArgs - (*args.RedisStreamsReadArgs)(nil), // 16: protos.args.RedisStreamsReadArgs - (*args.PostgresReadArgs)(nil), // 17: protos.args.PostgresReadArgs - (*args.NatsReadArgs)(nil), // 18: protos.args.NatsReadArgs - (*args.NatsStreamingReadArgs)(nil), // 19: protos.args.NatsStreamingReadArgs - (*args.NatsJetstreamReadArgs)(nil), // 20: protos.args.NatsJetstreamReadArgs + (*CreateRelayOptions)(nil), // 1: protos.opts.CreateRelayOptions + (*DeleteRelayOptions)(nil), // 2: protos.opts.DeleteRelayOptions + (*StopRelayOptions)(nil), // 3: protos.opts.StopRelayOptions + (*ResumeRelayOptions)(nil), // 4: protos.opts.ResumeRelayOptions + (*args.KafkaRelayArgs)(nil), // 5: protos.args.KafkaRelayArgs + (*args.AWSSQSRelayArgs)(nil), // 6: protos.args.AWSSQSRelayArgs + (*args.MongoReadArgs)(nil), // 7: protos.args.MongoReadArgs + (*args.NSQReadArgs)(nil), // 8: protos.args.NSQReadArgs + (*args.RabbitReadArgs)(nil), // 9: protos.args.RabbitReadArgs + (*args.MQTTReadArgs)(nil), // 10: protos.args.MQTTReadArgs + (*args.AzureServiceBusReadArgs)(nil), // 11: protos.args.AzureServiceBusReadArgs + (*args.GCPPubSubReadArgs)(nil), // 12: protos.args.GCPPubSubReadArgs + (*args.KubeMQQueueReadArgs)(nil), // 13: protos.args.KubeMQQueueReadArgs + (*args.RedisPubSubReadArgs)(nil), // 14: protos.args.RedisPubSubReadArgs + (*args.RedisStreamsReadArgs)(nil), // 15: protos.args.RedisStreamsReadArgs + (*args.PostgresReadArgs)(nil), // 16: protos.args.PostgresReadArgs + (*args.NatsReadArgs)(nil), // 17: protos.args.NatsReadArgs + (*args.NatsStreamingReadArgs)(nil), // 18: protos.args.NatsStreamingReadArgs + (*args.NatsJetstreamReadArgs)(nil), // 19: protos.args.NatsJetstreamReadArgs } var file_opts_ps_opts_manage_relay_proto_depIdxs = []int32{ - 1, // 0: protos.opts.CreateRelayOptions.streamdal_integration_options:type_name -> protos.opts.StreamdalIntegrationOptions - 6, // 1: protos.opts.CreateRelayOptions.kafka:type_name -> protos.args.KafkaRelayArgs - 7, // 2: protos.opts.CreateRelayOptions.aws_sqs:type_name -> protos.args.AWSSQSRelayArgs - 8, // 3: protos.opts.CreateRelayOptions.mongo:type_name -> protos.args.MongoReadArgs - 9, // 4: protos.opts.CreateRelayOptions.nsq:type_name -> protos.args.NSQReadArgs - 10, // 5: protos.opts.CreateRelayOptions.rabbit:type_name -> protos.args.RabbitReadArgs - 11, // 6: protos.opts.CreateRelayOptions.mqtt:type_name -> protos.args.MQTTReadArgs - 12, // 7: protos.opts.CreateRelayOptions.azure_service_bus:type_name -> protos.args.AzureServiceBusReadArgs - 13, // 8: protos.opts.CreateRelayOptions.gcp_pubsub:type_name -> protos.args.GCPPubSubReadArgs - 14, // 9: protos.opts.CreateRelayOptions.kubemq_queue:type_name -> protos.args.KubeMQQueueReadArgs - 15, // 10: protos.opts.CreateRelayOptions.redis_pubsub:type_name -> protos.args.RedisPubSubReadArgs - 16, // 11: protos.opts.CreateRelayOptions.redis_streams:type_name -> protos.args.RedisStreamsReadArgs - 17, // 12: protos.opts.CreateRelayOptions.postgres:type_name -> protos.args.PostgresReadArgs - 18, // 13: protos.opts.CreateRelayOptions.nats:type_name -> protos.args.NatsReadArgs - 19, // 14: protos.opts.CreateRelayOptions.nats_streaming:type_name -> protos.args.NatsStreamingReadArgs - 20, // 15: protos.opts.CreateRelayOptions.nats_jetstream:type_name -> protos.args.NatsJetstreamReadArgs - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 5, // 0: protos.opts.CreateRelayOptions.kafka:type_name -> protos.args.KafkaRelayArgs + 6, // 1: protos.opts.CreateRelayOptions.aws_sqs:type_name -> protos.args.AWSSQSRelayArgs + 7, // 2: protos.opts.CreateRelayOptions.mongo:type_name -> protos.args.MongoReadArgs + 8, // 3: protos.opts.CreateRelayOptions.nsq:type_name -> protos.args.NSQReadArgs + 9, // 4: protos.opts.CreateRelayOptions.rabbit:type_name -> protos.args.RabbitReadArgs + 10, // 5: protos.opts.CreateRelayOptions.mqtt:type_name -> protos.args.MQTTReadArgs + 11, // 6: protos.opts.CreateRelayOptions.azure_service_bus:type_name -> protos.args.AzureServiceBusReadArgs + 12, // 7: protos.opts.CreateRelayOptions.gcp_pubsub:type_name -> protos.args.GCPPubSubReadArgs + 13, // 8: protos.opts.CreateRelayOptions.kubemq_queue:type_name -> protos.args.KubeMQQueueReadArgs + 14, // 9: protos.opts.CreateRelayOptions.redis_pubsub:type_name -> protos.args.RedisPubSubReadArgs + 15, // 10: protos.opts.CreateRelayOptions.redis_streams:type_name -> protos.args.RedisStreamsReadArgs + 16, // 11: protos.opts.CreateRelayOptions.postgres:type_name -> protos.args.PostgresReadArgs + 17, // 12: protos.opts.CreateRelayOptions.nats:type_name -> protos.args.NatsReadArgs + 18, // 13: protos.opts.CreateRelayOptions.nats_streaming:type_name -> protos.args.NatsStreamingReadArgs + 19, // 14: protos.opts.CreateRelayOptions.nats_jetstream:type_name -> protos.args.NatsJetstreamReadArgs + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_opts_ps_opts_manage_relay_proto_init() } @@ -792,18 +678,6 @@ func file_opts_ps_opts_manage_relay_proto_init() { } } file_opts_ps_opts_manage_relay_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalIntegrationOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_manage_relay_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRelayOptions); i { case 0: return &v.state @@ -815,7 +689,7 @@ func file_opts_ps_opts_manage_relay_proto_init() { return nil } } - file_opts_ps_opts_manage_relay_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_opts_ps_opts_manage_relay_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRelayOptions); i { case 0: return &v.state @@ -827,7 +701,7 @@ func file_opts_ps_opts_manage_relay_proto_init() { return nil } } - file_opts_ps_opts_manage_relay_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_opts_ps_opts_manage_relay_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopRelayOptions); i { case 0: return &v.state @@ -839,7 +713,7 @@ func file_opts_ps_opts_manage_relay_proto_init() { return nil } } - file_opts_ps_opts_manage_relay_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_opts_ps_opts_manage_relay_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResumeRelayOptions); i { case 0: return &v.state @@ -858,7 +732,7 @@ func file_opts_ps_opts_manage_relay_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_opts_ps_opts_manage_relay_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_relay.pb.go b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_relay.pb.go index 7d80a8eb..63cebfb8 100644 --- a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_relay.pb.go +++ b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_relay.pb.go @@ -93,8 +93,6 @@ type RelayOptions struct { StatsReportIntervalSec int32 `protobuf:"varint,7,opt,name=stats_report_interval_sec,json=statsReportIntervalSec,proto3" json:"stats_report_interval_sec,omitempty" kong:"group=stats,help='How often to print stats',default=5"` // @gotags: kong:"help='Consumed messages are intended to be dead-lettered',env='PLUMBER_RELAY_DEAD_LETTER'" DeadLetter bool `protobuf:"varint,8,opt,name=dead_letter,json=deadLetter,proto3" json:"dead_letter,omitempty" kong:"help='Consumed messages are intended to be dead-lettered',env='PLUMBER_RELAY_DEAD_LETTER'"` - // @gotags: kong:"embed" - StreamdalIntegrationOptions *StreamdalIntegrationOptions `protobuf:"bytes,9,opt,name=streamdal_integration_options,json=streamdalIntegrationOptions,proto3" json:"streamdal_integration_options,omitempty" kong:"embed"` // @gotags: kong:"help='Alternative collector to relay events to',name='grpc-address',env='PLUMBER_RELAY_GRPC_ADDRESS',default='grpc-collector.streamdal.com:9000'" XStreamdalGrpcAddress string `protobuf:"bytes,1000,opt,name=_streamdal_grpc_address,json=StreamdalGrpcAddress,proto3" json:"_streamdal_grpc_address,omitempty" kong:"help='Alternative collector to relay events to',name='grpc-address',env='PLUMBER_RELAY_GRPC_ADDRESS',default='grpc-collector.streamdal.com:9000'"` // @gotags: kong:"help='Whether to use TLS with collector',name=grpc-disable-tls,env='PLUMBER_RELAY_GRPC_DISABLE_TLS',default=false" @@ -229,13 +227,6 @@ func (x *RelayOptions) GetDeadLetter() bool { return false } -func (x *RelayOptions) GetStreamdalIntegrationOptions() *StreamdalIntegrationOptions { - if x != nil { - return x.StreamdalIntegrationOptions - } - return nil -} - func (x *RelayOptions) GetXStreamdalGrpcAddress() string { if x != nil { return x.XStreamdalGrpcAddress @@ -1277,7 +1268,7 @@ var file_opts_ps_opts_relay_proto_rawDesc = []byte{ 0x61, 0x79, 0x43, 0x4c, 0x49, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x68, 0x74, 0x74, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xfd, 0x0d, 0x0a, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8f, 0x0d, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, @@ -1298,224 +1289,217 @@ var file_opts_ps_opts_relay_proto_rawDesc = []byte{ 0x74, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x61, 0x64, 0x4c, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x1d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, - 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x64, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x1b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xe8, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, - 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x5f, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, 0x70, 0x63, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6c, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xea, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, - 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xeb, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, - 0x0c, 0x5f, 0x63, 0x6c, 0x69, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xec, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, - 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x4c, 0x49, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6b, 0x61, 0x66, 0x6b, - 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x6b, 0x61, - 0x66, 0x6b, 0x61, 0x12, 0x3d, 0x0a, 0x07, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x71, 0x73, 0x18, 0x65, + 0x74, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x17, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, + 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, + 0x6c, 0x47, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x1b, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6c, 0x73, 0x18, 0xe9, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x47, 0x72, 0x70, + 0x63, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6c, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xea, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, + 0x47, 0x72, 0x70, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0xeb, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, + 0x3f, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x69, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0xec, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, + 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x4c, 0x49, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0xed, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6b, 0x61, + 0x66, 0x6b, 0x61, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, + 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x12, 0x3d, 0x0a, 0x07, 0x61, 0x77, 0x73, 0x5f, 0x73, 0x71, 0x73, + 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, + 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, + 0x57, 0x53, 0x53, 0x51, 0x53, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x61, 0x77, + 0x73, 0x53, 0x71, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x18, 0x66, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, + 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x6f, 0x6e, 0x67, + 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x12, + 0x33, 0x0a, 0x03, 0x6e, 0x73, 0x71, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x53, 0x51, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x03, 0x6e, 0x73, 0x71, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, - 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x57, 0x53, - 0x53, 0x51, 0x53, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x61, 0x77, 0x73, 0x53, - 0x71, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x18, 0x66, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x12, 0x33, 0x0a, - 0x03, 0x6e, 0x73, 0x71, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x53, 0x51, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x03, 0x6e, - 0x73, 0x71, 0x12, 0x3c, 0x0a, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x18, 0x68, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, - 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x62, 0x62, 0x69, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, - 0x12, 0x36, 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x51, 0x54, 0x54, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x59, 0x0a, 0x11, 0x61, 0x7a, 0x75, 0x72, - 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x73, 0x18, 0x6a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, - 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x7a, 0x75, 0x72, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x0f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x67, 0x63, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x73, 0x75, - 0x62, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x09, 0x67, 0x63, 0x70, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x4c, 0x0a, 0x0c, 0x6b, - 0x75, 0x62, 0x65, 0x6d, 0x71, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x6c, 0x20, 0x01, 0x28, + 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x62, + 0x62, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x61, 0x62, 0x62, + 0x69, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x51, 0x54, 0x54, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x59, 0x0a, 0x11, 0x61, 0x7a, + 0x75, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x73, 0x18, + 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, + 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x7a, + 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x67, 0x63, 0x70, 0x5f, 0x70, 0x75, 0x62, + 0x73, 0x75, 0x62, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x09, 0x67, 0x63, 0x70, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x4c, 0x0a, + 0x0c, 0x6b, 0x75, 0x62, 0x65, 0x6d, 0x71, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x6c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, + 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x75, 0x62, 0x65, + 0x4d, 0x51, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, + 0x6b, 0x75, 0x62, 0x65, 0x6d, 0x71, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x72, + 0x65, 0x64, 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, - 0x51, 0x75, 0x65, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x6b, 0x75, - 0x62, 0x65, 0x6d, 0x71, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x64, - 0x69, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, - 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, - 0x73, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, - 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x69, - 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, - 0x67, 0x72, 0x65, 0x73, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x04, - 0x6e, 0x61, 0x74, 0x73, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, - 0x6e, 0x61, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, + 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x65, + 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x73, 0x75, 0x62, 0x12, 0x4f, 0x0a, 0x0d, 0x72, 0x65, 0x64, + 0x69, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, + 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x42, 0x0a, 0x08, 0x70, 0x6f, + 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x6e, 0x61, 0x74, 0x73, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x52, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x73, - 0x5f, 0x6a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x6e, - 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x76, 0x0a, 0x16, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, - 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, - 0x6f, 0x6e, 0x6e, 0x12, 0x2f, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, - 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x22, 0x79, 0x0a, 0x17, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x41, 0x57, 0x53, 0x53, 0x51, 0x53, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x2c, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x57, 0x53, - 0x53, 0x51, 0x53, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x30, 0x0a, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x57, 0x53, 0x53, 0x51, 0x53, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, - 0x75, 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x6f, 0x6e, - 0x67, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x43, 0x6f, 0x6e, 0x6e, - 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, - 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x6f, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x53, 0x51, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, - 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x53, 0x51, 0x43, - 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2c, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, - 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x53, 0x51, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, - 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x7e, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, - 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, - 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, - 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x78, 0x0a, 0x17, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, - 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, - 0x12, 0x2f, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x61, 0x62, - 0x62, 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, - 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x6e, 0x52, - 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, - 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, - 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x1d, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, - 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, - 0x6e, 0x12, 0x35, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, - 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, - 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x20, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, - 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, - 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, - 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, - 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x72, - 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x51, 0x54, 0x54, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, - 0x6f, 0x6e, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, - 0x4d, 0x51, 0x54, 0x54, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x47, - 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, - 0x6e, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x47, - 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, 0x75, 0x65, 0x75, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x22, 0x72, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, - 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x5f, 0x63, 0x6f, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x36, + 0x0a, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x18, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x73, 0x5f, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0d, 0x6e, 0x61, 0x74, + 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x52, 0x0a, 0x0e, 0x6e, 0x61, + 0x74, 0x73, 0x5f, 0x6a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x73, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, + 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x4a, + 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x0d, 0x6e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x76, + 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x61, 0x66, 0x6b, + 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, + 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x43, 0x6f, 0x6e, 0x6e, 0x52, + 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2f, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, + 0x73, 0x2e, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x79, 0x0a, 0x17, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x41, 0x57, 0x53, 0x53, 0x51, 0x53, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, + 0x57, 0x53, 0x53, 0x51, 0x53, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, + 0x30, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x57, 0x53, 0x53, + 0x51, 0x53, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x22, 0x75, 0x0a, 0x16, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x6f, 0x6e, 0x67, 0x6f, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x43, 0x6f, + 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2e, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, + 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, + 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x6f, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x61, + 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x53, 0x51, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x29, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x53, + 0x51, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2c, 0x0a, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x53, 0x51, 0x52, 0x65, 0x61, 0x64, 0x41, + 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x7e, 0x0a, 0x19, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, + 0x72, 0x67, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x6e, + 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, + 0x67, 0x73, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, + 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x78, 0x0a, 0x17, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, + 0x73, 0x2e, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, + 0x6e, 0x6e, 0x12, 0x2f, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, + 0x61, 0x62, 0x62, 0x69, 0x74, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, + 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6f, 0x6e, + 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, + 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x73, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, + 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8a, 0x01, + 0x0a, 0x1d, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x64, 0x69, + 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x32, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x64, + 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, + 0x6f, 0x6e, 0x6e, 0x12, 0x35, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, + 0x52, 0x65, 0x64, 0x69, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x61, 0x64, + 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x20, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x35, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x6e, + 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, + 0x67, 0x73, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, + 0x75, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x22, 0x72, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x51, + 0x54, 0x54, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x52, + 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, - 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x36, 0x0a, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x36, 0x0a, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x70, 0x6c, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6f, 0x70, 0x74, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, + 0x2e, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, + 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, + 0x2e, 0x47, 0x43, 0x50, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, + 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x6c, + 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, 0x75, 0x65, + 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x34, 0x0a, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x4d, 0x51, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x22, 0x72, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4e, 0x61, 0x74, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, + 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, + 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, + 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x36, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x05, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x4a, 0x65, 0x74, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x52, 0x04, 0x43, 0x6f, 0x6e, 0x6e, 0x12, 0x36, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x61, 0x72, 0x67, 0x73, 0x2e, 0x4e, 0x61, 0x74, 0x73, 0x4a, + 0x65, 0x74, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x61, 0x64, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x70, + 0x6c, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6f, + 0x70, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1549,91 +1533,89 @@ var file_opts_ps_opts_relay_proto_goTypes = []interface{}{ (*RelayGroupNatsOptions)(nil), // 14: protos.opts.RelayGroupNatsOptions (*RelayGroupNatsStreamingOptions)(nil), // 15: protos.opts.RelayGroupNatsStreamingOptions (*RelayGroupNatsJetStreamOptions)(nil), // 16: protos.opts.RelayGroupNatsJetStreamOptions - (*StreamdalIntegrationOptions)(nil), // 17: protos.opts.StreamdalIntegrationOptions - (*args.KafkaConn)(nil), // 18: protos.args.KafkaConn - (*args.KafkaRelayArgs)(nil), // 19: protos.args.KafkaRelayArgs - (*args.AWSSQSConn)(nil), // 20: protos.args.AWSSQSConn - (*args.AWSSQSRelayArgs)(nil), // 21: protos.args.AWSSQSRelayArgs - (*args.MongoConn)(nil), // 22: protos.args.MongoConn - (*args.MongoReadArgs)(nil), // 23: protos.args.MongoReadArgs - (*args.NSQConn)(nil), // 24: protos.args.NSQConn - (*args.NSQReadArgs)(nil), // 25: protos.args.NSQReadArgs - (*args.PostgresConn)(nil), // 26: protos.args.PostgresConn - (*args.PostgresReadArgs)(nil), // 27: protos.args.PostgresReadArgs - (*args.RabbitConn)(nil), // 28: protos.args.RabbitConn - (*args.RabbitReadArgs)(nil), // 29: protos.args.RabbitReadArgs - (*args.RedisPubSubConn)(nil), // 30: protos.args.RedisPubSubConn - (*args.RedisPubSubReadArgs)(nil), // 31: protos.args.RedisPubSubReadArgs - (*args.RedisStreamsConn)(nil), // 32: protos.args.RedisStreamsConn - (*args.RedisStreamsReadArgs)(nil), // 33: protos.args.RedisStreamsReadArgs - (*args.AzureServiceBusConn)(nil), // 34: protos.args.AzureServiceBusConn - (*args.AzureServiceBusReadArgs)(nil), // 35: protos.args.AzureServiceBusReadArgs - (*args.MQTTConn)(nil), // 36: protos.args.MQTTConn - (*args.MQTTReadArgs)(nil), // 37: protos.args.MQTTReadArgs - (*args.GCPPubSubConn)(nil), // 38: protos.args.GCPPubSubConn - (*args.GCPPubSubReadArgs)(nil), // 39: protos.args.GCPPubSubReadArgs - (*args.KubeMQQueueConn)(nil), // 40: protos.args.KubeMQQueueConn - (*args.KubeMQQueueReadArgs)(nil), // 41: protos.args.KubeMQQueueReadArgs - (*args.NatsConn)(nil), // 42: protos.args.NatsConn - (*args.NatsReadArgs)(nil), // 43: protos.args.NatsReadArgs - (*args.NatsStreamingConn)(nil), // 44: protos.args.NatsStreamingConn - (*args.NatsStreamingReadArgs)(nil), // 45: protos.args.NatsStreamingReadArgs - (*args.NatsJetstreamConn)(nil), // 46: protos.args.NatsJetstreamConn - (*args.NatsJetstreamReadArgs)(nil), // 47: protos.args.NatsJetstreamReadArgs + (*args.KafkaConn)(nil), // 17: protos.args.KafkaConn + (*args.KafkaRelayArgs)(nil), // 18: protos.args.KafkaRelayArgs + (*args.AWSSQSConn)(nil), // 19: protos.args.AWSSQSConn + (*args.AWSSQSRelayArgs)(nil), // 20: protos.args.AWSSQSRelayArgs + (*args.MongoConn)(nil), // 21: protos.args.MongoConn + (*args.MongoReadArgs)(nil), // 22: protos.args.MongoReadArgs + (*args.NSQConn)(nil), // 23: protos.args.NSQConn + (*args.NSQReadArgs)(nil), // 24: protos.args.NSQReadArgs + (*args.PostgresConn)(nil), // 25: protos.args.PostgresConn + (*args.PostgresReadArgs)(nil), // 26: protos.args.PostgresReadArgs + (*args.RabbitConn)(nil), // 27: protos.args.RabbitConn + (*args.RabbitReadArgs)(nil), // 28: protos.args.RabbitReadArgs + (*args.RedisPubSubConn)(nil), // 29: protos.args.RedisPubSubConn + (*args.RedisPubSubReadArgs)(nil), // 30: protos.args.RedisPubSubReadArgs + (*args.RedisStreamsConn)(nil), // 31: protos.args.RedisStreamsConn + (*args.RedisStreamsReadArgs)(nil), // 32: protos.args.RedisStreamsReadArgs + (*args.AzureServiceBusConn)(nil), // 33: protos.args.AzureServiceBusConn + (*args.AzureServiceBusReadArgs)(nil), // 34: protos.args.AzureServiceBusReadArgs + (*args.MQTTConn)(nil), // 35: protos.args.MQTTConn + (*args.MQTTReadArgs)(nil), // 36: protos.args.MQTTReadArgs + (*args.GCPPubSubConn)(nil), // 37: protos.args.GCPPubSubConn + (*args.GCPPubSubReadArgs)(nil), // 38: protos.args.GCPPubSubReadArgs + (*args.KubeMQQueueConn)(nil), // 39: protos.args.KubeMQQueueConn + (*args.KubeMQQueueReadArgs)(nil), // 40: protos.args.KubeMQQueueReadArgs + (*args.NatsConn)(nil), // 41: protos.args.NatsConn + (*args.NatsReadArgs)(nil), // 42: protos.args.NatsReadArgs + (*args.NatsStreamingConn)(nil), // 43: protos.args.NatsStreamingConn + (*args.NatsStreamingReadArgs)(nil), // 44: protos.args.NatsStreamingReadArgs + (*args.NatsJetstreamConn)(nil), // 45: protos.args.NatsJetstreamConn + (*args.NatsJetstreamReadArgs)(nil), // 46: protos.args.NatsJetstreamReadArgs } var file_opts_ps_opts_relay_proto_depIdxs = []int32{ - 17, // 0: protos.opts.RelayOptions.streamdal_integration_options:type_name -> protos.opts.StreamdalIntegrationOptions - 0, // 1: protos.opts.RelayOptions._cli_options:type_name -> protos.opts.RelayCLIOptions - 2, // 2: protos.opts.RelayOptions.kafka:type_name -> protos.opts.RelayGroupKafkaOptions - 3, // 3: protos.opts.RelayOptions.aws_sqs:type_name -> protos.opts.RelayGroupAWSSQSOptions - 4, // 4: protos.opts.RelayOptions.mongo:type_name -> protos.opts.RelayGroupMongoOptions - 5, // 5: protos.opts.RelayOptions.nsq:type_name -> protos.opts.RelayGroupNSQOptions - 7, // 6: protos.opts.RelayOptions.rabbit:type_name -> protos.opts.RelayGroupRabbitOptions - 11, // 7: protos.opts.RelayOptions.mqtt:type_name -> protos.opts.RelayGroupMQTTOptions - 10, // 8: protos.opts.RelayOptions.azure_service_bus:type_name -> protos.opts.RelayGroupAzureServiceBusOptions - 12, // 9: protos.opts.RelayOptions.gcp_pubsub:type_name -> protos.opts.RelayGroupGCPPubSubOptions - 13, // 10: protos.opts.RelayOptions.kubemq_queue:type_name -> protos.opts.RelayGroupKubeMQQueueOptions - 8, // 11: protos.opts.RelayOptions.redis_pubsub:type_name -> protos.opts.RelayGroupRedisPubSubOptions - 9, // 12: protos.opts.RelayOptions.redis_streams:type_name -> protos.opts.RelayGroupRedisStreamsOptions - 6, // 13: protos.opts.RelayOptions.postgres:type_name -> protos.opts.RelayGroupPostgresOptions - 14, // 14: protos.opts.RelayOptions.nats:type_name -> protos.opts.RelayGroupNatsOptions - 15, // 15: protos.opts.RelayOptions.nats_streaming:type_name -> protos.opts.RelayGroupNatsStreamingOptions - 16, // 16: protos.opts.RelayOptions.nats_jetstream:type_name -> protos.opts.RelayGroupNatsJetStreamOptions - 18, // 17: protos.opts.RelayGroupKafkaOptions._conn:type_name -> protos.args.KafkaConn - 19, // 18: protos.opts.RelayGroupKafkaOptions.args:type_name -> protos.args.KafkaRelayArgs - 20, // 19: protos.opts.RelayGroupAWSSQSOptions._conn:type_name -> protos.args.AWSSQSConn - 21, // 20: protos.opts.RelayGroupAWSSQSOptions.args:type_name -> protos.args.AWSSQSRelayArgs - 22, // 21: protos.opts.RelayGroupMongoOptions._conn:type_name -> protos.args.MongoConn - 23, // 22: protos.opts.RelayGroupMongoOptions.args:type_name -> protos.args.MongoReadArgs - 24, // 23: protos.opts.RelayGroupNSQOptions._conn:type_name -> protos.args.NSQConn - 25, // 24: protos.opts.RelayGroupNSQOptions.args:type_name -> protos.args.NSQReadArgs - 26, // 25: protos.opts.RelayGroupPostgresOptions._conn:type_name -> protos.args.PostgresConn - 27, // 26: protos.opts.RelayGroupPostgresOptions.args:type_name -> protos.args.PostgresReadArgs - 28, // 27: protos.opts.RelayGroupRabbitOptions._conn:type_name -> protos.args.RabbitConn - 29, // 28: protos.opts.RelayGroupRabbitOptions.args:type_name -> protos.args.RabbitReadArgs - 30, // 29: protos.opts.RelayGroupRedisPubSubOptions._conn:type_name -> protos.args.RedisPubSubConn - 31, // 30: protos.opts.RelayGroupRedisPubSubOptions.args:type_name -> protos.args.RedisPubSubReadArgs - 32, // 31: protos.opts.RelayGroupRedisStreamsOptions._conn:type_name -> protos.args.RedisStreamsConn - 33, // 32: protos.opts.RelayGroupRedisStreamsOptions.args:type_name -> protos.args.RedisStreamsReadArgs - 34, // 33: protos.opts.RelayGroupAzureServiceBusOptions._conn:type_name -> protos.args.AzureServiceBusConn - 35, // 34: protos.opts.RelayGroupAzureServiceBusOptions.args:type_name -> protos.args.AzureServiceBusReadArgs - 36, // 35: protos.opts.RelayGroupMQTTOptions._conn:type_name -> protos.args.MQTTConn - 37, // 36: protos.opts.RelayGroupMQTTOptions.args:type_name -> protos.args.MQTTReadArgs - 38, // 37: protos.opts.RelayGroupGCPPubSubOptions._conn:type_name -> protos.args.GCPPubSubConn - 39, // 38: protos.opts.RelayGroupGCPPubSubOptions.args:type_name -> protos.args.GCPPubSubReadArgs - 40, // 39: protos.opts.RelayGroupKubeMQQueueOptions._conn:type_name -> protos.args.KubeMQQueueConn - 41, // 40: protos.opts.RelayGroupKubeMQQueueOptions.args:type_name -> protos.args.KubeMQQueueReadArgs - 42, // 41: protos.opts.RelayGroupNatsOptions._conn:type_name -> protos.args.NatsConn - 43, // 42: protos.opts.RelayGroupNatsOptions.args:type_name -> protos.args.NatsReadArgs - 44, // 43: protos.opts.RelayGroupNatsStreamingOptions._conn:type_name -> protos.args.NatsStreamingConn - 45, // 44: protos.opts.RelayGroupNatsStreamingOptions.args:type_name -> protos.args.NatsStreamingReadArgs - 46, // 45: protos.opts.RelayGroupNatsJetStreamOptions._conn:type_name -> protos.args.NatsJetstreamConn - 47, // 46: protos.opts.RelayGroupNatsJetStreamOptions.args:type_name -> protos.args.NatsJetstreamReadArgs - 47, // [47:47] is the sub-list for method output_type - 47, // [47:47] is the sub-list for method input_type - 47, // [47:47] is the sub-list for extension type_name - 47, // [47:47] is the sub-list for extension extendee - 0, // [0:47] is the sub-list for field type_name + 0, // 0: protos.opts.RelayOptions._cli_options:type_name -> protos.opts.RelayCLIOptions + 2, // 1: protos.opts.RelayOptions.kafka:type_name -> protos.opts.RelayGroupKafkaOptions + 3, // 2: protos.opts.RelayOptions.aws_sqs:type_name -> protos.opts.RelayGroupAWSSQSOptions + 4, // 3: protos.opts.RelayOptions.mongo:type_name -> protos.opts.RelayGroupMongoOptions + 5, // 4: protos.opts.RelayOptions.nsq:type_name -> protos.opts.RelayGroupNSQOptions + 7, // 5: protos.opts.RelayOptions.rabbit:type_name -> protos.opts.RelayGroupRabbitOptions + 11, // 6: protos.opts.RelayOptions.mqtt:type_name -> protos.opts.RelayGroupMQTTOptions + 10, // 7: protos.opts.RelayOptions.azure_service_bus:type_name -> protos.opts.RelayGroupAzureServiceBusOptions + 12, // 8: protos.opts.RelayOptions.gcp_pubsub:type_name -> protos.opts.RelayGroupGCPPubSubOptions + 13, // 9: protos.opts.RelayOptions.kubemq_queue:type_name -> protos.opts.RelayGroupKubeMQQueueOptions + 8, // 10: protos.opts.RelayOptions.redis_pubsub:type_name -> protos.opts.RelayGroupRedisPubSubOptions + 9, // 11: protos.opts.RelayOptions.redis_streams:type_name -> protos.opts.RelayGroupRedisStreamsOptions + 6, // 12: protos.opts.RelayOptions.postgres:type_name -> protos.opts.RelayGroupPostgresOptions + 14, // 13: protos.opts.RelayOptions.nats:type_name -> protos.opts.RelayGroupNatsOptions + 15, // 14: protos.opts.RelayOptions.nats_streaming:type_name -> protos.opts.RelayGroupNatsStreamingOptions + 16, // 15: protos.opts.RelayOptions.nats_jetstream:type_name -> protos.opts.RelayGroupNatsJetStreamOptions + 17, // 16: protos.opts.RelayGroupKafkaOptions._conn:type_name -> protos.args.KafkaConn + 18, // 17: protos.opts.RelayGroupKafkaOptions.args:type_name -> protos.args.KafkaRelayArgs + 19, // 18: protos.opts.RelayGroupAWSSQSOptions._conn:type_name -> protos.args.AWSSQSConn + 20, // 19: protos.opts.RelayGroupAWSSQSOptions.args:type_name -> protos.args.AWSSQSRelayArgs + 21, // 20: protos.opts.RelayGroupMongoOptions._conn:type_name -> protos.args.MongoConn + 22, // 21: protos.opts.RelayGroupMongoOptions.args:type_name -> protos.args.MongoReadArgs + 23, // 22: protos.opts.RelayGroupNSQOptions._conn:type_name -> protos.args.NSQConn + 24, // 23: protos.opts.RelayGroupNSQOptions.args:type_name -> protos.args.NSQReadArgs + 25, // 24: protos.opts.RelayGroupPostgresOptions._conn:type_name -> protos.args.PostgresConn + 26, // 25: protos.opts.RelayGroupPostgresOptions.args:type_name -> protos.args.PostgresReadArgs + 27, // 26: protos.opts.RelayGroupRabbitOptions._conn:type_name -> protos.args.RabbitConn + 28, // 27: protos.opts.RelayGroupRabbitOptions.args:type_name -> protos.args.RabbitReadArgs + 29, // 28: protos.opts.RelayGroupRedisPubSubOptions._conn:type_name -> protos.args.RedisPubSubConn + 30, // 29: protos.opts.RelayGroupRedisPubSubOptions.args:type_name -> protos.args.RedisPubSubReadArgs + 31, // 30: protos.opts.RelayGroupRedisStreamsOptions._conn:type_name -> protos.args.RedisStreamsConn + 32, // 31: protos.opts.RelayGroupRedisStreamsOptions.args:type_name -> protos.args.RedisStreamsReadArgs + 33, // 32: protos.opts.RelayGroupAzureServiceBusOptions._conn:type_name -> protos.args.AzureServiceBusConn + 34, // 33: protos.opts.RelayGroupAzureServiceBusOptions.args:type_name -> protos.args.AzureServiceBusReadArgs + 35, // 34: protos.opts.RelayGroupMQTTOptions._conn:type_name -> protos.args.MQTTConn + 36, // 35: protos.opts.RelayGroupMQTTOptions.args:type_name -> protos.args.MQTTReadArgs + 37, // 36: protos.opts.RelayGroupGCPPubSubOptions._conn:type_name -> protos.args.GCPPubSubConn + 38, // 37: protos.opts.RelayGroupGCPPubSubOptions.args:type_name -> protos.args.GCPPubSubReadArgs + 39, // 38: protos.opts.RelayGroupKubeMQQueueOptions._conn:type_name -> protos.args.KubeMQQueueConn + 40, // 39: protos.opts.RelayGroupKubeMQQueueOptions.args:type_name -> protos.args.KubeMQQueueReadArgs + 41, // 40: protos.opts.RelayGroupNatsOptions._conn:type_name -> protos.args.NatsConn + 42, // 41: protos.opts.RelayGroupNatsOptions.args:type_name -> protos.args.NatsReadArgs + 43, // 42: protos.opts.RelayGroupNatsStreamingOptions._conn:type_name -> protos.args.NatsStreamingConn + 44, // 43: protos.opts.RelayGroupNatsStreamingOptions.args:type_name -> protos.args.NatsStreamingReadArgs + 45, // 44: protos.opts.RelayGroupNatsJetStreamOptions._conn:type_name -> protos.args.NatsJetstreamConn + 46, // 45: protos.opts.RelayGroupNatsJetStreamOptions.args:type_name -> protos.args.NatsJetstreamReadArgs + 46, // [46:46] is the sub-list for method output_type + 46, // [46:46] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name } func init() { file_opts_ps_opts_relay_proto_init() } diff --git a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_streamdal.pb.go b/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_streamdal.pb.go deleted file mode 100644 index 50211efd..00000000 --- a/vendor/github.com/batchcorp/plumber-schemas/build/go/protos/opts/ps_opts_streamdal.pb.go +++ /dev/null @@ -1,1615 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.6 -// source: opts/ps_opts_streamdal.proto - -package opts - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type StreamdalOutputType int32 - -const ( - StreamdalOutputType_TABLE StreamdalOutputType = 0 - StreamdalOutputType_JSON StreamdalOutputType = 1 -) - -// Enum value maps for StreamdalOutputType. -var ( - StreamdalOutputType_name = map[int32]string{ - 0: "TABLE", - 1: "JSON", - } - StreamdalOutputType_value = map[string]int32{ - "TABLE": 0, - "JSON": 1, - } -) - -func (x StreamdalOutputType) Enum() *StreamdalOutputType { - p := new(StreamdalOutputType) - *p = x - return p -} - -func (x StreamdalOutputType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (StreamdalOutputType) Descriptor() protoreflect.EnumDescriptor { - return file_opts_ps_opts_streamdal_proto_enumTypes[0].Descriptor() -} - -func (StreamdalOutputType) Type() protoreflect.EnumType { - return &file_opts_ps_opts_streamdal_proto_enumTypes[0] -} - -func (x StreamdalOutputType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use StreamdalOutputType.Descriptor instead. -func (StreamdalOutputType) EnumDescriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{0} -} - -type StreamdalReplayType int32 - -const ( - StreamdalReplayType_SINGLE StreamdalReplayType = 0 - StreamdalReplayType_CONTINUOUS StreamdalReplayType = 1 -) - -// Enum value maps for StreamdalReplayType. -var ( - StreamdalReplayType_name = map[int32]string{ - 0: "SINGLE", - 1: "CONTINUOUS", - } - StreamdalReplayType_value = map[string]int32{ - "SINGLE": 0, - "CONTINUOUS": 1, - } -) - -func (x StreamdalReplayType) Enum() *StreamdalReplayType { - p := new(StreamdalReplayType) - *p = x - return p -} - -func (x StreamdalReplayType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (StreamdalReplayType) Descriptor() protoreflect.EnumDescriptor { - return file_opts_ps_opts_streamdal_proto_enumTypes[1].Descriptor() -} - -func (StreamdalReplayType) Type() protoreflect.EnumType { - return &file_opts_ps_opts_streamdal_proto_enumTypes[1] -} - -func (x StreamdalReplayType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use StreamdalReplayType.Descriptor instead. -func (StreamdalReplayType) EnumDescriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{1} -} - -type StreamdalOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='How to output results (options: table json)',default=table,type=pbenum,pbenum_lowercase" - OutputType StreamdalOutputType `protobuf:"varint,1,opt,name=output_type,json=outputType,proto3,enum=protos.opts.StreamdalOutputType" json:"output_type,omitempty" kong:"help='How to output results (options: table json)',default=table,type=pbenum,pbenum_lowercase"` - // @gotags: kong:"help='Alternative URL to use for Streamdal API',default='https://api.streamdal.com'" - ApiUrl string `protobuf:"bytes,2,opt,name=api_url,json=apiUrl,proto3" json:"api_url,omitempty" kong:"help='Alternative URL to use for Streamdal API',default='https://api.streamdal.com'"` - // @gotags: kong:"cmd,help='Login to the Streamdal platform'" - Login *StreamdalLoginOptions `protobuf:"bytes,3,opt,name=login,proto3" json:"login,omitempty" kong:"cmd,help='Login to the Streamdal platform'"` - // @gotags: kong:"cmd,help='Login to Streamdal'" - Logout *StreamdalLogoutOptions `protobuf:"bytes,4,opt,name=logout,proto3" json:"logout,omitempty" kong:"cmd,help='Login to Streamdal'"` - // @gotags: kong:"cmd,help='List Streamdal resources'" - List *StreamdalListOptions `protobuf:"bytes,5,opt,name=list,proto3" json:"list,omitempty" kong:"cmd,help='List Streamdal resources'"` - // @gotags: kong:"cmd,help='Create operations'" - Create *StreamdalCreateOptions `protobuf:"bytes,6,opt,name=create,proto3" json:"create,omitempty" kong:"cmd,help='Create operations'"` - // @gotags: kong:"cmd,help='Search operations'" - Search *StreamdalSearchOptions `protobuf:"bytes,7,opt,name=search,proto3" json:"search,omitempty" kong:"cmd,help='Search operations'"` - // @gotags: kong:"cmd,help='Archive a resource'" - Archive *StreamdalArchiveOptions `protobuf:"bytes,8,opt,name=archive,proto3" json:"archive,omitempty" kong:"cmd,help='Archive a resource'"` -} - -func (x *StreamdalOptions) Reset() { - *x = StreamdalOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalOptions) ProtoMessage() {} - -func (x *StreamdalOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalOptions.ProtoReflect.Descriptor instead. -func (*StreamdalOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{0} -} - -func (x *StreamdalOptions) GetOutputType() StreamdalOutputType { - if x != nil { - return x.OutputType - } - return StreamdalOutputType_TABLE -} - -func (x *StreamdalOptions) GetApiUrl() string { - if x != nil { - return x.ApiUrl - } - return "" -} - -func (x *StreamdalOptions) GetLogin() *StreamdalLoginOptions { - if x != nil { - return x.Login - } - return nil -} - -func (x *StreamdalOptions) GetLogout() *StreamdalLogoutOptions { - if x != nil { - return x.Logout - } - return nil -} - -func (x *StreamdalOptions) GetList() *StreamdalListOptions { - if x != nil { - return x.List - } - return nil -} - -func (x *StreamdalOptions) GetCreate() *StreamdalCreateOptions { - if x != nil { - return x.Create - } - return nil -} - -func (x *StreamdalOptions) GetSearch() *StreamdalSearchOptions { - if x != nil { - return x.Search - } - return nil -} - -func (x *StreamdalOptions) GetArchive() *StreamdalArchiveOptions { - if x != nil { - return x.Archive - } - return nil -} - -type StreamdalLoginOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StreamdalLoginOptions) Reset() { - *x = StreamdalLoginOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalLoginOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalLoginOptions) ProtoMessage() {} - -func (x *StreamdalLoginOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalLoginOptions.ProtoReflect.Descriptor instead. -func (*StreamdalLoginOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{1} -} - -type StreamdalLogoutOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StreamdalLogoutOptions) Reset() { - *x = StreamdalLogoutOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalLogoutOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalLogoutOptions) ProtoMessage() {} - -func (x *StreamdalLogoutOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalLogoutOptions.ProtoReflect.Descriptor instead. -func (*StreamdalLogoutOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{2} -} - -type StreamdalListCollectionOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StreamdalListCollectionOptions) Reset() { - *x = StreamdalListCollectionOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalListCollectionOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalListCollectionOptions) ProtoMessage() {} - -func (x *StreamdalListCollectionOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalListCollectionOptions.ProtoReflect.Descriptor instead. -func (*StreamdalListCollectionOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{3} -} - -type StreamdalListDestinationOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StreamdalListDestinationOptions) Reset() { - *x = StreamdalListDestinationOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalListDestinationOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalListDestinationOptions) ProtoMessage() {} - -func (x *StreamdalListDestinationOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalListDestinationOptions.ProtoReflect.Descriptor instead. -func (*StreamdalListDestinationOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{4} -} - -type StreamdalListSchemaOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StreamdalListSchemaOptions) Reset() { - *x = StreamdalListSchemaOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalListSchemaOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalListSchemaOptions) ProtoMessage() {} - -func (x *StreamdalListSchemaOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalListSchemaOptions.ProtoReflect.Descriptor instead. -func (*StreamdalListSchemaOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{5} -} - -type StreamdalListReplayOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StreamdalListReplayOptions) Reset() { - *x = StreamdalListReplayOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalListReplayOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalListReplayOptions) ProtoMessage() {} - -func (x *StreamdalListReplayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalListReplayOptions.ProtoReflect.Descriptor instead. -func (*StreamdalListReplayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{6} -} - -type StreamdalArchiveOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"embed,cmd,help='Archive a replay'" - Replay *StreamdalArchiveReplayOptions `protobuf:"bytes,1,opt,name=replay,proto3" json:"replay,omitempty" kong:"embed,cmd,help='Archive a replay'"` -} - -func (x *StreamdalArchiveOptions) Reset() { - *x = StreamdalArchiveOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalArchiveOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalArchiveOptions) ProtoMessage() {} - -func (x *StreamdalArchiveOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalArchiveOptions.ProtoReflect.Descriptor instead. -func (*StreamdalArchiveOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{7} -} - -func (x *StreamdalArchiveOptions) GetReplay() *StreamdalArchiveReplayOptions { - if x != nil { - return x.Replay - } - return nil -} - -type StreamdalArchiveReplayOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Replay ID to archive',required" - ReplayId string `protobuf:"bytes,1,opt,name=replay_id,json=replayId,proto3" json:"replay_id,omitempty" kong:"help='Replay ID to archive',required"` -} - -func (x *StreamdalArchiveReplayOptions) Reset() { - *x = StreamdalArchiveReplayOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalArchiveReplayOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalArchiveReplayOptions) ProtoMessage() {} - -func (x *StreamdalArchiveReplayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalArchiveReplayOptions.ProtoReflect.Descriptor instead. -func (*StreamdalArchiveReplayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{8} -} - -func (x *StreamdalArchiveReplayOptions) GetReplayId() string { - if x != nil { - return x.ReplayId - } - return "" -} - -type StreamdalListOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"cmd,help='List all collections'" - Collection *StreamdalListCollectionOptions `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty" kong:"cmd,help='List all collections'"` - // @gotags: kong:"cmd,help='List all destinations'" - Destination *StreamdalListDestinationOptions `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty" kong:"cmd,help='List all destinations'"` - // @gotags: kong:"cmd,help='List all replays'" - Replay *StreamdalListReplayOptions `protobuf:"bytes,3,opt,name=replay,proto3" json:"replay,omitempty" kong:"cmd,help='List all replays'"` - // @gotags: kong:"cmd,help='List all schemas'" - Schema *StreamdalListSchemaOptions `protobuf:"bytes,4,opt,name=schema,proto3" json:"schema,omitempty" kong:"cmd,help='List all schemas'"` -} - -func (x *StreamdalListOptions) Reset() { - *x = StreamdalListOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalListOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalListOptions) ProtoMessage() {} - -func (x *StreamdalListOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalListOptions.ProtoReflect.Descriptor instead. -func (*StreamdalListOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{9} -} - -func (x *StreamdalListOptions) GetCollection() *StreamdalListCollectionOptions { - if x != nil { - return x.Collection - } - return nil -} - -func (x *StreamdalListOptions) GetDestination() *StreamdalListDestinationOptions { - if x != nil { - return x.Destination - } - return nil -} - -func (x *StreamdalListOptions) GetReplay() *StreamdalListReplayOptions { - if x != nil { - return x.Replay - } - return nil -} - -func (x *StreamdalListOptions) GetSchema() *StreamdalListSchemaOptions { - if x != nil { - return x.Schema - } - return nil -} - -type StreamdalCreateOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"cmd,help='Create a collection'" - Collection *StreamdalCreateCollectionOptions `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty" kong:"cmd,help='Create a collection'"` - // @gotags: kong:"cmd,help='Create a replay'" - Replay *StreamdalCreateReplayOptions `protobuf:"bytes,2,opt,name=replay,proto3" json:"replay,omitempty" kong:"cmd,help='Create a replay'"` - // @gotags: kong:"cmd,help='Create a destination'" - Destination *StreamdalCreateDestinationOptions `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty" kong:"cmd,help='Create a destination'"` -} - -func (x *StreamdalCreateOptions) Reset() { - *x = StreamdalCreateOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalCreateOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalCreateOptions) ProtoMessage() {} - -func (x *StreamdalCreateOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalCreateOptions.ProtoReflect.Descriptor instead. -func (*StreamdalCreateOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{10} -} - -func (x *StreamdalCreateOptions) GetCollection() *StreamdalCreateCollectionOptions { - if x != nil { - return x.Collection - } - return nil -} - -func (x *StreamdalCreateOptions) GetReplay() *StreamdalCreateReplayOptions { - if x != nil { - return x.Replay - } - return nil -} - -func (x *StreamdalCreateOptions) GetDestination() *StreamdalCreateDestinationOptions { - if x != nil { - return x.Destination - } - return nil -} - -type StreamdalSearchOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Query to perform',default='*'" - Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty" kong:"help='Query to perform',default='*'"` - // @gotags: kong:"help='Collection id to query',required" - CollectionId string `protobuf:"bytes,2,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty" kong:"help='Collection id to query',required"` - // @gotags: kong:"help='Which page to display',default=1" - Page int32 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty" kong:"help='Which page to display',default=1"` -} - -func (x *StreamdalSearchOptions) Reset() { - *x = StreamdalSearchOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalSearchOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalSearchOptions) ProtoMessage() {} - -func (x *StreamdalSearchOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalSearchOptions.ProtoReflect.Descriptor instead. -func (*StreamdalSearchOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{11} -} - -func (x *StreamdalSearchOptions) GetQuery() string { - if x != nil { - return x.Query - } - return "" -} - -func (x *StreamdalSearchOptions) GetCollectionId() string { - if x != nil { - return x.CollectionId - } - return "" -} - -func (x *StreamdalSearchOptions) GetPage() int32 { - if x != nil { - return x.Page - } - return 0 -} - -type StreamdalCreateCollectionOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Friendly name for the collection',required" - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" kong:"help='Friendly name for the collection',required"` - // @gotags: kong:"help='Schema the collection will use (can be obtained running _plumber streamdal list schema_)',required" - SchemaId string `protobuf:"bytes,2,opt,name=schema_id,json=schemaId,proto3" json:"schema_id,omitempty" kong:"help='Schema the collection will use (can be obtained running _plumber streamdal list schema_)',required"` - // @gotags: kong:"help='Optional notes for the collection'" - Notes string `protobuf:"bytes,3,opt,name=notes,proto3" json:"notes,omitempty" kong:"help='Optional notes for the collection'"` - // @gotags: kong:"help='(Protobuf Schemas Only) Envelope Type (deep or shallow)',default='deep'" - EnvelopeType string `protobuf:"bytes,4,opt,name=envelope_type,json=envelopeType,proto3" json:"envelope_type,omitempty" kong:"help='(Protobuf Schemas Only) Envelope Type (deep or shallow)',default='deep'"` - // @gotags: kong:"help='(Protobuf Schemas Only) Envelope Message Name (Ex: events.MessageEnvelope)'" - EnvelopeRootMessage string `protobuf:"bytes,5,opt,name=envelope_root_message,json=envelopeRootMessage,proto3" json:"envelope_root_message,omitempty" kong:"help='(Protobuf Schemas Only) Envelope Message Name (Ex: events.MessageEnvelope)'"` - // @gotags: kong:"help='(Shallow Envelope Protobuf Schemas Only) Payload Message Name (Ex: events.ShallowPayload)'" - PayloadFieldMessage string `protobuf:"bytes,6,opt,name=payload_field_message,json=payloadFieldMessage,proto3" json:"payload_field_message,omitempty" kong:"help='(Shallow Envelope Protobuf Schemas Only) Payload Message Name (Ex: events.ShallowPayload)'"` - // @gotags: kong:"help='(Shallow Envelope Protobuf Schemas Only) Field ID containing the message encoded with Payload Message'" - PayloadFieldId string `protobuf:"bytes,7,opt,name=payload_field_id,json=payloadFieldId,proto3" json:"payload_field_id,omitempty" kong:"help='(Shallow Envelope Protobuf Schemas Only) Field ID containing the message encoded with Payload Message'"` -} - -func (x *StreamdalCreateCollectionOptions) Reset() { - *x = StreamdalCreateCollectionOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalCreateCollectionOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalCreateCollectionOptions) ProtoMessage() {} - -func (x *StreamdalCreateCollectionOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalCreateCollectionOptions.ProtoReflect.Descriptor instead. -func (*StreamdalCreateCollectionOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{12} -} - -func (x *StreamdalCreateCollectionOptions) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StreamdalCreateCollectionOptions) GetSchemaId() string { - if x != nil { - return x.SchemaId - } - return "" -} - -func (x *StreamdalCreateCollectionOptions) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - -func (x *StreamdalCreateCollectionOptions) GetEnvelopeType() string { - if x != nil { - return x.EnvelopeType - } - return "" -} - -func (x *StreamdalCreateCollectionOptions) GetEnvelopeRootMessage() string { - if x != nil { - return x.EnvelopeRootMessage - } - return "" -} - -func (x *StreamdalCreateCollectionOptions) GetPayloadFieldMessage() string { - if x != nil { - return x.PayloadFieldMessage - } - return "" -} - -func (x *StreamdalCreateCollectionOptions) GetPayloadFieldId() string { - if x != nil { - return x.PayloadFieldId - } - return "" -} - -type StreamdalCreateReplayOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Friendly name to assign to the replay',required" - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" kong:"help='Friendly name to assign to the replay',required"` - // @gotags: kong:"help='One-time/single or continuous replay (options: single, continuous)',type=pbenum,pbenum_lowercase,default=single" - Type StreamdalReplayType `protobuf:"varint,2,opt,name=type,proto3,enum=protos.opts.StreamdalReplayType" json:"type,omitempty" kong:"help='One-time/single or continuous replay (options: single, continuous)',type=pbenum,pbenum_lowercase,default=single"` - // @gotags: kong:"help='Notes to attach to the replay'" - Notes string `protobuf:"bytes,3,opt,name=notes,proto3" json:"notes,omitempty" kong:"help='Notes to attach to the replay'"` - // @gotags: kong:"help='Collection ID to replay from',required" - CollectionId string `protobuf:"bytes,4,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty" kong:"help='Collection ID to replay from',required"` - // @gotags: kong:"help='Destination ID to replay to',required" - DestinationId string `protobuf:"bytes,5,opt,name=destination_id,json=destinationId,proto3" json:"destination_id,omitempty" kong:"help='Destination ID to replay to',required"` - // @gotags: kong:"help='Search query',default='*'" - Query string `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty" kong:"help='Search query',default='*'"` - // @gotags: kong:"help='Where to begin search (RFC3339 timestamp)',required" - FromTimestamp string `protobuf:"bytes,7,opt,name=from_timestamp,json=fromTimestamp,proto3" json:"from_timestamp,omitempty" kong:"help='Where to begin search (RFC3339 timestamp)',required"` - // @gotags: kong:"help='Where to end search (RFC3339 timestamp)',required" - ToTimestamp string `protobuf:"bytes,8,opt,name=to_timestamp,json=toTimestamp,proto3" json:"to_timestamp,omitempty" kong:"help='Where to end search (RFC3339 timestamp)',required"` -} - -func (x *StreamdalCreateReplayOptions) Reset() { - *x = StreamdalCreateReplayOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalCreateReplayOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalCreateReplayOptions) ProtoMessage() {} - -func (x *StreamdalCreateReplayOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalCreateReplayOptions.ProtoReflect.Descriptor instead. -func (*StreamdalCreateReplayOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{13} -} - -func (x *StreamdalCreateReplayOptions) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StreamdalCreateReplayOptions) GetType() StreamdalReplayType { - if x != nil { - return x.Type - } - return StreamdalReplayType_SINGLE -} - -func (x *StreamdalCreateReplayOptions) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - -func (x *StreamdalCreateReplayOptions) GetCollectionId() string { - if x != nil { - return x.CollectionId - } - return "" -} - -func (x *StreamdalCreateReplayOptions) GetDestinationId() string { - if x != nil { - return x.DestinationId - } - return "" -} - -func (x *StreamdalCreateReplayOptions) GetQuery() string { - if x != nil { - return x.Query - } - return "" -} - -func (x *StreamdalCreateReplayOptions) GetFromTimestamp() string { - if x != nil { - return x.FromTimestamp - } - return "" -} - -func (x *StreamdalCreateReplayOptions) GetToTimestamp() string { - if x != nil { - return x.ToTimestamp - } - return "" -} - -type StreamdalCreateDestinationOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Friendly name to assign to the destination',required" - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty" kong:"help='Friendly name to assign to the destination',required"` - // @gotags: kong:"help='Any notes to include with the destination'" - Notes string `protobuf:"bytes,2,opt,name=notes,proto3" json:"notes,omitempty" kong:"help='Any notes to include with the destination'"` - // Used internally by CLI - // @gotags: kong:"-" - XApiDestinationType string `protobuf:"bytes,1000,opt,name=_api_destination_type,json=ApiDestinationType,proto3" json:"_api_destination_type,omitempty" kong:"-"` - // @gotags: kong:"cmd,help='Apache Kafka'" - Kafka *WriteGroupKafkaOptions `protobuf:"bytes,100,opt,name=kafka,proto3" json:"kafka,omitempty" kong:"cmd,help='Apache Kafka'"` - // @gotags: kong:"cmd,help='RabbitMQ'" - Rabbit *WriteGroupRabbitOptions `protobuf:"bytes,101,opt,name=rabbit,proto3" json:"rabbit,omitempty" kong:"cmd,help='RabbitMQ'"` - // @gotags: kong:"cmd,help='KubeMQ Queue'" - KubemqQueue *WriteGroupKubeMQQueueOptions `protobuf:"bytes,102,opt,name=kubemq_queue,json=kubemqQueue,proto3" json:"kubemq_queue,omitempty" kong:"cmd,help='KubeMQ Queue'"` - // @gotags: kong:"cmd,help='AWS Simple Queue System'" - AwsSqs *WriteGroupAWSSQSOptions `protobuf:"bytes,103,opt,name=aws_sqs,json=awsSqs,proto3" json:"aws_sqs,omitempty" kong:"cmd,help='AWS Simple Queue System'"` - // @gotags: kong:"cmd,help='HTTP Destination (POST)'" - Http *HTTPDestination `protobuf:"bytes,104,opt,name=http,proto3" json:"http,omitempty" kong:"cmd,help='HTTP Destination (POST)'"` -} - -func (x *StreamdalCreateDestinationOptions) Reset() { - *x = StreamdalCreateDestinationOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamdalCreateDestinationOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamdalCreateDestinationOptions) ProtoMessage() {} - -func (x *StreamdalCreateDestinationOptions) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamdalCreateDestinationOptions.ProtoReflect.Descriptor instead. -func (*StreamdalCreateDestinationOptions) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{14} -} - -func (x *StreamdalCreateDestinationOptions) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StreamdalCreateDestinationOptions) GetNotes() string { - if x != nil { - return x.Notes - } - return "" -} - -func (x *StreamdalCreateDestinationOptions) GetXApiDestinationType() string { - if x != nil { - return x.XApiDestinationType - } - return "" -} - -func (x *StreamdalCreateDestinationOptions) GetKafka() *WriteGroupKafkaOptions { - if x != nil { - return x.Kafka - } - return nil -} - -func (x *StreamdalCreateDestinationOptions) GetRabbit() *WriteGroupRabbitOptions { - if x != nil { - return x.Rabbit - } - return nil -} - -func (x *StreamdalCreateDestinationOptions) GetKubemqQueue() *WriteGroupKubeMQQueueOptions { - if x != nil { - return x.KubemqQueue - } - return nil -} - -func (x *StreamdalCreateDestinationOptions) GetAwsSqs() *WriteGroupAWSSQSOptions { - if x != nil { - return x.AwsSqs - } - return nil -} - -func (x *StreamdalCreateDestinationOptions) GetHttp() *HTTPDestination { - if x != nil { - return x.Http - } - return nil -} - -type HTTPDestination struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // @gotags: kong:"help='Full URL to HTTP server (ex: https://example.com/some/path)',required" - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty" kong:"help='Full URL to HTTP server (ex: https://example.com/some/path)',required"` - // @gotags: kong:"help='Optional map of headers to pass on replay (--headers key1=value1,key2=value2..)'" - Headers map[string]string `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" kong:"help='Optional map of headers to pass on replay (--headers key1=value1,key2=value2..)'"` -} - -func (x *HTTPDestination) Reset() { - *x = HTTPDestination{} - if protoimpl.UnsafeEnabled { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HTTPDestination) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HTTPDestination) ProtoMessage() {} - -func (x *HTTPDestination) ProtoReflect() protoreflect.Message { - mi := &file_opts_ps_opts_streamdal_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HTTPDestination.ProtoReflect.Descriptor instead. -func (*HTTPDestination) Descriptor() ([]byte, []int) { - return file_opts_ps_opts_streamdal_proto_rawDescGZIP(), []int{15} -} - -func (x *HTTPDestination) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *HTTPDestination) GetHeaders() map[string]string { - if x != nil { - return x.Headers - } - return nil -} - -var File_opts_ps_opts_streamdal_proto protoreflect.FileDescriptor - -var file_opts_ps_opts_streamdal_proto_rawDesc = []byte{ - 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x1a, 0x18, 0x6f, 0x70, 0x74, - 0x73, 0x2f, 0x70, 0x73, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x03, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x64, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, - 0x07, 0x61, 0x70, 0x69, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x70, 0x69, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, - 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x12, 0x3b, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x35, 0x0a, - 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x64, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, - 0x6c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, - 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x3e, - 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x22, 0x17, - 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x64, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, - 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0x5d, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, - 0x06, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x22, 0x3c, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x22, - 0xb5, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x69, 0x73, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, - 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, - 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xfc, 0x01, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x79, 0x12, 0x50, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, - 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x64, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, - 0xa0, 0x02, 0x0a, 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, - 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x5f, 0x72, 0x6f, 0x6f, - 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x49, 0x64, 0x22, 0xaa, 0x02, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, - 0x70, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x52, 0x65, 0x70, - 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, - 0x72, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x21, 0x0a, 0x0c, - 0x74, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0xb9, 0x03, 0x0a, 0x21, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, - 0x32, 0x0a, 0x15, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x41, 0x70, 0x69, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x18, 0x64, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, - 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x61, 0x66, 0x6b, 0x61, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x6b, 0x61, 0x66, 0x6b, 0x61, 0x12, 0x3c, - 0x0a, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x61, 0x62, 0x62, 0x69, 0x74, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x12, 0x4c, 0x0a, 0x0c, - 0x6b, 0x75, 0x62, 0x65, 0x6d, 0x71, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x66, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, - 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x75, 0x62, 0x65, 0x4d, - 0x51, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x6b, - 0x75, 0x62, 0x65, 0x6d, 0x71, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x61, 0x77, - 0x73, 0x5f, 0x73, 0x71, 0x73, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x57, 0x53, 0x53, 0x51, 0x53, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x06, 0x61, 0x77, 0x73, 0x53, 0x71, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x68, 0x74, 0x74, - 0x70, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, - 0x2e, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x22, 0xa4, 0x01, 0x0a, 0x0f, - 0x48, 0x54, 0x54, 0x50, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x12, 0x43, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x6f, 0x70, 0x74, 0x73, - 0x2e, 0x48, 0x54, 0x54, 0x50, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x2a, 0x2a, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x2a, 0x31, - 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x64, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x61, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x10, - 0x01, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x70, 0x6c, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, - 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x6f, 0x70, 0x74, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_opts_ps_opts_streamdal_proto_rawDescOnce sync.Once - file_opts_ps_opts_streamdal_proto_rawDescData = file_opts_ps_opts_streamdal_proto_rawDesc -) - -func file_opts_ps_opts_streamdal_proto_rawDescGZIP() []byte { - file_opts_ps_opts_streamdal_proto_rawDescOnce.Do(func() { - file_opts_ps_opts_streamdal_proto_rawDescData = protoimpl.X.CompressGZIP(file_opts_ps_opts_streamdal_proto_rawDescData) - }) - return file_opts_ps_opts_streamdal_proto_rawDescData -} - -var file_opts_ps_opts_streamdal_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_opts_ps_opts_streamdal_proto_msgTypes = make([]protoimpl.MessageInfo, 17) -var file_opts_ps_opts_streamdal_proto_goTypes = []interface{}{ - (StreamdalOutputType)(0), // 0: protos.opts.StreamdalOutputType - (StreamdalReplayType)(0), // 1: protos.opts.StreamdalReplayType - (*StreamdalOptions)(nil), // 2: protos.opts.StreamdalOptions - (*StreamdalLoginOptions)(nil), // 3: protos.opts.StreamdalLoginOptions - (*StreamdalLogoutOptions)(nil), // 4: protos.opts.StreamdalLogoutOptions - (*StreamdalListCollectionOptions)(nil), // 5: protos.opts.StreamdalListCollectionOptions - (*StreamdalListDestinationOptions)(nil), // 6: protos.opts.StreamdalListDestinationOptions - (*StreamdalListSchemaOptions)(nil), // 7: protos.opts.StreamdalListSchemaOptions - (*StreamdalListReplayOptions)(nil), // 8: protos.opts.StreamdalListReplayOptions - (*StreamdalArchiveOptions)(nil), // 9: protos.opts.StreamdalArchiveOptions - (*StreamdalArchiveReplayOptions)(nil), // 10: protos.opts.StreamdalArchiveReplayOptions - (*StreamdalListOptions)(nil), // 11: protos.opts.StreamdalListOptions - (*StreamdalCreateOptions)(nil), // 12: protos.opts.StreamdalCreateOptions - (*StreamdalSearchOptions)(nil), // 13: protos.opts.StreamdalSearchOptions - (*StreamdalCreateCollectionOptions)(nil), // 14: protos.opts.StreamdalCreateCollectionOptions - (*StreamdalCreateReplayOptions)(nil), // 15: protos.opts.StreamdalCreateReplayOptions - (*StreamdalCreateDestinationOptions)(nil), // 16: protos.opts.StreamdalCreateDestinationOptions - (*HTTPDestination)(nil), // 17: protos.opts.HTTPDestination - nil, // 18: protos.opts.HTTPDestination.HeadersEntry - (*WriteGroupKafkaOptions)(nil), // 19: protos.opts.WriteGroupKafkaOptions - (*WriteGroupRabbitOptions)(nil), // 20: protos.opts.WriteGroupRabbitOptions - (*WriteGroupKubeMQQueueOptions)(nil), // 21: protos.opts.WriteGroupKubeMQQueueOptions - (*WriteGroupAWSSQSOptions)(nil), // 22: protos.opts.WriteGroupAWSSQSOptions -} -var file_opts_ps_opts_streamdal_proto_depIdxs = []int32{ - 0, // 0: protos.opts.StreamdalOptions.output_type:type_name -> protos.opts.StreamdalOutputType - 3, // 1: protos.opts.StreamdalOptions.login:type_name -> protos.opts.StreamdalLoginOptions - 4, // 2: protos.opts.StreamdalOptions.logout:type_name -> protos.opts.StreamdalLogoutOptions - 11, // 3: protos.opts.StreamdalOptions.list:type_name -> protos.opts.StreamdalListOptions - 12, // 4: protos.opts.StreamdalOptions.create:type_name -> protos.opts.StreamdalCreateOptions - 13, // 5: protos.opts.StreamdalOptions.search:type_name -> protos.opts.StreamdalSearchOptions - 9, // 6: protos.opts.StreamdalOptions.archive:type_name -> protos.opts.StreamdalArchiveOptions - 10, // 7: protos.opts.StreamdalArchiveOptions.replay:type_name -> protos.opts.StreamdalArchiveReplayOptions - 5, // 8: protos.opts.StreamdalListOptions.collection:type_name -> protos.opts.StreamdalListCollectionOptions - 6, // 9: protos.opts.StreamdalListOptions.destination:type_name -> protos.opts.StreamdalListDestinationOptions - 8, // 10: protos.opts.StreamdalListOptions.replay:type_name -> protos.opts.StreamdalListReplayOptions - 7, // 11: protos.opts.StreamdalListOptions.schema:type_name -> protos.opts.StreamdalListSchemaOptions - 14, // 12: protos.opts.StreamdalCreateOptions.collection:type_name -> protos.opts.StreamdalCreateCollectionOptions - 15, // 13: protos.opts.StreamdalCreateOptions.replay:type_name -> protos.opts.StreamdalCreateReplayOptions - 16, // 14: protos.opts.StreamdalCreateOptions.destination:type_name -> protos.opts.StreamdalCreateDestinationOptions - 1, // 15: protos.opts.StreamdalCreateReplayOptions.type:type_name -> protos.opts.StreamdalReplayType - 19, // 16: protos.opts.StreamdalCreateDestinationOptions.kafka:type_name -> protos.opts.WriteGroupKafkaOptions - 20, // 17: protos.opts.StreamdalCreateDestinationOptions.rabbit:type_name -> protos.opts.WriteGroupRabbitOptions - 21, // 18: protos.opts.StreamdalCreateDestinationOptions.kubemq_queue:type_name -> protos.opts.WriteGroupKubeMQQueueOptions - 22, // 19: protos.opts.StreamdalCreateDestinationOptions.aws_sqs:type_name -> protos.opts.WriteGroupAWSSQSOptions - 17, // 20: protos.opts.StreamdalCreateDestinationOptions.http:type_name -> protos.opts.HTTPDestination - 18, // 21: protos.opts.HTTPDestination.headers:type_name -> protos.opts.HTTPDestination.HeadersEntry - 22, // [22:22] is the sub-list for method output_type - 22, // [22:22] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name -} - -func init() { file_opts_ps_opts_streamdal_proto_init() } -func file_opts_ps_opts_streamdal_proto_init() { - if File_opts_ps_opts_streamdal_proto != nil { - return - } - file_opts_ps_opts_write_proto_init() - if !protoimpl.UnsafeEnabled { - file_opts_ps_opts_streamdal_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalLoginOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalLogoutOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalListCollectionOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalListDestinationOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalListSchemaOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalListReplayOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalArchiveOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalArchiveReplayOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalListOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalCreateOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalSearchOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalCreateCollectionOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalCreateReplayOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamdalCreateDestinationOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_opts_ps_opts_streamdal_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTTPDestination); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_opts_ps_opts_streamdal_proto_rawDesc, - NumEnums: 2, - NumMessages: 17, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_opts_ps_opts_streamdal_proto_goTypes, - DependencyIndexes: file_opts_ps_opts_streamdal_proto_depIdxs, - EnumInfos: file_opts_ps_opts_streamdal_proto_enumTypes, - MessageInfos: file_opts_ps_opts_streamdal_proto_msgTypes, - }.Build() - File_opts_ps_opts_streamdal_proto = out.File - file_opts_ps_opts_streamdal_proto_rawDesc = nil - file_opts_ps_opts_streamdal_proto_goTypes = nil - file_opts_ps_opts_streamdal_proto_depIdxs = nil -} diff --git a/vendor/modules.txt b/vendor/modules.txt index 5ec85714..37dd19a1 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -175,7 +175,7 @@ github.com/batchcorp/kong # github.com/batchcorp/natty v0.0.16 ## explicit; go 1.16 github.com/batchcorp/natty -# github.com/batchcorp/plumber-schemas v0.0.185 +# github.com/batchcorp/plumber-schemas v0.0.186 ## explicit; go 1.16 github.com/batchcorp/plumber-schemas/build/go/protos github.com/batchcorp/plumber-schemas/build/go/protos/args