diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d585e0b7..b986128e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,14 +6,14 @@ jobs: golangci: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: actions/setup-go@v4 + - uses: actions/setup-go@v6 with: go-version: "1.20" - name: golangci-lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v9 with: - version: v1.53 + version: v2.1 args: --timeout=5m diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dd2969ad..3a6baa09 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,22 +9,22 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v6 with: go-version: "1.20" - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v4 with: registry: docker.io username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Publish dev image id: docker_dev_build - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v7 with: push: true file: "./Dockerfile.dev" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4bab4db6..ca41f249 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,21 +10,21 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v6 with: go-version: "1.20" - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v4 with: registry: docker.io username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Run GoReleaser - uses: goreleaser/goreleaser-action@v4 + uses: goreleaser/goreleaser-action@v7 with: distribution: goreleaser version: latest diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d95c888..415cf2ea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,8 +12,8 @@ jobs: env: ES_TEST_SERVER_URL: "http://elasticsearch:9200" steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-go@v6 with: go-version: "1.20" - name: Install dependencies diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..2fb16677 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,22 @@ +version: "2" + +linters: + enable: + - errcheck + - staticcheck + settings: + errcheck: + exclude-functions: + - (io.Closer).Close + - (*database/sql.Conn).Close + - (*github.com/jmoiron/sqlx.Conn).Close + - (*google.golang.org/grpc.ClientConn).Close + - (github.com/ory/dockertest/v3.Resource).Close + exclusions: + rules: + - linters: + - errcheck + text: '\.Close' + - linters: + - staticcheck + text: 'QF1008' diff --git a/Makefile b/Makefile index a41b9590..c682ca25 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ COMMIT := $(shell git rev-parse --short HEAD) TAG := "$(shell git rev-list --tags --max-count=1)" VERSION := "$(shell git describe --tags ${TAG})-next" BUILD_DIR=dist -PROTON_COMMIT := "ccbf219312db35a934361ebad895cb40145ca235" +PROTON_COMMIT := "409f146" .PHONY: all build clean test tidy vet proto setup format generat diff --git a/buf.gen.yaml b/buf.gen.yaml index b83faa12..43f38f9e 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -15,7 +15,6 @@ plugins: out: proto opt: - paths=source_relative - - lang=go - plugin: buf.build/grpc-ecosystem/openapiv2:v2.16.0 out: proto opt: diff --git a/cli/config.go b/cli/config.go index aab69554..c18d856d 100644 --- a/cli/config.go +++ b/cli/config.go @@ -11,7 +11,7 @@ import ( esStore "github.com/raystack/compass/internal/store/elasticsearch" "github.com/raystack/compass/internal/store/postgres" "github.com/raystack/compass/pkg/metrics" - "github.com/raystack/compass/pkg/statsd" + "github.com/raystack/compass/pkg/telemetry" "github.com/raystack/salt/cmdx" "github.com/raystack/salt/config" "github.com/spf13/cobra" @@ -79,12 +79,12 @@ type Config struct { // Log LogLevel string `yaml:"log_level" mapstructure:"log_level" default:"info"` - // StatsD - StatsD statsd.Config `mapstructure:"statsd"` - // NewRelic NewRelic metrics.NewRelicConfig `mapstructure:"newrelic"` + // Telemetry + Telemetry telemetry.Config `mapstructure:"telemetry"` + // Elasticsearch Elasticsearch esStore.Config `mapstructure:"elasticsearch"` diff --git a/cli/server.go b/cli/server.go index affe576f..1e53c920 100644 --- a/cli/server.go +++ b/cli/server.go @@ -18,7 +18,7 @@ import ( compassserver "github.com/raystack/compass/internal/server" esStore "github.com/raystack/compass/internal/store/elasticsearch" "github.com/raystack/compass/internal/store/postgres" - "github.com/raystack/compass/pkg/statsd" + "github.com/raystack/compass/pkg/telemetry" "github.com/raystack/salt/log" "github.com/spf13/cobra" ) @@ -100,10 +100,12 @@ func runServer(config *Config) error { if err != nil { return err } - statsdReporter, err := statsd.Init(logger, config.StatsD) + + otelCleanup, err := telemetry.Init(ctx, config.Telemetry, logger) if err != nil { - return err + return fmt.Errorf("failed to initialize telemetry: %w", err) } + defer otelCleanup() esClient, err := initElasticsearch(logger, config.Elasticsearch) if err != nil { @@ -132,7 +134,7 @@ func runServer(config *Config) error { if err != nil { return fmt.Errorf("failed to create new user repository: %w", err) } - userService := user.NewService(logger, userRepository, user.ServiceWithStatsDReporter(statsdReporter)) + userService := user.NewService(logger, userRepository) assetRepository, err := postgres.NewAssetRepository(pgClient, userRepository, 0, config.Service.Identity.ProviderDefaultName) if err != nil { @@ -168,7 +170,6 @@ func runServer(config *Config) error { logger, pgClient, nrApp, - statsdReporter, namespaceService, assetService, starService, diff --git a/core/asset/asset.go b/core/asset/asset.go index 36f0cd92..69c8ac71 100644 --- a/core/asset/asset.go +++ b/core/asset/asset.go @@ -3,11 +3,12 @@ package asset //go:generate mockery --name=Repository -r --case underscore --with-expecter --structname AssetRepository --filename asset_repository.go --output=./mocks import ( "context" - "github.com/raystack/compass/core/namespace" + "fmt" "time" - "github.com/raystack/compass/core/user" "github.com/r3labs/diff/v2" + "github.com/raystack/compass/core/namespace" + "github.com/raystack/compass/core/user" ) type Repository interface { @@ -22,6 +23,10 @@ type Repository interface { Upsert(ctx context.Context, ns *namespace.Namespace, ast *Asset) (string, error) DeleteByID(ctx context.Context, id string) error DeleteByURN(ctx context.Context, urn string) error + SoftDeleteByID(ctx context.Context, id string) (string, error) + SoftDeleteByURN(ctx context.Context, urn string) (string, error) + GetCountByIsDeleted(ctx context.Context, isDeleted bool) (int, error) + HardDeleteByURNs(ctx context.Context, urns []string) error AddProbe(ctx context.Context, ns *namespace.Namespace, assetURN string, probe *Probe) error GetProbes(ctx context.Context, assetURN string) ([]Probe, error) GetProbesWithFilter(ctx context.Context, flt ProbesFilter) (map[string][]Probe, error) @@ -39,14 +44,18 @@ type Asset struct { URL string `json:"url" diff:"url"` Labels map[string]string `json:"labels" diff:"labels"` Owners []user.User `json:"owners,omitempty" diff:"owners"` + IsDeleted bool `json:"is_deleted" diff:"is_deleted"` CreatedAt time.Time `json:"created_at" diff:"-"` UpdatedAt time.Time `json:"updated_at" diff:"-"` + RefreshedAt *time.Time `json:"refreshed_at,omitempty" diff:"-"` Version string `json:"version" diff:"-"` UpdatedBy user.User `json:"updated_by" diff:"-"` Changelog diff.Changelog `json:"changelog,omitempty" diff:"-"` Probes []Probe `json:"probes,omitempty"` } +var ErrAssetAlreadyDeleted = fmt.Errorf("asset already deleted") + // Diff returns nil changelog with nil error if equal // returns wrapped r3labs/diff Changelog struct with nil error if not equal func (a *Asset) Diff(otherAsset *Asset) (diff.Changelog, error) { diff --git a/core/asset/discovery.go b/core/asset/discovery.go index 7394cf5a..42e116e2 100644 --- a/core/asset/discovery.go +++ b/core/asset/discovery.go @@ -11,19 +11,49 @@ type DiscoveryRepository interface { Upsert(ctx context.Context, ns *namespace.Namespace, ast *Asset) error DeleteByID(ctx context.Context, ns *namespace.Namespace, assetID string) error DeleteByURN(ctx context.Context, ns *namespace.Namespace, assetURN string) error + SoftDeleteByURN(ctx context.Context, ns *namespace.Namespace, assetURN string) error Search(ctx context.Context, cfg SearchConfig) (results []SearchResult, err error) Suggest(ctx context.Context, cfg SearchConfig) (suggestions []string, err error) + GroupAssets(ctx context.Context, cfg GroupConfig) ([]GroupResult, error) +} + +// GroupConfig represents configuration for grouping assets +type GroupConfig struct { + GroupBy []string + Filters SearchFilter + IncludeFields []string + Size int + Namespace *namespace.Namespace +} + +// GroupResult represents a single group of assets +type GroupResult struct { + Fields []GroupField + Assets []Asset +} + +// GroupField represents a key-value pair identifying a group +type GroupField struct { + Key string + Value string } // SearchFilter is a filter intended to be used as a search // criteria for operations involving asset search type SearchFilter = map[string][]string +// SearchFlags contains flags that modify search behavior +type SearchFlags struct { + DisableFuzzy bool + EnableHighlight bool + IsColumnSearch bool +} + // SearchConfig represents a search query along // with any corresponding filter(s) type SearchConfig struct { // Text to search for - Text string `validate:"required"` + Text string // Filters specifies document level values to look for. // Multiple values can be specified for a single key @@ -32,12 +62,21 @@ type SearchConfig struct { // Number of relevant results to return MaxResults int + // Offset is the offset for search results, used for pagination + Offset int + // RankBy is a param to rank based on a specific parameter RankBy string // Queries is a param to search a resource based on asset's fields Queries map[string]string + // IncludeFields specifies which fields to include in search results + IncludeFields []string + + // Flags contains optional search flags + Flags SearchFlags + // Namespace under which assets are partitioned. *Required* Namespace *namespace.Namespace `validate:"required"` } diff --git a/core/asset/discovery_test.go b/core/asset/discovery_test.go index 1fadd91d..ef7135b7 100644 --- a/core/asset/discovery_test.go +++ b/core/asset/discovery_test.go @@ -75,12 +75,12 @@ func TestSearchConfig_Validate(t *testing.T) { wantErr: true, }, { - name: "fail validation if text is empty", + name: "should not fail validation if text is empty but namespace is present", fields: fields{ Text: "", Namespace: &namespace.Namespace{}, }, - wantErr: true, + wantErr: false, }, { name: "should not fail validation if all required fields are non empty", diff --git a/core/asset/filter.go b/core/asset/filter.go index 2caf617a..2d0c8d48 100644 --- a/core/asset/filter.go +++ b/core/asset/filter.go @@ -16,6 +16,7 @@ type Filter struct { QueryFields []string Query string Data map[string][]string + IsDeleted *bool } func (f *Filter) Validate() error { @@ -32,6 +33,7 @@ type filterBuilder struct { offset int sortBy string sortDirection string + isDeleted *bool } func NewFilterBuilder() *filterBuilder { @@ -83,6 +85,11 @@ func (fb *filterBuilder) SortDirection(sortDirection string) *filterBuilder { return fb } +func (fb *filterBuilder) IsDeleted(isDeleted bool) *filterBuilder { + fb.isDeleted = &isDeleted + return fb +} + func (fb *filterBuilder) Build() (Filter, error) { flt := Filter{ Size: fb.size, @@ -90,6 +97,7 @@ func (fb *filterBuilder) Build() (Filter, error) { SortBy: fb.sortBy, SortDirection: fb.sortDirection, Query: fb.q, + IsDeleted: fb.isDeleted, } if len(fb.data) != 0 { diff --git a/core/asset/lineage.go b/core/asset/lineage.go index d925cb67..33ae379c 100644 --- a/core/asset/lineage.go +++ b/core/asset/lineage.go @@ -23,8 +23,10 @@ const ( ) type LineageQuery struct { - Level int - Direction LineageDirection + Level int + Direction LineageDirection + WithAttributes bool + IncludeDeleted bool } //go:generate mockery --name=LineageRepository -r --case underscore --with-expecter --structname=LineageRepository --filename=lineage_repository.go --output=./mocks @@ -32,6 +34,7 @@ type LineageRepository interface { GetGraph(ctx context.Context, urn string, query LineageQuery) (LineageGraph, error) Upsert(ctx context.Context, ns *namespace.Namespace, urn string, upstreams, downstreams []string) error DeleteByURN(ctx context.Context, urn string) error + DeleteByURNs(ctx context.Context, urns []string) error } type LineageGraph []LineageEdge diff --git a/core/asset/mocks/asset_repository.go b/core/asset/mocks/asset_repository.go index f19d21ff..b028577a 100644 --- a/core/asset/mocks/asset_repository.go +++ b/core/asset/mocks/asset_repository.go @@ -753,6 +753,81 @@ func (_c *AssetRepository_Upsert_Call) RunAndReturn(run func(context.Context, *n return _c } +// SoftDeleteByID provides a mock function with given fields: ctx, id +func (_m *AssetRepository) SoftDeleteByID(ctx context.Context, id string) (string, error) { + ret := _m.Called(ctx, id) + var r0 string + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, string) (string, error)); ok { + return rf(ctx, id) + } + if rf, ok := ret.Get(0).(func(context.Context, string) string); ok { + r0 = rf(ctx, id) + } else { + r0 = ret.Get(0).(string) + } + if rf, ok := ret.Get(1).(func(context.Context, string) error); ok { + r1 = rf(ctx, id) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// SoftDeleteByURN provides a mock function with given fields: ctx, urn +func (_m *AssetRepository) SoftDeleteByURN(ctx context.Context, urn string) (string, error) { + ret := _m.Called(ctx, urn) + var r0 string + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, string) (string, error)); ok { + return rf(ctx, urn) + } + if rf, ok := ret.Get(0).(func(context.Context, string) string); ok { + r0 = rf(ctx, urn) + } else { + r0 = ret.Get(0).(string) + } + if rf, ok := ret.Get(1).(func(context.Context, string) error); ok { + r1 = rf(ctx, urn) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// GetCountByIsDeleted provides a mock function with given fields: ctx, isDeleted +func (_m *AssetRepository) GetCountByIsDeleted(ctx context.Context, isDeleted bool) (int, error) { + ret := _m.Called(ctx, isDeleted) + var r0 int + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, bool) (int, error)); ok { + return rf(ctx, isDeleted) + } + if rf, ok := ret.Get(0).(func(context.Context, bool) int); ok { + r0 = rf(ctx, isDeleted) + } else { + r0 = ret.Get(0).(int) + } + if rf, ok := ret.Get(1).(func(context.Context, bool) error); ok { + r1 = rf(ctx, isDeleted) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// HardDeleteByURNs provides a mock function with given fields: ctx, urns +func (_m *AssetRepository) HardDeleteByURNs(ctx context.Context, urns []string) error { + ret := _m.Called(ctx, urns) + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, []string) error); ok { + r0 = rf(ctx, urns) + } else { + r0 = ret.Error(0) + } + return r0 +} + type mockConstructorTestingTNewAssetRepository interface { mock.TestingT Cleanup(func()) diff --git a/core/asset/mocks/discovery_repository.go b/core/asset/mocks/discovery_repository.go index 97c77d1a..1d3c1833 100644 --- a/core/asset/mocks/discovery_repository.go +++ b/core/asset/mocks/discovery_repository.go @@ -267,6 +267,41 @@ func (_c *DiscoveryRepository_Upsert_Call) RunAndReturn(run func(context.Context return _c } +// GroupAssets provides a mock function with given fields: ctx, cfg +func (_m *DiscoveryRepository) GroupAssets(ctx context.Context, cfg asset.GroupConfig) ([]asset.GroupResult, error) { + ret := _m.Called(ctx, cfg) + var r0 []asset.GroupResult + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, asset.GroupConfig) ([]asset.GroupResult, error)); ok { + return rf(ctx, cfg) + } + if rf, ok := ret.Get(0).(func(context.Context, asset.GroupConfig) []asset.GroupResult); ok { + r0 = rf(ctx, cfg) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]asset.GroupResult) + } + } + if rf, ok := ret.Get(1).(func(context.Context, asset.GroupConfig) error); ok { + r1 = rf(ctx, cfg) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// SoftDeleteByURN provides a mock function with given fields: ctx, ns, assetURN +func (_m *DiscoveryRepository) SoftDeleteByURN(ctx context.Context, ns *namespace.Namespace, assetURN string) error { + ret := _m.Called(ctx, ns, assetURN) + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, *namespace.Namespace, string) error); ok { + r0 = rf(ctx, ns, assetURN) + } else { + r0 = ret.Error(0) + } + return r0 +} + type mockConstructorTestingTNewDiscoveryRepository interface { mock.TestingT Cleanup(func()) diff --git a/core/asset/mocks/lineage_repository.go b/core/asset/mocks/lineage_repository.go index 73cd9911..6c342b98 100644 --- a/core/asset/mocks/lineage_repository.go +++ b/core/asset/mocks/lineage_repository.go @@ -165,6 +165,18 @@ func (_c *LineageRepository_Upsert_Call) RunAndReturn(run func(context.Context, return _c } +// DeleteByURNs provides a mock function with given fields: ctx, urns +func (_m *LineageRepository) DeleteByURNs(ctx context.Context, urns []string) error { + ret := _m.Called(ctx, urns) + var r0 error + if rf, ok := ret.Get(0).(func(context.Context, []string) error); ok { + r0 = rf(ctx, urns) + } else { + r0 = ret.Error(0) + } + return r0 +} + type mockConstructorTestingTNewLineageRepository interface { mock.TestingT Cleanup(func()) diff --git a/core/asset/service.go b/core/asset/service.go index 87ccb939..6898c5e9 100644 --- a/core/asset/service.go +++ b/core/asset/service.go @@ -93,6 +93,28 @@ func (s *Service) DeleteAsset(ctx context.Context, ns *namespace.Namespace, id s return s.lineageRepository.DeleteByURN(ctx, id) } +// SoftDeleteAsset marks an asset as deleted without removing it +func (s *Service) SoftDeleteAsset(ctx context.Context, ns *namespace.Namespace, id string) error { + var urn string + var err error + + if isValidUUID(id) { + urn, err = s.assetRepository.SoftDeleteByID(ctx, id) + } else { + urn = id + _, err = s.assetRepository.SoftDeleteByURN(ctx, id) + } + if err != nil { + return err + } + + if err := s.discoveryRepository.SoftDeleteByURN(ctx, ns, urn); err != nil { + return fmt.Errorf("error soft deleting asset in discovery: %w", err) + } + + return nil +} + func (s *Service) GetAssetByID(ctx context.Context, id string) (ast Asset, err error) { if isValidUUID(id) { if ast, err = s.assetRepository.GetByID(ctx, id); err != nil { @@ -136,6 +158,12 @@ func (s *Service) GetLineage(ctx context.Context, urn string, query LineageQuery return Lineage{}, fmt.Errorf("get lineage: get graph edges: %w", err) } + if !query.WithAttributes { + return Lineage{ + Edges: edges, + }, nil + } + urns := newUniqueStrings(len(edges)) urns.add(urn) for _, edge := range edges { @@ -167,6 +195,10 @@ func (s *Service) GetTypes(ctx context.Context, flt Filter) (map[Type]int, error func (s *Service) SearchAssets(ctx context.Context, cfg SearchConfig) (results []SearchResult, err error) { return s.discoveryRepository.Search(ctx, cfg) } + +func (s *Service) GroupAssets(ctx context.Context, cfg GroupConfig) ([]GroupResult, error) { + return s.discoveryRepository.GroupAssets(ctx, cfg) +} func (s *Service) SuggestAssets(ctx context.Context, cfg SearchConfig) (suggestions []string, err error) { return s.discoveryRepository.Suggest(ctx, cfg) } diff --git a/core/asset/service_test.go b/core/asset/service_test.go index e745d709..26538aa8 100644 --- a/core/asset/service_test.go +++ b/core/asset/service_test.go @@ -688,7 +688,7 @@ func TestService_GetLineage(t *testing.T) { Description: `should return error if the GetGraph function return error`, ID: assetID, Setup: func(ctx context.Context, ar *mocks.AssetRepository, dr *mocks.DiscoveryRepository, lr *mocks.LineageRepository) { - lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{}). + lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{WithAttributes: true}). Return(asset.LineageGraph{}, errors.New("error fetching graph")) }, Expected: asset.Lineage{}, @@ -698,7 +698,7 @@ func TestService_GetLineage(t *testing.T) { Description: `should return no error if graph with 0 edges are returned`, ID: assetID, Setup: func(ctx context.Context, ar *mocks.AssetRepository, dr *mocks.DiscoveryRepository, lr *mocks.LineageRepository) { - lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{}). + lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{WithAttributes: true}). Return(asset.LineageGraph{}, nil) ar.EXPECT().GetProbesWithFilter(ctx, asset.ProbesFilter{ AssetURNs: []string{"urn-source-1"}, @@ -712,7 +712,7 @@ func TestService_GetLineage(t *testing.T) { Description: `should return an error if GetProbesWithFilter function returns error`, ID: assetID, Setup: func(ctx context.Context, ar *mocks.AssetRepository, dr *mocks.DiscoveryRepository, lr *mocks.LineageRepository) { - lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{}).Return(asset.LineageGraph{ + lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{WithAttributes: true}).Return(asset.LineageGraph{ {Source: "urn-source-1", Target: "urn-target-1", Prop: nil}, {Source: "urn-source-1", Target: "urn-target-2", Prop: nil}, {Source: "urn-target-2", Target: "urn-target-3", Prop: nil}, @@ -729,7 +729,7 @@ func TestService_GetLineage(t *testing.T) { Description: `should return no error if GetProbesWithFilter function returns 0 probes`, ID: assetID, Setup: func(ctx context.Context, ar *mocks.AssetRepository, dr *mocks.DiscoveryRepository, lr *mocks.LineageRepository) { - lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{}).Return(asset.LineageGraph{ + lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{WithAttributes: true}).Return(asset.LineageGraph{ {Source: "urn-source-1", Target: "urn-target-1", Prop: nil}, {Source: "urn-source-1", Target: "urn-target-2", Prop: nil}, {Source: "urn-target-2", Target: "urn-target-3", Prop: nil}, @@ -753,7 +753,7 @@ func TestService_GetLineage(t *testing.T) { Description: `should return lineage with edges and node attributes`, ID: assetID, Setup: func(ctx context.Context, ar *mocks.AssetRepository, dr *mocks.DiscoveryRepository, lr *mocks.LineageRepository) { - lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{}).Return(asset.LineageGraph{ + lr.EXPECT().GetGraph(ctx, "urn-source-1", asset.LineageQuery{WithAttributes: true}).Return(asset.LineageGraph{ {Source: "urn-source-1", Target: "urn-target-1", Prop: nil}, {Source: "urn-source-1", Target: "urn-target-2", Prop: nil}, {Source: "urn-target-2", Target: "urn-target-3", Prop: nil}, @@ -808,7 +808,7 @@ func TestService_GetLineage(t *testing.T) { } svc := asset.NewService(mockAssetRepo, mockDiscoveryRepo, mockLineageRepo) - actual, err := svc.GetLineage(ctx, "urn-source-1", asset.LineageQuery{}) + actual, err := svc.GetLineage(ctx, "urn-source-1", asset.LineageQuery{WithAttributes: true}) if tc.Err == nil { assert.NoError(t, err) } else { diff --git a/core/asset/type.go b/core/asset/type.go index 44d17af4..959e0757 100644 --- a/core/asset/type.go +++ b/core/asset/type.go @@ -8,6 +8,9 @@ const ( TypeFeatureTable Type = "feature_table" TypeApplication Type = "application" TypeModel Type = "model" + TypeQuery Type = "query" + TypeMetric Type = "metric" + TypeExperiment Type = "experiment" ) // AllSupportedTypes holds a list of all supported types struct @@ -19,6 +22,9 @@ var AllSupportedTypes = []Type{ TypeFeatureTable, TypeApplication, TypeModel, + TypeQuery, + TypeMetric, + TypeExperiment, } // Type specifies a supported type name @@ -33,7 +39,8 @@ func (t Type) String() string { func (t Type) IsValid() bool { switch t { case TypeTable, TypeJob, TypeDashboard, TypeTopic, - TypeFeatureTable, TypeApplication, TypeModel: + TypeFeatureTable, TypeApplication, TypeModel, + TypeQuery, TypeMetric, TypeExperiment: return true } return false diff --git a/core/discussion/discussion.go b/core/discussion/discussion.go index 2a40b974..1c2638c0 100644 --- a/core/discussion/discussion.go +++ b/core/discussion/discussion.go @@ -100,15 +100,15 @@ func (d Discussion) ValidateConstraint() error { return ErrInvalidState } - if d.Assignees != nil && len(d.Assignees) > MAX_ARRAY_FIELD_NUM { + if len(d.Assignees) > MAX_ARRAY_FIELD_NUM { return fmt.Errorf("assignees cannot be more than %d", MAX_ARRAY_FIELD_NUM) } - if d.Assets != nil && len(d.Assets) > MAX_ARRAY_FIELD_NUM { + if len(d.Assets) > MAX_ARRAY_FIELD_NUM { return fmt.Errorf("assets cannot be more than %d", MAX_ARRAY_FIELD_NUM) } - if d.Labels != nil && len(d.Labels) > MAX_ARRAY_FIELD_NUM { + if len(d.Labels) > MAX_ARRAY_FIELD_NUM { return fmt.Errorf("labels cannot be more than %d", MAX_ARRAY_FIELD_NUM) } return nil diff --git a/core/user/service.go b/core/user/service.go index 5efc74dc..ab22117a 100644 --- a/core/user/service.go +++ b/core/user/service.go @@ -3,17 +3,15 @@ package user import ( "context" "errors" - "github.com/raystack/compass/core/namespace" - "github.com/raystack/compass/pkg/statsd" + "github.com/raystack/compass/core/namespace" "github.com/raystack/salt/log" ) // Service is a type of service that manages business process type Service struct { - statsdReporter *statsd.Reporter - repository Repository - logger log.Logger + repository Repository + logger log.Logger } // ValidateUser checks if user uuid is already in DB @@ -26,14 +24,8 @@ func (s *Service) ValidateUser(ctx context.Context, ns *namespace.Namespace, uui usr, err := s.repository.GetByUUID(ctx, uuid) if err == nil { if usr.ID != "" { - s.statsdReporter.Incr("user_stats"). - Tag("info", "existing"). - Publish() return usr.ID, nil } - s.statsdReporter.Incr("user_stats"). - Tag("info", "error"). - Publish() err := errors.New("fetched user uuid from DB is empty") s.logger.Error(err.Error()) return "", err @@ -47,38 +39,16 @@ func (s *Service) ValidateUser(ctx context.Context, ns *namespace.Namespace, uui Email: email, }) if err != nil { - s.statsdReporter.Incr("user_stats"). - Tag("info", "error"). - Publish() s.logger.Error("error when UpsertByEmail in ValidateUser service", "err", err.Error()) return "", err } - s.statsdReporter.Incr("user_stats"). - Tag("info", "new"). - Publish() return uid, nil } // NewService initializes user service -func NewService(logger log.Logger, repository Repository, opts ...func(*Service)) *Service { - s := &Service{ +func NewService(logger log.Logger, repository Repository) *Service { + return &Service{ repository: repository, logger: logger, } - - for _, opt := range opts { - opt(s) - } - - if s.statsdReporter == nil { - s.statsdReporter = &statsd.Reporter{} - } - - return s -} - -func ServiceWithStatsDReporter(statsdReporter *statsd.Reporter) func(*Service) { - return func(s *Service) { - s.statsdReporter = statsdReporter - } } diff --git a/core/user/service_test.go b/core/user/service_test.go index a4828bb8..97a27c49 100644 --- a/core/user/service_test.go +++ b/core/user/service_test.go @@ -9,7 +9,6 @@ import ( "github.com/raystack/compass/core/user" "github.com/raystack/compass/core/user/mocks" - "github.com/raystack/compass/pkg/statsd" "github.com/raystack/salt/log" "github.com/stretchr/testify/assert" ) @@ -102,10 +101,3 @@ func TestValidateUser(t *testing.T) { } } -func TestServiceWithStatsDResporter(t *testing.T) { - t.Run("should create statsDReport for a service", func(t *testing.T) { - usr := &user.Service{} - s := user.ServiceWithStatsDReporter(&statsd.Reporter{}) - s(usr) - }) -} diff --git a/go.mod b/go.mod index e55e240b..e1e7bad4 100644 --- a/go.mod +++ b/go.mod @@ -9,13 +9,13 @@ require ( github.com/Masterminds/squirrel v1.5.2 github.com/elastic/go-elasticsearch v0.0.0 github.com/elastic/go-elasticsearch/v7 v7.16.0 - github.com/envoyproxy/protoc-gen-validate v0.6.7 + github.com/envoyproxy/protoc-gen-validate v0.10.0 github.com/go-playground/locales v0.14.0 github.com/go-playground/universal-translator v0.18.0 github.com/go-playground/validator/v10 v10.10.0 github.com/golang-migrate/migrate/v4 v4.15.2 github.com/golang-module/carbon/v2 v2.1.8 - github.com/google/go-cmp v0.5.8 + github.com/google/go-cmp v0.5.9 github.com/google/uuid v1.3.0 github.com/gorilla/handlers v1.4.2 github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 @@ -36,9 +36,15 @@ require ( github.com/raystack/salt v0.3.1 github.com/spf13/cobra v1.4.0 github.com/stretchr/testify v1.8.4 - google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc - google.golang.org/grpc v1.49.0 - google.golang.org/protobuf v1.28.1 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 + go.opentelemetry.io/otel v1.16.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.39.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 + go.opentelemetry.io/otel/sdk v1.16.0 + go.opentelemetry.io/otel/sdk/metric v0.39.0 + google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 + google.golang.org/grpc v1.55.0 + google.golang.org/protobuf v1.30.0 gopkg.in/yaml.v2 v2.4.0 gotest.tools v2.2.0+incompatible ) @@ -50,7 +56,7 @@ require ( github.com/alecthomas/chroma v0.8.2 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/briandowns/spinner v1.18.0 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/charmbracelet/glamour v0.3.0 // indirect github.com/cli/safeexec v1.0.0 // indirect github.com/containerd/continuity v0.3.0 // indirect @@ -66,7 +72,7 @@ require ( github.com/fatih/color v1.13.0 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/gorilla/css v1.0.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -136,6 +142,8 @@ require ( require ( github.com/benbjohnson/clock v1.3.0 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -144,6 +152,12 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/viper v1.11.0 // indirect github.com/subosito/gotenv v1.4.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.39.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 // indirect + go.opentelemetry.io/otel/metric v1.16.0 // indirect + go.opentelemetry.io/otel/trace v1.16.0 // indirect + go.opentelemetry.io/proto/otlp v0.19.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.21.0 // indirect diff --git a/go.sum b/go.sum index b7439bdf..ead4ca05 100644 --- a/go.sum +++ b/go.sum @@ -33,6 +33,7 @@ cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0c cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -45,6 +46,8 @@ cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6m cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= @@ -221,8 +224,9 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0Bsq github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= @@ -464,8 +468,9 @@ github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPO github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/envoyproxy/protoc-gen-validate v0.6.7 h1:qcZcULcd/abmQg6dwigimCNEyi4gg31M/xaciQlDml8= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.10.0 h1:oIfnZFdC0YhpNNEX+SuIqko4cqqVZeN9IGTrhZje83Y= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -514,7 +519,10 @@ github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTg github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= @@ -600,8 +608,8 @@ github.com/golang-module/carbon/v2 v2.1.8/go.mod h1:NF5unWf838+pyRY0o+qZdIwBMkFf github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -634,8 +642,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -657,8 +666,9 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github/v39 v39.2.0/go.mod h1:C1s8C5aCC9L+JXIYpJM5GYytdX52vC1bLvHEF1IhBrE= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -730,6 +740,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= @@ -1377,24 +1388,48 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 h1:ZOLJc06r4CB42laIXg/7udr0pbZyuAihN10A/XuiQRY= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.39.0 h1:f6BwB2OACc3FCbYVznctQ9V6KK7Vq6CjmYXJ7DeSs4E= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.39.0/go.mod h1:UqL5mZ3qs6XYhDnZaW1Ps4upD+PX6LipH40AoeuIlwU= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.39.0 h1:rm+Fizi7lTM2UefJ1TO347fSRcwmIsUAaZmYmIGBRAo= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.39.0/go.mod h1:sWFbI3jJ+6JdjOVepA5blpv/TJ20Hw+26561iMbWcwU= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0/go.mod h1:JgXSGah17croqhJfhByOLVY719k1emAXC8MVhCIJlRs= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 h1:TVQp/bboR4mhZSav+MdgXB8FaRho1RC8UwVn3T0vjVc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0/go.mod h1:I33vtIe0sR96wfrUcilIzLoA3mLHhRmz9S9Te0S3gDo= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= +go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= +go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/sdk/metric v0.39.0 h1:Kun8i1eYf48kHH83RucG93ffz0zGV1sh46FAScOTuDI= +go.opentelemetry.io/otel/sdk/metric v0.39.0/go.mod h1:piDIRgjcK7u0HCL5pCA4e74qpK/jk3NiUoAHATVAmiI= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -1403,8 +1438,8 @@ go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= @@ -1601,6 +1636,7 @@ golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2031,8 +2067,9 @@ google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc h1:Nf+EdcTLHR8qDNN/KfkQL0u0ssxt9OhbaWCl5C0ucEI= google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -2071,8 +2108,9 @@ google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.49.0 h1:WTLtQzmQori5FUH25Pq4WT22oCsv8USpQ+F6rqtsmxw= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0/go.mod h1:DNq5QpG7LJqD2AamLZ7zvKE0DEpVl2BSEVjFycAAjRY= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -2089,8 +2127,9 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/server/server.go b/internal/server/server.go index 25fefb00..b34436d0 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -17,11 +17,11 @@ import ( "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/newrelic/go-agent/v3/integrations/nrgrpc" "github.com/newrelic/go-agent/v3/newrelic" + "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc" "github.com/raystack/compass/internal/server/health" handlersv1beta1 "github.com/raystack/compass/internal/server/v1beta1" "github.com/raystack/compass/internal/store/postgres" "github.com/raystack/compass/pkg/grpc_interceptor" - "github.com/raystack/compass/pkg/statsd" compassv1beta1 "github.com/raystack/compass/proto/raystack/compass/v1beta1" "github.com/raystack/salt/log" "github.com/raystack/salt/mux" @@ -70,7 +70,6 @@ func Serve( logger *log.Logrus, pgClient *postgres.Client, nrApp *newrelic.Application, - statsdReporter *statsd.Reporter, namespaceService handlersv1beta1.NamespaceService, assetService handlersv1beta1.AssetService, starService handlersv1beta1.StarService, @@ -101,7 +100,7 @@ func Serve( grpc_ctxtags.UnaryServerInterceptor(), grpc_logrus.UnaryServerInterceptor(logger.Entry()), nrgrpc.UnaryServerInterceptor(nrApp), - grpc_interceptor.StatsD(statsdReporter), + otelgrpc.UnaryServerInterceptor(), grpc_interceptor.NamespaceUnaryInterceptor(namespaceService, config.Identity.NamespaceClaimKey, config.Identity.HeaderKeyUserUUID), grpc_interceptor.UserHeaderCtx(config.Identity.HeaderKeyUserUUID, config.Identity.HeaderKeyUserEmail), )), diff --git a/internal/server/v1beta1/asset.go b/internal/server/v1beta1/asset.go index 4c6c58fa..b134d7c6 100644 --- a/internal/server/v1beta1/asset.go +++ b/internal/server/v1beta1/asset.go @@ -12,7 +12,6 @@ import ( "github.com/raystack/compass/core/asset" "github.com/raystack/compass/core/star" "github.com/raystack/compass/core/user" - "github.com/raystack/compass/pkg/statsd" compassv1beta1 "github.com/raystack/compass/proto/raystack/compass/v1beta1" "github.com/r3labs/diff/v2" "google.golang.org/grpc/codes" @@ -21,11 +20,6 @@ import ( "google.golang.org/protobuf/types/known/timestamppb" ) -//go:generate mockery --name=StatsDClient -r --case underscore --with-expecter --structname StatsDClient --filename statsd_monitor.go --output=./mocks -type StatsDClient interface { - Incr(name string) *statsd.Metric -} - type AssetService interface { GetAllAssets(ctx context.Context, flt asset.Filter, withTotal bool) ([]asset.Asset, uint32, error) GetAssetByID(ctx context.Context, id string) (asset.Asset, error) @@ -42,6 +36,8 @@ type AssetService interface { SuggestAssets(ctx context.Context, cfg asset.SearchConfig) (suggestions []string, err error) AddProbe(ctx context.Context, ns *namespace.Namespace, assetURN string, probe *asset.Probe) error + + GroupAssets(ctx context.Context, cfg asset.GroupConfig) ([]asset.GroupResult, error) } func (server *APIServer) GetAllAssets(ctx context.Context, req *compassv1beta1.GetAllAssetsRequest) (*compassv1beta1.GetAllAssetsResponse, error) { @@ -54,7 +50,7 @@ func (server *APIServer) GetAllAssets(ctx context.Context, req *compassv1beta1.G return nil, err } - flt, err := asset.NewFilterBuilder(). + fb := asset.NewFilterBuilder(). Types(req.GetTypes()). Services(req.GetServices()). Q(req.GetQ()). @@ -63,8 +59,11 @@ func (server *APIServer) GetAllAssets(ctx context.Context, req *compassv1beta1.G Offset(int(req.GetOffset())). SortBy(req.GetSort()). SortDirection(req.GetDirection()). - Data(req.GetData()). - Build() + Data(req.GetData()) + if req.GetIsDeleted() { + fb = fb.IsDeleted(true) + } + flt, err := fb.Build() if err != nil { return nil, status.Error(codes.InvalidArgument, bodyParserErrorMsg(err)) } @@ -260,6 +259,9 @@ func (server *APIServer) UpsertAsset(ctx context.Context, req *compassv1beta1.Up req.GetDownstreams(), ) if err != nil { + if req.GetUpdateOnly() && errors.As(err, new(asset.NotFoundError)) { + return &compassv1beta1.UpsertAssetResponse{Id: ""}, nil + } return nil, err } @@ -290,8 +292,14 @@ func (server *APIServer) UpsertPatchAsset(ctx context.Context, req *compassv1bet } ast, err := server.assetService.GetAssetByID(ctx, urn) - if err != nil && !errors.As(err, &asset.NotFoundError{}) { - return nil, internalServerError(server.logger, err.Error()) + if err != nil { + if errors.As(err, &asset.NotFoundError{}) { + if req.GetUpdateOnly() { + return &compassv1beta1.UpsertPatchAssetResponse{Id: ""}, nil + } + } else { + return nil, internalServerError(server.logger, err.Error()) + } } patchAssetMap := decodePatchAssetToMap(baseAsset) @@ -332,12 +340,6 @@ func (server *APIServer) DeleteAsset(ctx context.Context, req *compassv1beta1.De if errors.As(err, new(asset.NotFoundError)) { return nil, status.Error(codes.NotFound, err.Error()) } - if errors.As(err, new(asset.DiscoveryError)) { - server.sendStatsDCounterMetric("discovery_error", - map[string]string{ - "method": "delete", - }) - } return nil, internalServerError(server.logger, err.Error()) } @@ -404,51 +406,25 @@ func (server *APIServer) upsertAsset( if errors.As(err, new(asset.InvalidError)) { return "", status.Error(codes.InvalidArgument, err.Error()) } else if err != nil { - if errors.As(err, new(asset.DiscoveryError)) { - server.sendStatsDCounterMetric("discovery_error", - map[string]string{ - "method": mode, - }) - } return "", internalServerError(server.logger, err.Error()) } - server.sendStatsDCounterMetric(mode, - map[string]string{ - "type": ast.Type.String(), - "service": ast.Service, - }) - return } func (server *APIServer) upsertAssetWithoutLineage(ctx context.Context, ns *namespace.Namespace, ast asset.Asset) (string, error) { - const mode = "asset_upsert_patch_without_lineage" - if err := server.validateAsset(ast); err != nil { return "", status.Error(codes.InvalidArgument, err.Error()) } assetID, err := server.assetService.UpsertAssetWithoutLineage(ctx, ns, &ast) if err != nil { - switch { - case errors.As(err, new(asset.InvalidError)): + if errors.As(err, new(asset.InvalidError)) { return "", status.Error(codes.InvalidArgument, err.Error()) - - case errors.As(err, new(asset.DiscoveryError)): - server.sendStatsDCounterMetric("discovery_error", - map[string]string{ - "method": mode, - }) } - return "", internalServerError(server.logger, err.Error()) } - server.sendStatsDCounterMetric(mode, map[string]string{ - "type": ast.Type.String(), - "service": ast.Service, - }) return assetID, nil } @@ -629,6 +605,7 @@ func assetToProto(a asset.Asset, withChangelog bool) (assetPB *compassv1beta1.As CreatedAt: createdAtPB, UpdatedAt: updatedAtPB, Probes: probes, + IsDeleted: a.IsDeleted, } return } diff --git a/internal/server/v1beta1/lineage.go b/internal/server/v1beta1/lineage.go index b5e471e8..6ea0f358 100644 --- a/internal/server/v1beta1/lineage.go +++ b/internal/server/v1beta1/lineage.go @@ -26,9 +26,17 @@ func (server *APIServer) GetGraph(ctx context.Context, req *compassv1beta1.GetGr return nil, status.Error(codes.InvalidArgument, "invalid direction value") } + // Default to true for backward compatibility + withAttributes := true + if req.WithAttributes != nil { + withAttributes = *req.WithAttributes + } + lineage, err := server.assetService.GetLineage(ctx, req.GetUrn(), asset.LineageQuery{ - Level: int(req.GetLevel()), - Direction: direction, + Level: int(req.GetLevel()), + Direction: direction, + WithAttributes: withAttributes, + IncludeDeleted: req.GetIncludeDeleted(), }) if err != nil { return nil, internalServerError(server.logger, err.Error()) diff --git a/internal/server/v1beta1/lineage_test.go b/internal/server/v1beta1/lineage_test.go index 3099f030..5015bc18 100644 --- a/internal/server/v1beta1/lineage_test.go +++ b/internal/server/v1beta1/lineage_test.go @@ -69,7 +69,7 @@ func TestGetLineageGraph(t *testing.T) { defer mockSvc.AssertExpectations(t) defer mockNamespaceSvc.AssertExpectations(t) - mockSvc.EXPECT().GetLineage(ctx, nodeURN, asset.LineageQuery{Level: level, Direction: direction}).Return(lineage, nil) + mockSvc.EXPECT().GetLineage(ctx, nodeURN, asset.LineageQuery{Level: level, Direction: direction, WithAttributes: true}).Return(lineage, nil) mockUserSvc.EXPECT().ValidateUser(ctx, ns, userUUID, "").Return(userID, nil) handler := NewAPIServer(logger, mockNamespaceSvc, mockSvc, nil, nil, nil, nil, mockUserSvc) diff --git a/internal/server/v1beta1/mocks/asset_service.go b/internal/server/v1beta1/mocks/asset_service.go index 9b265b41..87cb4568 100644 --- a/internal/server/v1beta1/mocks/asset_service.go +++ b/internal/server/v1beta1/mocks/asset_service.go @@ -669,6 +669,29 @@ func (_c *AssetService_UpsertAssetWithoutLineage_Call) RunAndReturn(run func(con return _c } +// GroupAssets provides a mock function with given fields: ctx, cfg +func (_m *AssetService) GroupAssets(ctx context.Context, cfg asset.GroupConfig) ([]asset.GroupResult, error) { + ret := _m.Called(ctx, cfg) + var r0 []asset.GroupResult + var r1 error + if rf, ok := ret.Get(0).(func(context.Context, asset.GroupConfig) ([]asset.GroupResult, error)); ok { + return rf(ctx, cfg) + } + if rf, ok := ret.Get(0).(func(context.Context, asset.GroupConfig) []asset.GroupResult); ok { + r0 = rf(ctx, cfg) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).([]asset.GroupResult) + } + } + if rf, ok := ret.Get(1).(func(context.Context, asset.GroupConfig) error); ok { + r1 = rf(ctx, cfg) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + type mockConstructorTestingTNewAssetService interface { mock.TestingT Cleanup(func()) diff --git a/internal/server/v1beta1/mocks/statsd_monitor.go b/internal/server/v1beta1/mocks/statsd_monitor.go deleted file mode 100644 index 08ba695c..00000000 --- a/internal/server/v1beta1/mocks/statsd_monitor.go +++ /dev/null @@ -1,80 +0,0 @@ -// Code generated by mockery v2.20.2. DO NOT EDIT. - -package mocks - -import ( - statsd "github.com/raystack/compass/pkg/statsd" - mock "github.com/stretchr/testify/mock" -) - -// StatsDClient is an autogenerated mock type for the StatsDClient type -type StatsDClient struct { - mock.Mock -} - -type StatsDClient_Expecter struct { - mock *mock.Mock -} - -func (_m *StatsDClient) EXPECT() *StatsDClient_Expecter { - return &StatsDClient_Expecter{mock: &_m.Mock} -} - -// Incr provides a mock function with given fields: name -func (_m *StatsDClient) Incr(name string) *statsd.Metric { - ret := _m.Called(name) - - var r0 *statsd.Metric - if rf, ok := ret.Get(0).(func(string) *statsd.Metric); ok { - r0 = rf(name) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*statsd.Metric) - } - } - - return r0 -} - -// StatsDClient_Incr_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Incr' -type StatsDClient_Incr_Call struct { - *mock.Call -} - -// Incr is a helper method to define mock.On call -// - name string -func (_e *StatsDClient_Expecter) Incr(name interface{}) *StatsDClient_Incr_Call { - return &StatsDClient_Incr_Call{Call: _e.mock.On("Incr", name)} -} - -func (_c *StatsDClient_Incr_Call) Run(run func(name string)) *StatsDClient_Incr_Call { - _c.Call.Run(func(args mock.Arguments) { - run(args[0].(string)) - }) - return _c -} - -func (_c *StatsDClient_Incr_Call) Return(_a0 *statsd.Metric) *StatsDClient_Incr_Call { - _c.Call.Return(_a0) - return _c -} - -func (_c *StatsDClient_Incr_Call) RunAndReturn(run func(string) *statsd.Metric) *StatsDClient_Incr_Call { - _c.Call.Return(run) - return _c -} - -type mockConstructorTestingTNewStatsDClient interface { - mock.TestingT - Cleanup(func()) -} - -// NewStatsDClient creates a new instance of StatsDClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStatsDClient(t mockConstructorTestingTNewStatsDClient) *StatsDClient { - mock := &StatsDClient{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/internal/server/v1beta1/option.go b/internal/server/v1beta1/option.go index 562b42d8..0e7a19c1 100644 --- a/internal/server/v1beta1/option.go +++ b/internal/server/v1beta1/option.go @@ -1,9 +1,3 @@ package handlersv1beta1 type Option func(*APIServer) - -func WithStatsD(st StatsDClient) Option { - return func(s *APIServer) { - s.statsDReporter = st - } -} diff --git a/internal/server/v1beta1/search.go b/internal/server/v1beta1/search.go index 36b606eb..dc8177da 100644 --- a/internal/server/v1beta1/search.go +++ b/internal/server/v1beta1/search.go @@ -3,10 +3,10 @@ package handlersv1beta1 import ( "context" "fmt" - "github.com/raystack/compass/pkg/grpc_interceptor" "strings" "github.com/raystack/compass/core/asset" + "github.com/raystack/compass/pkg/grpc_interceptor" compassv1beta1 "github.com/raystack/compass/proto/raystack/compass/v1beta1" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -21,18 +21,16 @@ func (server *APIServer) SearchAssets(ctx context.Context, req *compassv1beta1.S return nil, err } - text := strings.TrimSpace(req.GetText()) - if text == "" { - return nil, status.Error(codes.InvalidArgument, "'text' must be specified") - } - cfg := asset.SearchConfig{ - Text: text, - MaxResults: int(req.GetSize()), - Filters: filterConfigFromValues(req.GetFilter()), - RankBy: req.GetRankby(), - Queries: req.GetQuery(), - Namespace: ns, + Text: strings.TrimSpace(req.GetText()), + MaxResults: int(req.GetSize()), + Offset: int(req.GetOffset()), + Filters: filterConfigFromValues(req.GetFilter()), + RankBy: req.GetRankby(), + Queries: req.GetQuery(), + IncludeFields: req.GetIncludeFields(), + Flags: getSearchFlagsFromProto(req.GetFlags()), + Namespace: ns, } results, err := server.assetService.SearchAssets(ctx, cfg) @@ -82,6 +80,71 @@ func (server *APIServer) SuggestAssets(ctx context.Context, req *compassv1beta1. }, nil } +func (server *APIServer) GroupAssets(ctx context.Context, req *compassv1beta1.GroupAssetsRequest) (*compassv1beta1.GroupAssetsResponse, error) { + if err := req.ValidateAll(); err != nil { + return nil, status.Error(codes.InvalidArgument, bodyParserErrorMsg(err)) + } + ns := grpc_interceptor.FetchNamespaceFromContext(ctx) + if _, err := server.validateUserInCtx(ctx, ns); err != nil { + return nil, err + } + + if len(req.GetGroupby()) == 0 { + return nil, status.Error(codes.InvalidArgument, "groupby must be specified") + } + + cfg := asset.GroupConfig{ + GroupBy: req.GetGroupby(), + Filters: filterConfigFromValues(req.GetFilter()), + IncludeFields: req.GetIncludeFields(), + Size: int(req.GetSize()), + Namespace: ns, + } + + results, err := server.assetService.GroupAssets(ctx, cfg) + if err != nil { + return nil, internalServerError(server.logger, fmt.Sprintf("error grouping assets: %s", err.Error())) + } + + var groups []*compassv1beta1.AssetGroup + for _, gr := range results { + var fields []*compassv1beta1.GroupField + for _, f := range gr.Fields { + fields = append(fields, &compassv1beta1.GroupField{ + GroupKey: f.Key, + GroupValue: f.Value, + }) + } + var assets []*compassv1beta1.Asset + for _, a := range gr.Assets { + ap, err := assetToProto(a, false) + if err != nil { + return nil, internalServerError(server.logger, fmt.Sprintf("error converting asset to proto: %s", err.Error())) + } + assets = append(assets, ap) + } + groups = append(groups, &compassv1beta1.AssetGroup{ + GroupFields: fields, + Assets: assets, + }) + } + + return &compassv1beta1.GroupAssetsResponse{ + AssetGroups: groups, + }, nil +} + +func getSearchFlagsFromProto(flags *compassv1beta1.SearchFlags) asset.SearchFlags { + if flags == nil { + return asset.SearchFlags{} + } + return asset.SearchFlags{ + DisableFuzzy: flags.GetDisableFuzzy(), + EnableHighlight: flags.GetEnableHighlight(), + IsColumnSearch: flags.GetIsColumnSearch(), + } +} + func filterConfigFromValues(fltMap map[string]string) map[string][]string { var filter = make(map[string][]string) for key, value := range fltMap { diff --git a/internal/server/v1beta1/search_test.go b/internal/server/v1beta1/search_test.go index 2ee0a680..ab716861 100644 --- a/internal/server/v1beta1/search_test.go +++ b/internal/server/v1beta1/search_test.go @@ -43,10 +43,16 @@ func TestSearch(t *testing.T) { var testCases = []testCase{ { - Description: "should return invalid argument if 'text' parameter is empty or missing", - ExpectStatus: codes.InvalidArgument, + Description: "should allow empty text search", + ExpectStatus: codes.OK, Request: &compassv1beta1.SearchAssetsRequest{}, Setup: func(ctx context.Context, as *mocks.AssetService, nss *mocks.NamespaceService) { + cfg := asset.SearchConfig{ + Filters: make(map[string][]string), + Queries: map[string]string(nil), + Namespace: ns, + } + as.EXPECT().SearchAssets(ctx, cfg).Return([]asset.SearchResult{}, nil) }, }, { diff --git a/internal/server/v1beta1/server.go b/internal/server/v1beta1/server.go index c9dfe0c1..c0f00e98 100644 --- a/internal/server/v1beta1/server.go +++ b/internal/server/v1beta1/server.go @@ -25,7 +25,6 @@ type APIServer struct { tagTemplateService TagTemplateService userService UserService logger log.Logger - statsDReporter StatsDClient } var ( @@ -72,16 +71,6 @@ func (server *APIServer) validateUserInCtx(ctx context.Context, ns *namespace.Na return userID, nil } -func (server *APIServer) sendStatsDCounterMetric(metricName string, kvTags map[string]string) { - if server.statsDReporter != nil { - metric := server.statsDReporter.Incr(metricName) - for k, v := range kvTags { - metric.Tag(k, v) - } - metric.Publish() - } -} - func internalServerError(logger log.Logger, msg string) error { ref := time.Now().Unix() diff --git a/internal/server/v1beta1/type_test.go b/internal/server/v1beta1/type_test.go index a4cb9fd2..e09fa31d 100644 --- a/internal/server/v1beta1/type_test.go +++ b/internal/server/v1beta1/type_test.go @@ -93,6 +93,18 @@ func TestGetTypes(t *testing.T) { Name: "model", Count: 0, }, + { + Name: "query", + Count: 0, + }, + { + Name: "metric", + Count: 0, + }, + { + Name: "experiment", + Count: 0, + }, }, } diff --git a/internal/server/v1beta1/user.go b/internal/server/v1beta1/user.go index e6acb2c9..e4e92df9 100644 --- a/internal/server/v1beta1/user.go +++ b/internal/server/v1beta1/user.go @@ -237,7 +237,7 @@ func (server *APIServer) buildGetDiscussionsFilter(req *compassv1beta1.GetMyDisc } if len(strings.TrimSpace(filterQuery)) > 0 { - if !(filterQuery == "created" || filterQuery == "all") { + if filterQuery != "created" && filterQuery != "all" { filterQuery = "assigned" // default value } } diff --git a/internal/store/elasticsearch/discovery_repository.go b/internal/store/elasticsearch/discovery_repository.go index 6a6e2b2d..ca019f29 100644 --- a/internal/store/elasticsearch/discovery_repository.go +++ b/internal/store/elasticsearch/discovery_repository.go @@ -99,12 +99,49 @@ func (repo *DiscoveryRepository) DeleteByURN(ctx context.Context, ns *namespace. return repo.deleteWithQuery(ctx, strings.NewReader(fmt.Sprintf(`{"query":{"term":{"urn.keyword": "%s"}}}`, assetURN))) } +// SoftDeleteByURN marks an asset as deleted in the ES index using UpdateByQuery +func (repo *DiscoveryRepository) SoftDeleteByURN(ctx context.Context, ns *namespace.Namespace, assetURN string) error { + if assetURN == "" { + return asset.ErrEmptyURN + } + + body := fmt.Sprintf(`{ + "script": { + "source": "ctx._source.is_deleted = true", + "lang": "painless" + }, + "query": { + "term": { + "urn.keyword": "%s" + } + } + }`, assetURN) + + res, err := repo.cli.client.UpdateByQuery( + []string{defaultSearchIndexAlias}, + repo.cli.client.UpdateByQuery.WithBody(strings.NewReader(body)), + repo.cli.client.UpdateByQuery.WithContext(ctx), + repo.cli.client.UpdateByQuery.WithRefresh(true), + repo.cli.client.UpdateByQuery.WithIgnoreUnavailable(true), + ) + if err != nil { + return asset.DiscoveryError{Err: fmt.Errorf("error soft deleting asset: %w", err)} + } + defer res.Body.Close() + if res.IsError() { + return asset.DiscoveryError{Err: fmt.Errorf("error response from elasticsearch: %s", errorReasonFromResponse(res))} + } + + return nil +} + func (repo *DiscoveryRepository) deleteWithQuery(ctx context.Context, qry io.Reader) error { res, err := repo.cli.client.DeleteByQuery( - []string{"_all"}, + []string{defaultSearchIndexAlias}, qry, repo.cli.client.DeleteByQuery.WithContext(ctx), repo.cli.client.DeleteByQuery.WithRefresh(true), + repo.cli.client.DeleteByQuery.WithIgnoreUnavailable(true), ) if err != nil { return asset.DiscoveryError{Err: fmt.Errorf("error deleting asset: %w", err)} diff --git a/internal/store/elasticsearch/discovery_repository_test.go b/internal/store/elasticsearch/discovery_repository_test.go index f16368f2..4d05d39d 100644 --- a/internal/store/elasticsearch/discovery_repository_test.go +++ b/internal/store/elasticsearch/discovery_repository_test.go @@ -108,7 +108,7 @@ func TestDiscoveryRepositoryUpsert(t *testing.T) { err = repo.Upsert(ctx, ns, ast) assert.NoError(t, err) - res, err := cli.API.Get(indexAlias, ast.ID) + res, err := cli.Get(indexAlias, ast.ID) require.NoError(t, err) require.False(t, res.IsError()) @@ -162,7 +162,7 @@ func TestDiscoveryRepositoryUpsert(t *testing.T) { err = repo.Upsert(ctx, ns, newAsset) assert.NoError(t, err) - res, err := cli.API.Get(indexAlias, existingAsset.ID) + res, err := cli.Get(indexAlias, existingAsset.ID) require.NoError(t, err) require.False(t, res.IsError()) diff --git a/internal/store/elasticsearch/discovery_search_repository.go b/internal/store/elasticsearch/discovery_search_repository.go index af30fd04..85c7c885 100644 --- a/internal/store/elasticsearch/discovery_search_repository.go +++ b/internal/store/elasticsearch/discovery_search_repository.go @@ -1,16 +1,14 @@ package elasticsearch import ( - "bytes" "context" "encoding/json" - "errors" "fmt" "io" "strings" - "github.com/raystack/compass/core/asset" "github.com/olivere/elastic/v7" + "github.com/raystack/compass/core/asset" ) const ( @@ -20,20 +18,27 @@ const ( suggesterName = "name-phrase-suggest" ) -var returnedAssetFieldsResult = []string{"id", "namespace_id", "urn", "type", "service", "name", "description", "data", "labels", "created_at", "updated_at"} +var defaultIncludedFields = []string{"id", "namespace_id", "urn", "type", "service", "name", "description", "data", "labels", "created_at", "updated_at"} // Search the asset store func (repo *DiscoveryRepository) Search(ctx context.Context, cfg asset.SearchConfig) ([]asset.SearchResult, error) { - if strings.TrimSpace(cfg.Text) == "" { - return nil, asset.DiscoveryError{Err: errors.New("search text cannot be empty")} - } if cfg.Namespace == nil { - return nil, asset.DiscoveryError{Err: errors.New("namespace cannot be empty")} + return nil, asset.DiscoveryError{Err: fmt.Errorf("namespace cannot be empty")} } maxResults := cfg.MaxResults if maxResults <= 0 { maxResults = defaultMaxResults } + offset := cfg.Offset + if offset < 0 { + offset = 0 + } + + includedFields := defaultIncludedFields + if len(cfg.IncludeFields) > 0 { + includedFields = cfg.IncludeFields + } + query, err := repo.buildQuery(ctx, cfg) if err != nil { return nil, asset.DiscoveryError{Err: fmt.Errorf("error building query %w", err)} @@ -43,8 +48,9 @@ func (repo *DiscoveryRepository) Search(ctx context.Context, cfg asset.SearchCon repo.cli.client.Search.WithBody(query), repo.cli.client.Search.WithIndex(BuildAliasNameFromNamespace(cfg.Namespace)), repo.cli.client.Search.WithSize(maxResults), + repo.cli.client.Search.WithFrom(offset), repo.cli.client.Search.WithIgnoreUnavailable(true), - repo.cli.client.Search.WithSourceIncludes(returnedAssetFieldsResult...), + repo.cli.client.Search.WithSourceIncludes(includedFields...), repo.cli.client.Search.WithContext(ctx), ) if err != nil { @@ -106,24 +112,34 @@ func (repo *DiscoveryRepository) Suggest(ctx context.Context, cfg asset.SearchCo } func (repo *DiscoveryRepository) buildQuery(ctx context.Context, cfg asset.SearchConfig) (io.Reader, error) { - var query elastic.Query + boolQuery := elastic.NewBoolQuery() - query = repo.buildTextQuery(ctx, cfg.Text) - query = repo.buildFilterTermQueries(query, cfg.Filters) - query = repo.buildFilterMatchQueries(ctx, query, cfg.Queries) - query = repo.buildFunctionScoreQuery(query, cfg.RankBy) + repo.buildTextQuery(boolQuery, cfg) + repo.buildFilterTermQueries(boolQuery, cfg.Filters) + repo.buildMustMatchQueries(boolQuery, cfg) - src, err := query.Source() + query := repo.buildFunctionScoreQuery(boolQuery, cfg) + highlight := repo.buildHighlightQuery(cfg) + + searchSource := elastic.NewSearchSource(). + Query(query). + MinScore(defaultMinScore) + + if highlight != nil { + searchSource = searchSource.Highlight(highlight) + } + + src, err := searchSource.Source() if err != nil { return nil, err } - payload := new(bytes.Buffer) - q := &searchQuery{ - MinScore: defaultMinScore, - Query: src, + payload, err := json.Marshal(src) + if err != nil { + return nil, err } - return payload, json.NewEncoder(payload).Encode(q) + + return strings.NewReader(string(payload)), nil } func (repo *DiscoveryRepository) buildSuggestQuery(ctx context.Context, cfg asset.SearchConfig) (io.Reader, error) { @@ -139,97 +155,115 @@ func (repo *DiscoveryRepository) buildSuggestQuery(ctx context.Context, cfg asse return nil, fmt.Errorf("error building search source %w", err) } - payload := new(bytes.Buffer) - err = json.NewEncoder(payload).Encode(src) + payload, err := json.Marshal(src) if err != nil { - return payload, fmt.Errorf("error building reader %w", err) + return nil, fmt.Errorf("error building reader %w", err) } - return payload, err + return strings.NewReader(string(payload)), err } -func (repo *DiscoveryRepository) buildTextQuery(ctx context.Context, text string) elastic.Query { +func (repo *DiscoveryRepository) buildTextQuery(boolQuery *elastic.BoolQuery, cfg asset.SearchConfig) { + text := strings.TrimSpace(cfg.Text) + if text == "" { + boolQuery.Should(elastic.NewMatchAllQuery()) + return + } + boostedFields := []string{ "urn^10", "name^5", } - return elastic.NewBoolQuery(). - Should( - elastic. - NewMultiMatchQuery( - text, - boostedFields..., - ), - elastic. - NewMultiMatchQuery( - text, - boostedFields..., - ). + // Phrase match for highest relevance + boolQuery.Should( + elastic.NewMultiMatchQuery(text, boostedFields...). + Type("phrase"), + ) + + // Multi match with AND operator — all terms must match + boolQuery.Should( + elastic.NewMultiMatchQuery(text, boostedFields...). + Operator("and"), + ) + + // Standard multi match without fuzziness + boolQuery.Should( + elastic.NewMultiMatchQuery(text, boostedFields...), + ) + + if !cfg.Flags.DisableFuzzy { + // Fuzzy match on boosted fields + boolQuery.Should( + elastic.NewMultiMatchQuery(text, boostedFields...). Fuzziness("AUTO"), - elastic. - NewMultiMatchQuery( - text, - ). + ) + + // Fuzzy match on all fields + boolQuery.Should( + elastic.NewMultiMatchQuery(text). Fuzziness("AUTO"), ) + } + + boolQuery.MinimumShouldMatch("1") } -func (repo *DiscoveryRepository) buildFilterMatchQueries(ctx context.Context, query elastic.Query, queries map[string]string) elastic.Query { - if len(queries) == 0 { - return query +func (repo *DiscoveryRepository) buildMustMatchQueries(boolQuery *elastic.BoolQuery, cfg asset.SearchConfig) { + if len(cfg.Queries) == 0 { + return } - esQueries := []elastic.Query{} - for field, value := range queries { - esQueries = append(esQueries, - elastic. - NewMatchQuery(field, value). - Fuzziness("AUTO")) + for field, value := range cfg.Queries { + matchQuery := elastic.NewMatchQuery(field, value) + if !cfg.Flags.DisableFuzzy { + matchQuery = matchQuery.Fuzziness("AUTO") + } + boolQuery.Must(matchQuery) } - - return elastic.NewBoolQuery(). - Should(query). - Filter(esQueries...) } -func (repo *DiscoveryRepository) buildFilterTermQueries(query elastic.Query, filters map[string][]string) elastic.Query { +func (repo *DiscoveryRepository) buildFilterTermQueries(boolQuery *elastic.BoolQuery, filters map[string][]string) { if len(filters) == 0 { - return query + return } - var filterQueries []elastic.Query for key, rawValues := range filters { if len(rawValues) < 1 { continue } - var values []interface{} - for _, rawVal := range rawValues { - values = append(values, rawVal) - } - key := fmt.Sprintf("%s.keyword", key) - filterQueries = append( - filterQueries, - elastic.NewTermsQuery(key, values...), - ) + if len(rawValues) == 1 { + boolQuery.Filter(elastic.NewTermQuery(key, rawValues[0])) + } else { + var values []interface{} + for _, rawVal := range rawValues { + values = append(values, rawVal) + } + boolQuery.Filter(elastic.NewTermsQuery(key, values...)) + } } +} - newQuery := elastic.NewBoolQuery(). - Should(query). - Filter(filterQueries...) +func (repo *DiscoveryRepository) buildFunctionScoreQuery(query elastic.Query, cfg asset.SearchConfig) elastic.Query { + text := strings.TrimSpace(cfg.Text) - return newQuery -} + // Add exact match boost directly as a should clause with high boost + if text != "" { + if bq, ok := query.(*elastic.BoolQuery); ok { + bq.Should( + elastic.NewTermQuery("name.keyword", text).Boost(100), + ) + } + } -func (repo *DiscoveryRepository) buildFunctionScoreQuery(query elastic.Query, rankBy string) elastic.Query { - if rankBy == "" { + if cfg.RankBy == "" { return query } factorFunc := elastic.NewFieldValueFactorFunction(). - Field(rankBy). + Field(cfg.RankBy). Modifier("log1p"). Missing(1.0). Weight(1.0) @@ -242,15 +276,32 @@ func (repo *DiscoveryRepository) buildFunctionScoreQuery(query elastic.Query, ra return fsQuery } +func (repo *DiscoveryRepository) buildHighlightQuery(cfg asset.SearchConfig) *elastic.Highlight { + if !cfg.Flags.EnableHighlight { + return nil + } + + return elastic.NewHighlight().Field("*") +} + func (repo *DiscoveryRepository) toSearchResults(hits []searchHit) []asset.SearchResult { - results := []asset.SearchResult{} - for _, hit := range hits { + results := make([]asset.SearchResult, len(hits)) + for i, hit := range hits { r := hit.Source id := r.ID if id == "" { // this is for backward compatibility for asset without ID id = r.URN } - results = append(results, asset.SearchResult{ + + data := r.Data + if len(hit.HighLight) > 0 { + if data == nil { + data = make(map[string]interface{}) + } + data["_highlight"] = hit.HighLight + } + + results[i] = asset.SearchResult{ Type: r.Type.String(), ID: id, URN: r.URN, @@ -258,8 +309,8 @@ func (repo *DiscoveryRepository) toSearchResults(hits []searchHit) []asset.Searc Title: r.Name, Service: r.Service, Labels: r.Labels, - Data: r.Data, - }) + Data: data, + } } return results } @@ -267,7 +318,7 @@ func (repo *DiscoveryRepository) toSearchResults(hits []searchHit) []asset.Searc func (repo *DiscoveryRepository) toSuggestions(response searchResponse) (results []string, err error) { suggests, exists := response.Suggest[suggesterName] if !exists { - err = errors.New("suggester key does not exist") + err = fmt.Errorf("suggester key does not exist") return } results = []string{} @@ -279,3 +330,152 @@ func (repo *DiscoveryRepository) toSuggestions(response searchResponse) (results return } + +const defaultGroupsSize = 10 + +// GroupAssets groups assets by specified fields using ES composite aggregation +func (repo *DiscoveryRepository) GroupAssets(ctx context.Context, cfg asset.GroupConfig) ([]asset.GroupResult, error) { + if cfg.Namespace == nil { + return nil, asset.DiscoveryError{Err: fmt.Errorf("namespace cannot be empty")} + } + + size := cfg.Size + if size <= 0 { + size = defaultGroupsSize + } + + // Build composite aggregation sources from group-by fields + sources := make([]map[string]interface{}, 0, len(cfg.GroupBy)) + for _, field := range cfg.GroupBy { + sources = append(sources, map[string]interface{}{ + field: map[string]interface{}{ + "terms": map[string]interface{}{ + "field": fmt.Sprintf("%s.keyword", field), + }, + }, + }) + } + + // Build filter query + boolQuery := elastic.NewBoolQuery() + // Ensure group-by fields exist + for _, field := range cfg.GroupBy { + boolQuery.Filter(elastic.NewExistsQuery(fmt.Sprintf("%s.keyword", field))) + } + repo.buildFilterTermQueries(boolQuery, cfg.Filters) + + includedFields := defaultIncludedFields + if len(cfg.IncludeFields) > 0 { + includedFields = cfg.IncludeFields + } + + // Build the aggregation query manually as JSON + payload := map[string]interface{}{ + "size": 0, + "query": map[string]interface{}{ + "bool": map[string]interface{}{}, + }, + "aggs": map[string]interface{}{ + "group_result": map[string]interface{}{ + "composite": map[string]interface{}{ + "size": size, + "sources": sources, + }, + "aggs": map[string]interface{}{ + "top_assets": map[string]interface{}{ + "top_hits": map[string]interface{}{ + "size": size, + "_source": includedFields, + }, + }, + }, + }, + }, + } + + // Use the bool query + boolSrc, err := boolQuery.Source() + if err != nil { + return nil, asset.DiscoveryError{Err: fmt.Errorf("error building query: %w", err)} + } + payload["query"] = boolSrc + + body, err := json.Marshal(payload) + if err != nil { + return nil, asset.DiscoveryError{Err: fmt.Errorf("error encoding query: %w", err)} + } + + res, err := repo.cli.client.Search( + repo.cli.client.Search.WithBody(strings.NewReader(string(body))), + repo.cli.client.Search.WithIndex(BuildAliasNameFromNamespace(cfg.Namespace)), + repo.cli.client.Search.WithIgnoreUnavailable(true), + repo.cli.client.Search.WithContext(ctx), + ) + if err != nil { + return nil, asset.DiscoveryError{Err: fmt.Errorf("error executing group query: %w", err)} + } + defer res.Body.Close() + + if res.IsError() { + return nil, asset.DiscoveryError{Err: fmt.Errorf("error response from elasticsearch: %s", errorReasonFromResponse(res))} + } + + var response groupResponse + if err := json.NewDecoder(res.Body).Decode(&response); err != nil { + return nil, asset.DiscoveryError{Err: fmt.Errorf("error decoding group response: %w", err)} + } + + return repo.toGroupResults(response, cfg.GroupBy), nil +} + +type groupResponse struct { + Aggregations struct { + GroupResult struct { + Buckets []groupBucket `json:"buckets"` + } `json:"group_result"` + } `json:"aggregations"` +} + +type groupBucket struct { + Key map[string]string `json:"key"` + DocCount int `json:"doc_count"` + TopAssets struct { + Hits struct { + Hits []searchHit `json:"hits"` + } `json:"hits"` + } `json:"top_assets"` +} + +func (repo *DiscoveryRepository) toGroupResults(response groupResponse, groupBy []string) []asset.GroupResult { + var results []asset.GroupResult + for _, bucket := range response.Aggregations.GroupResult.Buckets { + var fields []asset.GroupField + for _, key := range groupBy { + fields = append(fields, asset.GroupField{ + Key: key, + Value: bucket.Key[key], + }) + } + + var assets []asset.Asset + for _, hit := range bucket.TopAssets.Hits.Hits { + r := hit.Source + assets = append(assets, asset.Asset{ + ID: r.ID, + URN: r.URN, + Type: r.Type, + Name: r.Name, + Service: r.Service, + Description: r.Description, + Data: r.Data, + Labels: r.Labels, + }) + } + + results = append(results, asset.GroupResult{ + Fields: fields, + Assets: assets, + }) + } + return results +} diff --git a/internal/store/elasticsearch/discovery_search_repository_test.go b/internal/store/elasticsearch/discovery_search_repository_test.go index 82401c12..5168d558 100644 --- a/internal/store/elasticsearch/discovery_search_repository_test.go +++ b/internal/store/elasticsearch/discovery_search_repository_test.go @@ -28,27 +28,6 @@ func TestSearcherSearch(t *testing.T) { Metadata: nil, } - t.Run("should return an error if search string is empty", func(t *testing.T) { - cli, err := esTestServer.NewClient() - require.NoError(t, err) - esClient, err := store.NewClient( - log.NewNoop(), - store.Config{}, - store.WithClient(cli), - ) - require.NoError(t, err) - - repo := store.NewDiscoveryRepository(esClient) - err = repo.CreateNamespace(ctx, ns) - assert.NoError(t, err) - - _, err = repo.Search(ctx, asset.SearchConfig{ - Text: "", - }) - - assert.Error(t, err) - }) - t.Run("fixtures", func(t *testing.T) { cli, err := esTestServer.NewClient() require.NoError(t, err) diff --git a/internal/store/elasticsearch/es.go b/internal/store/elasticsearch/es.go index 09f7760e..45fa86f5 100644 --- a/internal/store/elasticsearch/es.go +++ b/internal/store/elasticsearch/es.go @@ -37,7 +37,10 @@ const ( ) type Config struct { - Brokers string `mapstructure:"brokers" default:"http://localhost:9200"` + Brokers string `mapstructure:"brokers" default:"http://localhost:9200"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` + RequestTimeout int `mapstructure:"request_timeout" default:"10"` } type Route struct { @@ -64,17 +67,10 @@ var ( } ) -// used as a utility for generating request payload -// since github.com/olivere/elastic generates the -// in {"query": } -type searchQuery struct { - Query interface{} `json:"query"` - MinScore float32 `json:"min_score"` -} - type searchHit struct { - Index string `json:"_index"` - Source asset.Asset `json:"_source"` + Index string `json:"_index"` + Source asset.Asset `json:"_source"` + HighLight map[string][]string `json:"highlight"` } type aggregationBucket struct { @@ -141,19 +137,20 @@ func NewClient(logger log.Logger, config Config, opts ...ClientOption) (*Client, } brokers := strings.Split(config.Brokers, ",") - esClient, err := elasticsearch.NewClient(elasticsearch.Config{ + esCfg := elasticsearch.Config{ Addresses: brokers, Transport: nrelasticsearch.NewRoundTripper(nil), - //uncomment below code to debug request and response to elasticsearch - //Logger: &estransport.ColorLogger{ - // Output: os.Stdout, - // EnableRequestBody: true, - // EnableResponseBody: true, - //}, // Retry on 429 TooManyRequests statuses as well RetryOnStatus: []int{502, 503, 504, 429}, MaxRetries: 3, - }) + } + if config.Username != "" { + esCfg.Username = config.Username + } + if config.Password != "" { + esCfg.Password = config.Password + } + esClient, err := elasticsearch.NewClient(esCfg) if err != nil { return nil, err } @@ -199,7 +196,12 @@ func (c *Client) CreateIndex(ctx context.Context, name string, shardCount int) e } defer res.Body.Close() if res.IsError() { - return fmt.Errorf("error creating index %q: %s", name, errorReasonFromResponse(res)) + reason := errorReasonFromResponse(res) + // Ignore "resource_already_exists_exception" which can happen due to race conditions + if strings.Contains(reason, "resource_already_exists_exception") { + return nil + } + return fmt.Errorf("error creating index %q: %s", name, reason) } return nil } diff --git a/internal/store/elasticsearch/schema.go b/internal/store/elasticsearch/schema.go index ea555609..eca9ad28 100644 --- a/internal/store/elasticsearch/schema.go +++ b/internal/store/elasticsearch/schema.go @@ -10,14 +10,21 @@ var indexSettingsTemplate = `{ }, "settings": { "index": { - "number_of_shards": %d + "number_of_shards": %d, + "mapping.ignore_malformed": true }, "analysis": { "analyzer": { "my_analyzer": { "type": "custom", "tokenizer": "my_tokenizer", - "filter": ["lowercase"] + "filter": ["lowercase", "english_stemmer"] + } + }, + "filter": { + "english_stemmer": { + "type": "stemmer", + "language": "English" } }, "tokenizer": { diff --git a/internal/store/postgres/asset_model.go b/internal/store/postgres/asset_model.go index 7bb2d1fc..d0529b18 100644 --- a/internal/store/postgres/asset_model.go +++ b/internal/store/postgres/asset_model.go @@ -14,20 +14,22 @@ import ( ) type AssetModel struct { - ID string `db:"id"` - NamespaceID string `db:"namespace_id"` - URN string `db:"urn"` - Type string `db:"type"` - Name string `db:"name"` - Service string `db:"service"` - Description string `db:"description"` - Data JSONMap `db:"data"` - URL string `db:"url"` - Labels JSONMap `db:"labels"` - Version string `db:"version"` - UpdatedBy UserModel `db:"updated_by"` - CreatedAt time.Time `db:"created_at"` - UpdatedAt time.Time `db:"updated_at"` + ID string `db:"id"` + NamespaceID string `db:"namespace_id"` + URN string `db:"urn"` + Type string `db:"type"` + Name string `db:"name"` + Service string `db:"service"` + Description string `db:"description"` + Data JSONMap `db:"data"` + URL string `db:"url"` + Labels JSONMap `db:"labels"` + Version string `db:"version"` + IsDeleted bool `db:"is_deleted"` + UpdatedBy UserModel `db:"updated_by"` + CreatedAt time.Time `db:"created_at"` + UpdatedAt time.Time `db:"updated_at"` + RefreshedAt *time.Time `db:"refreshed_at"` // version specific information Changelog types.JSONText `db:"changelog"` Owners types.JSONText `db:"owners"` @@ -45,10 +47,12 @@ func (a *AssetModel) toAsset(owners []user.User) asset.Asset { URL: a.URL, Labels: a.buildLabels(), Owners: owners, + IsDeleted: a.IsDeleted, Version: a.Version, UpdatedBy: a.UpdatedBy.toUser(), CreatedAt: a.CreatedAt, UpdatedAt: a.UpdatedAt, + RefreshedAt: a.RefreshedAt, } } diff --git a/internal/store/postgres/asset_repository.go b/internal/store/postgres/asset_repository.go index 39baf48e..df5877cb 100644 --- a/internal/store/postgres/asset_repository.go +++ b/internal/store/postgres/asset_repository.go @@ -195,7 +195,7 @@ func (r *AssetRepository) GetVersionHistory(ctx context.Context, flt asset.Filte builder := r.getAssetVersionSQL(). Where(sq.Eq{"a.asset_id": id}). - OrderBy("version DESC"). + OrderBy("string_to_array(version, '.')::int[] DESC"). Limit(uint64(size)). Offset(uint64(flt.Offset)) query, args, err := r.buildSQL(builder) @@ -357,6 +357,79 @@ func (r *AssetRepository) DeleteByURN(ctx context.Context, urn string) error { return nil } +// SoftDeleteByID marks an asset as deleted by its ID +func (r *AssetRepository) SoftDeleteByID(ctx context.Context, id string) (string, error) { + if !isValidUUID(id) { + return "", asset.InvalidError{AssetID: id} + } + + return r.softDeleteWithPredicate(ctx, sq.Eq{"id": id, "is_deleted": false}) +} + +// SoftDeleteByURN marks an asset as deleted by its URN +func (r *AssetRepository) SoftDeleteByURN(ctx context.Context, urn string) (string, error) { + return r.softDeleteWithPredicate(ctx, sq.Eq{"urn": urn, "is_deleted": false}) +} + +func (r *AssetRepository) softDeleteWithPredicate(ctx context.Context, pred sq.Eq) (string, error) { + now := time.Now().UTC() + query, args, err := r.buildSQL(sq.Update("assets"). + Set("is_deleted", true). + Set("updated_at", now). + Set("refreshed_at", now). + Where(pred). + Suffix("RETURNING urn")) + if err != nil { + return "", fmt.Errorf("error building query: %w", err) + } + + var urn string + err = r.client.QueryFn(ctx, func(conn *sqlx.Conn) error { + return conn.QueryRowxContext(ctx, query, args...).Scan(&urn) + }) + if errors.Is(err, sql.ErrNoRows) { + return "", asset.ErrAssetAlreadyDeleted + } + if err != nil { + return "", fmt.Errorf("error soft deleting asset: %w", err) + } + + return urn, nil +} + +// GetCountByIsDeleted returns count of assets by deletion status +func (r *AssetRepository) GetCountByIsDeleted(ctx context.Context, isDeleted bool) (int, error) { + var total int + query, args, err := r.buildSQL(sq.Select("count(1)").From("assets").Where(sq.Eq{"is_deleted": isDeleted})) + if err != nil { + return 0, fmt.Errorf("error building count query: %w", err) + } + err = r.client.GetContext(ctx, &total, query, args...) + if err != nil { + return 0, fmt.Errorf("error counting assets: %w", err) + } + return total, nil +} + +// HardDeleteByURNs permanently removes assets by their URNs +func (r *AssetRepository) HardDeleteByURNs(ctx context.Context, urns []string) error { + if len(urns) == 0 { + return nil + } + + query, args, err := r.buildSQL(sq.Delete("assets").Where(sq.Eq{"urn": urns})) + if err != nil { + return fmt.Errorf("error building query: %w", err) + } + + _, err = r.client.ExecContext(ctx, query, args...) + if err != nil { + return fmt.Errorf("error hard deleting assets: %w", err) + } + + return nil +} + func (r *AssetRepository) AddProbe(ctx context.Context, ns *namespace.Namespace, assetURN string, probe *asset.Probe) error { probe.AssetURN = assetURN probe.CreatedAt = time.Now().UTC() @@ -392,7 +465,7 @@ func (r *AssetRepository) GetProbes(ctx context.Context, assetURN string) ([]ass query, args, err := sq.Select( "id", "asset_urn", "status", "status_reason", "metadata", "timestamp", "created_at", ).From("asset_probes"). - OrderBy("created_at"). + OrderBy("timestamp DESC"). Where(sq.Eq{"asset_urn": assetURN}). PlaceholderFormat(sq.Dollar). ToSql() @@ -475,9 +548,12 @@ func (r *AssetRepository) deleteWithPredicate(ctx context.Context, pred sq.Eq) ( func (r *AssetRepository) insert(ctx context.Context, ns *namespace.Namespace, ast *asset.Asset) (id string, err error) { err = r.client.RunWithinTx(ctx, func(tx *sqlx.Tx) error { + now := time.Now().UTC() + ast.CreatedAt = now + ast.UpdatedAt = now query, args, err := sq.Insert("assets"). - Columns("urn", "namespace_id", "type", "service", "name", "description", "data", "url", "labels", "updated_by", "version"). - Values(ast.URN, ns.ID, ast.Type, ast.Service, ast.Name, ast.Description, ast.Data, ast.URL, ast.Labels, ast.UpdatedBy.ID, asset.BaseVersion). + Columns("urn", "namespace_id", "type", "service", "name", "description", "data", "url", "labels", "updated_by", "version", "created_at", "updated_at", "refreshed_at"). + Values(ast.URN, ns.ID, ast.Type, ast.Service, ast.Name, ast.Description, ast.Data, ast.URL, ast.Labels, ast.UpdatedBy.ID, asset.BaseVersion, now, now, now). Suffix("RETURNING \"id\""). PlaceholderFormat(sq.Dollar). ToSql() @@ -531,7 +607,10 @@ func (r *AssetRepository) update(ctx context.Context, ns *namespace.Namespace, a } newAsset.Version = newVersion newAsset.ID = oldAsset.ID + newAsset.CreatedAt = oldAsset.CreatedAt + now := time.Now().UTC() + newAsset.UpdatedAt = now query, args, err := r.buildSQL(sq.Update("assets"). Set("urn", newAsset.URN). Set("type", newAsset.Type). @@ -541,7 +620,9 @@ func (r *AssetRepository) update(ctx context.Context, ns *namespace.Namespace, a Set("data", newAsset.Data). Set("url", newAsset.URL). Set("labels", newAsset.Labels). - Set("updated_at", time.Now()). + Set("updated_at", newAsset.UpdatedAt). + Set("refreshed_at", now). + Set("is_deleted", false). Set("updated_by", newAsset.UpdatedBy.ID). Set("version", newAsset.Version). Where(sq.Eq{"id": assetID}).Where(sq.Eq{"namespace_id": ns.ID})) @@ -722,6 +803,7 @@ func (r *AssetRepository) compareOwners(current, newOwners []user.User) (toInser func (r *AssetRepository) createOrFetchUsers(ctx context.Context, tx *sqlx.Tx, ns *namespace.Namespace, users []user.User) ([]user.User, error) { var results []user.User + seen := make(map[string]bool) for _, u := range users { var ( userID string @@ -747,6 +829,12 @@ func (r *AssetRepository) createOrFetchUsers(ctx context.Context, tx *sqlx.Tx, n return nil, fmt.Errorf("error getting owner's ID: %w", err) } + // deduplicate owners by resolved user ID + if seen[userID] { + continue + } + seen[userID] = true + u.ID = userID results = append(results, u) } @@ -809,8 +897,10 @@ func (r *AssetRepository) getAssetSQL() sq.SelectBuilder { COALESCE(a.url, '') as url, a.labels as labels, a.version as version, + COALESCE(a.is_deleted, false) as is_deleted, a.created_at as created_at, a.updated_at as updated_at, + a.refreshed_at as refreshed_at, u.id as "updated_by.id", u.uuid as "updated_by.uuid", u.email as "updated_by.email", @@ -850,6 +940,10 @@ func (r *AssetRepository) getAssetVersionSQL() sq.SelectBuilder { // BuildFilterQuery retrieves the sql query based on applied filter in the queryString func (r *AssetRepository) BuildFilterQuery(builder sq.SelectBuilder, flt asset.Filter) sq.SelectBuilder { + if flt.IsDeleted != nil { + builder = builder.Where(sq.Eq{"is_deleted": *flt.IsDeleted}) + } + if len(flt.Types) > 0 { builder = builder.Where(sq.Eq{"type": flt.Types}) } diff --git a/internal/store/postgres/lineage_repository.go b/internal/store/postgres/lineage_repository.go index 7bfb4ccd..c33dd6e6 100644 --- a/internal/store/postgres/lineage_repository.go +++ b/internal/store/postgres/lineage_repository.go @@ -73,6 +73,31 @@ func (repo *LineageRepository) DeleteByURN(ctx context.Context, urn string) erro return nil } +// DeleteByURNs removes lineage edges for multiple URNs +func (repo *LineageRepository) DeleteByURNs(ctx context.Context, urns []string) error { + if len(urns) == 0 { + return nil + } + + orClauses := make([]string, 0, len(urns)) + for _, urn := range urns { + orClauses = append(orClauses, fmt.Sprintf("source='%s' or target='%s'", urn, urn)) + } + whereClause := strings.Join(orClauses, " or ") + + deleteQuery, _, err := sq.Delete("lineage_graph").Where(whereClause).ToSql() + if err != nil { + return fmt.Errorf("error building delete query: %w", err) + } + + _, err = repo.client.ExecContext(ctx, deleteQuery) + if err != nil { + return fmt.Errorf("error deleting lineage by URNs: %w", err) + } + + return nil +} + // Upsert insert or delete connections of a given node by comparing them with current state func (repo *LineageRepository) Upsert(ctx context.Context, ns *namespace.Namespace, urn string, upstreams, downstreams []string) error { currentGraph, err := repo.getDirectLineage(ctx, urn) diff --git a/internal/store/postgres/migrations/000017_add_soft_deletion.down.sql b/internal/store/postgres/migrations/000017_add_soft_deletion.down.sql new file mode 100644 index 00000000..54b6926f --- /dev/null +++ b/internal/store/postgres/migrations/000017_add_soft_deletion.down.sql @@ -0,0 +1,3 @@ +ALTER TABLE assets DROP COLUMN IF EXISTS refreshed_at; +ALTER TABLE assets DROP COLUMN IF EXISTS is_deleted; +ALTER TABLE assets_versions DROP COLUMN IF EXISTS is_deleted; diff --git a/internal/store/postgres/migrations/000017_add_soft_deletion.up.sql b/internal/store/postgres/migrations/000017_add_soft_deletion.up.sql new file mode 100644 index 00000000..35aeef68 --- /dev/null +++ b/internal/store/postgres/migrations/000017_add_soft_deletion.up.sql @@ -0,0 +1,3 @@ +ALTER TABLE assets ADD COLUMN IF NOT EXISTS refreshed_at TIMESTAMP; +ALTER TABLE assets ADD COLUMN IF NOT EXISTS is_deleted BOOLEAN DEFAULT false; +ALTER TABLE assets_versions ADD COLUMN IF NOT EXISTS is_deleted BOOLEAN DEFAULT false; diff --git a/internal/store/postgres/migrations/000018_index_asset_probes.down.sql b/internal/store/postgres/migrations/000018_index_asset_probes.down.sql new file mode 100644 index 00000000..f56f2696 --- /dev/null +++ b/internal/store/postgres/migrations/000018_index_asset_probes.down.sql @@ -0,0 +1,2 @@ +DROP INDEX IF EXISTS idx_asset_probes_asset_urn; +DROP INDEX IF EXISTS idx_asset_probes_timestamp; diff --git a/internal/store/postgres/migrations/000018_index_asset_probes.up.sql b/internal/store/postgres/migrations/000018_index_asset_probes.up.sql new file mode 100644 index 00000000..381fc32e --- /dev/null +++ b/internal/store/postgres/migrations/000018_index_asset_probes.up.sql @@ -0,0 +1,2 @@ +CREATE INDEX IF NOT EXISTS idx_asset_probes_asset_urn ON asset_probes (asset_urn); +CREATE INDEX IF NOT EXISTS idx_asset_probes_timestamp ON asset_probes (timestamp); diff --git a/pkg/grpc_interceptor/mocks/statsd_monitor.go b/pkg/grpc_interceptor/mocks/statsd_monitor.go deleted file mode 100644 index 1d683ccc..00000000 --- a/pkg/grpc_interceptor/mocks/statsd_monitor.go +++ /dev/null @@ -1,81 +0,0 @@ -// Code generated by mockery v2.20.2. DO NOT EDIT. - -package mocks - -import ( - statsd "github.com/raystack/compass/pkg/statsd" - mock "github.com/stretchr/testify/mock" -) - -// StatsDClient is an autogenerated mock type for the StatsDClient type -type StatsDClient struct { - mock.Mock -} - -type StatsDClient_Expecter struct { - mock *mock.Mock -} - -func (_m *StatsDClient) EXPECT() *StatsDClient_Expecter { - return &StatsDClient_Expecter{mock: &_m.Mock} -} - -// Histogram provides a mock function with given fields: name, value -func (_m *StatsDClient) Histogram(name string, value float64) *statsd.Metric { - ret := _m.Called(name, value) - - var r0 *statsd.Metric - if rf, ok := ret.Get(0).(func(string, float64) *statsd.Metric); ok { - r0 = rf(name, value) - } else { - if ret.Get(0) != nil { - r0 = ret.Get(0).(*statsd.Metric) - } - } - - return r0 -} - -// StatsDClient_Histogram_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Histogram' -type StatsDClient_Histogram_Call struct { - *mock.Call -} - -// Histogram is a helper method to define mock.On call -// - name string -// - value float64 -func (_e *StatsDClient_Expecter) Histogram(name interface{}, value interface{}) *StatsDClient_Histogram_Call { - return &StatsDClient_Histogram_Call{Call: _e.mock.On("Histogram", name, value)} -} - -func (_c *StatsDClient_Histogram_Call) Run(run func(name string, value float64)) *StatsDClient_Histogram_Call { - _c.Call.Run(func(args mock.Arguments) { - run(args[0].(string), args[1].(float64)) - }) - return _c -} - -func (_c *StatsDClient_Histogram_Call) Return(_a0 *statsd.Metric) *StatsDClient_Histogram_Call { - _c.Call.Return(_a0) - return _c -} - -func (_c *StatsDClient_Histogram_Call) RunAndReturn(run func(string, float64) *statsd.Metric) *StatsDClient_Histogram_Call { - _c.Call.Return(run) - return _c -} - -type mockConstructorTestingTNewStatsDClient interface { - mock.TestingT - Cleanup(func()) -} - -// NewStatsDClient creates a new instance of StatsDClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -func NewStatsDClient(t mockConstructorTestingTNewStatsDClient) *StatsDClient { - mock := &StatsDClient{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/pkg/grpc_interceptor/statsd.go b/pkg/grpc_interceptor/statsd.go deleted file mode 100644 index babbfadf..00000000 --- a/pkg/grpc_interceptor/statsd.go +++ /dev/null @@ -1,31 +0,0 @@ -package grpc_interceptor - -import ( - "context" - "time" - - "github.com/raystack/compass/pkg/statsd" - "google.golang.org/grpc" - "google.golang.org/grpc/status" -) - -//go:generate mockery --name=StatsDClient -r --case underscore --with-expecter --structname StatsDClient --filename statsd_monitor.go --output=./mocks -type StatsDClient interface { - Histogram(name string, value float64) *statsd.Metric -} - -func StatsD(statsdReporter StatsDClient) grpc.UnaryServerInterceptor { - return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { - if statsdReporter == nil { - return handler(ctx, req) - } - start := time.Now() - resp, err := handler(ctx, req) - code := status.Code(err) - statsdReporter.Histogram("responseTime", float64(time.Since(start)/time.Millisecond)). - Tag("method", info.FullMethod). - Tag("status", code.String()). - Publish() - return resp, err - } -} diff --git a/pkg/grpc_interceptor/statsd_test.go b/pkg/grpc_interceptor/statsd_test.go deleted file mode 100644 index 40a7b5db..00000000 --- a/pkg/grpc_interceptor/statsd_test.go +++ /dev/null @@ -1,45 +0,0 @@ -package grpc_interceptor - -import ( - "context" - "testing" - - grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware" - grpc_testing "github.com/grpc-ecosystem/go-grpc-middleware/testing" - pb_testproto "github.com/grpc-ecosystem/go-grpc-middleware/testing/testproto" - "github.com/raystack/compass/pkg/grpc_interceptor/mocks" - "github.com/stretchr/testify/require" - "github.com/stretchr/testify/suite" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -type StatsDTestSuite struct { - *grpc_testing.InterceptorTestSuite - statsdClient *mocks.StatsDClient -} - -func TestStatsDSuite(t *testing.T) { - statsdClient := new(mocks.StatsDClient) - - s := &StatsDTestSuite{ - InterceptorTestSuite: &grpc_testing.InterceptorTestSuite{ - TestService: &dummyService{TestServiceServer: &grpc_testing.TestPingService{T: t}}, - ServerOpts: []grpc.ServerOption{ - grpc_middleware.WithUnaryServerChain( - StatsD(statsdClient)), - }, - }, - statsdClient: statsdClient, - } - suite.Run(t, s) -} - -func (s *StatsDTestSuite) TestUnary_StatsDMetrics() { - s.statsdClient.EXPECT().Histogram("responseTime", float64(0)).Return(nil).Once() - _, err := s.Client.Ping(context.Background(), &pb_testproto.PingRequest{Value: "something", SleepTimeMs: 9999}) - code := status.Code(err) - require.Equal(s.T(), codes.OK, code) - s.statsdClient.AssertCalled(s.T(), "Histogram", "responseTime", float64(0)) -} diff --git a/pkg/telemetry/config.go b/pkg/telemetry/config.go new file mode 100644 index 00000000..22e6f2f6 --- /dev/null +++ b/pkg/telemetry/config.go @@ -0,0 +1,25 @@ +package telemetry + +import "time" + +type Config struct { + // ServiceName is the name of the service for telemetry identification + ServiceName string `mapstructure:"service_name" default:"compass"` + + // OpenTelemetry configuration + OpenTelemetry OpenTelemetryConfig `mapstructure:"open_telemetry"` +} + +type OpenTelemetryConfig struct { + // Enabled enables OpenTelemetry instrumentation + Enabled bool `mapstructure:"enabled" default:"false"` + + // CollectorAddr is the address of the OTLP collector + CollectorAddr string `mapstructure:"collector_addr" default:"localhost:4317"` + + // PeriodicReadInterval is the interval for periodic metric reads + PeriodicReadInterval time.Duration `mapstructure:"periodic_read_interval" default:"15s"` + + // TraceSampleProbability is the probability of sampling traces (0.0 to 1.0) + TraceSampleProbability float64 `mapstructure:"trace_sample_probability" default:"1"` +} diff --git a/pkg/telemetry/telemetry.go b/pkg/telemetry/telemetry.go new file mode 100644 index 00000000..4e3982e3 --- /dev/null +++ b/pkg/telemetry/telemetry.go @@ -0,0 +1,92 @@ +package telemetry + +import ( + "context" + "fmt" + "time" + + "github.com/raystack/salt/log" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" + "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc" + "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/sdk/resource" + "go.opentelemetry.io/otel/sdk/trace" + semconv "go.opentelemetry.io/otel/semconv/v1.17.0" +) + +// Init initializes OpenTelemetry with the given configuration. +// Returns a cleanup function that should be called on shutdown. +func Init(ctx context.Context, cfg Config, logger log.Logger) (func(), error) { + if !cfg.OpenTelemetry.Enabled { + logger.Info("OpenTelemetry is disabled") + return func() {}, nil + } + + res, err := resource.New(ctx, + resource.WithAttributes( + semconv.ServiceName(cfg.ServiceName), + ), + ) + if err != nil { + return nil, fmt.Errorf("failed to create resource: %w", err) + } + + // Set up trace exporter + traceExporter, err := otlptracegrpc.New(ctx, + otlptracegrpc.WithEndpoint(cfg.OpenTelemetry.CollectorAddr), + otlptracegrpc.WithInsecure(), + ) + if err != nil { + return nil, fmt.Errorf("failed to create trace exporter: %w", err) + } + + sampler := trace.ParentBased( + trace.TraceIDRatioBased(cfg.OpenTelemetry.TraceSampleProbability), + ) + + tracerProvider := trace.NewTracerProvider( + trace.WithBatcher(traceExporter), + trace.WithResource(res), + trace.WithSampler(sampler), + ) + otel.SetTracerProvider(tracerProvider) + + // Set up metric exporter + readInterval := cfg.OpenTelemetry.PeriodicReadInterval + if readInterval == 0 { + readInterval = 15 * time.Second + } + + metricExporter, err := otlpmetricgrpc.New(ctx, + otlpmetricgrpc.WithEndpoint(cfg.OpenTelemetry.CollectorAddr), + otlpmetricgrpc.WithInsecure(), + ) + if err != nil { + return nil, fmt.Errorf("failed to create metric exporter: %w", err) + } + + meterProvider := metric.NewMeterProvider( + metric.WithReader(metric.NewPeriodicReader(metricExporter, + metric.WithInterval(readInterval), + )), + metric.WithResource(res), + ) + otel.SetMeterProvider(meterProvider) + + logger.Info("OpenTelemetry initialized", "collector", cfg.OpenTelemetry.CollectorAddr) + + cleanup := func() { + shutdownCtx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + + if err := tracerProvider.Shutdown(shutdownCtx); err != nil { + logger.Error("error shutting down tracer provider", "err", err) + } + if err := meterProvider.Shutdown(shutdownCtx); err != nil { + logger.Error("error shutting down meter provider", "err", err) + } + } + + return cleanup, nil +} diff --git a/proto/compass.swagger.yaml b/proto/compass.swagger.yaml index 17ebf635..b52425fe 100644 --- a/proto/compass.swagger.yaml +++ b/proto/compass.swagger.yaml @@ -19,33 +19,33 @@ paths: /v1beta1/assets: get: summary: Get list of assets - description: "Returns list of assets, optionally filtered by types, services, sorting, fields in asset.data and querying fields " + description: 'Returns list of assets, optionally filtered by types, services, sorting, fields in asset.data and querying fields ' operationId: CompassService_GetAllAssets responses: "200": description: A successful response. schema: - $ref: "#/definitions/GetAllAssetsResponse" + $ref: '#/definitions/GetAllAssetsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: q description: filter by specific query @@ -73,7 +73,12 @@ paths: required: false type: string - name: direction - description: "sorting direction can either be asc or desc " + description: 'sorting direction can either be asc or desc ' + in: query + required: false + type: string + - name: data[string] + description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 in: query required: false type: string @@ -94,6 +99,11 @@ paths: in: query required: false type: boolean + - name: is_deleted + description: filter assets by deletion status + in: query + required: false + type: boolean tags: - Asset put: @@ -104,33 +114,33 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UpsertAssetResponse" + $ref: '#/definitions/UpsertAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: body in: body required: true schema: - $ref: "#/definitions/UpsertAssetRequest" + $ref: '#/definitions/UpsertAssetRequest' tags: - Asset patch: @@ -141,33 +151,33 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UpsertPatchAssetResponse" + $ref: '#/definitions/UpsertPatchAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: body in: body required: true schema: - $ref: "#/definitions/UpsertPatchAssetRequest" + $ref: '#/definitions/UpsertPatchAssetRequest' tags: - Asset /v1beta1/assets/{asset_urn}/probes: @@ -179,27 +189,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/CreateAssetProbeResponse" + $ref: '#/definitions/CreateAssetProbeResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_urn in: path @@ -209,7 +219,7 @@ paths: in: body required: true schema: - $ref: "#/definitions/CreateAssetProbeRequest.Probe" + $ref: '#/definitions/CreateAssetProbeRequest.Probe' tags: - Asset /v1beta1/assets/{id}: @@ -221,27 +231,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAssetByIDResponse" + $ref: '#/definitions/GetAssetByIDResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -257,27 +267,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/DeleteAssetResponse" + $ref: '#/definitions/DeleteAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -294,27 +304,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAssetStargazersResponse" + $ref: '#/definitions/GetAssetStargazersResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -341,27 +351,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAssetVersionHistoryResponse" + $ref: '#/definitions/GetAssetVersionHistoryResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -388,27 +398,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAssetByVersionResponse" + $ref: '#/definitions/GetAssetByVersionResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -428,27 +438,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAllDiscussionsResponse" + $ref: '#/definitions/GetAllDiscussionsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: type in: query @@ -501,34 +511,34 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/CreateDiscussionResponse" + $ref: '#/definitions/CreateDiscussionResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: body description: Request to be sent to create a discussion in: body required: true schema: - $ref: "#/definitions/CreateDiscussionRequest" + $ref: '#/definitions/CreateDiscussionRequest' tags: - Discussion /v1beta1/discussions/{discussion_id}/comments: @@ -539,27 +549,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAllCommentsResponse" + $ref: '#/definitions/GetAllCommentsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: discussion_id in: path @@ -593,27 +603,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/CreateCommentResponse" + $ref: '#/definitions/CreateCommentResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: discussion_id in: path @@ -638,27 +648,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetCommentResponse" + $ref: '#/definitions/GetCommentResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: discussion_id in: path @@ -678,27 +688,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/DeleteCommentResponse" + $ref: '#/definitions/DeleteCommentResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: discussion_id in: path @@ -718,27 +728,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UpdateCommentResponse" + $ref: '#/definitions/UpdateCommentResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: discussion_id in: path @@ -767,27 +777,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetDiscussionResponse" + $ref: '#/definitions/GetDiscussionResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -802,27 +812,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/PatchDiscussionResponse" + $ref: '#/definitions/PatchDiscussionResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: id in: path @@ -834,28 +844,87 @@ paths: schema: type: object properties: - assets: + title: + type: string + body: + type: string + type: + type: string + state: + type: string + labels: type: array items: type: string - assignees: + assets: type: array items: type: string - body: - type: string - labels: + assignees: type: array items: type: string - state: - type: string - title: - type: string - type: - type: string tags: - Discussion + /v1beta1/groupassets: + get: + summary: Group assets + description: API for grouping assets by specified fields with filtering support. + operationId: CompassService_GroupAssets + responses: + "200": + description: A successful response. + schema: + $ref: '#/definitions/GroupAssetsResponse' + "400": + description: Returned when the data that user input is wrong. + schema: + $ref: '#/definitions/Status' + "404": + description: Returned when the resource does not exist. + schema: + $ref: '#/definitions/Status' + "409": + description: Returned when the resource already exist. + schema: + $ref: '#/definitions/Status' + "500": + description: Returned when theres is something wrong on the server side. + schema: + $ref: '#/definitions/Status' + default: + description: An unexpected error response. + schema: + $ref: '#/definitions/Status' + parameters: + - name: groupby + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + - name: filter[string] + description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 + in: query + required: false + type: string + - name: include_fields + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + - name: size + description: number of results per group to return + in: query + required: false + type: integer + format: int64 + tags: + - Search + - Asset /v1beta1/lineage/{urn}: get: summary: Get Lineage Graph @@ -865,27 +934,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetGraphResponse" + $ref: '#/definitions/GetGraphResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: urn in: path @@ -901,6 +970,16 @@ paths: in: query required: false type: string + - name: with_attributes + description: if set to false, node attributes (probes) will not be returned + in: query + required: false + type: boolean + - name: include_deleted + description: if true, include soft deleted assets in the lineage graph result + in: query + required: false + type: boolean tags: - Lineage - Asset @@ -913,27 +992,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetMyDiscussionsResponse" + $ref: '#/definitions/GetMyDiscussionsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: filter in: query @@ -985,27 +1064,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetMyStarredAssetsResponse" + $ref: '#/definitions/GetMyStarredAssetsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: size in: query @@ -1029,27 +1108,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetMyStarredAssetResponse" + $ref: '#/definitions/GetMyStarredAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id in: path @@ -1066,27 +1145,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UnstarAssetResponse" + $ref: '#/definitions/UnstarAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id in: path @@ -1103,27 +1182,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/StarAssetResponse" + $ref: '#/definitions/StarAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id in: path @@ -1141,27 +1220,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/ListNamespacesResponse" + $ref: '#/definitions/ListNamespacesResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' tags: - Namespace post: @@ -1172,33 +1251,33 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/CreateNamespaceResponse" + $ref: '#/definitions/CreateNamespaceResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: body in: body required: true schema: - $ref: "#/definitions/CreateNamespaceRequest" + $ref: '#/definitions/CreateNamespaceRequest' tags: - Namespace /v1beta1/namespaces/{urn}: @@ -1210,27 +1289,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetNamespaceResponse" + $ref: '#/definitions/GetNamespaceResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: urn description: set either id or name @@ -1247,27 +1326,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UpdateNamespaceResponse" + $ref: '#/definitions/UpdateNamespaceResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: urn description: set either id or name @@ -1280,11 +1359,11 @@ paths: schema: type: object properties: + state: + type: string metadata: type: object description: key value pairs as metadata for the namespace - state: - type: string tags: - Namespace /v1beta1/search: @@ -1296,27 +1375,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/SearchAssetsResponse" + $ref: '#/definitions/SearchAssetsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: text description: text to search for (fuzzy) @@ -1334,6 +1413,16 @@ paths: required: false type: integer format: int64 + - name: filter[string] + description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 + in: query + required: false + type: string + - name: query[string] + description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 + in: query + required: false + type: string - name: include_fields in: query required: false @@ -1347,6 +1436,18 @@ paths: required: false type: integer format: int64 + - name: flags.is_column_search + in: query + required: false + type: boolean + - name: flags.disable_fuzzy + in: query + required: false + type: boolean + - name: flags.enable_highlight + in: query + required: false + type: boolean tags: - Search - Asset @@ -1359,27 +1460,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/SuggestAssetsResponse" + $ref: '#/definitions/SuggestAssetsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: text description: text to search for suggestions @@ -1398,34 +1499,34 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/CreateTagAssetResponse" + $ref: '#/definitions/CreateTagAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: body description: Request to be sent to create a tag in: body required: true schema: - $ref: "#/definitions/CreateTagAssetRequest" + $ref: '#/definitions/CreateTagAssetRequest' tags: - Tag /v1beta1/tags/assets/{asset_id}: @@ -1437,27 +1538,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAllTagsByAssetResponse" + $ref: '#/definitions/GetAllTagsByAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id in: path @@ -1474,27 +1575,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetTagByAssetAndTemplateResponse" + $ref: '#/definitions/GetTagByAssetAndTemplateResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id in: path @@ -1514,27 +1615,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/DeleteTagAssetResponse" + $ref: '#/definitions/DeleteTagAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id in: path @@ -1554,29 +1655,30 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UpdateTagAssetResponse" + $ref: '#/definitions/UpdateTagAssetResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: asset_id + description: required in: path required: true type: string @@ -1593,11 +1695,13 @@ paths: tag_values: type: array items: - $ref: "#/definitions/TagValue" - template_description: - type: string + type: object + $ref: '#/definitions/TagValue' + title: required template_display_name: type: string + template_description: + type: string description: Request to be sent to update an asset tag title: UpdateTagAssetRequest required: @@ -1613,27 +1717,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAllTagTemplatesResponse" + $ref: '#/definitions/GetAllTagTemplatesResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: urn in: query @@ -1649,34 +1753,34 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/CreateTagTemplateResponse" + $ref: '#/definitions/CreateTagTemplateResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: body description: Request to be sent to create a tag's template in: body required: true schema: - $ref: "#/definitions/CreateTagTemplateRequest" + $ref: '#/definitions/CreateTagTemplateRequest' tags: - Tag /v1beta1/tags/templates/{template_urn}: @@ -1688,27 +1792,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetTagTemplateResponse" + $ref: '#/definitions/GetTagTemplateResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: template_urn in: path @@ -1724,27 +1828,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/DeleteTagTemplateResponse" + $ref: '#/definitions/DeleteTagTemplateResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: template_urn in: path @@ -1760,27 +1864,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/UpdateTagTemplateResponse" + $ref: '#/definitions/UpdateTagTemplateResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: template_urn in: path @@ -1792,14 +1896,18 @@ paths: schema: type: object properties: - description: - type: string display_name: type: string + title: required + description: + type: string + title: required fields: type: array items: - $ref: "#/definitions/TagTemplateField" + type: object + $ref: '#/definitions/TagTemplateField' + title: required description: Request to be sent to update a tag's template title: UpdateTagTemplateRequest required: @@ -1817,27 +1925,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetAllTypesResponse" + $ref: '#/definitions/GetAllTypesResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: q description: filter by specific query @@ -1859,6 +1967,11 @@ paths: in: query required: false type: string + - name: data[string] + description: This is a request variable of the map type. The query format is "map_name[key]=value", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age["bob"]=18 + in: query + required: false + type: string tags: - Type /v1beta1/users/{user_id}/starred: @@ -1870,27 +1983,27 @@ paths: "200": description: A successful response. schema: - $ref: "#/definitions/GetUserStarredAssetsResponse" + $ref: '#/definitions/GetUserStarredAssetsResponse' "400": description: Returned when the data that user input is wrong. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "404": description: Returned when the resource does not exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "409": description: Returned when the resource already exist. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' "500": description: Returned when theres is something wrong on the server side. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' default: description: An unexpected error response. schema: - $ref: "#/definitions/Status" + $ref: '#/definitions/Status' parameters: - name: user_id in: path @@ -1913,53 +2026,69 @@ definitions: Any: type: object properties: - "@type": + '@type': type: string additionalProperties: {} + AssetGroup: + type: object + properties: + group_fields: + type: array + items: + type: object + $ref: '#/definitions/GroupField' + assets: + type: array + items: + type: object + $ref: '#/definitions/v1beta1.Asset' Change: type: object properties: - from: {} + type: + type: string path: type: array items: type: string + from: {} to: {} - type: - type: string title: Change Comment: type: object properties: - body: - type: string - created_at: + id: type: string - format: date-time discussion_id: type: string - id: + body: type: string owner: - $ref: "#/definitions/User" + $ref: '#/definitions/User' + updated_by: + $ref: '#/definitions/User' + created_at: + type: string + format: date-time updated_at: type: string format: date-time - updated_by: - $ref: "#/definitions/User" title: Comment CreateAssetProbeRequest.Probe: type: object properties: - metadata: - type: object status: type: string status_reason: type: string + metadata: + type: object timestamp: type: string format: date-time + id: + type: string + description: optional probe ID, if not provided will be auto-generated required: - status CreateAssetProbeResponse: @@ -1975,26 +2104,26 @@ definitions: CreateDiscussionRequest: type: object properties: - assets: + title: + type: string + body: + type: string + type: + type: string + state: + type: string + labels: type: array items: type: string - assignees: + assets: type: array items: type: string - body: - type: string - labels: + assignees: type: array items: type: string - state: - type: string - title: - type: string - type: - type: string description: Request to be sent to create a discussion required: - title @@ -2010,13 +2139,13 @@ definitions: id: type: string description: optional, if not specified will be auto generated - metadata: - type: object - description: key value pairs as metadata for the namespace name: type: string state: type: string + metadata: + type: object + description: key value pairs as metadata for the namespace CreateNamespaceResponse: type: object properties: @@ -2027,15 +2156,19 @@ definitions: properties: asset_id: type: string + title: required + template_urn: + type: string + title: required tag_values: type: array items: - $ref: "#/definitions/TagValue" - template_description: - type: string + type: object + $ref: '#/definitions/TagValue' + title: required template_display_name: type: string - template_urn: + template_description: type: string description: Request to be sent to create a tag title: CreateTagAssetRequest @@ -2047,20 +2180,25 @@ definitions: type: object properties: data: - $ref: "#/definitions/v1beta1.Tag" + $ref: '#/definitions/v1beta1.Tag' CreateTagTemplateRequest: type: object properties: - description: + urn: type: string + title: required display_name: type: string + title: required + description: + type: string + title: required fields: type: array items: - $ref: "#/definitions/TagTemplateField" - urn: - type: string + type: object + $ref: '#/definitions/TagTemplateField' + title: required description: Request to be sent to create a tag's template title: CreateTagTemplateRequest required: @@ -2072,7 +2210,7 @@ definitions: type: object properties: data: - $ref: "#/definitions/TagTemplate" + $ref: '#/definitions/TagTemplate' DeleteAssetResponse: type: object DeleteCommentResponse: @@ -2084,33 +2222,33 @@ definitions: Discussion: type: object properties: - assets: + id: + type: string + title: + type: string + body: + type: string + type: + type: string + state: + type: string + labels: type: array items: type: string - assignees: + assets: type: array items: type: string - body: - type: string - created_at: - type: string - format: date-time - id: - type: string - labels: + assignees: type: array items: type: string owner: - $ref: "#/definitions/User" - state: - type: string - title: - type: string - type: + $ref: '#/definitions/User' + created_at: type: string + format: date-time updated_at: type: string format: date-time @@ -2121,7 +2259,8 @@ definitions: data: type: array items: - $ref: "#/definitions/v1beta1.Asset" + type: object + $ref: '#/definitions/v1beta1.Asset' total: type: integer format: int64 @@ -2131,81 +2270,89 @@ definitions: data: type: array items: - $ref: "#/definitions/Comment" + type: object + $ref: '#/definitions/Comment' GetAllDiscussionsResponse: type: object properties: data: type: array items: - $ref: "#/definitions/Discussion" + type: object + $ref: '#/definitions/Discussion' GetAllTagTemplatesResponse: type: object properties: data: type: array items: - $ref: "#/definitions/TagTemplate" + type: object + $ref: '#/definitions/TagTemplate' GetAllTagsByAssetResponse: type: object properties: data: type: array items: - $ref: "#/definitions/v1beta1.Tag" + type: object + $ref: '#/definitions/v1beta1.Tag' GetAllTypesResponse: type: object properties: data: type: array items: - $ref: "#/definitions/v1beta1.Type" + type: object + $ref: '#/definitions/v1beta1.Type' GetAssetByIDResponse: type: object properties: data: - $ref: "#/definitions/v1beta1.Asset" + $ref: '#/definitions/v1beta1.Asset' GetAssetByVersionResponse: type: object properties: data: - $ref: "#/definitions/v1beta1.Asset" + $ref: '#/definitions/v1beta1.Asset' GetAssetStargazersResponse: type: object properties: data: type: array items: - $ref: "#/definitions/User" + type: object + $ref: '#/definitions/User' GetAssetVersionHistoryResponse: type: object properties: data: type: array items: - $ref: "#/definitions/v1beta1.Asset" + type: object + $ref: '#/definitions/v1beta1.Asset' GetCommentResponse: type: object properties: data: - $ref: "#/definitions/Comment" + $ref: '#/definitions/Comment' GetDiscussionResponse: type: object properties: data: - $ref: "#/definitions/Discussion" + $ref: '#/definitions/Discussion' GetGraphResponse: type: object properties: data: type: array items: - $ref: "#/definitions/LineageEdge" + type: object + $ref: '#/definitions/LineageEdge' description: Edges in the graph. node_attrs: type: object additionalProperties: - $ref: "#/definitions/NodeAttributes" + $ref: '#/definitions/NodeAttributes' description: |- Key is the asset URN. Node attributes, if present, will be returned for source and target nodes in the LineageEdge. @@ -2215,59 +2362,77 @@ definitions: data: type: array items: - $ref: "#/definitions/Discussion" + type: object + $ref: '#/definitions/Discussion' GetMyStarredAssetResponse: type: object properties: data: - $ref: "#/definitions/v1beta1.Asset" + $ref: '#/definitions/v1beta1.Asset' GetMyStarredAssetsResponse: type: object properties: data: type: array items: - $ref: "#/definitions/v1beta1.Asset" + type: object + $ref: '#/definitions/v1beta1.Asset' GetNamespaceResponse: type: object properties: namespace: - $ref: "#/definitions/Namespace" + $ref: '#/definitions/Namespace' GetTagByAssetAndTemplateResponse: type: object properties: data: - $ref: "#/definitions/v1beta1.Tag" + $ref: '#/definitions/v1beta1.Tag' GetTagTemplateResponse: type: object properties: data: - $ref: "#/definitions/TagTemplate" + $ref: '#/definitions/TagTemplate' GetUserStarredAssetsResponse: type: object properties: data: type: array items: - $ref: "#/definitions/v1beta1.Asset" + type: object + $ref: '#/definitions/v1beta1.Asset' + GroupAssetsResponse: + type: object + properties: + asset_groups: + type: array + items: + type: object + $ref: '#/definitions/AssetGroup' + GroupField: + type: object + properties: + group_key: + type: string + group_value: + type: string LineageEdge: type: object properties: - prop: - type: object source: type: string target: type: string + prop: + type: object title: LineageEdge LineageNode: type: object properties: - service: + urn: type: string type: type: string - urn: + service: type: string title: LineageNode ListNamespacesResponse: @@ -2276,24 +2441,25 @@ definitions: namespaces: type: array items: - $ref: "#/definitions/Namespace" + type: object + $ref: '#/definitions/Namespace' Namespace: type: object properties: id: type: string - metadata: - type: object - description: key value pairs as metadata for the namespace name: type: string state: type: string + metadata: + type: object + description: key value pairs as metadata for the namespace NodeAttributes: type: object properties: probes: - $ref: "#/definitions/ProbesInfo" + $ref: '#/definitions/ProbesInfo' NullValue: type: string enum: @@ -2303,7 +2469,7 @@ definitions: `NullValue` is a singleton enumeration to represent the null value for the `Value` type union. - The JSON representation for `NullValue` is JSON `null`. + The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. PatchDiscussionResponse: @@ -2312,14 +2478,24 @@ definitions: type: object properties: latest: - $ref: "#/definitions/v1beta1.Probe" + $ref: '#/definitions/v1beta1.Probe' SearchAssetsResponse: type: object properties: data: type: array items: - $ref: "#/definitions/v1beta1.Asset" + type: object + $ref: '#/definitions/v1beta1.Asset' + SearchFlags: + type: object + properties: + is_column_search: + type: boolean + disable_fuzzy: + type: boolean + enable_highlight: + type: boolean StarAssetResponse: type: object properties: @@ -2331,12 +2507,13 @@ definitions: code: type: integer format: int32 + message: + type: string details: type: array items: - $ref: "#/definitions/Any" - message: - type: string + type: object + $ref: '#/definitions/Any' SuggestAssetsResponse: type: object properties: @@ -2347,74 +2524,75 @@ definitions: TagTemplate: type: object properties: - created_at: - type: string - format: date-time - description: + urn: type: string display_name: type: string + description: + type: string fields: type: array items: - $ref: "#/definitions/TagTemplateField" - updated_at: + type: object + $ref: '#/definitions/TagTemplateField' + created_at: type: string format: date-time - urn: + updated_at: type: string + format: date-time title: TagTemplate TagTemplateField: type: object properties: - created_at: + id: + type: integer + format: int64 + urn: type: string - format: date-time - data_type: + display_name: type: string description: type: string - display_name: + data_type: type: string - id: - type: integer - format: int64 options: type: array items: type: string required: type: boolean - updated_at: + created_at: type: string format: date-time - urn: + updated_at: type: string + format: date-time title: TagTemplateField TagValue: type: object properties: - created_at: + field_id: + type: integer + format: int64 + field_value: {} + field_urn: type: string - format: date-time - field_data_type: + field_display_name: type: string field_description: type: string - field_display_name: + field_data_type: type: string - field_id: - type: integer - format: int64 field_options: type: array items: type: string field_required: type: boolean - field_urn: + created_at: type: string - field_value: {} + format: date-time updated_at: type: string format: date-time @@ -2429,53 +2607,59 @@ definitions: type: object properties: data: - $ref: "#/definitions/v1beta1.Tag" + $ref: '#/definitions/v1beta1.Tag' UpdateTagTemplateResponse: type: object properties: data: - $ref: "#/definitions/TagTemplate" + $ref: '#/definitions/TagTemplate' UpsertAssetRequest: type: object properties: asset: - $ref: "#/definitions/UpsertAssetRequest.Asset" - downstreams: + $ref: '#/definitions/UpsertAssetRequest.Asset' + upstreams: type: array items: - $ref: "#/definitions/LineageNode" - upstreams: + type: object + $ref: '#/definitions/LineageNode' + downstreams: type: array items: - $ref: "#/definitions/LineageNode" + type: object + $ref: '#/definitions/LineageNode' + update_only: + type: boolean + description: if true, only update existing assets, do not create new ones UpsertAssetRequest.Asset: type: object properties: + urn: + type: string + type: + type: string + name: + type: string + service: + type: string + description: + type: string data: type: object description: dynamic data of an asset - description: - type: string labels: type: object additionalProperties: type: string description: labels of an asset - name: - type: string owners: type: array items: - $ref: "#/definitions/User" + type: object + $ref: '#/definitions/User' description: list of owners of the asset - service: - type: string - type: - type: string url: type: string - urn: - type: string UpsertAssetResponse: type: object properties: @@ -2485,11 +2669,17 @@ definitions: type: object properties: asset: - $ref: "#/definitions/UpsertPatchAssetRequest.Asset" + $ref: '#/definitions/UpsertPatchAssetRequest.Asset' + upstreams: + type: array + items: + type: object + $ref: '#/definitions/LineageNode' downstreams: type: array items: - $ref: "#/definitions/LineageNode" + type: object + $ref: '#/definitions/LineageNode' overwrite_lineage: type: boolean description: |- @@ -2497,40 +2687,40 @@ definitions: overwritten with the upstreams and downstreams specified in the request. Currently, it is only applicable when both upstreams and downstreams are empty/not specified. - upstreams: - type: array - items: - $ref: "#/definitions/LineageNode" + update_only: + type: boolean + description: if true, only update existing assets, do not create new ones UpsertPatchAssetRequest.Asset: type: object properties: - data: - type: object - description: dynamic data of an asset + urn: + type: string + type: + type: string + name: + type: string + description: name of an asset + service: + type: string description: type: string description: description of an asset + data: + type: object + description: dynamic data of an asset labels: type: object additionalProperties: type: string description: labels of an asset - name: - type: string - description: name of an asset owners: type: array items: - $ref: "#/definitions/User" + type: object + $ref: '#/definitions/User' description: list of owners of the asset - service: - type: string - type: - type: string url: type: string - urn: - type: string UpsertPatchAssetResponse: type: object properties: @@ -2539,111 +2729,117 @@ definitions: User: type: object properties: - created_at: + id: type: string - format: date-time - email: + uuid: type: string - id: + email: type: string provider: type: string - updated_at: + created_at: type: string format: date-time - uuid: + updated_at: type: string + format: date-time title: User v1beta1.Asset: type: object properties: - changelog: - type: array - items: - $ref: "#/definitions/Change" - created_at: + id: type: string - format: date-time - data: - type: object - description: + urn: type: string - id: + type: type: string + service: + type: string + name: + type: string + description: + type: string + data: + type: object labels: type: object additionalProperties: type: string - name: - type: string owners: type: array items: - $ref: "#/definitions/User" - probes: + type: object + $ref: '#/definitions/User' + version: + type: string + updated_by: + $ref: '#/definitions/User' + changelog: type: array items: - $ref: "#/definitions/v1beta1.Probe" - service: - type: string - type: + type: object + $ref: '#/definitions/Change' + created_at: type: string + format: date-time updated_at: type: string format: date-time - updated_by: - $ref: "#/definitions/User" url: type: string - urn: - type: string - version: - type: string + probes: + type: array + items: + type: object + $ref: '#/definitions/v1beta1.Probe' + is_deleted: + type: boolean title: Asset v1beta1.Probe: type: object properties: - asset_urn: - type: string - created_at: - type: string - format: date-time id: type: string - metadata: - type: object + asset_urn: + type: string status: type: string status_reason: type: string + metadata: + type: object timestamp: type: string format: date-time + created_at: + type: string + format: date-time title: Probe v1beta1.Tag: type: object properties: asset_id: type: string + template_urn: + type: string tag_values: type: array items: - $ref: "#/definitions/TagValue" - template_description: - type: string + type: object + $ref: '#/definitions/TagValue' template_display_name: type: string - template_urn: + template_description: type: string title: Tag v1beta1.Type: type: object properties: + name: + type: string count: type: integer format: int64 - name: - type: string externalDocs: description: More about Compass url: https://raystack.gitbook.io/compass/ diff --git a/proto/raystack/compass/v1beta1/service.pb.go b/proto/raystack/compass/v1beta1/service.pb.go index 1931219b..22379209 100644 --- a/proto/raystack/compass/v1beta1/service.pb.go +++ b/proto/raystack/compass/v1beta1/service.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 +// protoc-gen-go v1.31.0 // protoc (unknown) // source: raystack/compass/v1beta1/service.proto @@ -1105,6 +1105,7 @@ type SearchAssetsRequest struct { Query map[string]string `protobuf:"bytes,5,rep,name=query,proto3" json:"query,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` IncludeFields []string `protobuf:"bytes,6,rep,name=include_fields,json=includeFields,proto3" json:"include_fields,omitempty"` Offset uint32 `protobuf:"varint,7,opt,name=offset,proto3" json:"offset,omitempty"` + Flags *SearchFlags `protobuf:"bytes,8,opt,name=flags,proto3" json:"flags,omitempty"` } func (x *SearchAssetsRequest) Reset() { @@ -1188,6 +1189,76 @@ func (x *SearchAssetsRequest) GetOffset() uint32 { return 0 } +func (x *SearchAssetsRequest) GetFlags() *SearchFlags { + if x != nil { + return x.Flags + } + return nil +} + +type SearchFlags struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsColumnSearch bool `protobuf:"varint,1,opt,name=is_column_search,json=isColumnSearch,proto3" json:"is_column_search,omitempty"` + DisableFuzzy bool `protobuf:"varint,2,opt,name=disable_fuzzy,json=disableFuzzy,proto3" json:"disable_fuzzy,omitempty"` + EnableHighlight bool `protobuf:"varint,3,opt,name=enable_highlight,json=enableHighlight,proto3" json:"enable_highlight,omitempty"` +} + +func (x *SearchFlags) Reset() { + *x = SearchFlags{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchFlags) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchFlags) ProtoMessage() {} + +func (x *SearchFlags) ProtoReflect() protoreflect.Message { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[19] + 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 SearchFlags.ProtoReflect.Descriptor instead. +func (*SearchFlags) Descriptor() ([]byte, []int) { + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{19} +} + +func (x *SearchFlags) GetIsColumnSearch() bool { + if x != nil { + return x.IsColumnSearch + } + return false +} + +func (x *SearchFlags) GetDisableFuzzy() bool { + if x != nil { + return x.DisableFuzzy + } + return false +} + +func (x *SearchFlags) GetEnableHighlight() bool { + if x != nil { + return x.EnableHighlight + } + return false +} + type SearchAssetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1199,7 +1270,7 @@ type SearchAssetsResponse struct { func (x *SearchAssetsResponse) Reset() { *x = SearchAssetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[19] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1212,7 +1283,7 @@ func (x *SearchAssetsResponse) String() string { func (*SearchAssetsResponse) ProtoMessage() {} func (x *SearchAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[19] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1225,7 +1296,7 @@ func (x *SearchAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SearchAssetsResponse.ProtoReflect.Descriptor instead. func (*SearchAssetsResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{19} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{20} } func (x *SearchAssetsResponse) GetData() []*Asset { @@ -1246,7 +1317,7 @@ type SuggestAssetsRequest struct { func (x *SuggestAssetsRequest) Reset() { *x = SuggestAssetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[20] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1259,7 +1330,7 @@ func (x *SuggestAssetsRequest) String() string { func (*SuggestAssetsRequest) ProtoMessage() {} func (x *SuggestAssetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[20] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1272,7 +1343,7 @@ func (x *SuggestAssetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SuggestAssetsRequest.ProtoReflect.Descriptor instead. func (*SuggestAssetsRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{20} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{21} } func (x *SuggestAssetsRequest) GetText() string { @@ -1293,7 +1364,7 @@ type SuggestAssetsResponse struct { func (x *SuggestAssetsResponse) Reset() { *x = SuggestAssetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[21] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1306,7 +1377,7 @@ func (x *SuggestAssetsResponse) String() string { func (*SuggestAssetsResponse) ProtoMessage() {} func (x *SuggestAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[21] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1319,7 +1390,7 @@ func (x *SuggestAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SuggestAssetsResponse.ProtoReflect.Descriptor instead. func (*SuggestAssetsResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{21} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{22} } func (x *SuggestAssetsResponse) GetData() []string { @@ -1329,20 +1400,250 @@ func (x *SuggestAssetsResponse) GetData() []string { return nil } +type GroupAssetsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Groupby []string `protobuf:"bytes,1,rep,name=groupby,proto3" json:"groupby,omitempty"` + Filter map[string]string `protobuf:"bytes,2,rep,name=filter,proto3" json:"filter,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + IncludeFields []string `protobuf:"bytes,3,rep,name=include_fields,json=includeFields,proto3" json:"include_fields,omitempty"` + Size uint32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` +} + +func (x *GroupAssetsRequest) Reset() { + *x = GroupAssetsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupAssetsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupAssetsRequest) ProtoMessage() {} + +func (x *GroupAssetsRequest) ProtoReflect() protoreflect.Message { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[23] + 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 GroupAssetsRequest.ProtoReflect.Descriptor instead. +func (*GroupAssetsRequest) Descriptor() ([]byte, []int) { + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{23} +} + +func (x *GroupAssetsRequest) GetGroupby() []string { + if x != nil { + return x.Groupby + } + return nil +} + +func (x *GroupAssetsRequest) GetFilter() map[string]string { + if x != nil { + return x.Filter + } + return nil +} + +func (x *GroupAssetsRequest) GetIncludeFields() []string { + if x != nil { + return x.IncludeFields + } + return nil +} + +func (x *GroupAssetsRequest) GetSize() uint32 { + if x != nil { + return x.Size + } + return 0 +} + +type GroupAssetsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AssetGroups []*AssetGroup `protobuf:"bytes,1,rep,name=asset_groups,json=assetGroups,proto3" json:"asset_groups,omitempty"` +} + +func (x *GroupAssetsResponse) Reset() { + *x = GroupAssetsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupAssetsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupAssetsResponse) ProtoMessage() {} + +func (x *GroupAssetsResponse) ProtoReflect() protoreflect.Message { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[24] + 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 GroupAssetsResponse.ProtoReflect.Descriptor instead. +func (*GroupAssetsResponse) Descriptor() ([]byte, []int) { + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{24} +} + +func (x *GroupAssetsResponse) GetAssetGroups() []*AssetGroup { + if x != nil { + return x.AssetGroups + } + return nil +} + +type AssetGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupFields []*GroupField `protobuf:"bytes,1,rep,name=group_fields,json=groupFields,proto3" json:"group_fields,omitempty"` + Assets []*Asset `protobuf:"bytes,2,rep,name=assets,proto3" json:"assets,omitempty"` +} + +func (x *AssetGroup) Reset() { + *x = AssetGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AssetGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AssetGroup) ProtoMessage() {} + +func (x *AssetGroup) ProtoReflect() protoreflect.Message { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[25] + 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 AssetGroup.ProtoReflect.Descriptor instead. +func (*AssetGroup) Descriptor() ([]byte, []int) { + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{25} +} + +func (x *AssetGroup) GetGroupFields() []*GroupField { + if x != nil { + return x.GroupFields + } + return nil +} + +func (x *AssetGroup) GetAssets() []*Asset { + if x != nil { + return x.Assets + } + return nil +} + +type GroupField struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GroupKey string `protobuf:"bytes,1,opt,name=group_key,json=groupKey,proto3" json:"group_key,omitempty"` + GroupValue string `protobuf:"bytes,2,opt,name=group_value,json=groupValue,proto3" json:"group_value,omitempty"` +} + +func (x *GroupField) Reset() { + *x = GroupField{} + if protoimpl.UnsafeEnabled { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GroupField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupField) ProtoMessage() {} + +func (x *GroupField) ProtoReflect() protoreflect.Message { + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[26] + 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 GroupField.ProtoReflect.Descriptor instead. +func (*GroupField) Descriptor() ([]byte, []int) { + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{26} +} + +func (x *GroupField) GetGroupKey() string { + if x != nil { + return x.GroupKey + } + return "" +} + +func (x *GroupField) GetGroupValue() string { + if x != nil { + return x.GroupValue + } + return "" +} + type GetGraphRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Urn string `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"` - Level uint32 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"` - Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` + Urn string `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"` + Level uint32 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"` + Direction string `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"` + WithAttributes *bool `protobuf:"varint,4,opt,name=with_attributes,json=withAttributes,proto3,oneof" json:"with_attributes,omitempty"` + IncludeDeleted bool `protobuf:"varint,5,opt,name=include_deleted,json=includeDeleted,proto3" json:"include_deleted,omitempty"` } func (x *GetGraphRequest) Reset() { *x = GetGraphRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[22] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1355,7 +1656,7 @@ func (x *GetGraphRequest) String() string { func (*GetGraphRequest) ProtoMessage() {} func (x *GetGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[22] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1368,7 +1669,7 @@ func (x *GetGraphRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGraphRequest.ProtoReflect.Descriptor instead. func (*GetGraphRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{22} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{27} } func (x *GetGraphRequest) GetUrn() string { @@ -1392,6 +1693,20 @@ func (x *GetGraphRequest) GetDirection() string { return "" } +func (x *GetGraphRequest) GetWithAttributes() bool { + if x != nil && x.WithAttributes != nil { + return *x.WithAttributes + } + return false +} + +func (x *GetGraphRequest) GetIncludeDeleted() bool { + if x != nil { + return x.IncludeDeleted + } + return false +} + type GetGraphResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1407,7 +1722,7 @@ type GetGraphResponse struct { func (x *GetGraphResponse) Reset() { *x = GetGraphResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[23] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1420,7 +1735,7 @@ func (x *GetGraphResponse) String() string { func (*GetGraphResponse) ProtoMessage() {} func (x *GetGraphResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[23] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1433,7 +1748,7 @@ func (x *GetGraphResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGraphResponse.ProtoReflect.Descriptor instead. func (*GetGraphResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{23} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{28} } func (x *GetGraphResponse) GetData() []*LineageEdge { @@ -1465,7 +1780,7 @@ type GetAllTypesRequest struct { func (x *GetAllTypesRequest) Reset() { *x = GetAllTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[24] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1478,7 +1793,7 @@ func (x *GetAllTypesRequest) String() string { func (*GetAllTypesRequest) ProtoMessage() {} func (x *GetAllTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[24] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1491,7 +1806,7 @@ func (x *GetAllTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllTypesRequest.ProtoReflect.Descriptor instead. func (*GetAllTypesRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{24} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{29} } func (x *GetAllTypesRequest) GetQ() string { @@ -1540,7 +1855,7 @@ type GetAllTypesResponse struct { func (x *GetAllTypesResponse) Reset() { *x = GetAllTypesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[25] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1553,7 +1868,7 @@ func (x *GetAllTypesResponse) String() string { func (*GetAllTypesResponse) ProtoMessage() {} func (x *GetAllTypesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[25] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1566,7 +1881,7 @@ func (x *GetAllTypesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllTypesResponse.ProtoReflect.Descriptor instead. func (*GetAllTypesResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{25} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{30} } func (x *GetAllTypesResponse) GetData() []*Type { @@ -1591,12 +1906,13 @@ type GetAllAssetsRequest struct { Size uint32 `protobuf:"varint,8,opt,name=size,proto3" json:"size,omitempty"` Offset uint32 `protobuf:"varint,9,opt,name=offset,proto3" json:"offset,omitempty"` WithTotal bool `protobuf:"varint,10,opt,name=with_total,json=withTotal,proto3" json:"with_total,omitempty"` + IsDeleted bool `protobuf:"varint,11,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"` } func (x *GetAllAssetsRequest) Reset() { *x = GetAllAssetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[26] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1609,7 +1925,7 @@ func (x *GetAllAssetsRequest) String() string { func (*GetAllAssetsRequest) ProtoMessage() {} func (x *GetAllAssetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[26] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1622,7 +1938,7 @@ func (x *GetAllAssetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllAssetsRequest.ProtoReflect.Descriptor instead. func (*GetAllAssetsRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{26} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{31} } func (x *GetAllAssetsRequest) GetQ() string { @@ -1695,6 +2011,13 @@ func (x *GetAllAssetsRequest) GetWithTotal() bool { return false } +func (x *GetAllAssetsRequest) GetIsDeleted() bool { + if x != nil { + return x.IsDeleted + } + return false +} + type GetAllAssetsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1707,7 +2030,7 @@ type GetAllAssetsResponse struct { func (x *GetAllAssetsResponse) Reset() { *x = GetAllAssetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[27] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1720,7 +2043,7 @@ func (x *GetAllAssetsResponse) String() string { func (*GetAllAssetsResponse) ProtoMessage() {} func (x *GetAllAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[27] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1733,7 +2056,7 @@ func (x *GetAllAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllAssetsResponse.ProtoReflect.Descriptor instead. func (*GetAllAssetsResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{27} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{32} } func (x *GetAllAssetsResponse) GetData() []*Asset { @@ -1761,7 +2084,7 @@ type GetAssetByIDRequest struct { func (x *GetAssetByIDRequest) Reset() { *x = GetAssetByIDRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[28] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1774,7 +2097,7 @@ func (x *GetAssetByIDRequest) String() string { func (*GetAssetByIDRequest) ProtoMessage() {} func (x *GetAssetByIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[28] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1787,7 +2110,7 @@ func (x *GetAssetByIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetByIDRequest.ProtoReflect.Descriptor instead. func (*GetAssetByIDRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{28} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{33} } func (x *GetAssetByIDRequest) GetId() string { @@ -1808,7 +2131,7 @@ type GetAssetByIDResponse struct { func (x *GetAssetByIDResponse) Reset() { *x = GetAssetByIDResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[29] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1821,7 +2144,7 @@ func (x *GetAssetByIDResponse) String() string { func (*GetAssetByIDResponse) ProtoMessage() {} func (x *GetAssetByIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[29] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1834,7 +2157,7 @@ func (x *GetAssetByIDResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetByIDResponse.ProtoReflect.Descriptor instead. func (*GetAssetByIDResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{29} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{34} } func (x *GetAssetByIDResponse) GetData() *Asset { @@ -1852,12 +2175,13 @@ type UpsertAssetRequest struct { Asset *UpsertAssetRequest_Asset `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"` Upstreams []*LineageNode `protobuf:"bytes,2,rep,name=upstreams,proto3" json:"upstreams,omitempty"` Downstreams []*LineageNode `protobuf:"bytes,3,rep,name=downstreams,proto3" json:"downstreams,omitempty"` + UpdateOnly bool `protobuf:"varint,4,opt,name=update_only,json=updateOnly,proto3" json:"update_only,omitempty"` } func (x *UpsertAssetRequest) Reset() { *x = UpsertAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[30] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1870,7 +2194,7 @@ func (x *UpsertAssetRequest) String() string { func (*UpsertAssetRequest) ProtoMessage() {} func (x *UpsertAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[30] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1883,7 +2207,7 @@ func (x *UpsertAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertAssetRequest.ProtoReflect.Descriptor instead. func (*UpsertAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{30} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{35} } func (x *UpsertAssetRequest) GetAsset() *UpsertAssetRequest_Asset { @@ -1907,6 +2231,13 @@ func (x *UpsertAssetRequest) GetDownstreams() []*LineageNode { return nil } +func (x *UpsertAssetRequest) GetUpdateOnly() bool { + if x != nil { + return x.UpdateOnly + } + return false +} + type UpsertAssetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1918,7 +2249,7 @@ type UpsertAssetResponse struct { func (x *UpsertAssetResponse) Reset() { *x = UpsertAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[31] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1931,7 +2262,7 @@ func (x *UpsertAssetResponse) String() string { func (*UpsertAssetResponse) ProtoMessage() {} func (x *UpsertAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[31] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1944,7 +2275,7 @@ func (x *UpsertAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertAssetResponse.ProtoReflect.Descriptor instead. func (*UpsertAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{31} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{36} } func (x *UpsertAssetResponse) GetId() string { @@ -1967,12 +2298,13 @@ type UpsertPatchAssetRequest struct { // Currently, it is only applicable when both upstreams and downstreams are // empty/not specified. OverwriteLineage bool `protobuf:"varint,4,opt,name=overwrite_lineage,json=overwriteLineage,proto3" json:"overwrite_lineage,omitempty"` + UpdateOnly bool `protobuf:"varint,5,opt,name=update_only,json=updateOnly,proto3" json:"update_only,omitempty"` } func (x *UpsertPatchAssetRequest) Reset() { *x = UpsertPatchAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[32] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1985,7 +2317,7 @@ func (x *UpsertPatchAssetRequest) String() string { func (*UpsertPatchAssetRequest) ProtoMessage() {} func (x *UpsertPatchAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[32] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1998,7 +2330,7 @@ func (x *UpsertPatchAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertPatchAssetRequest.ProtoReflect.Descriptor instead. func (*UpsertPatchAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{32} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{37} } func (x *UpsertPatchAssetRequest) GetAsset() *UpsertPatchAssetRequest_Asset { @@ -2029,6 +2361,13 @@ func (x *UpsertPatchAssetRequest) GetOverwriteLineage() bool { return false } +func (x *UpsertPatchAssetRequest) GetUpdateOnly() bool { + if x != nil { + return x.UpdateOnly + } + return false +} + type UpsertPatchAssetResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2040,7 +2379,7 @@ type UpsertPatchAssetResponse struct { func (x *UpsertPatchAssetResponse) Reset() { *x = UpsertPatchAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[33] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2053,7 +2392,7 @@ func (x *UpsertPatchAssetResponse) String() string { func (*UpsertPatchAssetResponse) ProtoMessage() {} func (x *UpsertPatchAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[33] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2066,7 +2405,7 @@ func (x *UpsertPatchAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertPatchAssetResponse.ProtoReflect.Descriptor instead. func (*UpsertPatchAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{33} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{38} } func (x *UpsertPatchAssetResponse) GetId() string { @@ -2087,7 +2426,7 @@ type DeleteAssetRequest struct { func (x *DeleteAssetRequest) Reset() { *x = DeleteAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[34] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2100,7 +2439,7 @@ func (x *DeleteAssetRequest) String() string { func (*DeleteAssetRequest) ProtoMessage() {} func (x *DeleteAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[34] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2113,7 +2452,7 @@ func (x *DeleteAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAssetRequest.ProtoReflect.Descriptor instead. func (*DeleteAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{34} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{39} } func (x *DeleteAssetRequest) GetId() string { @@ -2132,7 +2471,7 @@ type DeleteAssetResponse struct { func (x *DeleteAssetResponse) Reset() { *x = DeleteAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[35] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2145,7 +2484,7 @@ func (x *DeleteAssetResponse) String() string { func (*DeleteAssetResponse) ProtoMessage() {} func (x *DeleteAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[35] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2158,7 +2497,7 @@ func (x *DeleteAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAssetResponse.ProtoReflect.Descriptor instead. func (*DeleteAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{35} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{40} } type GetAssetStargazersRequest struct { @@ -2174,7 +2513,7 @@ type GetAssetStargazersRequest struct { func (x *GetAssetStargazersRequest) Reset() { *x = GetAssetStargazersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[36] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2187,7 +2526,7 @@ func (x *GetAssetStargazersRequest) String() string { func (*GetAssetStargazersRequest) ProtoMessage() {} func (x *GetAssetStargazersRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[36] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2200,7 +2539,7 @@ func (x *GetAssetStargazersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetStargazersRequest.ProtoReflect.Descriptor instead. func (*GetAssetStargazersRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{36} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{41} } func (x *GetAssetStargazersRequest) GetId() string { @@ -2235,7 +2574,7 @@ type GetAssetStargazersResponse struct { func (x *GetAssetStargazersResponse) Reset() { *x = GetAssetStargazersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[37] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2248,7 +2587,7 @@ func (x *GetAssetStargazersResponse) String() string { func (*GetAssetStargazersResponse) ProtoMessage() {} func (x *GetAssetStargazersResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[37] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2261,7 +2600,7 @@ func (x *GetAssetStargazersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetStargazersResponse.ProtoReflect.Descriptor instead. func (*GetAssetStargazersResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{37} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{42} } func (x *GetAssetStargazersResponse) GetData() []*User { @@ -2284,7 +2623,7 @@ type GetAssetVersionHistoryRequest struct { func (x *GetAssetVersionHistoryRequest) Reset() { *x = GetAssetVersionHistoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[38] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2297,7 +2636,7 @@ func (x *GetAssetVersionHistoryRequest) String() string { func (*GetAssetVersionHistoryRequest) ProtoMessage() {} func (x *GetAssetVersionHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[38] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2310,7 +2649,7 @@ func (x *GetAssetVersionHistoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetVersionHistoryRequest.ProtoReflect.Descriptor instead. func (*GetAssetVersionHistoryRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{38} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{43} } func (x *GetAssetVersionHistoryRequest) GetId() string { @@ -2345,7 +2684,7 @@ type GetAssetVersionHistoryResponse struct { func (x *GetAssetVersionHistoryResponse) Reset() { *x = GetAssetVersionHistoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[39] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2358,7 +2697,7 @@ func (x *GetAssetVersionHistoryResponse) String() string { func (*GetAssetVersionHistoryResponse) ProtoMessage() {} func (x *GetAssetVersionHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[39] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2371,7 +2710,7 @@ func (x *GetAssetVersionHistoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetVersionHistoryResponse.ProtoReflect.Descriptor instead. func (*GetAssetVersionHistoryResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{39} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{44} } func (x *GetAssetVersionHistoryResponse) GetData() []*Asset { @@ -2393,7 +2732,7 @@ type GetAssetByVersionRequest struct { func (x *GetAssetByVersionRequest) Reset() { *x = GetAssetByVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[40] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2406,7 +2745,7 @@ func (x *GetAssetByVersionRequest) String() string { func (*GetAssetByVersionRequest) ProtoMessage() {} func (x *GetAssetByVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[40] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2419,7 +2758,7 @@ func (x *GetAssetByVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetByVersionRequest.ProtoReflect.Descriptor instead. func (*GetAssetByVersionRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{40} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{45} } func (x *GetAssetByVersionRequest) GetId() string { @@ -2447,7 +2786,7 @@ type GetAssetByVersionResponse struct { func (x *GetAssetByVersionResponse) Reset() { *x = GetAssetByVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[41] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2460,7 +2799,7 @@ func (x *GetAssetByVersionResponse) String() string { func (*GetAssetByVersionResponse) ProtoMessage() {} func (x *GetAssetByVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[41] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2473,7 +2812,7 @@ func (x *GetAssetByVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAssetByVersionResponse.ProtoReflect.Descriptor instead. func (*GetAssetByVersionResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{41} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{46} } func (x *GetAssetByVersionResponse) GetData() *Asset { @@ -2495,7 +2834,7 @@ type CreateAssetProbeRequest struct { func (x *CreateAssetProbeRequest) Reset() { *x = CreateAssetProbeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[42] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2508,7 +2847,7 @@ func (x *CreateAssetProbeRequest) String() string { func (*CreateAssetProbeRequest) ProtoMessage() {} func (x *CreateAssetProbeRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[42] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2521,7 +2860,7 @@ func (x *CreateAssetProbeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAssetProbeRequest.ProtoReflect.Descriptor instead. func (*CreateAssetProbeRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{42} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{47} } func (x *CreateAssetProbeRequest) GetAssetUrn() string { @@ -2549,7 +2888,7 @@ type CreateAssetProbeResponse struct { func (x *CreateAssetProbeResponse) Reset() { *x = CreateAssetProbeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[43] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2562,7 +2901,7 @@ func (x *CreateAssetProbeResponse) String() string { func (*CreateAssetProbeResponse) ProtoMessage() {} func (x *CreateAssetProbeResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[43] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2575,7 +2914,7 @@ func (x *CreateAssetProbeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAssetProbeResponse.ProtoReflect.Descriptor instead. func (*CreateAssetProbeResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{43} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{48} } func (x *CreateAssetProbeResponse) GetId() string { @@ -2598,7 +2937,7 @@ type GetUserStarredAssetsRequest struct { func (x *GetUserStarredAssetsRequest) Reset() { *x = GetUserStarredAssetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[44] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2611,7 +2950,7 @@ func (x *GetUserStarredAssetsRequest) String() string { func (*GetUserStarredAssetsRequest) ProtoMessage() {} func (x *GetUserStarredAssetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[44] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2624,7 +2963,7 @@ func (x *GetUserStarredAssetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserStarredAssetsRequest.ProtoReflect.Descriptor instead. func (*GetUserStarredAssetsRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{44} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{49} } func (x *GetUserStarredAssetsRequest) GetUserId() string { @@ -2659,7 +2998,7 @@ type GetUserStarredAssetsResponse struct { func (x *GetUserStarredAssetsResponse) Reset() { *x = GetUserStarredAssetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[45] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2672,7 +3011,7 @@ func (x *GetUserStarredAssetsResponse) String() string { func (*GetUserStarredAssetsResponse) ProtoMessage() {} func (x *GetUserStarredAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[45] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2685,7 +3024,7 @@ func (x *GetUserStarredAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserStarredAssetsResponse.ProtoReflect.Descriptor instead. func (*GetUserStarredAssetsResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{45} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{50} } func (x *GetUserStarredAssetsResponse) GetData() []*Asset { @@ -2707,7 +3046,7 @@ type GetMyStarredAssetsRequest struct { func (x *GetMyStarredAssetsRequest) Reset() { *x = GetMyStarredAssetsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[46] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2720,7 +3059,7 @@ func (x *GetMyStarredAssetsRequest) String() string { func (*GetMyStarredAssetsRequest) ProtoMessage() {} func (x *GetMyStarredAssetsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[46] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2733,7 +3072,7 @@ func (x *GetMyStarredAssetsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyStarredAssetsRequest.ProtoReflect.Descriptor instead. func (*GetMyStarredAssetsRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{46} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{51} } func (x *GetMyStarredAssetsRequest) GetSize() uint32 { @@ -2761,7 +3100,7 @@ type GetMyStarredAssetsResponse struct { func (x *GetMyStarredAssetsResponse) Reset() { *x = GetMyStarredAssetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[47] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2774,7 +3113,7 @@ func (x *GetMyStarredAssetsResponse) String() string { func (*GetMyStarredAssetsResponse) ProtoMessage() {} func (x *GetMyStarredAssetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[47] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2787,7 +3126,7 @@ func (x *GetMyStarredAssetsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyStarredAssetsResponse.ProtoReflect.Descriptor instead. func (*GetMyStarredAssetsResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{47} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{52} } func (x *GetMyStarredAssetsResponse) GetData() []*Asset { @@ -2808,7 +3147,7 @@ type GetMyStarredAssetRequest struct { func (x *GetMyStarredAssetRequest) Reset() { *x = GetMyStarredAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[48] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2821,7 +3160,7 @@ func (x *GetMyStarredAssetRequest) String() string { func (*GetMyStarredAssetRequest) ProtoMessage() {} func (x *GetMyStarredAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[48] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2834,7 +3173,7 @@ func (x *GetMyStarredAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyStarredAssetRequest.ProtoReflect.Descriptor instead. func (*GetMyStarredAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{48} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{53} } func (x *GetMyStarredAssetRequest) GetAssetId() string { @@ -2855,7 +3194,7 @@ type GetMyStarredAssetResponse struct { func (x *GetMyStarredAssetResponse) Reset() { *x = GetMyStarredAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[49] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2868,7 +3207,7 @@ func (x *GetMyStarredAssetResponse) String() string { func (*GetMyStarredAssetResponse) ProtoMessage() {} func (x *GetMyStarredAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[49] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2881,7 +3220,7 @@ func (x *GetMyStarredAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyStarredAssetResponse.ProtoReflect.Descriptor instead. func (*GetMyStarredAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{49} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{54} } func (x *GetMyStarredAssetResponse) GetData() *Asset { @@ -2902,7 +3241,7 @@ type StarAssetRequest struct { func (x *StarAssetRequest) Reset() { *x = StarAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[50] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2915,7 +3254,7 @@ func (x *StarAssetRequest) String() string { func (*StarAssetRequest) ProtoMessage() {} func (x *StarAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[50] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2928,7 +3267,7 @@ func (x *StarAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StarAssetRequest.ProtoReflect.Descriptor instead. func (*StarAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{50} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{55} } func (x *StarAssetRequest) GetAssetId() string { @@ -2949,7 +3288,7 @@ type StarAssetResponse struct { func (x *StarAssetResponse) Reset() { *x = StarAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[51] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2962,7 +3301,7 @@ func (x *StarAssetResponse) String() string { func (*StarAssetResponse) ProtoMessage() {} func (x *StarAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[51] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2975,7 +3314,7 @@ func (x *StarAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StarAssetResponse.ProtoReflect.Descriptor instead. func (*StarAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{51} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{56} } func (x *StarAssetResponse) GetId() string { @@ -2996,7 +3335,7 @@ type UnstarAssetRequest struct { func (x *UnstarAssetRequest) Reset() { *x = UnstarAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[52] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3009,7 +3348,7 @@ func (x *UnstarAssetRequest) String() string { func (*UnstarAssetRequest) ProtoMessage() {} func (x *UnstarAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[52] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3022,7 +3361,7 @@ func (x *UnstarAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnstarAssetRequest.ProtoReflect.Descriptor instead. func (*UnstarAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{52} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{57} } func (x *UnstarAssetRequest) GetAssetId() string { @@ -3041,7 +3380,7 @@ type UnstarAssetResponse struct { func (x *UnstarAssetResponse) Reset() { *x = UnstarAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[53] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3054,7 +3393,7 @@ func (x *UnstarAssetResponse) String() string { func (*UnstarAssetResponse) ProtoMessage() {} func (x *UnstarAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[53] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3067,7 +3406,7 @@ func (x *UnstarAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnstarAssetResponse.ProtoReflect.Descriptor instead. func (*UnstarAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{53} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{58} } type GetMyDiscussionsRequest struct { @@ -3089,7 +3428,7 @@ type GetMyDiscussionsRequest struct { func (x *GetMyDiscussionsRequest) Reset() { *x = GetMyDiscussionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[54] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3102,7 +3441,7 @@ func (x *GetMyDiscussionsRequest) String() string { func (*GetMyDiscussionsRequest) ProtoMessage() {} func (x *GetMyDiscussionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[54] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3115,7 +3454,7 @@ func (x *GetMyDiscussionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyDiscussionsRequest.ProtoReflect.Descriptor instead. func (*GetMyDiscussionsRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{54} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{59} } func (x *GetMyDiscussionsRequest) GetFilter() string { @@ -3192,7 +3531,7 @@ type GetMyDiscussionsResponse struct { func (x *GetMyDiscussionsResponse) Reset() { *x = GetMyDiscussionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[55] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3205,7 +3544,7 @@ func (x *GetMyDiscussionsResponse) String() string { func (*GetMyDiscussionsResponse) ProtoMessage() {} func (x *GetMyDiscussionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[55] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3218,7 +3557,7 @@ func (x *GetMyDiscussionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyDiscussionsResponse.ProtoReflect.Descriptor instead. func (*GetMyDiscussionsResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{55} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{60} } func (x *GetMyDiscussionsResponse) GetData() []*Discussion { @@ -3243,7 +3582,7 @@ type CreateTagAssetRequest struct { func (x *CreateTagAssetRequest) Reset() { *x = CreateTagAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[56] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3256,7 +3595,7 @@ func (x *CreateTagAssetRequest) String() string { func (*CreateTagAssetRequest) ProtoMessage() {} func (x *CreateTagAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[56] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3269,7 +3608,7 @@ func (x *CreateTagAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTagAssetRequest.ProtoReflect.Descriptor instead. func (*CreateTagAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{56} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{61} } func (x *CreateTagAssetRequest) GetAssetId() string { @@ -3318,7 +3657,7 @@ type CreateTagAssetResponse struct { func (x *CreateTagAssetResponse) Reset() { *x = CreateTagAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[57] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3331,7 +3670,7 @@ func (x *CreateTagAssetResponse) String() string { func (*CreateTagAssetResponse) ProtoMessage() {} func (x *CreateTagAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[57] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3344,7 +3683,7 @@ func (x *CreateTagAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTagAssetResponse.ProtoReflect.Descriptor instead. func (*CreateTagAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{57} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{62} } func (x *CreateTagAssetResponse) GetData() *Tag { @@ -3366,7 +3705,7 @@ type GetTagByAssetAndTemplateRequest struct { func (x *GetTagByAssetAndTemplateRequest) Reset() { *x = GetTagByAssetAndTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[58] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3379,7 +3718,7 @@ func (x *GetTagByAssetAndTemplateRequest) String() string { func (*GetTagByAssetAndTemplateRequest) ProtoMessage() {} func (x *GetTagByAssetAndTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[58] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3392,7 +3731,7 @@ func (x *GetTagByAssetAndTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTagByAssetAndTemplateRequest.ProtoReflect.Descriptor instead. func (*GetTagByAssetAndTemplateRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{58} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{63} } func (x *GetTagByAssetAndTemplateRequest) GetAssetId() string { @@ -3420,7 +3759,7 @@ type GetTagByAssetAndTemplateResponse struct { func (x *GetTagByAssetAndTemplateResponse) Reset() { *x = GetTagByAssetAndTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[59] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3433,7 +3772,7 @@ func (x *GetTagByAssetAndTemplateResponse) String() string { func (*GetTagByAssetAndTemplateResponse) ProtoMessage() {} func (x *GetTagByAssetAndTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[59] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3446,7 +3785,7 @@ func (x *GetTagByAssetAndTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTagByAssetAndTemplateResponse.ProtoReflect.Descriptor instead. func (*GetTagByAssetAndTemplateResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{59} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{64} } func (x *GetTagByAssetAndTemplateResponse) GetData() *Tag { @@ -3471,7 +3810,7 @@ type UpdateTagAssetRequest struct { func (x *UpdateTagAssetRequest) Reset() { *x = UpdateTagAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[60] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3484,7 +3823,7 @@ func (x *UpdateTagAssetRequest) String() string { func (*UpdateTagAssetRequest) ProtoMessage() {} func (x *UpdateTagAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[60] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3497,7 +3836,7 @@ func (x *UpdateTagAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTagAssetRequest.ProtoReflect.Descriptor instead. func (*UpdateTagAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{60} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{65} } func (x *UpdateTagAssetRequest) GetAssetId() string { @@ -3546,7 +3885,7 @@ type UpdateTagAssetResponse struct { func (x *UpdateTagAssetResponse) Reset() { *x = UpdateTagAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[61] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3559,7 +3898,7 @@ func (x *UpdateTagAssetResponse) String() string { func (*UpdateTagAssetResponse) ProtoMessage() {} func (x *UpdateTagAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[61] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3572,7 +3911,7 @@ func (x *UpdateTagAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTagAssetResponse.ProtoReflect.Descriptor instead. func (*UpdateTagAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{61} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{66} } func (x *UpdateTagAssetResponse) GetData() *Tag { @@ -3594,7 +3933,7 @@ type DeleteTagAssetRequest struct { func (x *DeleteTagAssetRequest) Reset() { *x = DeleteTagAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[62] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3607,7 +3946,7 @@ func (x *DeleteTagAssetRequest) String() string { func (*DeleteTagAssetRequest) ProtoMessage() {} func (x *DeleteTagAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[62] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3620,7 +3959,7 @@ func (x *DeleteTagAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTagAssetRequest.ProtoReflect.Descriptor instead. func (*DeleteTagAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{62} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{67} } func (x *DeleteTagAssetRequest) GetAssetId() string { @@ -3646,7 +3985,7 @@ type DeleteTagAssetResponse struct { func (x *DeleteTagAssetResponse) Reset() { *x = DeleteTagAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[63] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3659,7 +3998,7 @@ func (x *DeleteTagAssetResponse) String() string { func (*DeleteTagAssetResponse) ProtoMessage() {} func (x *DeleteTagAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[63] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3672,7 +4011,7 @@ func (x *DeleteTagAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTagAssetResponse.ProtoReflect.Descriptor instead. func (*DeleteTagAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{63} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{68} } type GetAllTagsByAssetRequest struct { @@ -3686,7 +4025,7 @@ type GetAllTagsByAssetRequest struct { func (x *GetAllTagsByAssetRequest) Reset() { *x = GetAllTagsByAssetRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[64] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3699,7 +4038,7 @@ func (x *GetAllTagsByAssetRequest) String() string { func (*GetAllTagsByAssetRequest) ProtoMessage() {} func (x *GetAllTagsByAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[64] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3712,7 +4051,7 @@ func (x *GetAllTagsByAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllTagsByAssetRequest.ProtoReflect.Descriptor instead. func (*GetAllTagsByAssetRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{64} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{69} } func (x *GetAllTagsByAssetRequest) GetAssetId() string { @@ -3733,7 +4072,7 @@ type GetAllTagsByAssetResponse struct { func (x *GetAllTagsByAssetResponse) Reset() { *x = GetAllTagsByAssetResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[65] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3746,7 +4085,7 @@ func (x *GetAllTagsByAssetResponse) String() string { func (*GetAllTagsByAssetResponse) ProtoMessage() {} func (x *GetAllTagsByAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[65] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3759,7 +4098,7 @@ func (x *GetAllTagsByAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllTagsByAssetResponse.ProtoReflect.Descriptor instead. func (*GetAllTagsByAssetResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{65} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{70} } func (x *GetAllTagsByAssetResponse) GetData() []*Tag { @@ -3780,7 +4119,7 @@ type GetAllTagTemplatesRequest struct { func (x *GetAllTagTemplatesRequest) Reset() { *x = GetAllTagTemplatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[66] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3793,7 +4132,7 @@ func (x *GetAllTagTemplatesRequest) String() string { func (*GetAllTagTemplatesRequest) ProtoMessage() {} func (x *GetAllTagTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[66] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3806,7 +4145,7 @@ func (x *GetAllTagTemplatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllTagTemplatesRequest.ProtoReflect.Descriptor instead. func (*GetAllTagTemplatesRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{66} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{71} } func (x *GetAllTagTemplatesRequest) GetUrn() string { @@ -3827,7 +4166,7 @@ type GetAllTagTemplatesResponse struct { func (x *GetAllTagTemplatesResponse) Reset() { *x = GetAllTagTemplatesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[67] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3840,7 +4179,7 @@ func (x *GetAllTagTemplatesResponse) String() string { func (*GetAllTagTemplatesResponse) ProtoMessage() {} func (x *GetAllTagTemplatesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[67] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3853,7 +4192,7 @@ func (x *GetAllTagTemplatesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllTagTemplatesResponse.ProtoReflect.Descriptor instead. func (*GetAllTagTemplatesResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{67} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{72} } func (x *GetAllTagTemplatesResponse) GetData() []*TagTemplate { @@ -3877,7 +4216,7 @@ type CreateTagTemplateRequest struct { func (x *CreateTagTemplateRequest) Reset() { *x = CreateTagTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[68] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3890,7 +4229,7 @@ func (x *CreateTagTemplateRequest) String() string { func (*CreateTagTemplateRequest) ProtoMessage() {} func (x *CreateTagTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[68] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3903,7 +4242,7 @@ func (x *CreateTagTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTagTemplateRequest.ProtoReflect.Descriptor instead. func (*CreateTagTemplateRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{68} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{73} } func (x *CreateTagTemplateRequest) GetUrn() string { @@ -3945,7 +4284,7 @@ type CreateTagTemplateResponse struct { func (x *CreateTagTemplateResponse) Reset() { *x = CreateTagTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[69] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3958,7 +4297,7 @@ func (x *CreateTagTemplateResponse) String() string { func (*CreateTagTemplateResponse) ProtoMessage() {} func (x *CreateTagTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[69] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3971,7 +4310,7 @@ func (x *CreateTagTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTagTemplateResponse.ProtoReflect.Descriptor instead. func (*CreateTagTemplateResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{69} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{74} } func (x *CreateTagTemplateResponse) GetData() *TagTemplate { @@ -3992,7 +4331,7 @@ type GetTagTemplateRequest struct { func (x *GetTagTemplateRequest) Reset() { *x = GetTagTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[70] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4005,7 +4344,7 @@ func (x *GetTagTemplateRequest) String() string { func (*GetTagTemplateRequest) ProtoMessage() {} func (x *GetTagTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[70] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4018,7 +4357,7 @@ func (x *GetTagTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTagTemplateRequest.ProtoReflect.Descriptor instead. func (*GetTagTemplateRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{70} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{75} } func (x *GetTagTemplateRequest) GetTemplateUrn() string { @@ -4039,7 +4378,7 @@ type GetTagTemplateResponse struct { func (x *GetTagTemplateResponse) Reset() { *x = GetTagTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[71] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4052,7 +4391,7 @@ func (x *GetTagTemplateResponse) String() string { func (*GetTagTemplateResponse) ProtoMessage() {} func (x *GetTagTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[71] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4065,7 +4404,7 @@ func (x *GetTagTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTagTemplateResponse.ProtoReflect.Descriptor instead. func (*GetTagTemplateResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{71} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{76} } func (x *GetTagTemplateResponse) GetData() *TagTemplate { @@ -4089,7 +4428,7 @@ type UpdateTagTemplateRequest struct { func (x *UpdateTagTemplateRequest) Reset() { *x = UpdateTagTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[72] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4102,7 +4441,7 @@ func (x *UpdateTagTemplateRequest) String() string { func (*UpdateTagTemplateRequest) ProtoMessage() {} func (x *UpdateTagTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[72] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4115,7 +4454,7 @@ func (x *UpdateTagTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTagTemplateRequest.ProtoReflect.Descriptor instead. func (*UpdateTagTemplateRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{72} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{77} } func (x *UpdateTagTemplateRequest) GetTemplateUrn() string { @@ -4157,7 +4496,7 @@ type UpdateTagTemplateResponse struct { func (x *UpdateTagTemplateResponse) Reset() { *x = UpdateTagTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[73] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4170,7 +4509,7 @@ func (x *UpdateTagTemplateResponse) String() string { func (*UpdateTagTemplateResponse) ProtoMessage() {} func (x *UpdateTagTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[73] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4183,7 +4522,7 @@ func (x *UpdateTagTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateTagTemplateResponse.ProtoReflect.Descriptor instead. func (*UpdateTagTemplateResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{73} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{78} } func (x *UpdateTagTemplateResponse) GetData() *TagTemplate { @@ -4204,7 +4543,7 @@ type DeleteTagTemplateRequest struct { func (x *DeleteTagTemplateRequest) Reset() { *x = DeleteTagTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[74] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4217,7 +4556,7 @@ func (x *DeleteTagTemplateRequest) String() string { func (*DeleteTagTemplateRequest) ProtoMessage() {} func (x *DeleteTagTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[74] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4230,7 +4569,7 @@ func (x *DeleteTagTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTagTemplateRequest.ProtoReflect.Descriptor instead. func (*DeleteTagTemplateRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{74} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{79} } func (x *DeleteTagTemplateRequest) GetTemplateUrn() string { @@ -4249,7 +4588,7 @@ type DeleteTagTemplateResponse struct { func (x *DeleteTagTemplateResponse) Reset() { *x = DeleteTagTemplateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[75] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4262,7 +4601,7 @@ func (x *DeleteTagTemplateResponse) String() string { func (*DeleteTagTemplateResponse) ProtoMessage() {} func (x *DeleteTagTemplateResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[75] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4275,7 +4614,7 @@ func (x *DeleteTagTemplateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTagTemplateResponse.ProtoReflect.Descriptor instead. func (*DeleteTagTemplateResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{75} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{80} } type CreateNamespaceRequest struct { @@ -4292,7 +4631,7 @@ type CreateNamespaceRequest struct { func (x *CreateNamespaceRequest) Reset() { *x = CreateNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[76] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4305,7 +4644,7 @@ func (x *CreateNamespaceRequest) String() string { func (*CreateNamespaceRequest) ProtoMessage() {} func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[76] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4318,7 +4657,7 @@ func (x *CreateNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNamespaceRequest.ProtoReflect.Descriptor instead. func (*CreateNamespaceRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{76} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{81} } func (x *CreateNamespaceRequest) GetId() string { @@ -4360,7 +4699,7 @@ type CreateNamespaceResponse struct { func (x *CreateNamespaceResponse) Reset() { *x = CreateNamespaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[77] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4373,7 +4712,7 @@ func (x *CreateNamespaceResponse) String() string { func (*CreateNamespaceResponse) ProtoMessage() {} func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[77] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4386,7 +4725,7 @@ func (x *CreateNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNamespaceResponse.ProtoReflect.Descriptor instead. func (*CreateNamespaceResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{77} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{82} } func (x *CreateNamespaceResponse) GetId() string { @@ -4408,7 +4747,7 @@ type GetNamespaceRequest struct { func (x *GetNamespaceRequest) Reset() { *x = GetNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[78] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4421,7 +4760,7 @@ func (x *GetNamespaceRequest) String() string { func (*GetNamespaceRequest) ProtoMessage() {} func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[78] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4434,7 +4773,7 @@ func (x *GetNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNamespaceRequest.ProtoReflect.Descriptor instead. func (*GetNamespaceRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{78} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{83} } func (x *GetNamespaceRequest) GetUrn() string { @@ -4455,7 +4794,7 @@ type GetNamespaceResponse struct { func (x *GetNamespaceResponse) Reset() { *x = GetNamespaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[79] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4468,7 +4807,7 @@ func (x *GetNamespaceResponse) String() string { func (*GetNamespaceResponse) ProtoMessage() {} func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[79] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4481,7 +4820,7 @@ func (x *GetNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNamespaceResponse.ProtoReflect.Descriptor instead. func (*GetNamespaceResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{79} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{84} } func (x *GetNamespaceResponse) GetNamespace() *Namespace { @@ -4505,7 +4844,7 @@ type UpdateNamespaceRequest struct { func (x *UpdateNamespaceRequest) Reset() { *x = UpdateNamespaceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[80] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4518,7 +4857,7 @@ func (x *UpdateNamespaceRequest) String() string { func (*UpdateNamespaceRequest) ProtoMessage() {} func (x *UpdateNamespaceRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[80] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4531,7 +4870,7 @@ func (x *UpdateNamespaceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNamespaceRequest.ProtoReflect.Descriptor instead. func (*UpdateNamespaceRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{80} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{85} } func (x *UpdateNamespaceRequest) GetUrn() string { @@ -4564,7 +4903,7 @@ type UpdateNamespaceResponse struct { func (x *UpdateNamespaceResponse) Reset() { *x = UpdateNamespaceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[81] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4577,7 +4916,7 @@ func (x *UpdateNamespaceResponse) String() string { func (*UpdateNamespaceResponse) ProtoMessage() {} func (x *UpdateNamespaceResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[81] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4590,7 +4929,7 @@ func (x *UpdateNamespaceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateNamespaceResponse.ProtoReflect.Descriptor instead. func (*UpdateNamespaceResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{81} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{86} } type ListNamespacesRequest struct { @@ -4602,7 +4941,7 @@ type ListNamespacesRequest struct { func (x *ListNamespacesRequest) Reset() { *x = ListNamespacesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[82] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4615,7 +4954,7 @@ func (x *ListNamespacesRequest) String() string { func (*ListNamespacesRequest) ProtoMessage() {} func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[82] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4628,7 +4967,7 @@ func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNamespacesRequest.ProtoReflect.Descriptor instead. func (*ListNamespacesRequest) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{82} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{87} } type ListNamespacesResponse struct { @@ -4642,7 +4981,7 @@ type ListNamespacesResponse struct { func (x *ListNamespacesResponse) Reset() { *x = ListNamespacesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[83] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4655,7 +4994,7 @@ func (x *ListNamespacesResponse) String() string { func (*ListNamespacesResponse) ProtoMessage() {} func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[83] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4668,7 +5007,7 @@ func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNamespacesResponse.ProtoReflect.Descriptor instead. func (*ListNamespacesResponse) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{83} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{88} } func (x *ListNamespacesResponse) GetNamespaces() []*Namespace { @@ -4694,7 +5033,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[84] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4707,7 +5046,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[84] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4720,7 +5059,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{84} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{89} } func (x *User) GetId() string { @@ -4779,7 +5118,7 @@ type Change struct { func (x *Change) Reset() { *x = Change{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[85] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4792,7 +5131,7 @@ func (x *Change) String() string { func (*Change) ProtoMessage() {} func (x *Change) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[85] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4805,7 +5144,7 @@ func (x *Change) ProtoReflect() protoreflect.Message { // Deprecated: Use Change.ProtoReflect.Descriptor instead. func (*Change) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{85} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{90} } func (x *Change) GetType() string { @@ -4857,12 +5196,13 @@ type Asset struct { UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` Url string `protobuf:"bytes,15,opt,name=url,proto3" json:"url,omitempty"` Probes []*Probe `protobuf:"bytes,16,rep,name=probes,proto3" json:"probes,omitempty"` + IsDeleted bool `protobuf:"varint,17,opt,name=is_deleted,json=isDeleted,proto3" json:"is_deleted,omitempty"` } func (x *Asset) Reset() { *x = Asset{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[86] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4875,7 +5215,7 @@ func (x *Asset) String() string { func (*Asset) ProtoMessage() {} func (x *Asset) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[86] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4888,7 +5228,7 @@ func (x *Asset) ProtoReflect() protoreflect.Message { // Deprecated: Use Asset.ProtoReflect.Descriptor instead. func (*Asset) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{86} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{91} } func (x *Asset) GetId() string { @@ -5003,6 +5343,13 @@ func (x *Asset) GetProbes() []*Probe { return nil } +func (x *Asset) GetIsDeleted() bool { + if x != nil { + return x.IsDeleted + } + return false +} + type Probe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5020,7 +5367,7 @@ type Probe struct { func (x *Probe) Reset() { *x = Probe{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[87] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5033,7 +5380,7 @@ func (x *Probe) String() string { func (*Probe) ProtoMessage() {} func (x *Probe) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[87] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5046,7 +5393,7 @@ func (x *Probe) ProtoReflect() protoreflect.Message { // Deprecated: Use Probe.ProtoReflect.Descriptor instead. func (*Probe) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{87} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{92} } func (x *Probe) GetId() string { @@ -5119,7 +5466,7 @@ type Discussion struct { func (x *Discussion) Reset() { *x = Discussion{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[88] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5132,7 +5479,7 @@ func (x *Discussion) String() string { func (*Discussion) ProtoMessage() {} func (x *Discussion) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[88] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5145,7 +5492,7 @@ func (x *Discussion) ProtoReflect() protoreflect.Message { // Deprecated: Use Discussion.ProtoReflect.Descriptor instead. func (*Discussion) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{88} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{93} } func (x *Discussion) GetId() string { @@ -5242,7 +5589,7 @@ type Comment struct { func (x *Comment) Reset() { *x = Comment{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[89] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5255,7 +5602,7 @@ func (x *Comment) String() string { func (*Comment) ProtoMessage() {} func (x *Comment) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[89] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5268,7 +5615,7 @@ func (x *Comment) ProtoReflect() protoreflect.Message { // Deprecated: Use Comment.ProtoReflect.Descriptor instead. func (*Comment) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{89} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{94} } func (x *Comment) GetId() string { @@ -5333,7 +5680,7 @@ type LineageEdge struct { func (x *LineageEdge) Reset() { *x = LineageEdge{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[90] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5346,7 +5693,7 @@ func (x *LineageEdge) String() string { func (*LineageEdge) ProtoMessage() {} func (x *LineageEdge) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[90] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5359,7 +5706,7 @@ func (x *LineageEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use LineageEdge.ProtoReflect.Descriptor instead. func (*LineageEdge) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{90} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{95} } func (x *LineageEdge) GetSource() string { @@ -5389,16 +5736,16 @@ type LineageNode struct { unknownFields protoimpl.UnknownFields Urn string `protobuf:"bytes,1,opt,name=urn,proto3" json:"urn,omitempty"` - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in raystack/compass/v1beta1/service.proto. Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - // Deprecated: Do not use. + // Deprecated: Marked as deprecated in raystack/compass/v1beta1/service.proto. Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` } func (x *LineageNode) Reset() { *x = LineageNode{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[91] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5411,7 +5758,7 @@ func (x *LineageNode) String() string { func (*LineageNode) ProtoMessage() {} func (x *LineageNode) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[91] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5424,7 +5771,7 @@ func (x *LineageNode) ProtoReflect() protoreflect.Message { // Deprecated: Use LineageNode.ProtoReflect.Descriptor instead. func (*LineageNode) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{91} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{96} } func (x *LineageNode) GetUrn() string { @@ -5434,7 +5781,7 @@ func (x *LineageNode) GetUrn() string { return "" } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in raystack/compass/v1beta1/service.proto. func (x *LineageNode) GetType() string { if x != nil { return x.Type @@ -5442,7 +5789,7 @@ func (x *LineageNode) GetType() string { return "" } -// Deprecated: Do not use. +// Deprecated: Marked as deprecated in raystack/compass/v1beta1/service.proto. func (x *LineageNode) GetService() string { if x != nil { return x.Service @@ -5465,7 +5812,7 @@ type Tag struct { func (x *Tag) Reset() { *x = Tag{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[92] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5478,7 +5825,7 @@ func (x *Tag) String() string { func (*Tag) ProtoMessage() {} func (x *Tag) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[92] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5491,7 +5838,7 @@ func (x *Tag) ProtoReflect() protoreflect.Message { // Deprecated: Use Tag.ProtoReflect.Descriptor instead. func (*Tag) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{92} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{97} } func (x *Tag) GetAssetId() string { @@ -5549,7 +5896,7 @@ type TagValue struct { func (x *TagValue) Reset() { *x = TagValue{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[93] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5562,7 +5909,7 @@ func (x *TagValue) String() string { func (*TagValue) ProtoMessage() {} func (x *TagValue) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[93] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5575,7 +5922,7 @@ func (x *TagValue) ProtoReflect() protoreflect.Message { // Deprecated: Use TagValue.ProtoReflect.Descriptor instead. func (*TagValue) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{93} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{98} } func (x *TagValue) GetFieldId() uint32 { @@ -5664,7 +6011,7 @@ type TagTemplate struct { func (x *TagTemplate) Reset() { *x = TagTemplate{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[94] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5677,7 +6024,7 @@ func (x *TagTemplate) String() string { func (*TagTemplate) ProtoMessage() {} func (x *TagTemplate) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[94] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5690,7 +6037,7 @@ func (x *TagTemplate) ProtoReflect() protoreflect.Message { // Deprecated: Use TagTemplate.ProtoReflect.Descriptor instead. func (*TagTemplate) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{94} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{99} } func (x *TagTemplate) GetUrn() string { @@ -5754,7 +6101,7 @@ type TagTemplateField struct { func (x *TagTemplateField) Reset() { *x = TagTemplateField{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[95] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5767,7 +6114,7 @@ func (x *TagTemplateField) String() string { func (*TagTemplateField) ProtoMessage() {} func (x *TagTemplateField) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[95] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5780,7 +6127,7 @@ func (x *TagTemplateField) ProtoReflect() protoreflect.Message { // Deprecated: Use TagTemplateField.ProtoReflect.Descriptor instead. func (*TagTemplateField) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{95} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{100} } func (x *TagTemplateField) GetId() uint32 { @@ -5858,7 +6205,7 @@ type Type struct { func (x *Type) Reset() { *x = Type{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[96] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5871,7 +6218,7 @@ func (x *Type) String() string { func (*Type) ProtoMessage() {} func (x *Type) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[96] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5884,7 +6231,7 @@ func (x *Type) ProtoReflect() protoreflect.Message { // Deprecated: Use Type.ProtoReflect.Descriptor instead. func (*Type) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{96} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{101} } func (x *Type) GetName() string { @@ -5915,7 +6262,7 @@ type Namespace struct { func (x *Namespace) Reset() { *x = Namespace{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[97] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5928,7 +6275,7 @@ func (x *Namespace) String() string { func (*Namespace) ProtoMessage() {} func (x *Namespace) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[97] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5941,7 +6288,7 @@ func (x *Namespace) ProtoReflect() protoreflect.Message { // Deprecated: Use Namespace.ProtoReflect.Descriptor instead. func (*Namespace) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{97} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{102} } func (x *Namespace) GetId() string { @@ -5983,7 +6330,7 @@ type GetGraphResponse_ProbesInfo struct { func (x *GetGraphResponse_ProbesInfo) Reset() { *x = GetGraphResponse_ProbesInfo{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[100] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5996,7 +6343,7 @@ func (x *GetGraphResponse_ProbesInfo) String() string { func (*GetGraphResponse_ProbesInfo) ProtoMessage() {} func (x *GetGraphResponse_ProbesInfo) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[100] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6009,7 +6356,7 @@ func (x *GetGraphResponse_ProbesInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGraphResponse_ProbesInfo.ProtoReflect.Descriptor instead. func (*GetGraphResponse_ProbesInfo) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{23, 0} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{28, 0} } func (x *GetGraphResponse_ProbesInfo) GetLatest() *Probe { @@ -6030,7 +6377,7 @@ type GetGraphResponse_NodeAttributes struct { func (x *GetGraphResponse_NodeAttributes) Reset() { *x = GetGraphResponse_NodeAttributes{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[101] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6043,7 +6390,7 @@ func (x *GetGraphResponse_NodeAttributes) String() string { func (*GetGraphResponse_NodeAttributes) ProtoMessage() {} func (x *GetGraphResponse_NodeAttributes) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[101] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6056,7 +6403,7 @@ func (x *GetGraphResponse_NodeAttributes) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGraphResponse_NodeAttributes.ProtoReflect.Descriptor instead. func (*GetGraphResponse_NodeAttributes) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{23, 1} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{28, 1} } func (x *GetGraphResponse_NodeAttributes) GetProbes() *GetGraphResponse_ProbesInfo { @@ -6085,7 +6432,7 @@ type UpsertAssetRequest_Asset struct { func (x *UpsertAssetRequest_Asset) Reset() { *x = UpsertAssetRequest_Asset{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[105] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6098,7 +6445,7 @@ func (x *UpsertAssetRequest_Asset) String() string { func (*UpsertAssetRequest_Asset) ProtoMessage() {} func (x *UpsertAssetRequest_Asset) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[105] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6111,7 +6458,7 @@ func (x *UpsertAssetRequest_Asset) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertAssetRequest_Asset.ProtoReflect.Descriptor instead. func (*UpsertAssetRequest_Asset) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{30, 0} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{35, 0} } func (x *UpsertAssetRequest_Asset) GetUrn() string { @@ -6196,7 +6543,7 @@ type UpsertPatchAssetRequest_Asset struct { func (x *UpsertPatchAssetRequest_Asset) Reset() { *x = UpsertPatchAssetRequest_Asset{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[107] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6209,7 +6556,7 @@ func (x *UpsertPatchAssetRequest_Asset) String() string { func (*UpsertPatchAssetRequest_Asset) ProtoMessage() {} func (x *UpsertPatchAssetRequest_Asset) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[107] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6222,7 +6569,7 @@ func (x *UpsertPatchAssetRequest_Asset) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertPatchAssetRequest_Asset.ProtoReflect.Descriptor instead. func (*UpsertPatchAssetRequest_Asset) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{32, 0} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{37, 0} } func (x *UpsertPatchAssetRequest_Asset) GetUrn() string { @@ -6297,12 +6644,13 @@ type CreateAssetProbeRequest_Probe struct { StatusReason string `protobuf:"bytes,2,opt,name=status_reason,json=statusReason,proto3" json:"status_reason,omitempty"` Metadata *structpb.Struct `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` } func (x *CreateAssetProbeRequest_Probe) Reset() { *x = CreateAssetProbeRequest_Probe{} if protoimpl.UnsafeEnabled { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[109] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6315,7 +6663,7 @@ func (x *CreateAssetProbeRequest_Probe) String() string { func (*CreateAssetProbeRequest_Probe) ProtoMessage() {} func (x *CreateAssetProbeRequest_Probe) ProtoReflect() protoreflect.Message { - mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[109] + mi := &file_raystack_compass_v1beta1_service_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6328,7 +6676,7 @@ func (x *CreateAssetProbeRequest_Probe) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAssetProbeRequest_Probe.ProtoReflect.Descriptor instead. func (*CreateAssetProbeRequest_Probe) Descriptor() ([]byte, []int) { - return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{42, 0} + return file_raystack_compass_v1beta1_service_proto_rawDescGZIP(), []int{47, 0} } func (x *CreateAssetProbeRequest_Probe) GetStatus() string { @@ -6359,84 +6707,92 @@ func (x *CreateAssetProbeRequest_Probe) GetTimestamp() *timestamppb.Timestamp { return nil } +func (x *CreateAssetProbeRequest_Probe) GetId() string { + if x != nil { + return x.Id + } + return "" +} + var File_raystack_compass_v1beta1_service_proto protoreflect.FileDescriptor var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x6f, 0x64, 0x70, 0x66, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, - 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0x95, 0x03, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, - 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, - 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, - 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x08, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x12, 0x20, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x12, 0x26, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, - 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, - 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3a, 0x2b, 0x92, 0x41, 0x28, - 0x0a, 0x26, 0x32, 0x24, 0x53, 0x6f, 0x6d, 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x20, 0x64, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x51, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x02, 0x0a, 0x17, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x18, - 0x01, 0x28, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, - 0x92, 0x01, 0x04, 0x18, 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0x28, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x18, 0x01, 0x28, 0x01, 0x52, 0x09, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x3a, 0x3f, 0x92, 0x41, 0x3c, 0x0a, 0x3a, - 0x32, 0x29, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x73, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0xd2, 0x01, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x2a, 0x0a, 0x18, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4d, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, + 0x0a, 0x26, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x73, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x03, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, + 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, + 0x01, 0x01, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, + 0xd0, 0x01, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x04, 0x73, + 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, + 0xd0, 0x01, 0x01, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, + 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x3a, 0x2b, 0x92, 0x41, 0x28, 0x0a, 0x26, 0x32, 0x24, 0x53, 0x6f, 0x6d, 0x65, + 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, + 0x65, 0x74, 0x63, 0x68, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0x55, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x18, 0x01, 0x28, 0x01, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x18, + 0x01, 0x28, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x09, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0a, + 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x18, 0x01, 0x28, 0x01, 0x52, 0x09, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x65, 0x73, 0x3a, 0x3f, 0x92, 0x41, 0x3c, 0x0a, 0x3a, 0x32, 0x29, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0xd2, + 0x01, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x2a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x96, 0x02, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, @@ -6478,74 +6834,75 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, - 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4b, 0x0a, 0x16, 0x47, + 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x22, 0x47, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x14, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x08, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0x92, 0x41, 0x1c, 0x32, - 0x1a, 0x74, 0x65, 0x78, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x28, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x29, 0xfa, 0x42, 0x05, 0x72, 0x03, - 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0xc5, 0x01, 0x0a, 0x06, 0x72, 0x61, - 0x6e, 0x6b, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0xac, 0x01, 0x92, 0x41, 0xa0, - 0x01, 0x32, 0x9d, 0x01, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x6c, 0x79, - 0x20, 0x73, 0x6f, 0x72, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, - 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, - 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, - 0x72, 0x61, 0x6e, 0x6b, 0x62, 0x79, 0x5b, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5d, - 0x22, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x6b, 0x62, - 0x79, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x29, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x12, 0xe7, 0x01, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x97, 0x01, 0x92, 0x41, 0x93, 0x01, 0x32, - 0x90, 0x01, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, - 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x28, 0x6e, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, - 0x74, 0x65, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, - 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x5b, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, - 0x5d, 0x22, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xde, 0x01, 0x0a, 0x05, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1b, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x17, 0x0a, + 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x09, 0x0a, + 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x27, 0x92, 0x41, 0x1c, 0x32, 0x1a, 0x74, 0x65, 0x78, 0x74, 0x20, 0x74, 0x6f, + 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x28, 0x66, 0x75, 0x7a, + 0x7a, 0x79, 0x29, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, 0x65, 0x78, + 0x74, 0x12, 0xc5, 0x01, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x6b, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0xac, 0x01, 0x92, 0x41, 0xa0, 0x01, 0x32, 0x9d, 0x01, 0x64, 0x65, 0x73, 0x63, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x6c, 0x79, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x20, 0x62, 0x61, + 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, + 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x2e, 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, 0x72, 0x61, 0x6e, 0x6b, 0x62, 0x79, 0x5b, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x75, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5d, 0x22, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, + 0x01, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x6b, 0x62, 0x79, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x29, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, + 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x97, 0x01, 0x92, 0x41, 0x93, 0x01, 0x32, 0x90, 0x01, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, + 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x28, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x29, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x2e, 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x5d, 0x22, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0xe2, 0x01, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x91, 0x01, 0x92, 0x41, 0x8d, 0x01, 0x32, 0x8a, 0x01, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, @@ -6568,185 +6925,269 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 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, 0x1a, 0x38, 0x0a, 0x0a, - 0x51, 0x75, 0x65, 0x72, 0x79, 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, 0x22, 0x47, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x57, 0x0a, 0x14, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x20, 0x32, 0x1e, 0x74, 0x65, 0x78, 0x74, - 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, - 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, - 0x01, 0x01, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x53, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x76, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x3b, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x1d, 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x52, 0x08, 0x75, 0x70, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x03, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x45, - 0x64, 0x67, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x73, 0x1a, - 0x41, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, - 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x1a, 0x5b, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x62, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x1a, - 0x73, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 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, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb0, 0x04, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x01, 0x71, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, - 0x71, 0x75, 0x65, 0x72, 0x79, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x01, 0x71, - 0x12, 0x47, 0x0a, 0x08, 0x71, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x21, 0x32, 0x1f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, - 0x62, 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, - 0x52, 0x07, 0x71, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, - 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x66, + 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x51, 0x75, 0x65, + 0x72, 0x79, 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, 0x22, 0x87, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, + 0x73, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x7a, + 0x7a, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x68, 0x69, 0x67, + 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x4b, 0x0a, + 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x57, 0x0a, 0x14, 0x53, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x2b, 0x92, 0x41, 0x20, 0x32, 0x1e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x22, 0x2b, 0x0a, 0x15, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0xdf, 0x02, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x62, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, + 0x08, 0x01, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x62, 0x79, 0x12, 0x7a, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x28, 0x92, 0x41, 0x25, 0x32, 0x23, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, + 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x47, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x33, 0x92, 0x41, + 0x27, 0x32, 0x25, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, + 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 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, 0x22, 0x5e, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0b, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x22, 0x4a, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x1f, + 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0xed, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d, + 0xfa, 0x42, 0x1a, 0x72, 0x18, 0x52, 0x08, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x00, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x43, 0x92, 0x41, 0x40, 0x32, 0x3e, 0x69, 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x20, 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x28, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, + 0x29, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x0f, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x45, 0x92, 0x41, 0x42, 0x32, 0x40, 0x69, 0x66, 0x20, 0x74, 0x72, + 0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x73, 0x6f, 0x66, 0x74, + 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x20, 0x67, + 0x72, 0x61, 0x70, 0x68, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, + 0xc8, 0x03, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x65, 0x61, 0x67, 0x65, 0x45, 0x64, 0x67, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x58, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, + 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x50, 0x72, 0x6f, + 0x62, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x1a, 0x5f, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, + 0x72, 0x6f, 0x62, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, + 0x73, 0x1a, 0x77, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 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, 0x4f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x04, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x33, 0x0a, 0x01, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0x92, 0x41, + 0x1a, 0x32, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0xfa, 0x42, 0x05, 0x72, 0x03, + 0xd0, 0x01, 0x01, 0x52, 0x01, 0x71, 0x12, 0x47, 0x0a, 0x08, 0x71, 0x5f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x21, 0x32, 0x1f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, - 0x01, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xdf, 0x01, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6f, 0x64, - 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, - 0x96, 0x01, 0x92, 0x41, 0x92, 0x01, 0x32, 0x8f, 0x01, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, - 0x20, 0x28, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, - 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6e, 0x61, 0x6d, 0x65, 0x2e, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5d, 0x22, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, - 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 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, 0x22, 0x45, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x86, - 0x07, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x01, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0xfa, 0x42, + 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x07, 0x71, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, + 0x3b, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, + 0x92, 0x41, 0x1a, 0x32, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0xfa, 0x42, 0x05, + 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x08, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, + 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x96, 0x01, 0x92, 0x41, 0x92, 0x01, + 0x32, 0x8f, 0x01, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, + 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x28, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, + 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, + 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, + 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5d, 0x22, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, + 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, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd0, 0x07, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x01, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x25, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0xfa, 0x42, + 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x01, 0x71, 0x12, 0x47, 0x0a, 0x08, 0x71, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x21, + 0x32, 0x1f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x07, 0x71, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, - 0x79, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x01, 0x71, 0x12, 0x47, 0x0a, 0x08, 0x71, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, - 0x41, 0x21, 0x32, 0x1f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x07, 0x71, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x25, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x20, 0x62, 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x44, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x28, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x20, 0x62, 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0x92, 0x41, 0x19, 0x32, 0x17, 0x73, 0x6f, 0x72, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x73, 0x6f, 0x72, - 0x74, 0x12, 0x57, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x2e, 0x32, 0x2c, 0x73, 0x6f, 0x72, 0x74, 0x69, - 0x6e, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x63, 0x20, 0x6f, - 0x72, 0x20, 0x64, 0x65, 0x73, 0x63, 0x20, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xe0, 0x01, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x64, 0x70, 0x66, + 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, + 0x44, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x28, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, + 0x79, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x24, 0x92, 0x41, 0x19, 0x32, 0x17, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, + 0x57, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x2e, 0x32, 0x2c, 0x73, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x65, + 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x63, 0x20, 0x6f, 0x72, 0x20, + 0x64, 0x65, 0x73, 0x63, 0x20, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xe4, 0x01, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x96, 0x01, 0x92, 0x41, 0x92, 0x01, 0x32, 0x8f, 0x01, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, + 0x61, 0x20, 0x28, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x2e, 0x20, 0x65, 0x67, 0x2c, 0x20, 0x22, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6e, 0x61, 0x6d, 0x65, + 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5d, 0x22, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x37, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x23, 0x92, + 0x41, 0x17, 0x32, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x73, 0x69, 0x7a, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, + 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x22, 0x92, 0x41, 0x16, 0x32, 0x14, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x32, 0x26, 0x69, + 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x54, 0x6f, 0x74, 0x61, 0x6c, + 0x12, 0x44, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x25, 0x92, 0x41, 0x22, 0x32, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x69, 0x73, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 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, 0x22, + 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x96, - 0x01, 0x92, 0x41, 0x92, 0x01, 0x32, 0x8f, 0x01, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, - 0x28, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x2e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, - 0x65, 0x67, 0x2c, 0x20, 0x22, 0x64, 0x61, 0x74, 0x61, 0x5b, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5d, 0x22, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x23, 0x92, 0x41, 0x17, - 0x32, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x22, 0x92, 0x41, 0x16, 0x32, 0x14, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x65, 0x74, 0x63, 0x68, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x32, 0x26, 0x69, 0x66, 0x20, - 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x09, 0x77, 0x69, 0x74, 0x68, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0x37, - 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 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, 0x22, 0x5d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x47, 0x0a, - 0x14, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x22, 0x25, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, + 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x05, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, - 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x64, 0x6f, - 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0xd9, 0x03, 0x0a, 0x05, 0x41, 0x73, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb4, 0x06, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, + 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, + 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x47, 0x0a, 0x0b, + 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x62, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x41, 0x92, 0x41, 0x3e, 0x32, + 0x3c, 0x69, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x2c, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0xe1, 0x03, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, @@ -6759,73 +7200,81 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x1d, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, - 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x42, 0x17, 0x92, 0x41, 0x14, 0x32, 0x12, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x20, - 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 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, 0x22, 0x25, 0x0a, 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xf9, 0x06, 0x0a, - 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x6f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x64, 0x6f, - 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x76, 0x65, - 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4c, - 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x1a, 0xdf, 0x04, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x42, 0x1d, 0x92, 0x41, 0x12, 0x32, 0x10, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x64, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x24, 0x92, 0x41, 0x19, 0x32, 0x17, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x1d, - 0x92, 0x41, 0x1a, 0x32, 0x18, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x17, 0x92, 0x41, 0x14, 0x32, 0x12, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x58, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x20, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x22, 0x25, 0x0a, + 0x13, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x22, 0xf1, 0x07, 0x0a, 0x17, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4d, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x42, 0x17, 0x92, 0x41, 0x14, 0x32, 0x12, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, + 0x73, 0x74, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, + 0x43, 0x0a, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x75, 0x70, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x12, 0x47, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x2b, 0x0a, + 0x11, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x61, + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x41, 0x92, 0x41, 0x3e, 0x32, 0x3c, 0x69, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x6f, + 0x6e, 0x6c, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2c, 0x20, 0x64, 0x6f, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6f, 0x6e, + 0x65, 0x73, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0xe7, + 0x04, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4f, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x1d, 0x92, 0x41, 0x12, 0x32, + 0x10, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, + 0x74, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x64, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x24, 0x92, 0x41, + 0x19, 0x32, 0x17, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, + 0x01, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x4a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x1d, 0x92, 0x41, 0x1a, 0x32, 0x18, 0x64, 0x79, 0x6e, + 0x61, 0x6d, 0x69, 0x63, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x74, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x17, 0x92, 0x41, 0x14, 0x32, 0x12, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x12, 0x58, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x20, 0x92, 0x41, 0x1d, 0x32, 0x1b, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, @@ -6848,42 +7297,43 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x22, 0x4c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, - 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x71, - 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, - 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, - 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x22, 0x51, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x22, 0x50, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, + 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x22, 0x71, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x55, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x44, 0x0a, 0x18, + 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0x44, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd5, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x72, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x55, 0x72, 0x6e, 0x12, 0x49, 0x0a, 0x05, 0x70, 0x72, - 0x6f, 0x62, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6f, 0x64, 0x70, 0x66, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xa9, 0x03, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x24, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x55, 0x72, 0x6e, 0x12, 0x4d, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x05, - 0x70, 0x72, 0x6f, 0x62, 0x65, 0x1a, 0xc8, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, + 0x70, 0x72, 0x6f, 0x62, 0x65, 0x1a, 0x98, 0x02, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0x92, 0x41, 0x09, 0xd2, 0x01, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, @@ -6896,6 +7346,11 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x4e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0x92, 0x41, + 0x3b, 0x32, 0x39, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x70, 0x72, 0x6f, 0x62, + 0x65, 0x20, 0x49, 0x44, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, + 0x74, 0x6f, 0x2d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x78, 0x0a, 0x1b, @@ -6906,112 +7361,114 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4f, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x53, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4d, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x4d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, - 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, - 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x19, - 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2d, 0x0a, 0x10, 0x53, 0x74, - 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x53, 0x74, 0x61, - 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2f, - 0x0a, 0x12, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, - 0x15, 0x0a, 0x13, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x79, - 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x12, 0x20, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x73, 0x6f, - 0x72, 0x74, 0x12, 0x26, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, - 0x00, 0x40, 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, - 0x28, 0x00, 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x50, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5d, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, + 0x01, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, + 0x40, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x51, 0x0a, 0x1a, 0x47, 0x65, + 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x22, 0x50, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, + 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2d, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2f, 0x0a, 0x12, 0x55, 0x6e, + 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x55, + 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xc3, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x69, 0x73, 0x63, + 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x1c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, + 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, + 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, + 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x20, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x1c, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x26, + 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xd0, 0x01, 0x01, 0x52, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x2a, 0x04, 0x28, 0x00, 0x40, 0x01, + 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x54, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4d, + 0x79, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe4, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe8, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x61, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x67, 0x92, 0x41, - 0x64, 0x0a, 0x62, 0x2a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x22, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x74, - 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, 0x61, 0x67, 0xd2, 0x01, - 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0c, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0xd2, 0x01, 0x0a, 0x74, 0x61, 0x67, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5f, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, - 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x22, - 0x51, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0xdc, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x61, - 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, + 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x3a, 0x67, 0x92, 0x41, 0x64, 0x0a, 0x62, 0x2a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x22, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, + 0x61, 0x67, 0xd2, 0x01, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0xd2, 0x01, 0x0a, 0x74, + 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x4b, 0x0a, 0x16, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5f, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, + 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x22, 0x55, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x54, 0x61, + 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe0, + 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, @@ -7026,43 +7483,44 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x74, 0x61, 0x67, 0xd2, 0x01, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0xd2, 0x01, 0x0a, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x47, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x64, 0x70, 0x66, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x15, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, - 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, - 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x0a, 0x18, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x22, 0x4b, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, - 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2d, - 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x22, 0x53, 0x0a, - 0x1a, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x22, 0xb1, 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, + 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, + 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x55, 0x72, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, + 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x35, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6e, 0x22, 0x57, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb5, + 0x02, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x3a, 0x7e, 0x92, 0x41, 0x7b, 0x0a, 0x79, 0x2a, 0x18, 0x43, @@ -7073,45 +7531,46 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xd2, 0x01, 0x03, 0x75, 0x72, 0x6e, 0xd2, 0x01, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0a, 0x74, 0x61, 0x67, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x22, 0x4f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc9, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x3a, 0x84, 0x01, 0x92, - 0x41, 0x80, 0x01, 0x0a, 0x7e, 0x2a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, - 0x2d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, - 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, - 0x74, 0x61, 0x67, 0x27, 0x73, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xd2, 0x01, - 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0xd2, 0x01, 0x0c, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x06, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x22, 0x52, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3a, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x22, 0x53, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, + 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0xcd, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x3a, 0x84, 0x01, 0x92, 0x41, 0x80, 0x01, 0x0a, + 0x7e, 0x2a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x2d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, 0x61, 0x67, 0x27, + 0x73, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xd2, 0x01, 0x0c, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0xd2, 0x01, 0x0c, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0xd2, 0x01, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, + 0x56, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3d, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, @@ -7142,471 +7601,497 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0x92, 0x41, 0x17, 0x32, 0x15, 0x73, 0x65, 0x74, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x03, 0x75, - 0x72, 0x6e, 0x22, 0x55, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x1a, 0x92, 0x41, 0x17, 0x32, 0x15, 0x73, 0x65, 0x74, 0x20, 0x65, 0x69, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x03, 0x75, - 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x32, 0x2d, 0x6b, 0x65, 0x79, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x0a, 0x15, - 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x59, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x22, 0xdf, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x72, 0x6e, 0x22, 0x59, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xc5, 0x01, + 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0x92, 0x41, 0x17, 0x32, 0x15, 0x73, 0x65, 0x74, 0x20, + 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x0b, 0x92, 0x41, 0x08, 0x0a, 0x06, 0x2a, 0x04, 0x55, 0x73, - 0x65, 0x72, 0x22, 0x93, 0x01, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x66, 0x72, 0x6f, - 0x6d, 0x12, 0x26, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x74, 0x6f, 0x3a, 0x0d, 0x92, 0x41, 0x0a, 0x0a, 0x08, - 0x2a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xc6, 0x05, 0x0a, 0x05, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x32, 0x2d, 0x6b, 0x65, + 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x61, 0x73, + 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x19, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x17, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5d, 0x0a, 0x16, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x0b, 0x92, + 0x41, 0x08, 0x0a, 0x06, 0x2a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x22, 0x93, 0x01, 0x0a, 0x06, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, + 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x26, 0x0a, 0x02, 0x74, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x02, 0x74, + 0x6f, 0x3a, 0x0d, 0x92, 0x41, 0x0a, 0x0a, 0x08, 0x2a, 0x06, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x22, 0xf9, 0x05, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x62, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, - 0x3a, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x18, 0x0c, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x10, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, - 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 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, 0x3a, 0x0c, 0x92, 0x41, 0x09, 0x0a, 0x07, 0x2a, 0x05, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x22, 0xa9, 0x02, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x55, 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x62, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x79, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x6f, 0x67, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x6c, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, + 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x06, 0x70, + 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x06, 0x70, 0x72, + 0x6f, 0x62, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 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, 0x3a, 0x0c, + 0x92, 0x41, 0x09, 0x0a, 0x07, 0x2a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x22, 0xa9, 0x02, 0x0a, + 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, + 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x55, 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x12, 0x33, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, - 0x0c, 0x92, 0x41, 0x09, 0x0a, 0x07, 0x2a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x22, 0xf9, 0x02, - 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x12, 0x30, - 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x11, 0x92, 0x41, 0x0e, 0x0a, 0x0c, 0x2a, 0x0a, 0x44, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc5, 0x02, 0x0a, 0x07, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, - 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x30, - 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x3a, 0x0e, 0x92, 0x41, 0x0b, 0x0a, 0x09, 0x2a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x7e, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x45, 0x64, 0x67, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x3a, 0x12, 0x92, - 0x41, 0x0f, 0x0a, 0x0d, 0x2a, 0x0b, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x45, 0x64, 0x67, - 0x65, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x12, 0x92, 0x41, 0x0f, 0x0a, 0x0d, 0x2a, - 0x0b, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0xf5, 0x01, 0x0a, - 0x03, 0x54, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, - 0x72, 0x6e, 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x61, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0a, 0x92, 0x41, 0x07, 0x0a, 0x05, 0x2a, - 0x03, 0x54, 0x61, 0x67, 0x22, 0xd1, 0x03, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0b, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x75, - 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x55, - 0x72, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, - 0x0f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x0f, 0x92, 0x41, 0x0c, 0x0a, 0x0a, 0x2a, 0x08, - 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xae, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x67, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3e, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, - 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x0c, 0x92, 0x41, 0x09, 0x0a, + 0x07, 0x2a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x22, 0xfd, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, + 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x12, 0x92, 0x41, 0x0f, 0x0a, 0x0d, 0x2a, 0x0b, 0x54, 0x61, - 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x10, 0x54, 0x61, - 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x17, - 0x92, 0x41, 0x14, 0x0a, 0x12, 0x2a, 0x10, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x30, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x03, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x32, 0x2d, 0x6b, 0x65, 0x79, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x32, 0x93, 0x50, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x92, - 0x41, 0x21, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, - 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0xb6, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x43, 0x92, 0x41, 0x21, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x64, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, - 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xac, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x47, 0x65, 0x74, 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x6f, 0x64, - 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x92, 0x41, 0x20, 0x0a, 0x0a, 0x44, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x32, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x12, 0xdc, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x92, 0x41, - 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x07, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x69, - 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, - 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0xdc, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x11, 0x92, 0x41, 0x0e, 0x0a, 0x0c, 0x2a, 0x0a, 0x44, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x02, 0x0a, 0x07, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x34, 0x0a, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x0e, 0x92, 0x41, 0x0b, 0x0a, 0x09, 0x2a, + 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x65, + 0x61, 0x67, 0x65, 0x45, 0x64, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, + 0x70, 0x72, 0x6f, 0x70, 0x3a, 0x12, 0x92, 0x41, 0x0f, 0x0a, 0x0d, 0x2a, 0x0b, 0x4c, 0x69, 0x6e, + 0x65, 0x61, 0x67, 0x65, 0x45, 0x64, 0x67, 0x65, 0x22, 0x69, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x65, + 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, + 0x12, 0x92, 0x41, 0x0f, 0x0a, 0x0d, 0x2a, 0x0b, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6e, 0x12, 0x41, 0x0a, 0x0a, 0x74, 0x61, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x09, 0x74, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x31, 0x0a, 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x3a, 0x0a, 0x92, 0x41, 0x07, 0x0a, 0x05, 0x2a, 0x03, 0x54, 0x61, 0x67, 0x22, + 0xd1, 0x03, 0x0a, 0x08, 0x54, 0x61, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x72, 0x6e, 0x12, 0x2c, 0x0a, + 0x12, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x3a, 0x0f, 0x92, 0x41, 0x0c, 0x0a, 0x0a, 0x2a, 0x08, 0x54, 0x61, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x39, + 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x3a, 0x12, 0x92, 0x41, 0x0f, 0x0a, 0x0d, 0x2a, 0x0b, 0x54, 0x61, 0x67, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xdb, 0x02, 0x0a, 0x10, 0x54, 0x61, 0x67, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x17, 0x92, + 0x41, 0x14, 0x0a, 0x12, 0x2a, 0x10, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x30, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x67, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x32, 0x2d, 0x6b, 0x65, 0x79, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x32, 0xd4, 0x54, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, + 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, - 0x92, 0x41, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, - 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, - 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, - 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0xd2, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, - 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x6c, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x92, 0x41, 0x21, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, + 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, + 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x43, 0x92, 0x41, 0x21, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x64, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, + 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, + 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb4, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x1e, 0x0a, + 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x47, 0x65, 0x74, + 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xbf, + 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x92, 0x41, 0x20, 0x0a, 0x0a, 0x44, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x32, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x12, 0xe4, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x72, 0x92, 0x41, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xe4, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x92, + 0x41, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x07, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, + 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, + 0x2d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xda, + 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x71, 0x92, 0x41, 0x34, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0x92, 0x41, 0x34, 0x0a, 0x0a, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1d, 0x47, 0x65, 0x74, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe9, 0x01, 0x0a, 0x0d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, + 0x92, 0x41, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, + 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, - 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, - 0x12, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x77, 0x92, 0x41, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x37, 0x3a, 0x01, 0x2a, 0x1a, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, - 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x74, 0x92, 0x41, 0x37, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, - 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xc6, 0x06, 0x0a, 0x0c, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, + 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x3a, 0x01, 0x2a, 0x1a, 0x32, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xe6, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x92, 0x41, 0x37, 0x0a, + 0x0a, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x07, 0x43, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x69, 0x73, 0x63, + 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, + 0x12, 0xce, 0x06, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xde, 0x05, 0x92, 0x41, 0xc3, 0x05, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x9c, 0x05, 0x41, - 0x50, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, - 0x27, 0x20, 0x69, 0x73, 0x20, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x27, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x5b, 0x2e, 0x2a, 0x5d, 0x27, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x61, 0x20, - 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, - 0x20, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x74, - 0x6f, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x6c, 0x61, - 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20, 0x27, 0x76, 0x6e, 0x27, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x27, 0x74, 0x68, 0x27, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x60, 0x2f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x2f, 0x3f, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x3c, 0x74, 0x65, 0x78, 0x74, 0x3e, 0x26, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x5d, 0x3d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x26, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, - 0x5d, 0x3d, 0x76, 0x6e, 0x26, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x6c, 0x61, 0x6e, 0x64, - 0x73, 0x63, 0x61, 0x70, 0x65, 0x5d, 0x3d, 0x74, 0x68, 0x60, 0x2e, 0x20, 0x41, 0x73, 0x20, 0x61, - 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x41, 0x50, 0x49, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x20, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x27, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x27, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x2c, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x27, 0x62, 0x69, 0x67, - 0x71, 0x75, 0x27, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x74, 0x73, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x60, 0x2f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x2f, 0x3f, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x3c, 0x74, 0x65, 0x78, 0x74, - 0x3e, 0x26, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5d, 0x3d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x12, 0xae, 0x02, 0x0a, 0x0d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x12, 0x2a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, - 0x92, 0x41, 0xa0, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x0a, 0x05, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x12, 0x10, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x7d, 0x41, 0x50, 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, - 0x65, 0x74, 0x72, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x4e, 0x20, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x74, 0x65, 0x78, 0x74, 0x60, 0x2e, 0x20, - 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20, 0x4e, 0x20, 0x3d, 0x20, - 0x35, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x68, 0x61, - 0x72, 0x64, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x6f, 0x64, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2f, 0x73, 0x75, 0x67, 0x67, - 0x65, 0x73, 0x74, 0x12, 0xc7, 0x02, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x12, 0x25, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, + 0x72, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xde, 0x05, 0x92, 0x41, 0xc3, 0x05, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x0a, + 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x9c, 0x05, 0x41, 0x50, + 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x20, 0x27, 0x74, 0x65, 0x78, 0x74, 0x27, + 0x20, 0x69, 0x73, 0x20, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x64, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x27, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, + 0x2e, 0x2a, 0x5d, 0x27, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x61, 0x20, 0x73, + 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x20, + 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x6f, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x6c, 0x61, 0x6e, + 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x20, 0x27, 0x76, 0x6e, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x27, 0x74, 0x68, 0x27, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, + 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x60, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x2f, 0x3f, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x3c, 0x74, 0x65, 0x78, 0x74, 0x3e, 0x26, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x5d, 0x3d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x26, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x5d, + 0x3d, 0x76, 0x6e, 0x26, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5b, 0x6c, 0x61, 0x6e, 0x64, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x5d, 0x3d, 0x74, 0x68, 0x60, 0x2e, 0x20, 0x41, 0x73, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x41, 0x50, 0x49, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x20, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x27, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x27, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, + 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x27, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x27, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x6e, 0x20, 0x69, 0x74, 0x73, 0x20, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x60, 0x2f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x2f, 0x3f, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x3c, 0x74, 0x65, 0x78, 0x74, 0x3e, + 0x26, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5d, 0x3d, 0x62, 0x69, 0x67, 0x71, 0x75, 0x60, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, + 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x12, 0xb6, 0x02, 0x0a, 0x0d, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0x92, 0x41, 0xa0, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x10, 0x53, 0x75, 0x67, 0x67, + 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x7d, 0x41, 0x50, + 0x49, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x74, 0x72, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, + 0x20, 0x4e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x69, + 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, + 0x74, 0x65, 0x78, 0x74, 0x60, 0x2e, 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x2c, 0x20, 0x4e, 0x20, 0x3d, 0x20, 0x35, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x77, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x68, 0x61, 0x72, 0x64, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x2f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x12, 0xee, 0x01, 0x0a, 0x0b, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x92, 0x41, 0x62, 0x0a, 0x06, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x0c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, 0x43, 0x41, 0x50, 0x49, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0xcf, 0x02, 0x0a, 0x08, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x29, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xeb, 0x01, 0x92, 0x41, 0xc6, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x0a, @@ -7623,23 +8108,24 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x69, 0x74, 0x27, 0x73, 0x20, 0x75, 0x72, 0x6e, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6c, 0x69, 0x6e, - 0x65, 0x61, 0x67, 0x65, 0x2f, 0x7b, 0x75, 0x72, 0x6e, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0xba, 0x01, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x28, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, + 0x65, 0x61, 0x67, 0x65, 0x2f, 0x7b, 0x75, 0x72, 0x6e, 0x3d, 0x2a, 0x2a, 0x7d, 0x12, 0xc2, 0x01, + 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2c, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x3d, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x20, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x24, 0x46, 0x65, 0x74, 0x63, 0x68, 0x20, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x9a, 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x3d, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x24, - 0x46, 0x65, 0x74, 0x63, 0x68, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x6f, 0x64, - 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0x92, 0x41, 0x8f, 0x01, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, @@ -7653,23 +8139,24 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x61, 0x74, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0xc2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, - 0x12, 0x29, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, 0x64, - 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x92, 0x41, 0x3c, 0x0a, 0x05, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x12, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x1a, 0x24, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x49, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0xca, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, + 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x42, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x5b, 0x92, 0x41, 0x3c, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x0d, 0x46, 0x69, 0x6e, + 0x64, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x24, 0x52, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x49, 0x44, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xf3, 0x01, 0x0a, + 0x0b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x92, 0x41, 0x69, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x43, @@ -7680,26 +8167,27 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x20, 0x79, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x1a, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x12, 0xf4, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x92, 0x41, 0x63, 0x0a, 0x05, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x12, 0x15, 0x50, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x43, 0x53, 0x69, 0x6d, 0x69, - 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x20, 0x62, 0x75, - 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x20, 0x73, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x32, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0xc0, 0x01, 0x0a, 0x0b, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x6f, 0x64, 0x70, 0x66, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x74, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, + 0x01, 0x92, 0x41, 0x63, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x15, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x2f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x1a, 0x43, 0x53, 0x69, 0x6d, 0x69, 0x6c, 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x20, 0x62, 0x75, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x20, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, + 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, + 0x32, 0x0f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x12, 0x2c, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x92, 0x41, 0x3d, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x0f, 0x44, 0x65, 0x6c, 0x65, @@ -7707,28 +8195,29 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x49, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xf7, 0x01, 0x0a, + 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xff, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x67, 0x61, 0x7a, - 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x92, 0x41, 0x54, 0x0a, 0x05, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x12, 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x1a, 0x2b, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x73, 0x74, 0x61, 0x72, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, - 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x33, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, + 0x65, 0x72, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x67, 0x61, 0x7a, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, + 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, + 0x92, 0x41, 0x54, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x46, 0x69, 0x6e, 0x64, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, + 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x2b, 0x52, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x73, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x67, 0x61, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x86, + 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x92, 0x41, @@ -7739,27 +8228,28 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xf5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, - 0x92, 0x41, 0x4d, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x47, 0x65, 0x74, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x27, 0x73, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x26, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, - 0xe1, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, - 0x72, 0x6f, 0x62, 0x65, 0x12, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x92, 0x41, 0x4d, 0x0a, 0x05, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x12, 0x1c, 0x47, 0x65, 0x74, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x27, 0x73, 0x20, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x1a, 0x26, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xe9, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x31, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x3a, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, @@ -7769,27 +8259,28 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x05, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x6f, - 0x62, 0x65, 0x73, 0x12, 0xf6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x72, - 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x77, 0x92, 0x41, 0x4c, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, 0x04, - 0x53, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x47, 0x65, 0x74, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, - 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x1a, 0x20, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, - 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x12, 0xd8, 0x01, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, - 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x62, 0x65, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x35, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0x92, 0x41, 0x4c, + 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x1c, 0x47, 0x65, + 0x74, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x20, 0x47, 0x65, 0x74, 0x20, + 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x73, 0x74, 0x61, + 0x72, 0x72, 0x65, 0x64, 0x12, 0xe0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, + 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, + 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x34, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x41, 0x0a, 0x04, 0x55, 0x73, 0x65, @@ -7798,25 +8289,26 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, - 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x12, 0xdd, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, - 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2e, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, - 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, - 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, - 0x92, 0x41, 0x3e, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, - 0x14, 0x47, 0x65, 0x74, 0x20, 0x6d, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x1a, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x6d, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, - 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x12, 0xe5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, + 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x32, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x53, 0x74, + 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x79, 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x92, 0x41, 0x3e, 0x0a, 0x04, 0x55, 0x73, 0x65, + 0x72, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x14, 0x47, 0x65, 0x74, 0x20, 0x6d, 0x79, 0x20, + 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x1a, 0x47, + 0x65, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, + 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, + 0x1e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x61, + 0x72, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, + 0xc5, 0x01, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2a, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x36, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x20, 0x61, 0x6e, @@ -7824,24 +8316,25 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x73, 0x74, 0x61, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x1a, 0x1e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x0b, 0x55, 0x6e, 0x73, 0x74, - 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, - 0x36, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x0f, 0x55, - 0x6e, 0x73, 0x74, 0x61, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x17, - 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6d, 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, - 0x64, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x72, - 0x65, 0x64, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x81, 0x02, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, - 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x0b, 0x55, 0x6e, 0x73, 0x74, + 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x36, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, + 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x0f, 0x55, 0x6e, 0x73, 0x74, 0x61, 0x72, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x17, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x20, 0x6d, + 0x79, 0x20, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x2a, 0x1e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x6d, 0x65, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x89, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, + 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x69, 0x73, 0x63, 0x75, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x92, 0x41, 0x6b, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x0a, 0x0a, 0x44, @@ -7853,25 +8346,26 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x75, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x57, 0x92, 0x41, 0x35, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x0c, 0x54, 0x61, 0x67, 0x20, 0x61, - 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x20, 0x54, 0x61, 0x67, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x74, 0x61, 0x67, - 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, - 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, - 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0xa9, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x54, 0x61, 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x61, 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x6f, - 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x73, 0x12, 0xcc, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x92, 0x41, 0x35, 0x0a, 0x03, 0x54, 0x61, + 0x67, 0x12, 0x0c, 0x54, 0x61, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, + 0x20, 0x54, 0x61, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x61, 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x12, 0xb1, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x39, 0x2e, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x42, + 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x92, 0x41, 0x5a, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, @@ -7884,26 +8378,27 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x7f, 0x92, 0x41, 0x39, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x18, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, 0x61, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, - 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x20, 0x74, 0x61, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, 0x2a, 0x1a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, - 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, - 0x72, 0x6e, 0x7d, 0x12, 0xf4, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, - 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xf4, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x92, 0x41, 0x39, 0x0a, + 0x03, 0x54, 0x61, 0x67, 0x12, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, + 0x61, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x1a, 0x18, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, 0x61, 0x67, 0x20, 0x6f, 0x6e, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x3a, 0x01, + 0x2a, 0x1a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, + 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xfc, 0x01, 0x0a, 0x0e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2f, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x86, 0x01, 0x92, 0x41, 0x43, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x18, 0x52, 0x65, @@ -7914,26 +8409,27 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x2a, 0x38, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x11, 0x47, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x12, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, - 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, - 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x60, 0x92, 0x41, 0x36, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x13, 0x47, 0x65, 0x74, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x27, 0x73, 0x20, 0x74, 0x61, 0x67, 0x73, - 0x1a, 0x1a, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, - 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, - 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2f, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6f, 0x64, - 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x92, 0x41, 0x36, 0x0a, 0x03, + 0x54, 0x61, 0x67, 0x12, 0x13, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x27, 0x73, 0x20, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x1a, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x2f, 0x7b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe0, 0x01, 0x0a, 0x12, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x3d, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x15, 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, @@ -7941,25 +8437,26 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x47, 0x65, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xce, + 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xd6, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x92, 0x41, 0x33, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, - 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x1a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, - 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, - 0xd2, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x92, + 0x41, 0x33, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x19, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, + 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x34, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x12, 0x47, 0x65, 0x74, 0x20, 0x61, 0x20, 0x74, @@ -7968,26 +8465,27 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xe3, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x92, 0x41, 0x39, - 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x61, 0x67, - 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, - 0x01, 0x2a, 0x1a, 0x26, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, - 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x11, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x12, 0x2e, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, - 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, + 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x6d, 0x92, 0x41, 0x39, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x1a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x1a, 0x26, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, + 0x6e, 0x7d, 0x12, 0xe9, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x72, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x92, 0x41, 0x3a, 0x0a, 0x03, 0x54, 0x61, 0x67, 0x12, 0x15, 0x44, 0x65, 0x6c, @@ -7996,26 +8494,27 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x67, 0x6c, 0x65, 0x20, 0x74, 0x61, 0x67, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x2a, 0x26, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xe8, + 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xf0, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, - 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x78, 0x92, 0x41, 0x57, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x1a, 0x36, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x72, - 0x6f, 0x77, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6c, 0x72, - 0x65, 0x61, 0x64, 0x79, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0xf9, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x29, 0x2e, 0x6f, 0x64, 0x70, - 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, + 0x63, 0x65, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x92, 0x41, 0x57, 0x0a, 0x09, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x36, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x81, 0x02, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x91, 0x01, 0x92, 0x41, 0x6d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, @@ -8027,28 +8526,29 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x75, 0x72, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, - 0x7b, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0x8b, 0x02, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x92, 0x41, 0x73, 0x0a, 0x09, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x54, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x73, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x66, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, - 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20, 0x69, 0x64, 0x20, - 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x75, 0x72, 0x6e, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x1a, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x75, - 0x72, 0x6e, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, + 0x7b, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0x93, 0x02, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, + 0x01, 0x92, 0x41, 0x73, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, + 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x1a, 0x54, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2c, + 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x66, + 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x2e, + 0x20, 0x55, 0x73, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x61, 0x73, 0x20, 0x75, 0x72, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, + 0x1a, 0x19, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6e, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x0e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2f, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, + 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x38, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, @@ -8056,50 +8556,51 @@ var file_raystack_compass_v1beta1_service_proto_rawDesc = []byte{ 0x65, 0x1a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x42, 0xae, 0x05, 0x0a, 0x16, 0x69, 0x6f, - 0x2e, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x61, 0x73, 0x73, 0x42, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x64, 0x70, 0x66, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x92, 0x41, 0xc4, 0x04, 0x12, 0x97, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, - 0x73, 0x73, 0x12, 0x3c, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, - 0x20, 0x41, 0x50, 0x49, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, - 0x2a, 0x47, 0x0a, 0x12, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x20, 0x32, 0x2e, 0x30, 0x12, 0x31, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x64, 0x70, 0x66, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x69, - 0x6e, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x30, 0x2e, 0x33, 0x2e, 0x30, - 0x2a, 0x02, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x52, 0x51, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, - 0x4a, 0x0a, 0x30, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x6f, - 0x6e, 0x67, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x4b, 0x0a, 0x03, 0x34, - 0x30, 0x34, 0x12, 0x44, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, - 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x4a, 0x0a, 0x03, 0x34, 0x30, 0x39, 0x12, - 0x43, 0x0a, 0x29, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x16, 0x0a, 0x14, - 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x5c, 0x0a, 0x03, 0x35, 0x30, 0x30, 0x12, 0x55, 0x0a, 0x3b, 0x52, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x72, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, - 0x20, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x42, 0xbe, 0x05, 0x92, 0x41, 0xcc, 0x04, + 0x12, 0x9b, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x12, 0x3c, 0x44, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x6f, + 0x75, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x20, 0x41, 0x50, 0x49, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x67, 0x52, 0x50, + 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x2a, 0x4b, 0x0a, 0x12, 0x41, 0x70, + 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x32, 0x2e, 0x30, + 0x12, 0x35, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, + 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x05, 0x30, 0x2e, 0x33, 0x2e, 0x30, 0x2a, 0x02, + 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x52, 0x51, 0x0a, 0x03, 0x34, 0x30, 0x30, 0x12, 0x4a, 0x0a, + 0x30, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x75, 0x73, 0x65, + 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x69, 0x73, 0x20, 0x77, 0x72, 0x6f, 0x6e, 0x67, + 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x4b, 0x0a, 0x03, 0x34, 0x30, 0x34, + 0x12, 0x44, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x16, + 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x4a, 0x0a, 0x03, 0x34, 0x30, 0x39, 0x12, 0x43, 0x0a, + 0x29, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x6c, 0x72, 0x65, + 0x61, 0x64, 0x79, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x72, 0x36, 0x0a, 0x12, 0x4d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, - 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x12, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x6f, 0x64, 0x70, 0x66, 0x2e, 0x67, 0x69, 0x74, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x75, 0x73, 0x52, 0x5c, 0x0a, 0x03, 0x35, 0x30, 0x30, 0x12, 0x55, 0x0a, 0x3b, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, + 0x73, 0x20, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x77, + 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2e, 0x12, 0x16, 0x0a, 0x14, 0x1a, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x72, 0x3a, 0x0a, 0x12, 0x4d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x12, 0x24, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x67, 0x69, 0x74, 0x62, 0x6f, 0x6f, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x2f, 0x0a, 0x1a, 0x69, 0x6f, + 0x2e, 0x72, 0x61, 0x79, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6e, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x42, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, + 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x73, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x73, 0x73, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } @@ -8115,7 +8616,7 @@ func file_raystack_compass_v1beta1_service_proto_rawDescGZIP() []byte { return file_raystack_compass_v1beta1_service_proto_rawDescData } -var file_raystack_compass_v1beta1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 111) +var file_raystack_compass_v1beta1_service_proto_msgTypes = make([]protoimpl.MessageInfo, 117) var file_raystack_compass_v1beta1_service_proto_goTypes = []interface{}{ (*GetAllDiscussionsRequest)(nil), // 0: raystack.compass.v1beta1.GetAllDiscussionsRequest (*GetAllDiscussionsResponse)(nil), // 1: raystack.compass.v1beta1.GetAllDiscussionsResponse @@ -8136,283 +8637,296 @@ var file_raystack_compass_v1beta1_service_proto_goTypes = []interface{}{ (*DeleteCommentRequest)(nil), // 16: raystack.compass.v1beta1.DeleteCommentRequest (*DeleteCommentResponse)(nil), // 17: raystack.compass.v1beta1.DeleteCommentResponse (*SearchAssetsRequest)(nil), // 18: raystack.compass.v1beta1.SearchAssetsRequest - (*SearchAssetsResponse)(nil), // 19: raystack.compass.v1beta1.SearchAssetsResponse - (*SuggestAssetsRequest)(nil), // 20: raystack.compass.v1beta1.SuggestAssetsRequest - (*SuggestAssetsResponse)(nil), // 21: raystack.compass.v1beta1.SuggestAssetsResponse - (*GetGraphRequest)(nil), // 22: raystack.compass.v1beta1.GetGraphRequest - (*GetGraphResponse)(nil), // 23: raystack.compass.v1beta1.GetGraphResponse - (*GetAllTypesRequest)(nil), // 24: raystack.compass.v1beta1.GetAllTypesRequest - (*GetAllTypesResponse)(nil), // 25: raystack.compass.v1beta1.GetAllTypesResponse - (*GetAllAssetsRequest)(nil), // 26: raystack.compass.v1beta1.GetAllAssetsRequest - (*GetAllAssetsResponse)(nil), // 27: raystack.compass.v1beta1.GetAllAssetsResponse - (*GetAssetByIDRequest)(nil), // 28: raystack.compass.v1beta1.GetAssetByIDRequest - (*GetAssetByIDResponse)(nil), // 29: raystack.compass.v1beta1.GetAssetByIDResponse - (*UpsertAssetRequest)(nil), // 30: raystack.compass.v1beta1.UpsertAssetRequest - (*UpsertAssetResponse)(nil), // 31: raystack.compass.v1beta1.UpsertAssetResponse - (*UpsertPatchAssetRequest)(nil), // 32: raystack.compass.v1beta1.UpsertPatchAssetRequest - (*UpsertPatchAssetResponse)(nil), // 33: raystack.compass.v1beta1.UpsertPatchAssetResponse - (*DeleteAssetRequest)(nil), // 34: raystack.compass.v1beta1.DeleteAssetRequest - (*DeleteAssetResponse)(nil), // 35: raystack.compass.v1beta1.DeleteAssetResponse - (*GetAssetStargazersRequest)(nil), // 36: raystack.compass.v1beta1.GetAssetStargazersRequest - (*GetAssetStargazersResponse)(nil), // 37: raystack.compass.v1beta1.GetAssetStargazersResponse - (*GetAssetVersionHistoryRequest)(nil), // 38: raystack.compass.v1beta1.GetAssetVersionHistoryRequest - (*GetAssetVersionHistoryResponse)(nil), // 39: raystack.compass.v1beta1.GetAssetVersionHistoryResponse - (*GetAssetByVersionRequest)(nil), // 40: raystack.compass.v1beta1.GetAssetByVersionRequest - (*GetAssetByVersionResponse)(nil), // 41: raystack.compass.v1beta1.GetAssetByVersionResponse - (*CreateAssetProbeRequest)(nil), // 42: raystack.compass.v1beta1.CreateAssetProbeRequest - (*CreateAssetProbeResponse)(nil), // 43: raystack.compass.v1beta1.CreateAssetProbeResponse - (*GetUserStarredAssetsRequest)(nil), // 44: raystack.compass.v1beta1.GetUserStarredAssetsRequest - (*GetUserStarredAssetsResponse)(nil), // 45: raystack.compass.v1beta1.GetUserStarredAssetsResponse - (*GetMyStarredAssetsRequest)(nil), // 46: raystack.compass.v1beta1.GetMyStarredAssetsRequest - (*GetMyStarredAssetsResponse)(nil), // 47: raystack.compass.v1beta1.GetMyStarredAssetsResponse - (*GetMyStarredAssetRequest)(nil), // 48: raystack.compass.v1beta1.GetMyStarredAssetRequest - (*GetMyStarredAssetResponse)(nil), // 49: raystack.compass.v1beta1.GetMyStarredAssetResponse - (*StarAssetRequest)(nil), // 50: raystack.compass.v1beta1.StarAssetRequest - (*StarAssetResponse)(nil), // 51: raystack.compass.v1beta1.StarAssetResponse - (*UnstarAssetRequest)(nil), // 52: raystack.compass.v1beta1.UnstarAssetRequest - (*UnstarAssetResponse)(nil), // 53: raystack.compass.v1beta1.UnstarAssetResponse - (*GetMyDiscussionsRequest)(nil), // 54: raystack.compass.v1beta1.GetMyDiscussionsRequest - (*GetMyDiscussionsResponse)(nil), // 55: raystack.compass.v1beta1.GetMyDiscussionsResponse - (*CreateTagAssetRequest)(nil), // 56: raystack.compass.v1beta1.CreateTagAssetRequest - (*CreateTagAssetResponse)(nil), // 57: raystack.compass.v1beta1.CreateTagAssetResponse - (*GetTagByAssetAndTemplateRequest)(nil), // 58: raystack.compass.v1beta1.GetTagByAssetAndTemplateRequest - (*GetTagByAssetAndTemplateResponse)(nil), // 59: raystack.compass.v1beta1.GetTagByAssetAndTemplateResponse - (*UpdateTagAssetRequest)(nil), // 60: raystack.compass.v1beta1.UpdateTagAssetRequest - (*UpdateTagAssetResponse)(nil), // 61: raystack.compass.v1beta1.UpdateTagAssetResponse - (*DeleteTagAssetRequest)(nil), // 62: raystack.compass.v1beta1.DeleteTagAssetRequest - (*DeleteTagAssetResponse)(nil), // 63: raystack.compass.v1beta1.DeleteTagAssetResponse - (*GetAllTagsByAssetRequest)(nil), // 64: raystack.compass.v1beta1.GetAllTagsByAssetRequest - (*GetAllTagsByAssetResponse)(nil), // 65: raystack.compass.v1beta1.GetAllTagsByAssetResponse - (*GetAllTagTemplatesRequest)(nil), // 66: raystack.compass.v1beta1.GetAllTagTemplatesRequest - (*GetAllTagTemplatesResponse)(nil), // 67: raystack.compass.v1beta1.GetAllTagTemplatesResponse - (*CreateTagTemplateRequest)(nil), // 68: raystack.compass.v1beta1.CreateTagTemplateRequest - (*CreateTagTemplateResponse)(nil), // 69: raystack.compass.v1beta1.CreateTagTemplateResponse - (*GetTagTemplateRequest)(nil), // 70: raystack.compass.v1beta1.GetTagTemplateRequest - (*GetTagTemplateResponse)(nil), // 71: raystack.compass.v1beta1.GetTagTemplateResponse - (*UpdateTagTemplateRequest)(nil), // 72: raystack.compass.v1beta1.UpdateTagTemplateRequest - (*UpdateTagTemplateResponse)(nil), // 73: raystack.compass.v1beta1.UpdateTagTemplateResponse - (*DeleteTagTemplateRequest)(nil), // 74: raystack.compass.v1beta1.DeleteTagTemplateRequest - (*DeleteTagTemplateResponse)(nil), // 75: raystack.compass.v1beta1.DeleteTagTemplateResponse - (*CreateNamespaceRequest)(nil), // 76: raystack.compass.v1beta1.CreateNamespaceRequest - (*CreateNamespaceResponse)(nil), // 77: raystack.compass.v1beta1.CreateNamespaceResponse - (*GetNamespaceRequest)(nil), // 78: raystack.compass.v1beta1.GetNamespaceRequest - (*GetNamespaceResponse)(nil), // 79: raystack.compass.v1beta1.GetNamespaceResponse - (*UpdateNamespaceRequest)(nil), // 80: raystack.compass.v1beta1.UpdateNamespaceRequest - (*UpdateNamespaceResponse)(nil), // 81: raystack.compass.v1beta1.UpdateNamespaceResponse - (*ListNamespacesRequest)(nil), // 82: raystack.compass.v1beta1.ListNamespacesRequest - (*ListNamespacesResponse)(nil), // 83: raystack.compass.v1beta1.ListNamespacesResponse - (*User)(nil), // 84: raystack.compass.v1beta1.User - (*Change)(nil), // 85: raystack.compass.v1beta1.Change - (*Asset)(nil), // 86: raystack.compass.v1beta1.Asset - (*Probe)(nil), // 87: raystack.compass.v1beta1.Probe - (*Discussion)(nil), // 88: raystack.compass.v1beta1.Discussion - (*Comment)(nil), // 89: raystack.compass.v1beta1.Comment - (*LineageEdge)(nil), // 90: raystack.compass.v1beta1.LineageEdge - (*LineageNode)(nil), // 91: raystack.compass.v1beta1.LineageNode - (*Tag)(nil), // 92: raystack.compass.v1beta1.Tag - (*TagValue)(nil), // 93: raystack.compass.v1beta1.TagValue - (*TagTemplate)(nil), // 94: raystack.compass.v1beta1.TagTemplate - (*TagTemplateField)(nil), // 95: raystack.compass.v1beta1.TagTemplateField - (*Type)(nil), // 96: raystack.compass.v1beta1.Type - (*Namespace)(nil), // 97: raystack.compass.v1beta1.Namespace - nil, // 98: raystack.compass.v1beta1.SearchAssetsRequest.FilterEntry - nil, // 99: raystack.compass.v1beta1.SearchAssetsRequest.QueryEntry - (*GetGraphResponse_ProbesInfo)(nil), // 100: raystack.compass.v1beta1.GetGraphResponse.ProbesInfo - (*GetGraphResponse_NodeAttributes)(nil), // 101: raystack.compass.v1beta1.GetGraphResponse.NodeAttributes - nil, // 102: raystack.compass.v1beta1.GetGraphResponse.NodeAttrsEntry - nil, // 103: raystack.compass.v1beta1.GetAllTypesRequest.DataEntry - nil, // 104: raystack.compass.v1beta1.GetAllAssetsRequest.DataEntry - (*UpsertAssetRequest_Asset)(nil), // 105: raystack.compass.v1beta1.UpsertAssetRequest.Asset - nil, // 106: raystack.compass.v1beta1.UpsertAssetRequest.Asset.LabelsEntry - (*UpsertPatchAssetRequest_Asset)(nil), // 107: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset - nil, // 108: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.LabelsEntry - (*CreateAssetProbeRequest_Probe)(nil), // 109: raystack.compass.v1beta1.CreateAssetProbeRequest.Probe - nil, // 110: raystack.compass.v1beta1.Asset.LabelsEntry - (*structpb.Struct)(nil), // 111: google.protobuf.Struct - (*timestamppb.Timestamp)(nil), // 112: google.protobuf.Timestamp - (*structpb.Value)(nil), // 113: google.protobuf.Value - (*wrapperspb.StringValue)(nil), // 114: google.protobuf.StringValue + (*SearchFlags)(nil), // 19: raystack.compass.v1beta1.SearchFlags + (*SearchAssetsResponse)(nil), // 20: raystack.compass.v1beta1.SearchAssetsResponse + (*SuggestAssetsRequest)(nil), // 21: raystack.compass.v1beta1.SuggestAssetsRequest + (*SuggestAssetsResponse)(nil), // 22: raystack.compass.v1beta1.SuggestAssetsResponse + (*GroupAssetsRequest)(nil), // 23: raystack.compass.v1beta1.GroupAssetsRequest + (*GroupAssetsResponse)(nil), // 24: raystack.compass.v1beta1.GroupAssetsResponse + (*AssetGroup)(nil), // 25: raystack.compass.v1beta1.AssetGroup + (*GroupField)(nil), // 26: raystack.compass.v1beta1.GroupField + (*GetGraphRequest)(nil), // 27: raystack.compass.v1beta1.GetGraphRequest + (*GetGraphResponse)(nil), // 28: raystack.compass.v1beta1.GetGraphResponse + (*GetAllTypesRequest)(nil), // 29: raystack.compass.v1beta1.GetAllTypesRequest + (*GetAllTypesResponse)(nil), // 30: raystack.compass.v1beta1.GetAllTypesResponse + (*GetAllAssetsRequest)(nil), // 31: raystack.compass.v1beta1.GetAllAssetsRequest + (*GetAllAssetsResponse)(nil), // 32: raystack.compass.v1beta1.GetAllAssetsResponse + (*GetAssetByIDRequest)(nil), // 33: raystack.compass.v1beta1.GetAssetByIDRequest + (*GetAssetByIDResponse)(nil), // 34: raystack.compass.v1beta1.GetAssetByIDResponse + (*UpsertAssetRequest)(nil), // 35: raystack.compass.v1beta1.UpsertAssetRequest + (*UpsertAssetResponse)(nil), // 36: raystack.compass.v1beta1.UpsertAssetResponse + (*UpsertPatchAssetRequest)(nil), // 37: raystack.compass.v1beta1.UpsertPatchAssetRequest + (*UpsertPatchAssetResponse)(nil), // 38: raystack.compass.v1beta1.UpsertPatchAssetResponse + (*DeleteAssetRequest)(nil), // 39: raystack.compass.v1beta1.DeleteAssetRequest + (*DeleteAssetResponse)(nil), // 40: raystack.compass.v1beta1.DeleteAssetResponse + (*GetAssetStargazersRequest)(nil), // 41: raystack.compass.v1beta1.GetAssetStargazersRequest + (*GetAssetStargazersResponse)(nil), // 42: raystack.compass.v1beta1.GetAssetStargazersResponse + (*GetAssetVersionHistoryRequest)(nil), // 43: raystack.compass.v1beta1.GetAssetVersionHistoryRequest + (*GetAssetVersionHistoryResponse)(nil), // 44: raystack.compass.v1beta1.GetAssetVersionHistoryResponse + (*GetAssetByVersionRequest)(nil), // 45: raystack.compass.v1beta1.GetAssetByVersionRequest + (*GetAssetByVersionResponse)(nil), // 46: raystack.compass.v1beta1.GetAssetByVersionResponse + (*CreateAssetProbeRequest)(nil), // 47: raystack.compass.v1beta1.CreateAssetProbeRequest + (*CreateAssetProbeResponse)(nil), // 48: raystack.compass.v1beta1.CreateAssetProbeResponse + (*GetUserStarredAssetsRequest)(nil), // 49: raystack.compass.v1beta1.GetUserStarredAssetsRequest + (*GetUserStarredAssetsResponse)(nil), // 50: raystack.compass.v1beta1.GetUserStarredAssetsResponse + (*GetMyStarredAssetsRequest)(nil), // 51: raystack.compass.v1beta1.GetMyStarredAssetsRequest + (*GetMyStarredAssetsResponse)(nil), // 52: raystack.compass.v1beta1.GetMyStarredAssetsResponse + (*GetMyStarredAssetRequest)(nil), // 53: raystack.compass.v1beta1.GetMyStarredAssetRequest + (*GetMyStarredAssetResponse)(nil), // 54: raystack.compass.v1beta1.GetMyStarredAssetResponse + (*StarAssetRequest)(nil), // 55: raystack.compass.v1beta1.StarAssetRequest + (*StarAssetResponse)(nil), // 56: raystack.compass.v1beta1.StarAssetResponse + (*UnstarAssetRequest)(nil), // 57: raystack.compass.v1beta1.UnstarAssetRequest + (*UnstarAssetResponse)(nil), // 58: raystack.compass.v1beta1.UnstarAssetResponse + (*GetMyDiscussionsRequest)(nil), // 59: raystack.compass.v1beta1.GetMyDiscussionsRequest + (*GetMyDiscussionsResponse)(nil), // 60: raystack.compass.v1beta1.GetMyDiscussionsResponse + (*CreateTagAssetRequest)(nil), // 61: raystack.compass.v1beta1.CreateTagAssetRequest + (*CreateTagAssetResponse)(nil), // 62: raystack.compass.v1beta1.CreateTagAssetResponse + (*GetTagByAssetAndTemplateRequest)(nil), // 63: raystack.compass.v1beta1.GetTagByAssetAndTemplateRequest + (*GetTagByAssetAndTemplateResponse)(nil), // 64: raystack.compass.v1beta1.GetTagByAssetAndTemplateResponse + (*UpdateTagAssetRequest)(nil), // 65: raystack.compass.v1beta1.UpdateTagAssetRequest + (*UpdateTagAssetResponse)(nil), // 66: raystack.compass.v1beta1.UpdateTagAssetResponse + (*DeleteTagAssetRequest)(nil), // 67: raystack.compass.v1beta1.DeleteTagAssetRequest + (*DeleteTagAssetResponse)(nil), // 68: raystack.compass.v1beta1.DeleteTagAssetResponse + (*GetAllTagsByAssetRequest)(nil), // 69: raystack.compass.v1beta1.GetAllTagsByAssetRequest + (*GetAllTagsByAssetResponse)(nil), // 70: raystack.compass.v1beta1.GetAllTagsByAssetResponse + (*GetAllTagTemplatesRequest)(nil), // 71: raystack.compass.v1beta1.GetAllTagTemplatesRequest + (*GetAllTagTemplatesResponse)(nil), // 72: raystack.compass.v1beta1.GetAllTagTemplatesResponse + (*CreateTagTemplateRequest)(nil), // 73: raystack.compass.v1beta1.CreateTagTemplateRequest + (*CreateTagTemplateResponse)(nil), // 74: raystack.compass.v1beta1.CreateTagTemplateResponse + (*GetTagTemplateRequest)(nil), // 75: raystack.compass.v1beta1.GetTagTemplateRequest + (*GetTagTemplateResponse)(nil), // 76: raystack.compass.v1beta1.GetTagTemplateResponse + (*UpdateTagTemplateRequest)(nil), // 77: raystack.compass.v1beta1.UpdateTagTemplateRequest + (*UpdateTagTemplateResponse)(nil), // 78: raystack.compass.v1beta1.UpdateTagTemplateResponse + (*DeleteTagTemplateRequest)(nil), // 79: raystack.compass.v1beta1.DeleteTagTemplateRequest + (*DeleteTagTemplateResponse)(nil), // 80: raystack.compass.v1beta1.DeleteTagTemplateResponse + (*CreateNamespaceRequest)(nil), // 81: raystack.compass.v1beta1.CreateNamespaceRequest + (*CreateNamespaceResponse)(nil), // 82: raystack.compass.v1beta1.CreateNamespaceResponse + (*GetNamespaceRequest)(nil), // 83: raystack.compass.v1beta1.GetNamespaceRequest + (*GetNamespaceResponse)(nil), // 84: raystack.compass.v1beta1.GetNamespaceResponse + (*UpdateNamespaceRequest)(nil), // 85: raystack.compass.v1beta1.UpdateNamespaceRequest + (*UpdateNamespaceResponse)(nil), // 86: raystack.compass.v1beta1.UpdateNamespaceResponse + (*ListNamespacesRequest)(nil), // 87: raystack.compass.v1beta1.ListNamespacesRequest + (*ListNamespacesResponse)(nil), // 88: raystack.compass.v1beta1.ListNamespacesResponse + (*User)(nil), // 89: raystack.compass.v1beta1.User + (*Change)(nil), // 90: raystack.compass.v1beta1.Change + (*Asset)(nil), // 91: raystack.compass.v1beta1.Asset + (*Probe)(nil), // 92: raystack.compass.v1beta1.Probe + (*Discussion)(nil), // 93: raystack.compass.v1beta1.Discussion + (*Comment)(nil), // 94: raystack.compass.v1beta1.Comment + (*LineageEdge)(nil), // 95: raystack.compass.v1beta1.LineageEdge + (*LineageNode)(nil), // 96: raystack.compass.v1beta1.LineageNode + (*Tag)(nil), // 97: raystack.compass.v1beta1.Tag + (*TagValue)(nil), // 98: raystack.compass.v1beta1.TagValue + (*TagTemplate)(nil), // 99: raystack.compass.v1beta1.TagTemplate + (*TagTemplateField)(nil), // 100: raystack.compass.v1beta1.TagTemplateField + (*Type)(nil), // 101: raystack.compass.v1beta1.Type + (*Namespace)(nil), // 102: raystack.compass.v1beta1.Namespace + nil, // 103: raystack.compass.v1beta1.SearchAssetsRequest.FilterEntry + nil, // 104: raystack.compass.v1beta1.SearchAssetsRequest.QueryEntry + nil, // 105: raystack.compass.v1beta1.GroupAssetsRequest.FilterEntry + (*GetGraphResponse_ProbesInfo)(nil), // 106: raystack.compass.v1beta1.GetGraphResponse.ProbesInfo + (*GetGraphResponse_NodeAttributes)(nil), // 107: raystack.compass.v1beta1.GetGraphResponse.NodeAttributes + nil, // 108: raystack.compass.v1beta1.GetGraphResponse.NodeAttrsEntry + nil, // 109: raystack.compass.v1beta1.GetAllTypesRequest.DataEntry + nil, // 110: raystack.compass.v1beta1.GetAllAssetsRequest.DataEntry + (*UpsertAssetRequest_Asset)(nil), // 111: raystack.compass.v1beta1.UpsertAssetRequest.Asset + nil, // 112: raystack.compass.v1beta1.UpsertAssetRequest.Asset.LabelsEntry + (*UpsertPatchAssetRequest_Asset)(nil), // 113: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset + nil, // 114: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.LabelsEntry + (*CreateAssetProbeRequest_Probe)(nil), // 115: raystack.compass.v1beta1.CreateAssetProbeRequest.Probe + nil, // 116: raystack.compass.v1beta1.Asset.LabelsEntry + (*structpb.Struct)(nil), // 117: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 118: google.protobuf.Timestamp + (*structpb.Value)(nil), // 119: google.protobuf.Value + (*wrapperspb.StringValue)(nil), // 120: google.protobuf.StringValue } var file_raystack_compass_v1beta1_service_proto_depIdxs = []int32{ - 88, // 0: raystack.compass.v1beta1.GetAllDiscussionsResponse.data:type_name -> raystack.compass.v1beta1.Discussion - 88, // 1: raystack.compass.v1beta1.GetDiscussionResponse.data:type_name -> raystack.compass.v1beta1.Discussion - 89, // 2: raystack.compass.v1beta1.GetAllCommentsResponse.data:type_name -> raystack.compass.v1beta1.Comment - 89, // 3: raystack.compass.v1beta1.GetCommentResponse.data:type_name -> raystack.compass.v1beta1.Comment - 98, // 4: raystack.compass.v1beta1.SearchAssetsRequest.filter:type_name -> raystack.compass.v1beta1.SearchAssetsRequest.FilterEntry - 99, // 5: raystack.compass.v1beta1.SearchAssetsRequest.query:type_name -> raystack.compass.v1beta1.SearchAssetsRequest.QueryEntry - 86, // 6: raystack.compass.v1beta1.SearchAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset - 90, // 7: raystack.compass.v1beta1.GetGraphResponse.data:type_name -> raystack.compass.v1beta1.LineageEdge - 102, // 8: raystack.compass.v1beta1.GetGraphResponse.node_attrs:type_name -> raystack.compass.v1beta1.GetGraphResponse.NodeAttrsEntry - 103, // 9: raystack.compass.v1beta1.GetAllTypesRequest.data:type_name -> raystack.compass.v1beta1.GetAllTypesRequest.DataEntry - 96, // 10: raystack.compass.v1beta1.GetAllTypesResponse.data:type_name -> raystack.compass.v1beta1.Type - 104, // 11: raystack.compass.v1beta1.GetAllAssetsRequest.data:type_name -> raystack.compass.v1beta1.GetAllAssetsRequest.DataEntry - 86, // 12: raystack.compass.v1beta1.GetAllAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset - 86, // 13: raystack.compass.v1beta1.GetAssetByIDResponse.data:type_name -> raystack.compass.v1beta1.Asset - 105, // 14: raystack.compass.v1beta1.UpsertAssetRequest.asset:type_name -> raystack.compass.v1beta1.UpsertAssetRequest.Asset - 91, // 15: raystack.compass.v1beta1.UpsertAssetRequest.upstreams:type_name -> raystack.compass.v1beta1.LineageNode - 91, // 16: raystack.compass.v1beta1.UpsertAssetRequest.downstreams:type_name -> raystack.compass.v1beta1.LineageNode - 107, // 17: raystack.compass.v1beta1.UpsertPatchAssetRequest.asset:type_name -> raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset - 91, // 18: raystack.compass.v1beta1.UpsertPatchAssetRequest.upstreams:type_name -> raystack.compass.v1beta1.LineageNode - 91, // 19: raystack.compass.v1beta1.UpsertPatchAssetRequest.downstreams:type_name -> raystack.compass.v1beta1.LineageNode - 84, // 20: raystack.compass.v1beta1.GetAssetStargazersResponse.data:type_name -> raystack.compass.v1beta1.User - 86, // 21: raystack.compass.v1beta1.GetAssetVersionHistoryResponse.data:type_name -> raystack.compass.v1beta1.Asset - 86, // 22: raystack.compass.v1beta1.GetAssetByVersionResponse.data:type_name -> raystack.compass.v1beta1.Asset - 109, // 23: raystack.compass.v1beta1.CreateAssetProbeRequest.probe:type_name -> raystack.compass.v1beta1.CreateAssetProbeRequest.Probe - 86, // 24: raystack.compass.v1beta1.GetUserStarredAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset - 86, // 25: raystack.compass.v1beta1.GetMyStarredAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset - 86, // 26: raystack.compass.v1beta1.GetMyStarredAssetResponse.data:type_name -> raystack.compass.v1beta1.Asset - 88, // 27: raystack.compass.v1beta1.GetMyDiscussionsResponse.data:type_name -> raystack.compass.v1beta1.Discussion - 93, // 28: raystack.compass.v1beta1.CreateTagAssetRequest.tag_values:type_name -> raystack.compass.v1beta1.TagValue - 92, // 29: raystack.compass.v1beta1.CreateTagAssetResponse.data:type_name -> raystack.compass.v1beta1.Tag - 92, // 30: raystack.compass.v1beta1.GetTagByAssetAndTemplateResponse.data:type_name -> raystack.compass.v1beta1.Tag - 93, // 31: raystack.compass.v1beta1.UpdateTagAssetRequest.tag_values:type_name -> raystack.compass.v1beta1.TagValue - 92, // 32: raystack.compass.v1beta1.UpdateTagAssetResponse.data:type_name -> raystack.compass.v1beta1.Tag - 92, // 33: raystack.compass.v1beta1.GetAllTagsByAssetResponse.data:type_name -> raystack.compass.v1beta1.Tag - 94, // 34: raystack.compass.v1beta1.GetAllTagTemplatesResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate - 95, // 35: raystack.compass.v1beta1.CreateTagTemplateRequest.fields:type_name -> raystack.compass.v1beta1.TagTemplateField - 94, // 36: raystack.compass.v1beta1.CreateTagTemplateResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate - 94, // 37: raystack.compass.v1beta1.GetTagTemplateResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate - 95, // 38: raystack.compass.v1beta1.UpdateTagTemplateRequest.fields:type_name -> raystack.compass.v1beta1.TagTemplateField - 94, // 39: raystack.compass.v1beta1.UpdateTagTemplateResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate - 111, // 40: raystack.compass.v1beta1.CreateNamespaceRequest.metadata:type_name -> google.protobuf.Struct - 97, // 41: raystack.compass.v1beta1.GetNamespaceResponse.namespace:type_name -> raystack.compass.v1beta1.Namespace - 111, // 42: raystack.compass.v1beta1.UpdateNamespaceRequest.metadata:type_name -> google.protobuf.Struct - 97, // 43: raystack.compass.v1beta1.ListNamespacesResponse.namespaces:type_name -> raystack.compass.v1beta1.Namespace - 112, // 44: raystack.compass.v1beta1.User.created_at:type_name -> google.protobuf.Timestamp - 112, // 45: raystack.compass.v1beta1.User.updated_at:type_name -> google.protobuf.Timestamp - 113, // 46: raystack.compass.v1beta1.Change.from:type_name -> google.protobuf.Value - 113, // 47: raystack.compass.v1beta1.Change.to:type_name -> google.protobuf.Value - 111, // 48: raystack.compass.v1beta1.Asset.data:type_name -> google.protobuf.Struct - 110, // 49: raystack.compass.v1beta1.Asset.labels:type_name -> raystack.compass.v1beta1.Asset.LabelsEntry - 84, // 50: raystack.compass.v1beta1.Asset.owners:type_name -> raystack.compass.v1beta1.User - 84, // 51: raystack.compass.v1beta1.Asset.updated_by:type_name -> raystack.compass.v1beta1.User - 85, // 52: raystack.compass.v1beta1.Asset.changelog:type_name -> raystack.compass.v1beta1.Change - 112, // 53: raystack.compass.v1beta1.Asset.created_at:type_name -> google.protobuf.Timestamp - 112, // 54: raystack.compass.v1beta1.Asset.updated_at:type_name -> google.protobuf.Timestamp - 87, // 55: raystack.compass.v1beta1.Asset.probes:type_name -> raystack.compass.v1beta1.Probe - 111, // 56: raystack.compass.v1beta1.Probe.metadata:type_name -> google.protobuf.Struct - 112, // 57: raystack.compass.v1beta1.Probe.timestamp:type_name -> google.protobuf.Timestamp - 112, // 58: raystack.compass.v1beta1.Probe.created_at:type_name -> google.protobuf.Timestamp - 84, // 59: raystack.compass.v1beta1.Discussion.owner:type_name -> raystack.compass.v1beta1.User - 112, // 60: raystack.compass.v1beta1.Discussion.created_at:type_name -> google.protobuf.Timestamp - 112, // 61: raystack.compass.v1beta1.Discussion.updated_at:type_name -> google.protobuf.Timestamp - 84, // 62: raystack.compass.v1beta1.Comment.owner:type_name -> raystack.compass.v1beta1.User - 84, // 63: raystack.compass.v1beta1.Comment.updated_by:type_name -> raystack.compass.v1beta1.User - 112, // 64: raystack.compass.v1beta1.Comment.created_at:type_name -> google.protobuf.Timestamp - 112, // 65: raystack.compass.v1beta1.Comment.updated_at:type_name -> google.protobuf.Timestamp - 111, // 66: raystack.compass.v1beta1.LineageEdge.prop:type_name -> google.protobuf.Struct - 93, // 67: raystack.compass.v1beta1.Tag.tag_values:type_name -> raystack.compass.v1beta1.TagValue - 113, // 68: raystack.compass.v1beta1.TagValue.field_value:type_name -> google.protobuf.Value - 112, // 69: raystack.compass.v1beta1.TagValue.created_at:type_name -> google.protobuf.Timestamp - 112, // 70: raystack.compass.v1beta1.TagValue.updated_at:type_name -> google.protobuf.Timestamp - 95, // 71: raystack.compass.v1beta1.TagTemplate.fields:type_name -> raystack.compass.v1beta1.TagTemplateField - 112, // 72: raystack.compass.v1beta1.TagTemplate.created_at:type_name -> google.protobuf.Timestamp - 112, // 73: raystack.compass.v1beta1.TagTemplate.updated_at:type_name -> google.protobuf.Timestamp - 112, // 74: raystack.compass.v1beta1.TagTemplateField.created_at:type_name -> google.protobuf.Timestamp - 112, // 75: raystack.compass.v1beta1.TagTemplateField.updated_at:type_name -> google.protobuf.Timestamp - 111, // 76: raystack.compass.v1beta1.Namespace.metadata:type_name -> google.protobuf.Struct - 87, // 77: raystack.compass.v1beta1.GetGraphResponse.ProbesInfo.latest:type_name -> raystack.compass.v1beta1.Probe - 100, // 78: raystack.compass.v1beta1.GetGraphResponse.NodeAttributes.probes:type_name -> raystack.compass.v1beta1.GetGraphResponse.ProbesInfo - 101, // 79: raystack.compass.v1beta1.GetGraphResponse.NodeAttrsEntry.value:type_name -> raystack.compass.v1beta1.GetGraphResponse.NodeAttributes - 111, // 80: raystack.compass.v1beta1.UpsertAssetRequest.Asset.data:type_name -> google.protobuf.Struct - 106, // 81: raystack.compass.v1beta1.UpsertAssetRequest.Asset.labels:type_name -> raystack.compass.v1beta1.UpsertAssetRequest.Asset.LabelsEntry - 84, // 82: raystack.compass.v1beta1.UpsertAssetRequest.Asset.owners:type_name -> raystack.compass.v1beta1.User - 114, // 83: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.name:type_name -> google.protobuf.StringValue - 114, // 84: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.description:type_name -> google.protobuf.StringValue - 111, // 85: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.data:type_name -> google.protobuf.Struct - 108, // 86: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.labels:type_name -> raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.LabelsEntry - 84, // 87: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.owners:type_name -> raystack.compass.v1beta1.User - 111, // 88: raystack.compass.v1beta1.CreateAssetProbeRequest.Probe.metadata:type_name -> google.protobuf.Struct - 112, // 89: raystack.compass.v1beta1.CreateAssetProbeRequest.Probe.timestamp:type_name -> google.protobuf.Timestamp - 0, // 90: raystack.compass.v1beta1.CompassService.GetAllDiscussions:input_type -> raystack.compass.v1beta1.GetAllDiscussionsRequest - 2, // 91: raystack.compass.v1beta1.CompassService.CreateDiscussion:input_type -> raystack.compass.v1beta1.CreateDiscussionRequest - 4, // 92: raystack.compass.v1beta1.CompassService.GetDiscussion:input_type -> raystack.compass.v1beta1.GetDiscussionRequest - 6, // 93: raystack.compass.v1beta1.CompassService.PatchDiscussion:input_type -> raystack.compass.v1beta1.PatchDiscussionRequest - 7, // 94: raystack.compass.v1beta1.CompassService.CreateComment:input_type -> raystack.compass.v1beta1.CreateCommentRequest - 10, // 95: raystack.compass.v1beta1.CompassService.GetAllComments:input_type -> raystack.compass.v1beta1.GetAllCommentsRequest - 12, // 96: raystack.compass.v1beta1.CompassService.GetComment:input_type -> raystack.compass.v1beta1.GetCommentRequest - 14, // 97: raystack.compass.v1beta1.CompassService.UpdateComment:input_type -> raystack.compass.v1beta1.UpdateCommentRequest - 16, // 98: raystack.compass.v1beta1.CompassService.DeleteComment:input_type -> raystack.compass.v1beta1.DeleteCommentRequest - 18, // 99: raystack.compass.v1beta1.CompassService.SearchAssets:input_type -> raystack.compass.v1beta1.SearchAssetsRequest - 20, // 100: raystack.compass.v1beta1.CompassService.SuggestAssets:input_type -> raystack.compass.v1beta1.SuggestAssetsRequest - 22, // 101: raystack.compass.v1beta1.CompassService.GetGraph:input_type -> raystack.compass.v1beta1.GetGraphRequest - 24, // 102: raystack.compass.v1beta1.CompassService.GetAllTypes:input_type -> raystack.compass.v1beta1.GetAllTypesRequest - 26, // 103: raystack.compass.v1beta1.CompassService.GetAllAssets:input_type -> raystack.compass.v1beta1.GetAllAssetsRequest - 28, // 104: raystack.compass.v1beta1.CompassService.GetAssetByID:input_type -> raystack.compass.v1beta1.GetAssetByIDRequest - 30, // 105: raystack.compass.v1beta1.CompassService.UpsertAsset:input_type -> raystack.compass.v1beta1.UpsertAssetRequest - 32, // 106: raystack.compass.v1beta1.CompassService.UpsertPatchAsset:input_type -> raystack.compass.v1beta1.UpsertPatchAssetRequest - 34, // 107: raystack.compass.v1beta1.CompassService.DeleteAsset:input_type -> raystack.compass.v1beta1.DeleteAssetRequest - 36, // 108: raystack.compass.v1beta1.CompassService.GetAssetStargazers:input_type -> raystack.compass.v1beta1.GetAssetStargazersRequest - 38, // 109: raystack.compass.v1beta1.CompassService.GetAssetVersionHistory:input_type -> raystack.compass.v1beta1.GetAssetVersionHistoryRequest - 40, // 110: raystack.compass.v1beta1.CompassService.GetAssetByVersion:input_type -> raystack.compass.v1beta1.GetAssetByVersionRequest - 42, // 111: raystack.compass.v1beta1.CompassService.CreateAssetProbe:input_type -> raystack.compass.v1beta1.CreateAssetProbeRequest - 44, // 112: raystack.compass.v1beta1.CompassService.GetUserStarredAssets:input_type -> raystack.compass.v1beta1.GetUserStarredAssetsRequest - 46, // 113: raystack.compass.v1beta1.CompassService.GetMyStarredAssets:input_type -> raystack.compass.v1beta1.GetMyStarredAssetsRequest - 48, // 114: raystack.compass.v1beta1.CompassService.GetMyStarredAsset:input_type -> raystack.compass.v1beta1.GetMyStarredAssetRequest - 50, // 115: raystack.compass.v1beta1.CompassService.StarAsset:input_type -> raystack.compass.v1beta1.StarAssetRequest - 52, // 116: raystack.compass.v1beta1.CompassService.UnstarAsset:input_type -> raystack.compass.v1beta1.UnstarAssetRequest - 54, // 117: raystack.compass.v1beta1.CompassService.GetMyDiscussions:input_type -> raystack.compass.v1beta1.GetMyDiscussionsRequest - 56, // 118: raystack.compass.v1beta1.CompassService.CreateTagAsset:input_type -> raystack.compass.v1beta1.CreateTagAssetRequest - 58, // 119: raystack.compass.v1beta1.CompassService.GetTagByAssetAndTemplate:input_type -> raystack.compass.v1beta1.GetTagByAssetAndTemplateRequest - 60, // 120: raystack.compass.v1beta1.CompassService.UpdateTagAsset:input_type -> raystack.compass.v1beta1.UpdateTagAssetRequest - 62, // 121: raystack.compass.v1beta1.CompassService.DeleteTagAsset:input_type -> raystack.compass.v1beta1.DeleteTagAssetRequest - 64, // 122: raystack.compass.v1beta1.CompassService.GetAllTagsByAsset:input_type -> raystack.compass.v1beta1.GetAllTagsByAssetRequest - 66, // 123: raystack.compass.v1beta1.CompassService.GetAllTagTemplates:input_type -> raystack.compass.v1beta1.GetAllTagTemplatesRequest - 68, // 124: raystack.compass.v1beta1.CompassService.CreateTagTemplate:input_type -> raystack.compass.v1beta1.CreateTagTemplateRequest - 70, // 125: raystack.compass.v1beta1.CompassService.GetTagTemplate:input_type -> raystack.compass.v1beta1.GetTagTemplateRequest - 72, // 126: raystack.compass.v1beta1.CompassService.UpdateTagTemplate:input_type -> raystack.compass.v1beta1.UpdateTagTemplateRequest - 74, // 127: raystack.compass.v1beta1.CompassService.DeleteTagTemplate:input_type -> raystack.compass.v1beta1.DeleteTagTemplateRequest - 76, // 128: raystack.compass.v1beta1.CompassService.CreateNamespace:input_type -> raystack.compass.v1beta1.CreateNamespaceRequest - 78, // 129: raystack.compass.v1beta1.CompassService.GetNamespace:input_type -> raystack.compass.v1beta1.GetNamespaceRequest - 80, // 130: raystack.compass.v1beta1.CompassService.UpdateNamespace:input_type -> raystack.compass.v1beta1.UpdateNamespaceRequest - 82, // 131: raystack.compass.v1beta1.CompassService.ListNamespaces:input_type -> raystack.compass.v1beta1.ListNamespacesRequest - 1, // 132: raystack.compass.v1beta1.CompassService.GetAllDiscussions:output_type -> raystack.compass.v1beta1.GetAllDiscussionsResponse - 3, // 133: raystack.compass.v1beta1.CompassService.CreateDiscussion:output_type -> raystack.compass.v1beta1.CreateDiscussionResponse - 5, // 134: raystack.compass.v1beta1.CompassService.GetDiscussion:output_type -> raystack.compass.v1beta1.GetDiscussionResponse - 8, // 135: raystack.compass.v1beta1.CompassService.PatchDiscussion:output_type -> raystack.compass.v1beta1.PatchDiscussionResponse - 9, // 136: raystack.compass.v1beta1.CompassService.CreateComment:output_type -> raystack.compass.v1beta1.CreateCommentResponse - 11, // 137: raystack.compass.v1beta1.CompassService.GetAllComments:output_type -> raystack.compass.v1beta1.GetAllCommentsResponse - 13, // 138: raystack.compass.v1beta1.CompassService.GetComment:output_type -> raystack.compass.v1beta1.GetCommentResponse - 15, // 139: raystack.compass.v1beta1.CompassService.UpdateComment:output_type -> raystack.compass.v1beta1.UpdateCommentResponse - 17, // 140: raystack.compass.v1beta1.CompassService.DeleteComment:output_type -> raystack.compass.v1beta1.DeleteCommentResponse - 19, // 141: raystack.compass.v1beta1.CompassService.SearchAssets:output_type -> raystack.compass.v1beta1.SearchAssetsResponse - 21, // 142: raystack.compass.v1beta1.CompassService.SuggestAssets:output_type -> raystack.compass.v1beta1.SuggestAssetsResponse - 23, // 143: raystack.compass.v1beta1.CompassService.GetGraph:output_type -> raystack.compass.v1beta1.GetGraphResponse - 25, // 144: raystack.compass.v1beta1.CompassService.GetAllTypes:output_type -> raystack.compass.v1beta1.GetAllTypesResponse - 27, // 145: raystack.compass.v1beta1.CompassService.GetAllAssets:output_type -> raystack.compass.v1beta1.GetAllAssetsResponse - 29, // 146: raystack.compass.v1beta1.CompassService.GetAssetByID:output_type -> raystack.compass.v1beta1.GetAssetByIDResponse - 31, // 147: raystack.compass.v1beta1.CompassService.UpsertAsset:output_type -> raystack.compass.v1beta1.UpsertAssetResponse - 33, // 148: raystack.compass.v1beta1.CompassService.UpsertPatchAsset:output_type -> raystack.compass.v1beta1.UpsertPatchAssetResponse - 35, // 149: raystack.compass.v1beta1.CompassService.DeleteAsset:output_type -> raystack.compass.v1beta1.DeleteAssetResponse - 37, // 150: raystack.compass.v1beta1.CompassService.GetAssetStargazers:output_type -> raystack.compass.v1beta1.GetAssetStargazersResponse - 39, // 151: raystack.compass.v1beta1.CompassService.GetAssetVersionHistory:output_type -> raystack.compass.v1beta1.GetAssetVersionHistoryResponse - 41, // 152: raystack.compass.v1beta1.CompassService.GetAssetByVersion:output_type -> raystack.compass.v1beta1.GetAssetByVersionResponse - 43, // 153: raystack.compass.v1beta1.CompassService.CreateAssetProbe:output_type -> raystack.compass.v1beta1.CreateAssetProbeResponse - 45, // 154: raystack.compass.v1beta1.CompassService.GetUserStarredAssets:output_type -> raystack.compass.v1beta1.GetUserStarredAssetsResponse - 47, // 155: raystack.compass.v1beta1.CompassService.GetMyStarredAssets:output_type -> raystack.compass.v1beta1.GetMyStarredAssetsResponse - 49, // 156: raystack.compass.v1beta1.CompassService.GetMyStarredAsset:output_type -> raystack.compass.v1beta1.GetMyStarredAssetResponse - 51, // 157: raystack.compass.v1beta1.CompassService.StarAsset:output_type -> raystack.compass.v1beta1.StarAssetResponse - 53, // 158: raystack.compass.v1beta1.CompassService.UnstarAsset:output_type -> raystack.compass.v1beta1.UnstarAssetResponse - 55, // 159: raystack.compass.v1beta1.CompassService.GetMyDiscussions:output_type -> raystack.compass.v1beta1.GetMyDiscussionsResponse - 57, // 160: raystack.compass.v1beta1.CompassService.CreateTagAsset:output_type -> raystack.compass.v1beta1.CreateTagAssetResponse - 59, // 161: raystack.compass.v1beta1.CompassService.GetTagByAssetAndTemplate:output_type -> raystack.compass.v1beta1.GetTagByAssetAndTemplateResponse - 61, // 162: raystack.compass.v1beta1.CompassService.UpdateTagAsset:output_type -> raystack.compass.v1beta1.UpdateTagAssetResponse - 63, // 163: raystack.compass.v1beta1.CompassService.DeleteTagAsset:output_type -> raystack.compass.v1beta1.DeleteTagAssetResponse - 65, // 164: raystack.compass.v1beta1.CompassService.GetAllTagsByAsset:output_type -> raystack.compass.v1beta1.GetAllTagsByAssetResponse - 67, // 165: raystack.compass.v1beta1.CompassService.GetAllTagTemplates:output_type -> raystack.compass.v1beta1.GetAllTagTemplatesResponse - 69, // 166: raystack.compass.v1beta1.CompassService.CreateTagTemplate:output_type -> raystack.compass.v1beta1.CreateTagTemplateResponse - 71, // 167: raystack.compass.v1beta1.CompassService.GetTagTemplate:output_type -> raystack.compass.v1beta1.GetTagTemplateResponse - 73, // 168: raystack.compass.v1beta1.CompassService.UpdateTagTemplate:output_type -> raystack.compass.v1beta1.UpdateTagTemplateResponse - 75, // 169: raystack.compass.v1beta1.CompassService.DeleteTagTemplate:output_type -> raystack.compass.v1beta1.DeleteTagTemplateResponse - 77, // 170: raystack.compass.v1beta1.CompassService.CreateNamespace:output_type -> raystack.compass.v1beta1.CreateNamespaceResponse - 79, // 171: raystack.compass.v1beta1.CompassService.GetNamespace:output_type -> raystack.compass.v1beta1.GetNamespaceResponse - 81, // 172: raystack.compass.v1beta1.CompassService.UpdateNamespace:output_type -> raystack.compass.v1beta1.UpdateNamespaceResponse - 83, // 173: raystack.compass.v1beta1.CompassService.ListNamespaces:output_type -> raystack.compass.v1beta1.ListNamespacesResponse - 132, // [132:174] is the sub-list for method output_type - 90, // [90:132] is the sub-list for method input_type - 90, // [90:90] is the sub-list for extension type_name - 90, // [90:90] is the sub-list for extension extendee - 0, // [0:90] is the sub-list for field type_name + 93, // 0: raystack.compass.v1beta1.GetAllDiscussionsResponse.data:type_name -> raystack.compass.v1beta1.Discussion + 93, // 1: raystack.compass.v1beta1.GetDiscussionResponse.data:type_name -> raystack.compass.v1beta1.Discussion + 94, // 2: raystack.compass.v1beta1.GetAllCommentsResponse.data:type_name -> raystack.compass.v1beta1.Comment + 94, // 3: raystack.compass.v1beta1.GetCommentResponse.data:type_name -> raystack.compass.v1beta1.Comment + 103, // 4: raystack.compass.v1beta1.SearchAssetsRequest.filter:type_name -> raystack.compass.v1beta1.SearchAssetsRequest.FilterEntry + 104, // 5: raystack.compass.v1beta1.SearchAssetsRequest.query:type_name -> raystack.compass.v1beta1.SearchAssetsRequest.QueryEntry + 19, // 6: raystack.compass.v1beta1.SearchAssetsRequest.flags:type_name -> raystack.compass.v1beta1.SearchFlags + 91, // 7: raystack.compass.v1beta1.SearchAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset + 105, // 8: raystack.compass.v1beta1.GroupAssetsRequest.filter:type_name -> raystack.compass.v1beta1.GroupAssetsRequest.FilterEntry + 25, // 9: raystack.compass.v1beta1.GroupAssetsResponse.asset_groups:type_name -> raystack.compass.v1beta1.AssetGroup + 26, // 10: raystack.compass.v1beta1.AssetGroup.group_fields:type_name -> raystack.compass.v1beta1.GroupField + 91, // 11: raystack.compass.v1beta1.AssetGroup.assets:type_name -> raystack.compass.v1beta1.Asset + 95, // 12: raystack.compass.v1beta1.GetGraphResponse.data:type_name -> raystack.compass.v1beta1.LineageEdge + 108, // 13: raystack.compass.v1beta1.GetGraphResponse.node_attrs:type_name -> raystack.compass.v1beta1.GetGraphResponse.NodeAttrsEntry + 109, // 14: raystack.compass.v1beta1.GetAllTypesRequest.data:type_name -> raystack.compass.v1beta1.GetAllTypesRequest.DataEntry + 101, // 15: raystack.compass.v1beta1.GetAllTypesResponse.data:type_name -> raystack.compass.v1beta1.Type + 110, // 16: raystack.compass.v1beta1.GetAllAssetsRequest.data:type_name -> raystack.compass.v1beta1.GetAllAssetsRequest.DataEntry + 91, // 17: raystack.compass.v1beta1.GetAllAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset + 91, // 18: raystack.compass.v1beta1.GetAssetByIDResponse.data:type_name -> raystack.compass.v1beta1.Asset + 111, // 19: raystack.compass.v1beta1.UpsertAssetRequest.asset:type_name -> raystack.compass.v1beta1.UpsertAssetRequest.Asset + 96, // 20: raystack.compass.v1beta1.UpsertAssetRequest.upstreams:type_name -> raystack.compass.v1beta1.LineageNode + 96, // 21: raystack.compass.v1beta1.UpsertAssetRequest.downstreams:type_name -> raystack.compass.v1beta1.LineageNode + 113, // 22: raystack.compass.v1beta1.UpsertPatchAssetRequest.asset:type_name -> raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset + 96, // 23: raystack.compass.v1beta1.UpsertPatchAssetRequest.upstreams:type_name -> raystack.compass.v1beta1.LineageNode + 96, // 24: raystack.compass.v1beta1.UpsertPatchAssetRequest.downstreams:type_name -> raystack.compass.v1beta1.LineageNode + 89, // 25: raystack.compass.v1beta1.GetAssetStargazersResponse.data:type_name -> raystack.compass.v1beta1.User + 91, // 26: raystack.compass.v1beta1.GetAssetVersionHistoryResponse.data:type_name -> raystack.compass.v1beta1.Asset + 91, // 27: raystack.compass.v1beta1.GetAssetByVersionResponse.data:type_name -> raystack.compass.v1beta1.Asset + 115, // 28: raystack.compass.v1beta1.CreateAssetProbeRequest.probe:type_name -> raystack.compass.v1beta1.CreateAssetProbeRequest.Probe + 91, // 29: raystack.compass.v1beta1.GetUserStarredAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset + 91, // 30: raystack.compass.v1beta1.GetMyStarredAssetsResponse.data:type_name -> raystack.compass.v1beta1.Asset + 91, // 31: raystack.compass.v1beta1.GetMyStarredAssetResponse.data:type_name -> raystack.compass.v1beta1.Asset + 93, // 32: raystack.compass.v1beta1.GetMyDiscussionsResponse.data:type_name -> raystack.compass.v1beta1.Discussion + 98, // 33: raystack.compass.v1beta1.CreateTagAssetRequest.tag_values:type_name -> raystack.compass.v1beta1.TagValue + 97, // 34: raystack.compass.v1beta1.CreateTagAssetResponse.data:type_name -> raystack.compass.v1beta1.Tag + 97, // 35: raystack.compass.v1beta1.GetTagByAssetAndTemplateResponse.data:type_name -> raystack.compass.v1beta1.Tag + 98, // 36: raystack.compass.v1beta1.UpdateTagAssetRequest.tag_values:type_name -> raystack.compass.v1beta1.TagValue + 97, // 37: raystack.compass.v1beta1.UpdateTagAssetResponse.data:type_name -> raystack.compass.v1beta1.Tag + 97, // 38: raystack.compass.v1beta1.GetAllTagsByAssetResponse.data:type_name -> raystack.compass.v1beta1.Tag + 99, // 39: raystack.compass.v1beta1.GetAllTagTemplatesResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate + 100, // 40: raystack.compass.v1beta1.CreateTagTemplateRequest.fields:type_name -> raystack.compass.v1beta1.TagTemplateField + 99, // 41: raystack.compass.v1beta1.CreateTagTemplateResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate + 99, // 42: raystack.compass.v1beta1.GetTagTemplateResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate + 100, // 43: raystack.compass.v1beta1.UpdateTagTemplateRequest.fields:type_name -> raystack.compass.v1beta1.TagTemplateField + 99, // 44: raystack.compass.v1beta1.UpdateTagTemplateResponse.data:type_name -> raystack.compass.v1beta1.TagTemplate + 117, // 45: raystack.compass.v1beta1.CreateNamespaceRequest.metadata:type_name -> google.protobuf.Struct + 102, // 46: raystack.compass.v1beta1.GetNamespaceResponse.namespace:type_name -> raystack.compass.v1beta1.Namespace + 117, // 47: raystack.compass.v1beta1.UpdateNamespaceRequest.metadata:type_name -> google.protobuf.Struct + 102, // 48: raystack.compass.v1beta1.ListNamespacesResponse.namespaces:type_name -> raystack.compass.v1beta1.Namespace + 118, // 49: raystack.compass.v1beta1.User.created_at:type_name -> google.protobuf.Timestamp + 118, // 50: raystack.compass.v1beta1.User.updated_at:type_name -> google.protobuf.Timestamp + 119, // 51: raystack.compass.v1beta1.Change.from:type_name -> google.protobuf.Value + 119, // 52: raystack.compass.v1beta1.Change.to:type_name -> google.protobuf.Value + 117, // 53: raystack.compass.v1beta1.Asset.data:type_name -> google.protobuf.Struct + 116, // 54: raystack.compass.v1beta1.Asset.labels:type_name -> raystack.compass.v1beta1.Asset.LabelsEntry + 89, // 55: raystack.compass.v1beta1.Asset.owners:type_name -> raystack.compass.v1beta1.User + 89, // 56: raystack.compass.v1beta1.Asset.updated_by:type_name -> raystack.compass.v1beta1.User + 90, // 57: raystack.compass.v1beta1.Asset.changelog:type_name -> raystack.compass.v1beta1.Change + 118, // 58: raystack.compass.v1beta1.Asset.created_at:type_name -> google.protobuf.Timestamp + 118, // 59: raystack.compass.v1beta1.Asset.updated_at:type_name -> google.protobuf.Timestamp + 92, // 60: raystack.compass.v1beta1.Asset.probes:type_name -> raystack.compass.v1beta1.Probe + 117, // 61: raystack.compass.v1beta1.Probe.metadata:type_name -> google.protobuf.Struct + 118, // 62: raystack.compass.v1beta1.Probe.timestamp:type_name -> google.protobuf.Timestamp + 118, // 63: raystack.compass.v1beta1.Probe.created_at:type_name -> google.protobuf.Timestamp + 89, // 64: raystack.compass.v1beta1.Discussion.owner:type_name -> raystack.compass.v1beta1.User + 118, // 65: raystack.compass.v1beta1.Discussion.created_at:type_name -> google.protobuf.Timestamp + 118, // 66: raystack.compass.v1beta1.Discussion.updated_at:type_name -> google.protobuf.Timestamp + 89, // 67: raystack.compass.v1beta1.Comment.owner:type_name -> raystack.compass.v1beta1.User + 89, // 68: raystack.compass.v1beta1.Comment.updated_by:type_name -> raystack.compass.v1beta1.User + 118, // 69: raystack.compass.v1beta1.Comment.created_at:type_name -> google.protobuf.Timestamp + 118, // 70: raystack.compass.v1beta1.Comment.updated_at:type_name -> google.protobuf.Timestamp + 117, // 71: raystack.compass.v1beta1.LineageEdge.prop:type_name -> google.protobuf.Struct + 98, // 72: raystack.compass.v1beta1.Tag.tag_values:type_name -> raystack.compass.v1beta1.TagValue + 119, // 73: raystack.compass.v1beta1.TagValue.field_value:type_name -> google.protobuf.Value + 118, // 74: raystack.compass.v1beta1.TagValue.created_at:type_name -> google.protobuf.Timestamp + 118, // 75: raystack.compass.v1beta1.TagValue.updated_at:type_name -> google.protobuf.Timestamp + 100, // 76: raystack.compass.v1beta1.TagTemplate.fields:type_name -> raystack.compass.v1beta1.TagTemplateField + 118, // 77: raystack.compass.v1beta1.TagTemplate.created_at:type_name -> google.protobuf.Timestamp + 118, // 78: raystack.compass.v1beta1.TagTemplate.updated_at:type_name -> google.protobuf.Timestamp + 118, // 79: raystack.compass.v1beta1.TagTemplateField.created_at:type_name -> google.protobuf.Timestamp + 118, // 80: raystack.compass.v1beta1.TagTemplateField.updated_at:type_name -> google.protobuf.Timestamp + 117, // 81: raystack.compass.v1beta1.Namespace.metadata:type_name -> google.protobuf.Struct + 92, // 82: raystack.compass.v1beta1.GetGraphResponse.ProbesInfo.latest:type_name -> raystack.compass.v1beta1.Probe + 106, // 83: raystack.compass.v1beta1.GetGraphResponse.NodeAttributes.probes:type_name -> raystack.compass.v1beta1.GetGraphResponse.ProbesInfo + 107, // 84: raystack.compass.v1beta1.GetGraphResponse.NodeAttrsEntry.value:type_name -> raystack.compass.v1beta1.GetGraphResponse.NodeAttributes + 117, // 85: raystack.compass.v1beta1.UpsertAssetRequest.Asset.data:type_name -> google.protobuf.Struct + 112, // 86: raystack.compass.v1beta1.UpsertAssetRequest.Asset.labels:type_name -> raystack.compass.v1beta1.UpsertAssetRequest.Asset.LabelsEntry + 89, // 87: raystack.compass.v1beta1.UpsertAssetRequest.Asset.owners:type_name -> raystack.compass.v1beta1.User + 120, // 88: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.name:type_name -> google.protobuf.StringValue + 120, // 89: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.description:type_name -> google.protobuf.StringValue + 117, // 90: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.data:type_name -> google.protobuf.Struct + 114, // 91: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.labels:type_name -> raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.LabelsEntry + 89, // 92: raystack.compass.v1beta1.UpsertPatchAssetRequest.Asset.owners:type_name -> raystack.compass.v1beta1.User + 117, // 93: raystack.compass.v1beta1.CreateAssetProbeRequest.Probe.metadata:type_name -> google.protobuf.Struct + 118, // 94: raystack.compass.v1beta1.CreateAssetProbeRequest.Probe.timestamp:type_name -> google.protobuf.Timestamp + 0, // 95: raystack.compass.v1beta1.CompassService.GetAllDiscussions:input_type -> raystack.compass.v1beta1.GetAllDiscussionsRequest + 2, // 96: raystack.compass.v1beta1.CompassService.CreateDiscussion:input_type -> raystack.compass.v1beta1.CreateDiscussionRequest + 4, // 97: raystack.compass.v1beta1.CompassService.GetDiscussion:input_type -> raystack.compass.v1beta1.GetDiscussionRequest + 6, // 98: raystack.compass.v1beta1.CompassService.PatchDiscussion:input_type -> raystack.compass.v1beta1.PatchDiscussionRequest + 7, // 99: raystack.compass.v1beta1.CompassService.CreateComment:input_type -> raystack.compass.v1beta1.CreateCommentRequest + 10, // 100: raystack.compass.v1beta1.CompassService.GetAllComments:input_type -> raystack.compass.v1beta1.GetAllCommentsRequest + 12, // 101: raystack.compass.v1beta1.CompassService.GetComment:input_type -> raystack.compass.v1beta1.GetCommentRequest + 14, // 102: raystack.compass.v1beta1.CompassService.UpdateComment:input_type -> raystack.compass.v1beta1.UpdateCommentRequest + 16, // 103: raystack.compass.v1beta1.CompassService.DeleteComment:input_type -> raystack.compass.v1beta1.DeleteCommentRequest + 18, // 104: raystack.compass.v1beta1.CompassService.SearchAssets:input_type -> raystack.compass.v1beta1.SearchAssetsRequest + 21, // 105: raystack.compass.v1beta1.CompassService.SuggestAssets:input_type -> raystack.compass.v1beta1.SuggestAssetsRequest + 23, // 106: raystack.compass.v1beta1.CompassService.GroupAssets:input_type -> raystack.compass.v1beta1.GroupAssetsRequest + 27, // 107: raystack.compass.v1beta1.CompassService.GetGraph:input_type -> raystack.compass.v1beta1.GetGraphRequest + 29, // 108: raystack.compass.v1beta1.CompassService.GetAllTypes:input_type -> raystack.compass.v1beta1.GetAllTypesRequest + 31, // 109: raystack.compass.v1beta1.CompassService.GetAllAssets:input_type -> raystack.compass.v1beta1.GetAllAssetsRequest + 33, // 110: raystack.compass.v1beta1.CompassService.GetAssetByID:input_type -> raystack.compass.v1beta1.GetAssetByIDRequest + 35, // 111: raystack.compass.v1beta1.CompassService.UpsertAsset:input_type -> raystack.compass.v1beta1.UpsertAssetRequest + 37, // 112: raystack.compass.v1beta1.CompassService.UpsertPatchAsset:input_type -> raystack.compass.v1beta1.UpsertPatchAssetRequest + 39, // 113: raystack.compass.v1beta1.CompassService.DeleteAsset:input_type -> raystack.compass.v1beta1.DeleteAssetRequest + 41, // 114: raystack.compass.v1beta1.CompassService.GetAssetStargazers:input_type -> raystack.compass.v1beta1.GetAssetStargazersRequest + 43, // 115: raystack.compass.v1beta1.CompassService.GetAssetVersionHistory:input_type -> raystack.compass.v1beta1.GetAssetVersionHistoryRequest + 45, // 116: raystack.compass.v1beta1.CompassService.GetAssetByVersion:input_type -> raystack.compass.v1beta1.GetAssetByVersionRequest + 47, // 117: raystack.compass.v1beta1.CompassService.CreateAssetProbe:input_type -> raystack.compass.v1beta1.CreateAssetProbeRequest + 49, // 118: raystack.compass.v1beta1.CompassService.GetUserStarredAssets:input_type -> raystack.compass.v1beta1.GetUserStarredAssetsRequest + 51, // 119: raystack.compass.v1beta1.CompassService.GetMyStarredAssets:input_type -> raystack.compass.v1beta1.GetMyStarredAssetsRequest + 53, // 120: raystack.compass.v1beta1.CompassService.GetMyStarredAsset:input_type -> raystack.compass.v1beta1.GetMyStarredAssetRequest + 55, // 121: raystack.compass.v1beta1.CompassService.StarAsset:input_type -> raystack.compass.v1beta1.StarAssetRequest + 57, // 122: raystack.compass.v1beta1.CompassService.UnstarAsset:input_type -> raystack.compass.v1beta1.UnstarAssetRequest + 59, // 123: raystack.compass.v1beta1.CompassService.GetMyDiscussions:input_type -> raystack.compass.v1beta1.GetMyDiscussionsRequest + 61, // 124: raystack.compass.v1beta1.CompassService.CreateTagAsset:input_type -> raystack.compass.v1beta1.CreateTagAssetRequest + 63, // 125: raystack.compass.v1beta1.CompassService.GetTagByAssetAndTemplate:input_type -> raystack.compass.v1beta1.GetTagByAssetAndTemplateRequest + 65, // 126: raystack.compass.v1beta1.CompassService.UpdateTagAsset:input_type -> raystack.compass.v1beta1.UpdateTagAssetRequest + 67, // 127: raystack.compass.v1beta1.CompassService.DeleteTagAsset:input_type -> raystack.compass.v1beta1.DeleteTagAssetRequest + 69, // 128: raystack.compass.v1beta1.CompassService.GetAllTagsByAsset:input_type -> raystack.compass.v1beta1.GetAllTagsByAssetRequest + 71, // 129: raystack.compass.v1beta1.CompassService.GetAllTagTemplates:input_type -> raystack.compass.v1beta1.GetAllTagTemplatesRequest + 73, // 130: raystack.compass.v1beta1.CompassService.CreateTagTemplate:input_type -> raystack.compass.v1beta1.CreateTagTemplateRequest + 75, // 131: raystack.compass.v1beta1.CompassService.GetTagTemplate:input_type -> raystack.compass.v1beta1.GetTagTemplateRequest + 77, // 132: raystack.compass.v1beta1.CompassService.UpdateTagTemplate:input_type -> raystack.compass.v1beta1.UpdateTagTemplateRequest + 79, // 133: raystack.compass.v1beta1.CompassService.DeleteTagTemplate:input_type -> raystack.compass.v1beta1.DeleteTagTemplateRequest + 81, // 134: raystack.compass.v1beta1.CompassService.CreateNamespace:input_type -> raystack.compass.v1beta1.CreateNamespaceRequest + 83, // 135: raystack.compass.v1beta1.CompassService.GetNamespace:input_type -> raystack.compass.v1beta1.GetNamespaceRequest + 85, // 136: raystack.compass.v1beta1.CompassService.UpdateNamespace:input_type -> raystack.compass.v1beta1.UpdateNamespaceRequest + 87, // 137: raystack.compass.v1beta1.CompassService.ListNamespaces:input_type -> raystack.compass.v1beta1.ListNamespacesRequest + 1, // 138: raystack.compass.v1beta1.CompassService.GetAllDiscussions:output_type -> raystack.compass.v1beta1.GetAllDiscussionsResponse + 3, // 139: raystack.compass.v1beta1.CompassService.CreateDiscussion:output_type -> raystack.compass.v1beta1.CreateDiscussionResponse + 5, // 140: raystack.compass.v1beta1.CompassService.GetDiscussion:output_type -> raystack.compass.v1beta1.GetDiscussionResponse + 8, // 141: raystack.compass.v1beta1.CompassService.PatchDiscussion:output_type -> raystack.compass.v1beta1.PatchDiscussionResponse + 9, // 142: raystack.compass.v1beta1.CompassService.CreateComment:output_type -> raystack.compass.v1beta1.CreateCommentResponse + 11, // 143: raystack.compass.v1beta1.CompassService.GetAllComments:output_type -> raystack.compass.v1beta1.GetAllCommentsResponse + 13, // 144: raystack.compass.v1beta1.CompassService.GetComment:output_type -> raystack.compass.v1beta1.GetCommentResponse + 15, // 145: raystack.compass.v1beta1.CompassService.UpdateComment:output_type -> raystack.compass.v1beta1.UpdateCommentResponse + 17, // 146: raystack.compass.v1beta1.CompassService.DeleteComment:output_type -> raystack.compass.v1beta1.DeleteCommentResponse + 20, // 147: raystack.compass.v1beta1.CompassService.SearchAssets:output_type -> raystack.compass.v1beta1.SearchAssetsResponse + 22, // 148: raystack.compass.v1beta1.CompassService.SuggestAssets:output_type -> raystack.compass.v1beta1.SuggestAssetsResponse + 24, // 149: raystack.compass.v1beta1.CompassService.GroupAssets:output_type -> raystack.compass.v1beta1.GroupAssetsResponse + 28, // 150: raystack.compass.v1beta1.CompassService.GetGraph:output_type -> raystack.compass.v1beta1.GetGraphResponse + 30, // 151: raystack.compass.v1beta1.CompassService.GetAllTypes:output_type -> raystack.compass.v1beta1.GetAllTypesResponse + 32, // 152: raystack.compass.v1beta1.CompassService.GetAllAssets:output_type -> raystack.compass.v1beta1.GetAllAssetsResponse + 34, // 153: raystack.compass.v1beta1.CompassService.GetAssetByID:output_type -> raystack.compass.v1beta1.GetAssetByIDResponse + 36, // 154: raystack.compass.v1beta1.CompassService.UpsertAsset:output_type -> raystack.compass.v1beta1.UpsertAssetResponse + 38, // 155: raystack.compass.v1beta1.CompassService.UpsertPatchAsset:output_type -> raystack.compass.v1beta1.UpsertPatchAssetResponse + 40, // 156: raystack.compass.v1beta1.CompassService.DeleteAsset:output_type -> raystack.compass.v1beta1.DeleteAssetResponse + 42, // 157: raystack.compass.v1beta1.CompassService.GetAssetStargazers:output_type -> raystack.compass.v1beta1.GetAssetStargazersResponse + 44, // 158: raystack.compass.v1beta1.CompassService.GetAssetVersionHistory:output_type -> raystack.compass.v1beta1.GetAssetVersionHistoryResponse + 46, // 159: raystack.compass.v1beta1.CompassService.GetAssetByVersion:output_type -> raystack.compass.v1beta1.GetAssetByVersionResponse + 48, // 160: raystack.compass.v1beta1.CompassService.CreateAssetProbe:output_type -> raystack.compass.v1beta1.CreateAssetProbeResponse + 50, // 161: raystack.compass.v1beta1.CompassService.GetUserStarredAssets:output_type -> raystack.compass.v1beta1.GetUserStarredAssetsResponse + 52, // 162: raystack.compass.v1beta1.CompassService.GetMyStarredAssets:output_type -> raystack.compass.v1beta1.GetMyStarredAssetsResponse + 54, // 163: raystack.compass.v1beta1.CompassService.GetMyStarredAsset:output_type -> raystack.compass.v1beta1.GetMyStarredAssetResponse + 56, // 164: raystack.compass.v1beta1.CompassService.StarAsset:output_type -> raystack.compass.v1beta1.StarAssetResponse + 58, // 165: raystack.compass.v1beta1.CompassService.UnstarAsset:output_type -> raystack.compass.v1beta1.UnstarAssetResponse + 60, // 166: raystack.compass.v1beta1.CompassService.GetMyDiscussions:output_type -> raystack.compass.v1beta1.GetMyDiscussionsResponse + 62, // 167: raystack.compass.v1beta1.CompassService.CreateTagAsset:output_type -> raystack.compass.v1beta1.CreateTagAssetResponse + 64, // 168: raystack.compass.v1beta1.CompassService.GetTagByAssetAndTemplate:output_type -> raystack.compass.v1beta1.GetTagByAssetAndTemplateResponse + 66, // 169: raystack.compass.v1beta1.CompassService.UpdateTagAsset:output_type -> raystack.compass.v1beta1.UpdateTagAssetResponse + 68, // 170: raystack.compass.v1beta1.CompassService.DeleteTagAsset:output_type -> raystack.compass.v1beta1.DeleteTagAssetResponse + 70, // 171: raystack.compass.v1beta1.CompassService.GetAllTagsByAsset:output_type -> raystack.compass.v1beta1.GetAllTagsByAssetResponse + 72, // 172: raystack.compass.v1beta1.CompassService.GetAllTagTemplates:output_type -> raystack.compass.v1beta1.GetAllTagTemplatesResponse + 74, // 173: raystack.compass.v1beta1.CompassService.CreateTagTemplate:output_type -> raystack.compass.v1beta1.CreateTagTemplateResponse + 76, // 174: raystack.compass.v1beta1.CompassService.GetTagTemplate:output_type -> raystack.compass.v1beta1.GetTagTemplateResponse + 78, // 175: raystack.compass.v1beta1.CompassService.UpdateTagTemplate:output_type -> raystack.compass.v1beta1.UpdateTagTemplateResponse + 80, // 176: raystack.compass.v1beta1.CompassService.DeleteTagTemplate:output_type -> raystack.compass.v1beta1.DeleteTagTemplateResponse + 82, // 177: raystack.compass.v1beta1.CompassService.CreateNamespace:output_type -> raystack.compass.v1beta1.CreateNamespaceResponse + 84, // 178: raystack.compass.v1beta1.CompassService.GetNamespace:output_type -> raystack.compass.v1beta1.GetNamespaceResponse + 86, // 179: raystack.compass.v1beta1.CompassService.UpdateNamespace:output_type -> raystack.compass.v1beta1.UpdateNamespaceResponse + 88, // 180: raystack.compass.v1beta1.CompassService.ListNamespaces:output_type -> raystack.compass.v1beta1.ListNamespacesResponse + 138, // [138:181] is the sub-list for method output_type + 95, // [95:138] is the sub-list for method input_type + 95, // [95:95] is the sub-list for extension type_name + 95, // [95:95] is the sub-list for extension extendee + 0, // [0:95] is the sub-list for field type_name } func init() { file_raystack_compass_v1beta1_service_proto_init() } @@ -8650,7 +9164,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SearchAssetsResponse); i { + switch v := v.(*SearchFlags); i { case 0: return &v.state case 1: @@ -8662,7 +9176,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SuggestAssetsRequest); i { + switch v := v.(*SearchAssetsResponse); i { case 0: return &v.state case 1: @@ -8674,7 +9188,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SuggestAssetsResponse); i { + switch v := v.(*SuggestAssetsRequest); i { case 0: return &v.state case 1: @@ -8686,7 +9200,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGraphRequest); i { + switch v := v.(*SuggestAssetsResponse); i { case 0: return &v.state case 1: @@ -8698,7 +9212,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGraphResponse); i { + switch v := v.(*GroupAssetsRequest); i { case 0: return &v.state case 1: @@ -8710,7 +9224,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllTypesRequest); i { + switch v := v.(*GroupAssetsResponse); i { case 0: return &v.state case 1: @@ -8722,7 +9236,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllTypesResponse); i { + switch v := v.(*AssetGroup); i { case 0: return &v.state case 1: @@ -8734,7 +9248,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllAssetsRequest); i { + switch v := v.(*GroupField); i { case 0: return &v.state case 1: @@ -8746,7 +9260,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllAssetsResponse); i { + switch v := v.(*GetGraphRequest); i { case 0: return &v.state case 1: @@ -8758,7 +9272,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetByIDRequest); i { + switch v := v.(*GetGraphResponse); i { case 0: return &v.state case 1: @@ -8770,7 +9284,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetByIDResponse); i { + switch v := v.(*GetAllTypesRequest); i { case 0: return &v.state case 1: @@ -8782,7 +9296,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAssetRequest); i { + switch v := v.(*GetAllTypesResponse); i { case 0: return &v.state case 1: @@ -8794,7 +9308,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertAssetResponse); i { + switch v := v.(*GetAllAssetsRequest); i { case 0: return &v.state case 1: @@ -8806,7 +9320,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertPatchAssetRequest); i { + switch v := v.(*GetAllAssetsResponse); i { case 0: return &v.state case 1: @@ -8818,7 +9332,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpsertPatchAssetResponse); i { + switch v := v.(*GetAssetByIDRequest); i { case 0: return &v.state case 1: @@ -8830,7 +9344,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAssetRequest); i { + switch v := v.(*GetAssetByIDResponse); i { case 0: return &v.state case 1: @@ -8842,7 +9356,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAssetResponse); i { + switch v := v.(*UpsertAssetRequest); i { case 0: return &v.state case 1: @@ -8854,7 +9368,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetStargazersRequest); i { + switch v := v.(*UpsertAssetResponse); i { case 0: return &v.state case 1: @@ -8866,7 +9380,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetStargazersResponse); i { + switch v := v.(*UpsertPatchAssetRequest); i { case 0: return &v.state case 1: @@ -8878,7 +9392,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetVersionHistoryRequest); i { + switch v := v.(*UpsertPatchAssetResponse); i { case 0: return &v.state case 1: @@ -8890,7 +9404,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetVersionHistoryResponse); i { + switch v := v.(*DeleteAssetRequest); i { case 0: return &v.state case 1: @@ -8902,7 +9416,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetByVersionRequest); i { + switch v := v.(*DeleteAssetResponse); i { case 0: return &v.state case 1: @@ -8914,7 +9428,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAssetByVersionResponse); i { + switch v := v.(*GetAssetStargazersRequest); i { case 0: return &v.state case 1: @@ -8926,7 +9440,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAssetProbeRequest); i { + switch v := v.(*GetAssetStargazersResponse); i { case 0: return &v.state case 1: @@ -8938,7 +9452,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAssetProbeResponse); i { + switch v := v.(*GetAssetVersionHistoryRequest); i { case 0: return &v.state case 1: @@ -8950,7 +9464,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStarredAssetsRequest); i { + switch v := v.(*GetAssetVersionHistoryResponse); i { case 0: return &v.state case 1: @@ -8962,7 +9476,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStarredAssetsResponse); i { + switch v := v.(*GetAssetByVersionRequest); i { case 0: return &v.state case 1: @@ -8974,7 +9488,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyStarredAssetsRequest); i { + switch v := v.(*GetAssetByVersionResponse); i { case 0: return &v.state case 1: @@ -8986,7 +9500,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyStarredAssetsResponse); i { + switch v := v.(*CreateAssetProbeRequest); i { case 0: return &v.state case 1: @@ -8998,7 +9512,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyStarredAssetRequest); i { + switch v := v.(*CreateAssetProbeResponse); i { case 0: return &v.state case 1: @@ -9010,7 +9524,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyStarredAssetResponse); i { + switch v := v.(*GetUserStarredAssetsRequest); i { case 0: return &v.state case 1: @@ -9022,7 +9536,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StarAssetRequest); i { + switch v := v.(*GetUserStarredAssetsResponse); i { case 0: return &v.state case 1: @@ -9034,7 +9548,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StarAssetResponse); i { + switch v := v.(*GetMyStarredAssetsRequest); i { case 0: return &v.state case 1: @@ -9046,7 +9560,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnstarAssetRequest); i { + switch v := v.(*GetMyStarredAssetsResponse); i { case 0: return &v.state case 1: @@ -9058,7 +9572,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnstarAssetResponse); i { + switch v := v.(*GetMyStarredAssetRequest); i { case 0: return &v.state case 1: @@ -9070,7 +9584,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyDiscussionsRequest); i { + switch v := v.(*GetMyStarredAssetResponse); i { case 0: return &v.state case 1: @@ -9082,7 +9596,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyDiscussionsResponse); i { + switch v := v.(*StarAssetRequest); i { case 0: return &v.state case 1: @@ -9094,7 +9608,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTagAssetRequest); i { + switch v := v.(*StarAssetResponse); i { case 0: return &v.state case 1: @@ -9106,7 +9620,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTagAssetResponse); i { + switch v := v.(*UnstarAssetRequest); i { case 0: return &v.state case 1: @@ -9118,7 +9632,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTagByAssetAndTemplateRequest); i { + switch v := v.(*UnstarAssetResponse); i { case 0: return &v.state case 1: @@ -9130,7 +9644,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTagByAssetAndTemplateResponse); i { + switch v := v.(*GetMyDiscussionsRequest); i { case 0: return &v.state case 1: @@ -9142,7 +9656,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTagAssetRequest); i { + switch v := v.(*GetMyDiscussionsResponse); i { case 0: return &v.state case 1: @@ -9154,7 +9668,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTagAssetResponse); i { + switch v := v.(*CreateTagAssetRequest); i { case 0: return &v.state case 1: @@ -9166,7 +9680,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTagAssetRequest); i { + switch v := v.(*CreateTagAssetResponse); i { case 0: return &v.state case 1: @@ -9178,7 +9692,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTagAssetResponse); i { + switch v := v.(*GetTagByAssetAndTemplateRequest); i { case 0: return &v.state case 1: @@ -9190,7 +9704,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllTagsByAssetRequest); i { + switch v := v.(*GetTagByAssetAndTemplateResponse); i { case 0: return &v.state case 1: @@ -9202,7 +9716,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllTagsByAssetResponse); i { + switch v := v.(*UpdateTagAssetRequest); i { case 0: return &v.state case 1: @@ -9214,7 +9728,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllTagTemplatesRequest); i { + switch v := v.(*UpdateTagAssetResponse); i { case 0: return &v.state case 1: @@ -9226,7 +9740,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllTagTemplatesResponse); i { + switch v := v.(*DeleteTagAssetRequest); i { case 0: return &v.state case 1: @@ -9238,7 +9752,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTagTemplateRequest); i { + switch v := v.(*DeleteTagAssetResponse); i { case 0: return &v.state case 1: @@ -9250,7 +9764,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTagTemplateResponse); i { + switch v := v.(*GetAllTagsByAssetRequest); i { case 0: return &v.state case 1: @@ -9262,7 +9776,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTagTemplateRequest); i { + switch v := v.(*GetAllTagsByAssetResponse); i { case 0: return &v.state case 1: @@ -9274,7 +9788,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTagTemplateResponse); i { + switch v := v.(*GetAllTagTemplatesRequest); i { case 0: return &v.state case 1: @@ -9286,7 +9800,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTagTemplateRequest); i { + switch v := v.(*GetAllTagTemplatesResponse); i { case 0: return &v.state case 1: @@ -9298,7 +9812,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTagTemplateResponse); i { + switch v := v.(*CreateTagTemplateRequest); i { case 0: return &v.state case 1: @@ -9310,7 +9824,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTagTemplateRequest); i { + switch v := v.(*CreateTagTemplateResponse); i { case 0: return &v.state case 1: @@ -9322,7 +9836,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTagTemplateResponse); i { + switch v := v.(*GetTagTemplateRequest); i { case 0: return &v.state case 1: @@ -9334,7 +9848,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNamespaceRequest); i { + switch v := v.(*GetTagTemplateResponse); i { case 0: return &v.state case 1: @@ -9346,7 +9860,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNamespaceResponse); i { + switch v := v.(*UpdateTagTemplateRequest); i { case 0: return &v.state case 1: @@ -9358,7 +9872,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNamespaceRequest); i { + switch v := v.(*UpdateTagTemplateResponse); i { case 0: return &v.state case 1: @@ -9370,7 +9884,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNamespaceResponse); i { + switch v := v.(*DeleteTagTemplateRequest); i { case 0: return &v.state case 1: @@ -9382,7 +9896,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNamespaceRequest); i { + switch v := v.(*DeleteTagTemplateResponse); i { case 0: return &v.state case 1: @@ -9394,7 +9908,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateNamespaceResponse); i { + switch v := v.(*CreateNamespaceRequest); i { case 0: return &v.state case 1: @@ -9406,7 +9920,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNamespacesRequest); i { + switch v := v.(*CreateNamespaceResponse); i { case 0: return &v.state case 1: @@ -9418,7 +9932,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListNamespacesResponse); i { + switch v := v.(*GetNamespaceRequest); i { case 0: return &v.state case 1: @@ -9430,7 +9944,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { + switch v := v.(*GetNamespaceResponse); i { case 0: return &v.state case 1: @@ -9442,7 +9956,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Change); i { + switch v := v.(*UpdateNamespaceRequest); i { case 0: return &v.state case 1: @@ -9454,7 +9968,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Asset); i { + switch v := v.(*UpdateNamespaceResponse); i { case 0: return &v.state case 1: @@ -9466,7 +9980,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Probe); i { + switch v := v.(*ListNamespacesRequest); i { case 0: return &v.state case 1: @@ -9478,7 +9992,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Discussion); i { + switch v := v.(*ListNamespacesResponse); i { case 0: return &v.state case 1: @@ -9490,7 +10004,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Comment); i { + switch v := v.(*User); i { case 0: return &v.state case 1: @@ -9502,7 +10016,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LineageEdge); i { + switch v := v.(*Change); i { case 0: return &v.state case 1: @@ -9514,7 +10028,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LineageNode); i { + switch v := v.(*Asset); i { case 0: return &v.state case 1: @@ -9526,7 +10040,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tag); i { + switch v := v.(*Probe); i { case 0: return &v.state case 1: @@ -9538,7 +10052,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagValue); i { + switch v := v.(*Discussion); i { case 0: return &v.state case 1: @@ -9550,7 +10064,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagTemplate); i { + switch v := v.(*Comment); i { case 0: return &v.state case 1: @@ -9562,7 +10076,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TagTemplateField); i { + switch v := v.(*LineageEdge); i { case 0: return &v.state case 1: @@ -9574,7 +10088,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Type); i { + switch v := v.(*LineageNode); i { case 0: return &v.state case 1: @@ -9586,7 +10100,31 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Namespace); i { + switch v := v.(*Tag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_compass_v1beta1_service_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_compass_v1beta1_service_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TagTemplate); i { case 0: return &v.state case 1: @@ -9598,7 +10136,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGraphResponse_ProbesInfo); i { + switch v := v.(*TagTemplateField); i { case 0: return &v.state case 1: @@ -9610,6 +10148,42 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } file_raystack_compass_v1beta1_service_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Type); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_compass_v1beta1_service_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Namespace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_compass_v1beta1_service_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGraphResponse_ProbesInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_raystack_compass_v1beta1_service_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGraphResponse_NodeAttributes); i { case 0: return &v.state @@ -9621,7 +10195,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { return nil } } - file_raystack_compass_v1beta1_service_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_raystack_compass_v1beta1_service_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertAssetRequest_Asset); i { case 0: return &v.state @@ -9633,7 +10207,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { return nil } } - file_raystack_compass_v1beta1_service_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_raystack_compass_v1beta1_service_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpsertPatchAssetRequest_Asset); i { case 0: return &v.state @@ -9645,7 +10219,7 @@ func file_raystack_compass_v1beta1_service_proto_init() { return nil } } - file_raystack_compass_v1beta1_service_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_raystack_compass_v1beta1_service_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAssetProbeRequest_Probe); i { case 0: return &v.state @@ -9658,13 +10232,14 @@ func file_raystack_compass_v1beta1_service_proto_init() { } } } + file_raystack_compass_v1beta1_service_proto_msgTypes[27].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_raystack_compass_v1beta1_service_proto_rawDesc, NumEnums: 0, - NumMessages: 111, + NumMessages: 117, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/raystack/compass/v1beta1/service.pb.gw.go b/proto/raystack/compass/v1beta1/service.pb.gw.go index 718748f2..f4d91ab1 100644 --- a/proto/raystack/compass/v1beta1/service.pb.gw.go +++ b/proto/raystack/compass/v1beta1/service.pb.gw.go @@ -290,7 +290,7 @@ func local_request_CompassService_CreateComment_0(ctx context.Context, marshaler } var ( - filter_CompassService_GetAllComments_0 = &utilities.DoubleArray{Encoding: map[string]int{"discussion_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_CompassService_GetAllComments_0 = &utilities.DoubleArray{Encoding: map[string]int{"discussion_id": 0, "discussionId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) func request_CompassService_GetAllComments_0(ctx context.Context, marshaler runtime.Marshaler, client CompassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -664,7 +664,43 @@ func local_request_CompassService_SuggestAssets_0(ctx context.Context, marshaler } var ( - filter_CompassService_GetGraph_0 = &utilities.DoubleArray{Encoding: map[string]int{"urn": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_CompassService_GroupAssets_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_CompassService_GroupAssets_0(ctx context.Context, marshaler runtime.Marshaler, client CompassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GroupAssetsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CompassService_GroupAssets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GroupAssets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CompassService_GroupAssets_0(ctx context.Context, marshaler runtime.Marshaler, server CompassServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GroupAssetsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CompassService_GroupAssets_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GroupAssets(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_CompassService_GetGraph_0 = &utilities.DoubleArray{Encoding: map[string]int{"urn": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} ) func request_CompassService_GetGraph_0(ctx context.Context, marshaler runtime.Marshaler, client CompassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -978,7 +1014,7 @@ func local_request_CompassService_DeleteAsset_0(ctx context.Context, marshaler r } var ( - filter_CompassService_GetAssetStargazers_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_CompassService_GetAssetStargazers_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} ) func request_CompassService_GetAssetStargazers_0(ctx context.Context, marshaler runtime.Marshaler, client CompassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -1048,7 +1084,7 @@ func local_request_CompassService_GetAssetStargazers_0(ctx context.Context, mars } var ( - filter_CompassService_GetAssetVersionHistory_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_CompassService_GetAssetVersionHistory_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} ) func request_CompassService_GetAssetVersionHistory_0(ctx context.Context, marshaler runtime.Marshaler, client CompassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -1258,7 +1294,7 @@ func local_request_CompassService_CreateAssetProbe_0(ctx context.Context, marsha } var ( - filter_CompassService_GetUserStarredAssets_0 = &utilities.DoubleArray{Encoding: map[string]int{"user_id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + filter_CompassService_GetUserStarredAssets_0 = &utilities.DoubleArray{Encoding: map[string]int{"user_id": 0, "userId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) func request_CompassService_GetUserStarredAssets_0(ctx context.Context, marshaler runtime.Marshaler, client CompassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { @@ -2568,6 +2604,31 @@ func RegisterCompassServiceHandlerServer(ctx context.Context, mux *runtime.Serve }) + mux.Handle("GET", pattern_CompassService_GroupAssets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/raystack.compass.v1beta1.CompassService/GroupAssets", runtime.WithHTTPPathPattern("/v1beta1/groupassets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CompassService_GroupAssets_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CompassService_GroupAssets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_CompassService_GetGraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -3349,7 +3410,7 @@ func RegisterCompassServiceHandlerServer(ctx context.Context, mux *runtime.Serve // RegisterCompassServiceHandlerFromEndpoint is same as RegisterCompassServiceHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterCompassServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) + conn, err := grpc.DialContext(ctx, endpoint, opts...) if err != nil { return err } @@ -3626,6 +3687,28 @@ func RegisterCompassServiceHandlerClient(ctx context.Context, mux *runtime.Serve }) + mux.Handle("GET", pattern_CompassService_GroupAssets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/raystack.compass.v1beta1.CompassService/GroupAssets", runtime.WithHTTPPathPattern("/v1beta1/groupassets")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CompassService_GroupAssets_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CompassService_GroupAssets_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + mux.Handle("GET", pattern_CompassService_GetGraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -4334,6 +4417,8 @@ var ( pattern_CompassService_SuggestAssets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1beta1", "search", "suggest"}, "")) + pattern_CompassService_GroupAssets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1beta1", "groupassets"}, "")) + pattern_CompassService_GetGraph_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 3, 0, 4, 1, 5, 2}, []string{"v1beta1", "lineage", "urn"}, "")) pattern_CompassService_GetAllTypes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"v1beta1", "types"}, "")) @@ -4420,6 +4505,8 @@ var ( forward_CompassService_SuggestAssets_0 = runtime.ForwardResponseMessage + forward_CompassService_GroupAssets_0 = runtime.ForwardResponseMessage + forward_CompassService_GetGraph_0 = runtime.ForwardResponseMessage forward_CompassService_GetAllTypes_0 = runtime.ForwardResponseMessage diff --git a/proto/raystack/compass/v1beta1/service.pb.validate.go b/proto/raystack/compass/v1beta1/service.pb.validate.go index 210e9433..d1222eb7 100644 --- a/proto/raystack/compass/v1beta1/service.pb.validate.go +++ b/proto/raystack/compass/v1beta1/service.pb.validate.go @@ -2426,20 +2426,628 @@ func (m *SearchAssetsRequest) validate(all bool) error { } + if all { + switch v := interface{}(m.GetFlags()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, SearchAssetsRequestValidationError{ + field: "Flags", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, SearchAssetsRequestValidationError{ + field: "Flags", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFlags()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SearchAssetsRequestValidationError{ + field: "Flags", + reason: "embedded message failed validation", + cause: err, + } + } + } + + if len(errors) > 0 { + return SearchAssetsRequestMultiError(errors) + } + + return nil +} + +// SearchAssetsRequestMultiError is an error wrapping multiple validation +// errors returned by SearchAssetsRequest.ValidateAll() if the designated +// constraints aren't met. +type SearchAssetsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SearchAssetsRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SearchAssetsRequestMultiError) AllErrors() []error { return m } + +// SearchAssetsRequestValidationError is the validation error returned by +// SearchAssetsRequest.Validate if the designated constraints aren't met. +type SearchAssetsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SearchAssetsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SearchAssetsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SearchAssetsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SearchAssetsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SearchAssetsRequestValidationError) ErrorName() string { + return "SearchAssetsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e SearchAssetsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSearchAssetsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SearchAssetsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SearchAssetsRequestValidationError{} + +// Validate checks the field values on SearchFlags with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *SearchFlags) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SearchFlags with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in SearchFlagsMultiError, or +// nil if none found. +func (m *SearchFlags) ValidateAll() error { + return m.validate(true) +} + +func (m *SearchFlags) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for IsColumnSearch + + // no validation rules for DisableFuzzy + + // no validation rules for EnableHighlight + + if len(errors) > 0 { + return SearchFlagsMultiError(errors) + } + + return nil +} + +// SearchFlagsMultiError is an error wrapping multiple validation errors +// returned by SearchFlags.ValidateAll() if the designated constraints aren't met. +type SearchFlagsMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SearchFlagsMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SearchFlagsMultiError) AllErrors() []error { return m } + +// SearchFlagsValidationError is the validation error returned by +// SearchFlags.Validate if the designated constraints aren't met. +type SearchFlagsValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SearchFlagsValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SearchFlagsValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SearchFlagsValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SearchFlagsValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SearchFlagsValidationError) ErrorName() string { return "SearchFlagsValidationError" } + +// Error satisfies the builtin error interface +func (e SearchFlagsValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSearchFlags.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SearchFlagsValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SearchFlagsValidationError{} + +// Validate checks the field values on SearchAssetsResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *SearchAssetsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SearchAssetsResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// SearchAssetsResponseMultiError, or nil if none found. +func (m *SearchAssetsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *SearchAssetsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, SearchAssetsResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, SearchAssetsResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return SearchAssetsResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return SearchAssetsResponseMultiError(errors) + } + + return nil +} + +// SearchAssetsResponseMultiError is an error wrapping multiple validation +// errors returned by SearchAssetsResponse.ValidateAll() if the designated +// constraints aren't met. +type SearchAssetsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SearchAssetsResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SearchAssetsResponseMultiError) AllErrors() []error { return m } + +// SearchAssetsResponseValidationError is the validation error returned by +// SearchAssetsResponse.Validate if the designated constraints aren't met. +type SearchAssetsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SearchAssetsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SearchAssetsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SearchAssetsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SearchAssetsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SearchAssetsResponseValidationError) ErrorName() string { + return "SearchAssetsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e SearchAssetsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSearchAssetsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SearchAssetsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SearchAssetsResponseValidationError{} + +// Validate checks the field values on SuggestAssetsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *SuggestAssetsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SuggestAssetsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// SuggestAssetsRequestMultiError, or nil if none found. +func (m *SuggestAssetsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *SuggestAssetsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if m.GetText() != "" { + + } + + if len(errors) > 0 { + return SuggestAssetsRequestMultiError(errors) + } + + return nil +} + +// SuggestAssetsRequestMultiError is an error wrapping multiple validation +// errors returned by SuggestAssetsRequest.ValidateAll() if the designated +// constraints aren't met. +type SuggestAssetsRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SuggestAssetsRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SuggestAssetsRequestMultiError) AllErrors() []error { return m } + +// SuggestAssetsRequestValidationError is the validation error returned by +// SuggestAssetsRequest.Validate if the designated constraints aren't met. +type SuggestAssetsRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SuggestAssetsRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SuggestAssetsRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SuggestAssetsRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SuggestAssetsRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SuggestAssetsRequestValidationError) ErrorName() string { + return "SuggestAssetsRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e SuggestAssetsRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSuggestAssetsRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SuggestAssetsRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SuggestAssetsRequestValidationError{} + +// Validate checks the field values on SuggestAssetsResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *SuggestAssetsResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SuggestAssetsResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// SuggestAssetsResponseMultiError, or nil if none found. +func (m *SuggestAssetsResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *SuggestAssetsResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return SuggestAssetsResponseMultiError(errors) + } + + return nil +} + +// SuggestAssetsResponseMultiError is an error wrapping multiple validation +// errors returned by SuggestAssetsResponse.ValidateAll() if the designated +// constraints aren't met. +type SuggestAssetsResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SuggestAssetsResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SuggestAssetsResponseMultiError) AllErrors() []error { return m } + +// SuggestAssetsResponseValidationError is the validation error returned by +// SuggestAssetsResponse.Validate if the designated constraints aren't met. +type SuggestAssetsResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SuggestAssetsResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SuggestAssetsResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SuggestAssetsResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SuggestAssetsResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SuggestAssetsResponseValidationError) ErrorName() string { + return "SuggestAssetsResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e SuggestAssetsResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSuggestAssetsResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SuggestAssetsResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SuggestAssetsResponseValidationError{} + +// Validate checks the field values on GroupAssetsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GroupAssetsRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GroupAssetsRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GroupAssetsRequestMultiError, or nil if none found. +func (m *GroupAssetsRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GroupAssetsRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(m.GetGroupby()) < 1 { + err := GroupAssetsRequestValidationError{ + field: "Groupby", + reason: "value must contain at least 1 item(s)", + } + if !all { + return err + } + errors = append(errors, err) + } + + // no validation rules for Filter + + if m.GetSize() != 0 { + + if m.GetSize() < 0 { + err := GroupAssetsRequestValidationError{ + field: "Size", + reason: "value must be greater than or equal to 0", + } + if !all { + return err + } + errors = append(errors, err) + } + + } + if len(errors) > 0 { - return SearchAssetsRequestMultiError(errors) + return GroupAssetsRequestMultiError(errors) } return nil } -// SearchAssetsRequestMultiError is an error wrapping multiple validation -// errors returned by SearchAssetsRequest.ValidateAll() if the designated -// constraints aren't met. -type SearchAssetsRequestMultiError []error +// GroupAssetsRequestMultiError is an error wrapping multiple validation errors +// returned by GroupAssetsRequest.ValidateAll() if the designated constraints +// aren't met. +type GroupAssetsRequestMultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m SearchAssetsRequestMultiError) Error() string { +func (m GroupAssetsRequestMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -2448,11 +3056,11 @@ func (m SearchAssetsRequestMultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m SearchAssetsRequestMultiError) AllErrors() []error { return m } +func (m GroupAssetsRequestMultiError) AllErrors() []error { return m } -// SearchAssetsRequestValidationError is the validation error returned by -// SearchAssetsRequest.Validate if the designated constraints aren't met. -type SearchAssetsRequestValidationError struct { +// GroupAssetsRequestValidationError is the validation error returned by +// GroupAssetsRequest.Validate if the designated constraints aren't met. +type GroupAssetsRequestValidationError struct { field string reason string cause error @@ -2460,24 +3068,24 @@ type SearchAssetsRequestValidationError struct { } // Field function returns field value. -func (e SearchAssetsRequestValidationError) Field() string { return e.field } +func (e GroupAssetsRequestValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e SearchAssetsRequestValidationError) Reason() string { return e.reason } +func (e GroupAssetsRequestValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e SearchAssetsRequestValidationError) Cause() error { return e.cause } +func (e GroupAssetsRequestValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e SearchAssetsRequestValidationError) Key() bool { return e.key } +func (e GroupAssetsRequestValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e SearchAssetsRequestValidationError) ErrorName() string { - return "SearchAssetsRequestValidationError" +func (e GroupAssetsRequestValidationError) ErrorName() string { + return "GroupAssetsRequestValidationError" } // Error satisfies the builtin error interface -func (e SearchAssetsRequestValidationError) Error() string { +func (e GroupAssetsRequestValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -2489,14 +3097,14 @@ func (e SearchAssetsRequestValidationError) Error() string { } return fmt.Sprintf( - "invalid %sSearchAssetsRequest.%s: %s%s", + "invalid %sGroupAssetsRequest.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = SearchAssetsRequestValidationError{} +var _ error = GroupAssetsRequestValidationError{} var _ interface { Field() string @@ -2504,47 +3112,47 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = SearchAssetsRequestValidationError{} +} = GroupAssetsRequestValidationError{} -// Validate checks the field values on SearchAssetsResponse with the rules +// Validate checks the field values on GroupAssetsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the first error encountered is returned, or nil if there are no violations. -func (m *SearchAssetsResponse) Validate() error { +func (m *GroupAssetsResponse) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on SearchAssetsResponse with the rules +// ValidateAll checks the field values on GroupAssetsResponse with the rules // defined in the proto definition for this message. If any rules are // violated, the result is a list of violation errors wrapped in -// SearchAssetsResponseMultiError, or nil if none found. -func (m *SearchAssetsResponse) ValidateAll() error { +// GroupAssetsResponseMultiError, or nil if none found. +func (m *GroupAssetsResponse) ValidateAll() error { return m.validate(true) } -func (m *SearchAssetsResponse) validate(all bool) error { +func (m *GroupAssetsResponse) validate(all bool) error { if m == nil { return nil } var errors []error - for idx, item := range m.GetData() { + for idx, item := range m.GetAssetGroups() { _, _ = idx, item if all { switch v := interface{}(item).(type) { case interface{ ValidateAll() error }: if err := v.ValidateAll(); err != nil { - errors = append(errors, SearchAssetsResponseValidationError{ - field: fmt.Sprintf("Data[%v]", idx), + errors = append(errors, GroupAssetsResponseValidationError{ + field: fmt.Sprintf("AssetGroups[%v]", idx), reason: "embedded message failed validation", cause: err, }) } case interface{ Validate() error }: if err := v.Validate(); err != nil { - errors = append(errors, SearchAssetsResponseValidationError{ - field: fmt.Sprintf("Data[%v]", idx), + errors = append(errors, GroupAssetsResponseValidationError{ + field: fmt.Sprintf("AssetGroups[%v]", idx), reason: "embedded message failed validation", cause: err, }) @@ -2552,8 +3160,8 @@ func (m *SearchAssetsResponse) validate(all bool) error { } } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { if err := v.Validate(); err != nil { - return SearchAssetsResponseValidationError{ - field: fmt.Sprintf("Data[%v]", idx), + return GroupAssetsResponseValidationError{ + field: fmt.Sprintf("AssetGroups[%v]", idx), reason: "embedded message failed validation", cause: err, } @@ -2563,19 +3171,19 @@ func (m *SearchAssetsResponse) validate(all bool) error { } if len(errors) > 0 { - return SearchAssetsResponseMultiError(errors) + return GroupAssetsResponseMultiError(errors) } return nil } -// SearchAssetsResponseMultiError is an error wrapping multiple validation -// errors returned by SearchAssetsResponse.ValidateAll() if the designated +// GroupAssetsResponseMultiError is an error wrapping multiple validation +// errors returned by GroupAssetsResponse.ValidateAll() if the designated // constraints aren't met. -type SearchAssetsResponseMultiError []error +type GroupAssetsResponseMultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m SearchAssetsResponseMultiError) Error() string { +func (m GroupAssetsResponseMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -2584,11 +3192,11 @@ func (m SearchAssetsResponseMultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m SearchAssetsResponseMultiError) AllErrors() []error { return m } +func (m GroupAssetsResponseMultiError) AllErrors() []error { return m } -// SearchAssetsResponseValidationError is the validation error returned by -// SearchAssetsResponse.Validate if the designated constraints aren't met. -type SearchAssetsResponseValidationError struct { +// GroupAssetsResponseValidationError is the validation error returned by +// GroupAssetsResponse.Validate if the designated constraints aren't met. +type GroupAssetsResponseValidationError struct { field string reason string cause error @@ -2596,24 +3204,24 @@ type SearchAssetsResponseValidationError struct { } // Field function returns field value. -func (e SearchAssetsResponseValidationError) Field() string { return e.field } +func (e GroupAssetsResponseValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e SearchAssetsResponseValidationError) Reason() string { return e.reason } +func (e GroupAssetsResponseValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e SearchAssetsResponseValidationError) Cause() error { return e.cause } +func (e GroupAssetsResponseValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e SearchAssetsResponseValidationError) Key() bool { return e.key } +func (e GroupAssetsResponseValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e SearchAssetsResponseValidationError) ErrorName() string { - return "SearchAssetsResponseValidationError" +func (e GroupAssetsResponseValidationError) ErrorName() string { + return "GroupAssetsResponseValidationError" } // Error satisfies the builtin error interface -func (e SearchAssetsResponseValidationError) Error() string { +func (e GroupAssetsResponseValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -2625,14 +3233,14 @@ func (e SearchAssetsResponseValidationError) Error() string { } return fmt.Sprintf( - "invalid %sSearchAssetsResponse.%s: %s%s", + "invalid %sGroupAssetsResponse.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = SearchAssetsResponseValidationError{} +var _ error = GroupAssetsResponseValidationError{} var _ interface { Field() string @@ -2640,48 +3248,111 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = SearchAssetsResponseValidationError{} +} = GroupAssetsResponseValidationError{} -// Validate checks the field values on SuggestAssetsRequest with the rules -// defined in the proto definition for this message. If any rules are -// violated, the first error encountered is returned, or nil if there are no violations. -func (m *SuggestAssetsRequest) Validate() error { +// Validate checks the field values on AssetGroup with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *AssetGroup) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on SuggestAssetsRequest with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// SuggestAssetsRequestMultiError, or nil if none found. -func (m *SuggestAssetsRequest) ValidateAll() error { +// ValidateAll checks the field values on AssetGroup with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in AssetGroupMultiError, or +// nil if none found. +func (m *AssetGroup) ValidateAll() error { return m.validate(true) } -func (m *SuggestAssetsRequest) validate(all bool) error { +func (m *AssetGroup) validate(all bool) error { if m == nil { return nil } var errors []error - if m.GetText() != "" { + for idx, item := range m.GetGroupFields() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, AssetGroupValidationError{ + field: fmt.Sprintf("GroupFields[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, AssetGroupValidationError{ + field: fmt.Sprintf("GroupFields[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AssetGroupValidationError{ + field: fmt.Sprintf("GroupFields[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetAssets() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, AssetGroupValidationError{ + field: fmt.Sprintf("Assets[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, AssetGroupValidationError{ + field: fmt.Sprintf("Assets[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AssetGroupValidationError{ + field: fmt.Sprintf("Assets[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } } if len(errors) > 0 { - return SuggestAssetsRequestMultiError(errors) + return AssetGroupMultiError(errors) } return nil } -// SuggestAssetsRequestMultiError is an error wrapping multiple validation -// errors returned by SuggestAssetsRequest.ValidateAll() if the designated -// constraints aren't met. -type SuggestAssetsRequestMultiError []error +// AssetGroupMultiError is an error wrapping multiple validation errors +// returned by AssetGroup.ValidateAll() if the designated constraints aren't met. +type AssetGroupMultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m SuggestAssetsRequestMultiError) Error() string { +func (m AssetGroupMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -2690,11 +3361,11 @@ func (m SuggestAssetsRequestMultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m SuggestAssetsRequestMultiError) AllErrors() []error { return m } +func (m AssetGroupMultiError) AllErrors() []error { return m } -// SuggestAssetsRequestValidationError is the validation error returned by -// SuggestAssetsRequest.Validate if the designated constraints aren't met. -type SuggestAssetsRequestValidationError struct { +// AssetGroupValidationError is the validation error returned by +// AssetGroup.Validate if the designated constraints aren't met. +type AssetGroupValidationError struct { field string reason string cause error @@ -2702,24 +3373,22 @@ type SuggestAssetsRequestValidationError struct { } // Field function returns field value. -func (e SuggestAssetsRequestValidationError) Field() string { return e.field } +func (e AssetGroupValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e SuggestAssetsRequestValidationError) Reason() string { return e.reason } +func (e AssetGroupValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e SuggestAssetsRequestValidationError) Cause() error { return e.cause } +func (e AssetGroupValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e SuggestAssetsRequestValidationError) Key() bool { return e.key } +func (e AssetGroupValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e SuggestAssetsRequestValidationError) ErrorName() string { - return "SuggestAssetsRequestValidationError" -} +func (e AssetGroupValidationError) ErrorName() string { return "AssetGroupValidationError" } // Error satisfies the builtin error interface -func (e SuggestAssetsRequestValidationError) Error() string { +func (e AssetGroupValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -2731,14 +3400,14 @@ func (e SuggestAssetsRequestValidationError) Error() string { } return fmt.Sprintf( - "invalid %sSuggestAssetsRequest.%s: %s%s", + "invalid %sAssetGroup.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = SuggestAssetsRequestValidationError{} +var _ error = AssetGroupValidationError{} var _ interface { Field() string @@ -2746,44 +3415,47 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = SuggestAssetsRequestValidationError{} +} = AssetGroupValidationError{} -// Validate checks the field values on SuggestAssetsResponse with the rules -// defined in the proto definition for this message. If any rules are -// violated, the first error encountered is returned, or nil if there are no violations. -func (m *SuggestAssetsResponse) Validate() error { +// Validate checks the field values on GroupField with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *GroupField) Validate() error { return m.validate(false) } -// ValidateAll checks the field values on SuggestAssetsResponse with the rules -// defined in the proto definition for this message. If any rules are -// violated, the result is a list of violation errors wrapped in -// SuggestAssetsResponseMultiError, or nil if none found. -func (m *SuggestAssetsResponse) ValidateAll() error { +// ValidateAll checks the field values on GroupField with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in GroupFieldMultiError, or +// nil if none found. +func (m *GroupField) ValidateAll() error { return m.validate(true) } -func (m *SuggestAssetsResponse) validate(all bool) error { +func (m *GroupField) validate(all bool) error { if m == nil { return nil } var errors []error + // no validation rules for GroupKey + + // no validation rules for GroupValue + if len(errors) > 0 { - return SuggestAssetsResponseMultiError(errors) + return GroupFieldMultiError(errors) } return nil } -// SuggestAssetsResponseMultiError is an error wrapping multiple validation -// errors returned by SuggestAssetsResponse.ValidateAll() if the designated -// constraints aren't met. -type SuggestAssetsResponseMultiError []error +// GroupFieldMultiError is an error wrapping multiple validation errors +// returned by GroupField.ValidateAll() if the designated constraints aren't met. +type GroupFieldMultiError []error // Error returns a concatenation of all the error messages it wraps. -func (m SuggestAssetsResponseMultiError) Error() string { +func (m GroupFieldMultiError) Error() string { var msgs []string for _, err := range m { msgs = append(msgs, err.Error()) @@ -2792,11 +3464,11 @@ func (m SuggestAssetsResponseMultiError) Error() string { } // AllErrors returns a list of validation violation errors. -func (m SuggestAssetsResponseMultiError) AllErrors() []error { return m } +func (m GroupFieldMultiError) AllErrors() []error { return m } -// SuggestAssetsResponseValidationError is the validation error returned by -// SuggestAssetsResponse.Validate if the designated constraints aren't met. -type SuggestAssetsResponseValidationError struct { +// GroupFieldValidationError is the validation error returned by +// GroupField.Validate if the designated constraints aren't met. +type GroupFieldValidationError struct { field string reason string cause error @@ -2804,24 +3476,22 @@ type SuggestAssetsResponseValidationError struct { } // Field function returns field value. -func (e SuggestAssetsResponseValidationError) Field() string { return e.field } +func (e GroupFieldValidationError) Field() string { return e.field } // Reason function returns reason value. -func (e SuggestAssetsResponseValidationError) Reason() string { return e.reason } +func (e GroupFieldValidationError) Reason() string { return e.reason } // Cause function returns cause value. -func (e SuggestAssetsResponseValidationError) Cause() error { return e.cause } +func (e GroupFieldValidationError) Cause() error { return e.cause } // Key function returns key value. -func (e SuggestAssetsResponseValidationError) Key() bool { return e.key } +func (e GroupFieldValidationError) Key() bool { return e.key } // ErrorName returns error name. -func (e SuggestAssetsResponseValidationError) ErrorName() string { - return "SuggestAssetsResponseValidationError" -} +func (e GroupFieldValidationError) ErrorName() string { return "GroupFieldValidationError" } // Error satisfies the builtin error interface -func (e SuggestAssetsResponseValidationError) Error() string { +func (e GroupFieldValidationError) Error() string { cause := "" if e.cause != nil { cause = fmt.Sprintf(" | caused by: %v", e.cause) @@ -2833,14 +3503,14 @@ func (e SuggestAssetsResponseValidationError) Error() string { } return fmt.Sprintf( - "invalid %sSuggestAssetsResponse.%s: %s%s", + "invalid %sGroupField.%s: %s%s", key, e.field, e.reason, cause) } -var _ error = SuggestAssetsResponseValidationError{} +var _ error = GroupFieldValidationError{} var _ interface { Field() string @@ -2848,7 +3518,7 @@ var _ interface { Key() bool Cause() error ErrorName() string -} = SuggestAssetsResponseValidationError{} +} = GroupFieldValidationError{} // Validate checks the field values on GetGraphRequest with the rules defined // in the proto definition for this message. If any rules are violated, the @@ -2887,6 +3557,12 @@ func (m *GetGraphRequest) validate(all bool) error { errors = append(errors, err) } + // no validation rules for IncludeDeleted + + if m.WithAttributes != nil { + // no validation rules for WithAttributes + } + if len(errors) > 0 { return GetGraphRequestMultiError(errors) } @@ -3487,6 +4163,8 @@ func (m *GetAllAssetsRequest) validate(all bool) error { // no validation rules for WithTotal + // no validation rules for IsDeleted + if len(errors) > 0 { return GetAllAssetsRequestMultiError(errors) } @@ -4059,6 +4737,8 @@ func (m *UpsertAssetRequest) validate(all bool) error { } + // no validation rules for UpdateOnly + if len(errors) > 0 { return UpsertAssetRequestMultiError(errors) } @@ -4364,6 +5044,8 @@ func (m *UpsertPatchAssetRequest) validate(all bool) error { // no validation rules for OverwriteLineage + // no validation rules for UpdateOnly + if len(errors) > 0 { return UpsertPatchAssetRequestMultiError(errors) } @@ -11267,6 +11949,8 @@ func (m *Asset) validate(all bool) error { } + // no validation rules for IsDeleted + if len(errors) > 0 { return AssetMultiError(errors) } @@ -13868,6 +14552,8 @@ func (m *CreateAssetProbeRequest_Probe) validate(all bool) error { } } + // no validation rules for Id + if len(errors) > 0 { return CreateAssetProbeRequest_ProbeMultiError(errors) } diff --git a/proto/raystack/compass/v1beta1/service_grpc.pb.go b/proto/raystack/compass/v1beta1/service_grpc.pb.go index f590e1ee..dd59c95d 100644 --- a/proto/raystack/compass/v1beta1/service_grpc.pb.go +++ b/proto/raystack/compass/v1beta1/service_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: raystack/compass/v1beta1/service.proto @@ -18,6 +18,52 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + CompassService_GetAllDiscussions_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAllDiscussions" + CompassService_CreateDiscussion_FullMethodName = "/raystack.compass.v1beta1.CompassService/CreateDiscussion" + CompassService_GetDiscussion_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetDiscussion" + CompassService_PatchDiscussion_FullMethodName = "/raystack.compass.v1beta1.CompassService/PatchDiscussion" + CompassService_CreateComment_FullMethodName = "/raystack.compass.v1beta1.CompassService/CreateComment" + CompassService_GetAllComments_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAllComments" + CompassService_GetComment_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetComment" + CompassService_UpdateComment_FullMethodName = "/raystack.compass.v1beta1.CompassService/UpdateComment" + CompassService_DeleteComment_FullMethodName = "/raystack.compass.v1beta1.CompassService/DeleteComment" + CompassService_SearchAssets_FullMethodName = "/raystack.compass.v1beta1.CompassService/SearchAssets" + CompassService_SuggestAssets_FullMethodName = "/raystack.compass.v1beta1.CompassService/SuggestAssets" + CompassService_GroupAssets_FullMethodName = "/raystack.compass.v1beta1.CompassService/GroupAssets" + CompassService_GetGraph_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetGraph" + CompassService_GetAllTypes_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAllTypes" + CompassService_GetAllAssets_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAllAssets" + CompassService_GetAssetByID_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAssetByID" + CompassService_UpsertAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/UpsertAsset" + CompassService_UpsertPatchAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/UpsertPatchAsset" + CompassService_DeleteAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/DeleteAsset" + CompassService_GetAssetStargazers_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAssetStargazers" + CompassService_GetAssetVersionHistory_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAssetVersionHistory" + CompassService_GetAssetByVersion_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAssetByVersion" + CompassService_CreateAssetProbe_FullMethodName = "/raystack.compass.v1beta1.CompassService/CreateAssetProbe" + CompassService_GetUserStarredAssets_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetUserStarredAssets" + CompassService_GetMyStarredAssets_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetMyStarredAssets" + CompassService_GetMyStarredAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetMyStarredAsset" + CompassService_StarAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/StarAsset" + CompassService_UnstarAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/UnstarAsset" + CompassService_GetMyDiscussions_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetMyDiscussions" + CompassService_CreateTagAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/CreateTagAsset" + CompassService_GetTagByAssetAndTemplate_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetTagByAssetAndTemplate" + CompassService_UpdateTagAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/UpdateTagAsset" + CompassService_DeleteTagAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/DeleteTagAsset" + CompassService_GetAllTagsByAsset_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAllTagsByAsset" + CompassService_GetAllTagTemplates_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetAllTagTemplates" + CompassService_CreateTagTemplate_FullMethodName = "/raystack.compass.v1beta1.CompassService/CreateTagTemplate" + CompassService_GetTagTemplate_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetTagTemplate" + CompassService_UpdateTagTemplate_FullMethodName = "/raystack.compass.v1beta1.CompassService/UpdateTagTemplate" + CompassService_DeleteTagTemplate_FullMethodName = "/raystack.compass.v1beta1.CompassService/DeleteTagTemplate" + CompassService_CreateNamespace_FullMethodName = "/raystack.compass.v1beta1.CompassService/CreateNamespace" + CompassService_GetNamespace_FullMethodName = "/raystack.compass.v1beta1.CompassService/GetNamespace" + CompassService_UpdateNamespace_FullMethodName = "/raystack.compass.v1beta1.CompassService/UpdateNamespace" + CompassService_ListNamespaces_FullMethodName = "/raystack.compass.v1beta1.CompassService/ListNamespaces" +) + // CompassServiceClient is the client API for CompassService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -35,6 +81,7 @@ type CompassServiceClient interface { // Domain: Asset SearchAssets(ctx context.Context, in *SearchAssetsRequest, opts ...grpc.CallOption) (*SearchAssetsResponse, error) SuggestAssets(ctx context.Context, in *SuggestAssetsRequest, opts ...grpc.CallOption) (*SuggestAssetsResponse, error) + GroupAssets(ctx context.Context, in *GroupAssetsRequest, opts ...grpc.CallOption) (*GroupAssetsResponse, error) GetGraph(ctx context.Context, in *GetGraphRequest, opts ...grpc.CallOption) (*GetGraphResponse, error) GetAllTypes(ctx context.Context, in *GetAllTypesRequest, opts ...grpc.CallOption) (*GetAllTypesResponse, error) GetAllAssets(ctx context.Context, in *GetAllAssetsRequest, opts ...grpc.CallOption) (*GetAllAssetsResponse, error) @@ -81,7 +128,7 @@ func NewCompassServiceClient(cc grpc.ClientConnInterface) CompassServiceClient { func (c *compassServiceClient) GetAllDiscussions(ctx context.Context, in *GetAllDiscussionsRequest, opts ...grpc.CallOption) (*GetAllDiscussionsResponse, error) { out := new(GetAllDiscussionsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAllDiscussions", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAllDiscussions_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -90,7 +137,7 @@ func (c *compassServiceClient) GetAllDiscussions(ctx context.Context, in *GetAll func (c *compassServiceClient) CreateDiscussion(ctx context.Context, in *CreateDiscussionRequest, opts ...grpc.CallOption) (*CreateDiscussionResponse, error) { out := new(CreateDiscussionResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/CreateDiscussion", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_CreateDiscussion_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -99,7 +146,7 @@ func (c *compassServiceClient) CreateDiscussion(ctx context.Context, in *CreateD func (c *compassServiceClient) GetDiscussion(ctx context.Context, in *GetDiscussionRequest, opts ...grpc.CallOption) (*GetDiscussionResponse, error) { out := new(GetDiscussionResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetDiscussion", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetDiscussion_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -108,7 +155,7 @@ func (c *compassServiceClient) GetDiscussion(ctx context.Context, in *GetDiscuss func (c *compassServiceClient) PatchDiscussion(ctx context.Context, in *PatchDiscussionRequest, opts ...grpc.CallOption) (*PatchDiscussionResponse, error) { out := new(PatchDiscussionResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/PatchDiscussion", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_PatchDiscussion_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -117,7 +164,7 @@ func (c *compassServiceClient) PatchDiscussion(ctx context.Context, in *PatchDis func (c *compassServiceClient) CreateComment(ctx context.Context, in *CreateCommentRequest, opts ...grpc.CallOption) (*CreateCommentResponse, error) { out := new(CreateCommentResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/CreateComment", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_CreateComment_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -126,7 +173,7 @@ func (c *compassServiceClient) CreateComment(ctx context.Context, in *CreateComm func (c *compassServiceClient) GetAllComments(ctx context.Context, in *GetAllCommentsRequest, opts ...grpc.CallOption) (*GetAllCommentsResponse, error) { out := new(GetAllCommentsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAllComments", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAllComments_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -135,7 +182,7 @@ func (c *compassServiceClient) GetAllComments(ctx context.Context, in *GetAllCom func (c *compassServiceClient) GetComment(ctx context.Context, in *GetCommentRequest, opts ...grpc.CallOption) (*GetCommentResponse, error) { out := new(GetCommentResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetComment", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetComment_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -144,7 +191,7 @@ func (c *compassServiceClient) GetComment(ctx context.Context, in *GetCommentReq func (c *compassServiceClient) UpdateComment(ctx context.Context, in *UpdateCommentRequest, opts ...grpc.CallOption) (*UpdateCommentResponse, error) { out := new(UpdateCommentResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UpdateComment", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UpdateComment_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -153,7 +200,7 @@ func (c *compassServiceClient) UpdateComment(ctx context.Context, in *UpdateComm func (c *compassServiceClient) DeleteComment(ctx context.Context, in *DeleteCommentRequest, opts ...grpc.CallOption) (*DeleteCommentResponse, error) { out := new(DeleteCommentResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/DeleteComment", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_DeleteComment_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -162,7 +209,7 @@ func (c *compassServiceClient) DeleteComment(ctx context.Context, in *DeleteComm func (c *compassServiceClient) SearchAssets(ctx context.Context, in *SearchAssetsRequest, opts ...grpc.CallOption) (*SearchAssetsResponse, error) { out := new(SearchAssetsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/SearchAssets", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_SearchAssets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -171,7 +218,16 @@ func (c *compassServiceClient) SearchAssets(ctx context.Context, in *SearchAsset func (c *compassServiceClient) SuggestAssets(ctx context.Context, in *SuggestAssetsRequest, opts ...grpc.CallOption) (*SuggestAssetsResponse, error) { out := new(SuggestAssetsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/SuggestAssets", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_SuggestAssets_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *compassServiceClient) GroupAssets(ctx context.Context, in *GroupAssetsRequest, opts ...grpc.CallOption) (*GroupAssetsResponse, error) { + out := new(GroupAssetsResponse) + err := c.cc.Invoke(ctx, CompassService_GroupAssets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -180,7 +236,7 @@ func (c *compassServiceClient) SuggestAssets(ctx context.Context, in *SuggestAss func (c *compassServiceClient) GetGraph(ctx context.Context, in *GetGraphRequest, opts ...grpc.CallOption) (*GetGraphResponse, error) { out := new(GetGraphResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetGraph", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetGraph_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -189,7 +245,7 @@ func (c *compassServiceClient) GetGraph(ctx context.Context, in *GetGraphRequest func (c *compassServiceClient) GetAllTypes(ctx context.Context, in *GetAllTypesRequest, opts ...grpc.CallOption) (*GetAllTypesResponse, error) { out := new(GetAllTypesResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAllTypes", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAllTypes_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -198,7 +254,7 @@ func (c *compassServiceClient) GetAllTypes(ctx context.Context, in *GetAllTypesR func (c *compassServiceClient) GetAllAssets(ctx context.Context, in *GetAllAssetsRequest, opts ...grpc.CallOption) (*GetAllAssetsResponse, error) { out := new(GetAllAssetsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAllAssets", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAllAssets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -207,7 +263,7 @@ func (c *compassServiceClient) GetAllAssets(ctx context.Context, in *GetAllAsset func (c *compassServiceClient) GetAssetByID(ctx context.Context, in *GetAssetByIDRequest, opts ...grpc.CallOption) (*GetAssetByIDResponse, error) { out := new(GetAssetByIDResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAssetByID", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAssetByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -216,7 +272,7 @@ func (c *compassServiceClient) GetAssetByID(ctx context.Context, in *GetAssetByI func (c *compassServiceClient) UpsertAsset(ctx context.Context, in *UpsertAssetRequest, opts ...grpc.CallOption) (*UpsertAssetResponse, error) { out := new(UpsertAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UpsertAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UpsertAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -225,7 +281,7 @@ func (c *compassServiceClient) UpsertAsset(ctx context.Context, in *UpsertAssetR func (c *compassServiceClient) UpsertPatchAsset(ctx context.Context, in *UpsertPatchAssetRequest, opts ...grpc.CallOption) (*UpsertPatchAssetResponse, error) { out := new(UpsertPatchAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UpsertPatchAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UpsertPatchAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -234,7 +290,7 @@ func (c *compassServiceClient) UpsertPatchAsset(ctx context.Context, in *UpsertP func (c *compassServiceClient) DeleteAsset(ctx context.Context, in *DeleteAssetRequest, opts ...grpc.CallOption) (*DeleteAssetResponse, error) { out := new(DeleteAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/DeleteAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_DeleteAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -243,7 +299,7 @@ func (c *compassServiceClient) DeleteAsset(ctx context.Context, in *DeleteAssetR func (c *compassServiceClient) GetAssetStargazers(ctx context.Context, in *GetAssetStargazersRequest, opts ...grpc.CallOption) (*GetAssetStargazersResponse, error) { out := new(GetAssetStargazersResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAssetStargazers", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAssetStargazers_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -252,7 +308,7 @@ func (c *compassServiceClient) GetAssetStargazers(ctx context.Context, in *GetAs func (c *compassServiceClient) GetAssetVersionHistory(ctx context.Context, in *GetAssetVersionHistoryRequest, opts ...grpc.CallOption) (*GetAssetVersionHistoryResponse, error) { out := new(GetAssetVersionHistoryResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAssetVersionHistory", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAssetVersionHistory_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -261,7 +317,7 @@ func (c *compassServiceClient) GetAssetVersionHistory(ctx context.Context, in *G func (c *compassServiceClient) GetAssetByVersion(ctx context.Context, in *GetAssetByVersionRequest, opts ...grpc.CallOption) (*GetAssetByVersionResponse, error) { out := new(GetAssetByVersionResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAssetByVersion", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAssetByVersion_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -270,7 +326,7 @@ func (c *compassServiceClient) GetAssetByVersion(ctx context.Context, in *GetAss func (c *compassServiceClient) CreateAssetProbe(ctx context.Context, in *CreateAssetProbeRequest, opts ...grpc.CallOption) (*CreateAssetProbeResponse, error) { out := new(CreateAssetProbeResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/CreateAssetProbe", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_CreateAssetProbe_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -279,7 +335,7 @@ func (c *compassServiceClient) CreateAssetProbe(ctx context.Context, in *CreateA func (c *compassServiceClient) GetUserStarredAssets(ctx context.Context, in *GetUserStarredAssetsRequest, opts ...grpc.CallOption) (*GetUserStarredAssetsResponse, error) { out := new(GetUserStarredAssetsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetUserStarredAssets", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetUserStarredAssets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -288,7 +344,7 @@ func (c *compassServiceClient) GetUserStarredAssets(ctx context.Context, in *Get func (c *compassServiceClient) GetMyStarredAssets(ctx context.Context, in *GetMyStarredAssetsRequest, opts ...grpc.CallOption) (*GetMyStarredAssetsResponse, error) { out := new(GetMyStarredAssetsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetMyStarredAssets", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetMyStarredAssets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -297,7 +353,7 @@ func (c *compassServiceClient) GetMyStarredAssets(ctx context.Context, in *GetMy func (c *compassServiceClient) GetMyStarredAsset(ctx context.Context, in *GetMyStarredAssetRequest, opts ...grpc.CallOption) (*GetMyStarredAssetResponse, error) { out := new(GetMyStarredAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetMyStarredAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetMyStarredAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -306,7 +362,7 @@ func (c *compassServiceClient) GetMyStarredAsset(ctx context.Context, in *GetMyS func (c *compassServiceClient) StarAsset(ctx context.Context, in *StarAssetRequest, opts ...grpc.CallOption) (*StarAssetResponse, error) { out := new(StarAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/StarAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_StarAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -315,7 +371,7 @@ func (c *compassServiceClient) StarAsset(ctx context.Context, in *StarAssetReque func (c *compassServiceClient) UnstarAsset(ctx context.Context, in *UnstarAssetRequest, opts ...grpc.CallOption) (*UnstarAssetResponse, error) { out := new(UnstarAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UnstarAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UnstarAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -324,7 +380,7 @@ func (c *compassServiceClient) UnstarAsset(ctx context.Context, in *UnstarAssetR func (c *compassServiceClient) GetMyDiscussions(ctx context.Context, in *GetMyDiscussionsRequest, opts ...grpc.CallOption) (*GetMyDiscussionsResponse, error) { out := new(GetMyDiscussionsResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetMyDiscussions", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetMyDiscussions_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -333,7 +389,7 @@ func (c *compassServiceClient) GetMyDiscussions(ctx context.Context, in *GetMyDi func (c *compassServiceClient) CreateTagAsset(ctx context.Context, in *CreateTagAssetRequest, opts ...grpc.CallOption) (*CreateTagAssetResponse, error) { out := new(CreateTagAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/CreateTagAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_CreateTagAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -342,7 +398,7 @@ func (c *compassServiceClient) CreateTagAsset(ctx context.Context, in *CreateTag func (c *compassServiceClient) GetTagByAssetAndTemplate(ctx context.Context, in *GetTagByAssetAndTemplateRequest, opts ...grpc.CallOption) (*GetTagByAssetAndTemplateResponse, error) { out := new(GetTagByAssetAndTemplateResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetTagByAssetAndTemplate", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetTagByAssetAndTemplate_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -351,7 +407,7 @@ func (c *compassServiceClient) GetTagByAssetAndTemplate(ctx context.Context, in func (c *compassServiceClient) UpdateTagAsset(ctx context.Context, in *UpdateTagAssetRequest, opts ...grpc.CallOption) (*UpdateTagAssetResponse, error) { out := new(UpdateTagAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UpdateTagAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UpdateTagAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -360,7 +416,7 @@ func (c *compassServiceClient) UpdateTagAsset(ctx context.Context, in *UpdateTag func (c *compassServiceClient) DeleteTagAsset(ctx context.Context, in *DeleteTagAssetRequest, opts ...grpc.CallOption) (*DeleteTagAssetResponse, error) { out := new(DeleteTagAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/DeleteTagAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_DeleteTagAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -369,7 +425,7 @@ func (c *compassServiceClient) DeleteTagAsset(ctx context.Context, in *DeleteTag func (c *compassServiceClient) GetAllTagsByAsset(ctx context.Context, in *GetAllTagsByAssetRequest, opts ...grpc.CallOption) (*GetAllTagsByAssetResponse, error) { out := new(GetAllTagsByAssetResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAllTagsByAsset", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAllTagsByAsset_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -378,7 +434,7 @@ func (c *compassServiceClient) GetAllTagsByAsset(ctx context.Context, in *GetAll func (c *compassServiceClient) GetAllTagTemplates(ctx context.Context, in *GetAllTagTemplatesRequest, opts ...grpc.CallOption) (*GetAllTagTemplatesResponse, error) { out := new(GetAllTagTemplatesResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetAllTagTemplates", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetAllTagTemplates_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -387,7 +443,7 @@ func (c *compassServiceClient) GetAllTagTemplates(ctx context.Context, in *GetAl func (c *compassServiceClient) CreateTagTemplate(ctx context.Context, in *CreateTagTemplateRequest, opts ...grpc.CallOption) (*CreateTagTemplateResponse, error) { out := new(CreateTagTemplateResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/CreateTagTemplate", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_CreateTagTemplate_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -396,7 +452,7 @@ func (c *compassServiceClient) CreateTagTemplate(ctx context.Context, in *Create func (c *compassServiceClient) GetTagTemplate(ctx context.Context, in *GetTagTemplateRequest, opts ...grpc.CallOption) (*GetTagTemplateResponse, error) { out := new(GetTagTemplateResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetTagTemplate", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetTagTemplate_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -405,7 +461,7 @@ func (c *compassServiceClient) GetTagTemplate(ctx context.Context, in *GetTagTem func (c *compassServiceClient) UpdateTagTemplate(ctx context.Context, in *UpdateTagTemplateRequest, opts ...grpc.CallOption) (*UpdateTagTemplateResponse, error) { out := new(UpdateTagTemplateResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UpdateTagTemplate", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UpdateTagTemplate_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -414,7 +470,7 @@ func (c *compassServiceClient) UpdateTagTemplate(ctx context.Context, in *Update func (c *compassServiceClient) DeleteTagTemplate(ctx context.Context, in *DeleteTagTemplateRequest, opts ...grpc.CallOption) (*DeleteTagTemplateResponse, error) { out := new(DeleteTagTemplateResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/DeleteTagTemplate", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_DeleteTagTemplate_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -423,7 +479,7 @@ func (c *compassServiceClient) DeleteTagTemplate(ctx context.Context, in *Delete func (c *compassServiceClient) CreateNamespace(ctx context.Context, in *CreateNamespaceRequest, opts ...grpc.CallOption) (*CreateNamespaceResponse, error) { out := new(CreateNamespaceResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/CreateNamespace", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_CreateNamespace_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -432,7 +488,7 @@ func (c *compassServiceClient) CreateNamespace(ctx context.Context, in *CreateNa func (c *compassServiceClient) GetNamespace(ctx context.Context, in *GetNamespaceRequest, opts ...grpc.CallOption) (*GetNamespaceResponse, error) { out := new(GetNamespaceResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/GetNamespace", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_GetNamespace_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -441,7 +497,7 @@ func (c *compassServiceClient) GetNamespace(ctx context.Context, in *GetNamespac func (c *compassServiceClient) UpdateNamespace(ctx context.Context, in *UpdateNamespaceRequest, opts ...grpc.CallOption) (*UpdateNamespaceResponse, error) { out := new(UpdateNamespaceResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/UpdateNamespace", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_UpdateNamespace_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -450,7 +506,7 @@ func (c *compassServiceClient) UpdateNamespace(ctx context.Context, in *UpdateNa func (c *compassServiceClient) ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) { out := new(ListNamespacesResponse) - err := c.cc.Invoke(ctx, "/raystack.compass.v1beta1.CompassService/ListNamespaces", in, out, opts...) + err := c.cc.Invoke(ctx, CompassService_ListNamespaces_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -474,6 +530,7 @@ type CompassServiceServer interface { // Domain: Asset SearchAssets(context.Context, *SearchAssetsRequest) (*SearchAssetsResponse, error) SuggestAssets(context.Context, *SuggestAssetsRequest) (*SuggestAssetsResponse, error) + GroupAssets(context.Context, *GroupAssetsRequest) (*GroupAssetsResponse, error) GetGraph(context.Context, *GetGraphRequest) (*GetGraphResponse, error) GetAllTypes(context.Context, *GetAllTypesRequest) (*GetAllTypesResponse, error) GetAllAssets(context.Context, *GetAllAssetsRequest) (*GetAllAssetsResponse, error) @@ -548,6 +605,9 @@ func (UnimplementedCompassServiceServer) SearchAssets(context.Context, *SearchAs func (UnimplementedCompassServiceServer) SuggestAssets(context.Context, *SuggestAssetsRequest) (*SuggestAssetsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SuggestAssets not implemented") } +func (UnimplementedCompassServiceServer) GroupAssets(context.Context, *GroupAssetsRequest) (*GroupAssetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GroupAssets not implemented") +} func (UnimplementedCompassServiceServer) GetGraph(context.Context, *GetGraphRequest) (*GetGraphResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGraph not implemented") } @@ -664,7 +724,7 @@ func _CompassService_GetAllDiscussions_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAllDiscussions", + FullMethod: CompassService_GetAllDiscussions_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAllDiscussions(ctx, req.(*GetAllDiscussionsRequest)) @@ -682,7 +742,7 @@ func _CompassService_CreateDiscussion_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/CreateDiscussion", + FullMethod: CompassService_CreateDiscussion_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).CreateDiscussion(ctx, req.(*CreateDiscussionRequest)) @@ -700,7 +760,7 @@ func _CompassService_GetDiscussion_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetDiscussion", + FullMethod: CompassService_GetDiscussion_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetDiscussion(ctx, req.(*GetDiscussionRequest)) @@ -718,7 +778,7 @@ func _CompassService_PatchDiscussion_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/PatchDiscussion", + FullMethod: CompassService_PatchDiscussion_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).PatchDiscussion(ctx, req.(*PatchDiscussionRequest)) @@ -736,7 +796,7 @@ func _CompassService_CreateComment_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/CreateComment", + FullMethod: CompassService_CreateComment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).CreateComment(ctx, req.(*CreateCommentRequest)) @@ -754,7 +814,7 @@ func _CompassService_GetAllComments_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAllComments", + FullMethod: CompassService_GetAllComments_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAllComments(ctx, req.(*GetAllCommentsRequest)) @@ -772,7 +832,7 @@ func _CompassService_GetComment_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetComment", + FullMethod: CompassService_GetComment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetComment(ctx, req.(*GetCommentRequest)) @@ -790,7 +850,7 @@ func _CompassService_UpdateComment_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UpdateComment", + FullMethod: CompassService_UpdateComment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UpdateComment(ctx, req.(*UpdateCommentRequest)) @@ -808,7 +868,7 @@ func _CompassService_DeleteComment_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/DeleteComment", + FullMethod: CompassService_DeleteComment_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).DeleteComment(ctx, req.(*DeleteCommentRequest)) @@ -826,7 +886,7 @@ func _CompassService_SearchAssets_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/SearchAssets", + FullMethod: CompassService_SearchAssets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).SearchAssets(ctx, req.(*SearchAssetsRequest)) @@ -844,7 +904,7 @@ func _CompassService_SuggestAssets_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/SuggestAssets", + FullMethod: CompassService_SuggestAssets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).SuggestAssets(ctx, req.(*SuggestAssetsRequest)) @@ -852,6 +912,24 @@ func _CompassService_SuggestAssets_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _CompassService_GroupAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GroupAssetsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CompassServiceServer).GroupAssets(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CompassService_GroupAssets_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CompassServiceServer).GroupAssets(ctx, req.(*GroupAssetsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _CompassService_GetGraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGraphRequest) if err := dec(in); err != nil { @@ -862,7 +940,7 @@ func _CompassService_GetGraph_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetGraph", + FullMethod: CompassService_GetGraph_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetGraph(ctx, req.(*GetGraphRequest)) @@ -880,7 +958,7 @@ func _CompassService_GetAllTypes_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAllTypes", + FullMethod: CompassService_GetAllTypes_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAllTypes(ctx, req.(*GetAllTypesRequest)) @@ -898,7 +976,7 @@ func _CompassService_GetAllAssets_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAllAssets", + FullMethod: CompassService_GetAllAssets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAllAssets(ctx, req.(*GetAllAssetsRequest)) @@ -916,7 +994,7 @@ func _CompassService_GetAssetByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAssetByID", + FullMethod: CompassService_GetAssetByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAssetByID(ctx, req.(*GetAssetByIDRequest)) @@ -934,7 +1012,7 @@ func _CompassService_UpsertAsset_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UpsertAsset", + FullMethod: CompassService_UpsertAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UpsertAsset(ctx, req.(*UpsertAssetRequest)) @@ -952,7 +1030,7 @@ func _CompassService_UpsertPatchAsset_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UpsertPatchAsset", + FullMethod: CompassService_UpsertPatchAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UpsertPatchAsset(ctx, req.(*UpsertPatchAssetRequest)) @@ -970,7 +1048,7 @@ func _CompassService_DeleteAsset_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/DeleteAsset", + FullMethod: CompassService_DeleteAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).DeleteAsset(ctx, req.(*DeleteAssetRequest)) @@ -988,7 +1066,7 @@ func _CompassService_GetAssetStargazers_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAssetStargazers", + FullMethod: CompassService_GetAssetStargazers_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAssetStargazers(ctx, req.(*GetAssetStargazersRequest)) @@ -1006,7 +1084,7 @@ func _CompassService_GetAssetVersionHistory_Handler(srv interface{}, ctx context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAssetVersionHistory", + FullMethod: CompassService_GetAssetVersionHistory_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAssetVersionHistory(ctx, req.(*GetAssetVersionHistoryRequest)) @@ -1024,7 +1102,7 @@ func _CompassService_GetAssetByVersion_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAssetByVersion", + FullMethod: CompassService_GetAssetByVersion_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAssetByVersion(ctx, req.(*GetAssetByVersionRequest)) @@ -1042,7 +1120,7 @@ func _CompassService_CreateAssetProbe_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/CreateAssetProbe", + FullMethod: CompassService_CreateAssetProbe_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).CreateAssetProbe(ctx, req.(*CreateAssetProbeRequest)) @@ -1060,7 +1138,7 @@ func _CompassService_GetUserStarredAssets_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetUserStarredAssets", + FullMethod: CompassService_GetUserStarredAssets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetUserStarredAssets(ctx, req.(*GetUserStarredAssetsRequest)) @@ -1078,7 +1156,7 @@ func _CompassService_GetMyStarredAssets_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetMyStarredAssets", + FullMethod: CompassService_GetMyStarredAssets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetMyStarredAssets(ctx, req.(*GetMyStarredAssetsRequest)) @@ -1096,7 +1174,7 @@ func _CompassService_GetMyStarredAsset_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetMyStarredAsset", + FullMethod: CompassService_GetMyStarredAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetMyStarredAsset(ctx, req.(*GetMyStarredAssetRequest)) @@ -1114,7 +1192,7 @@ func _CompassService_StarAsset_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/StarAsset", + FullMethod: CompassService_StarAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).StarAsset(ctx, req.(*StarAssetRequest)) @@ -1132,7 +1210,7 @@ func _CompassService_UnstarAsset_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UnstarAsset", + FullMethod: CompassService_UnstarAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UnstarAsset(ctx, req.(*UnstarAssetRequest)) @@ -1150,7 +1228,7 @@ func _CompassService_GetMyDiscussions_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetMyDiscussions", + FullMethod: CompassService_GetMyDiscussions_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetMyDiscussions(ctx, req.(*GetMyDiscussionsRequest)) @@ -1168,7 +1246,7 @@ func _CompassService_CreateTagAsset_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/CreateTagAsset", + FullMethod: CompassService_CreateTagAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).CreateTagAsset(ctx, req.(*CreateTagAssetRequest)) @@ -1186,7 +1264,7 @@ func _CompassService_GetTagByAssetAndTemplate_Handler(srv interface{}, ctx conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetTagByAssetAndTemplate", + FullMethod: CompassService_GetTagByAssetAndTemplate_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetTagByAssetAndTemplate(ctx, req.(*GetTagByAssetAndTemplateRequest)) @@ -1204,7 +1282,7 @@ func _CompassService_UpdateTagAsset_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UpdateTagAsset", + FullMethod: CompassService_UpdateTagAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UpdateTagAsset(ctx, req.(*UpdateTagAssetRequest)) @@ -1222,7 +1300,7 @@ func _CompassService_DeleteTagAsset_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/DeleteTagAsset", + FullMethod: CompassService_DeleteTagAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).DeleteTagAsset(ctx, req.(*DeleteTagAssetRequest)) @@ -1240,7 +1318,7 @@ func _CompassService_GetAllTagsByAsset_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAllTagsByAsset", + FullMethod: CompassService_GetAllTagsByAsset_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAllTagsByAsset(ctx, req.(*GetAllTagsByAssetRequest)) @@ -1258,7 +1336,7 @@ func _CompassService_GetAllTagTemplates_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetAllTagTemplates", + FullMethod: CompassService_GetAllTagTemplates_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetAllTagTemplates(ctx, req.(*GetAllTagTemplatesRequest)) @@ -1276,7 +1354,7 @@ func _CompassService_CreateTagTemplate_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/CreateTagTemplate", + FullMethod: CompassService_CreateTagTemplate_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).CreateTagTemplate(ctx, req.(*CreateTagTemplateRequest)) @@ -1294,7 +1372,7 @@ func _CompassService_GetTagTemplate_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetTagTemplate", + FullMethod: CompassService_GetTagTemplate_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetTagTemplate(ctx, req.(*GetTagTemplateRequest)) @@ -1312,7 +1390,7 @@ func _CompassService_UpdateTagTemplate_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UpdateTagTemplate", + FullMethod: CompassService_UpdateTagTemplate_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UpdateTagTemplate(ctx, req.(*UpdateTagTemplateRequest)) @@ -1330,7 +1408,7 @@ func _CompassService_DeleteTagTemplate_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/DeleteTagTemplate", + FullMethod: CompassService_DeleteTagTemplate_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).DeleteTagTemplate(ctx, req.(*DeleteTagTemplateRequest)) @@ -1348,7 +1426,7 @@ func _CompassService_CreateNamespace_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/CreateNamespace", + FullMethod: CompassService_CreateNamespace_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).CreateNamespace(ctx, req.(*CreateNamespaceRequest)) @@ -1366,7 +1444,7 @@ func _CompassService_GetNamespace_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/GetNamespace", + FullMethod: CompassService_GetNamespace_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).GetNamespace(ctx, req.(*GetNamespaceRequest)) @@ -1384,7 +1462,7 @@ func _CompassService_UpdateNamespace_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/UpdateNamespace", + FullMethod: CompassService_UpdateNamespace_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).UpdateNamespace(ctx, req.(*UpdateNamespaceRequest)) @@ -1402,7 +1480,7 @@ func _CompassService_ListNamespaces_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/raystack.compass.v1beta1.CompassService/ListNamespaces", + FullMethod: CompassService_ListNamespaces_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(CompassServiceServer).ListNamespaces(ctx, req.(*ListNamespacesRequest)) @@ -1461,6 +1539,10 @@ var CompassService_ServiceDesc = grpc.ServiceDesc{ MethodName: "SuggestAssets", Handler: _CompassService_SuggestAssets_Handler, }, + { + MethodName: "GroupAssets", + Handler: _CompassService_GroupAssets_Handler, + }, { MethodName: "GetGraph", Handler: _CompassService_GetGraph_Handler,