diff --git a/cmd/cli/app/project/project_create.go b/cmd/cli/app/project/project_create.go
new file mode 100644
index 0000000000..0c4f545878
--- /dev/null
+++ b/cmd/cli/app/project/project_create.go
@@ -0,0 +1,100 @@
+//
+// Copyright 2024 Stacklok, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package project
+
+import (
+ "context"
+ "fmt"
+ "strings"
+
+ "github.com/spf13/cobra"
+ "github.com/spf13/viper"
+ "google.golang.org/grpc"
+
+ "github.com/stacklok/minder/cmd/cli/app"
+ "github.com/stacklok/minder/internal/util"
+ "github.com/stacklok/minder/internal/util/cli"
+ "github.com/stacklok/minder/internal/util/cli/table"
+ "github.com/stacklok/minder/internal/util/cli/table/layouts"
+ minderv1 "github.com/stacklok/minder/pkg/api/protobuf/go/minder/v1"
+)
+
+// projectCreateCmd is the command for creating sub-projects
+var projectCreateCmd = &cobra.Command{
+ Use: "create",
+ Short: "Create a sub-project within a minder control plane",
+ Long: `The list command lists the projects available to you within a minder control plane.`,
+ RunE: cli.GRPCClientWrapRunE(createCommand),
+}
+
+// listCommand is the command for listing projects
+func createCommand(ctx context.Context, cmd *cobra.Command, conn *grpc.ClientConn) error {
+ client := minderv1.NewProjectsServiceClient(conn)
+
+ format := viper.GetString("output")
+ project := viper.GetString("project")
+ name := viper.GetString("name")
+
+ // No longer print usage on returned error, since we've parsed our inputs
+ // See https://github.com/spf13/cobra/issues/340#issuecomment-374617413
+ cmd.SilenceUsage = true
+
+ resp, err := client.CreateProject(ctx, &minderv1.CreateProjectRequest{
+ Context: &minderv1.Context{
+ Project: &project,
+ },
+ Name: name,
+ })
+ if err != nil {
+ return cli.MessageAndError("Error creating sub-project", err)
+ }
+
+ switch format {
+ case app.JSON:
+ out, err := util.GetJsonFromProto(resp)
+ if err != nil {
+ return cli.MessageAndError("Error getting json from proto", err)
+ }
+ cmd.Println(out)
+ case app.YAML:
+ out, err := util.GetYamlFromProto(resp)
+ if err != nil {
+ return cli.MessageAndError("Error getting yaml from proto", err)
+ }
+ cmd.Println(out)
+ case app.Table:
+ t := table.New(table.Simple, layouts.Default, []string{"ID", "Name"})
+ t.AddRow(resp.Project.ProjectId, resp.Project.Name)
+ t.Render()
+ default:
+ return fmt.Errorf("unsupported output format: %s", format)
+ }
+
+ return nil
+}
+
+func init() {
+ ProjectCmd.AddCommand(projectCreateCmd)
+
+ projectCreateCmd.Flags().StringP("project", "j", "", "The project to create the sub-project within")
+ projectCreateCmd.Flags().StringP("name", "n", "", "The name of the project to create")
+ // mark as required
+ if err := projectCreateCmd.MarkFlagRequired("name"); err != nil {
+ panic(err)
+ }
+ projectCreateCmd.Flags().StringP("output", "o", app.Table,
+ fmt.Sprintf("Output format (one of %s)", strings.Join(app.SupportedOutputFormats(), ",")))
+}
diff --git a/cmd/cli/app/project/project_delete.go b/cmd/cli/app/project/project_delete.go
new file mode 100644
index 0000000000..4622c461eb
--- /dev/null
+++ b/cmd/cli/app/project/project_delete.go
@@ -0,0 +1,69 @@
+//
+// Copyright 2024 Stacklok, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package project
+
+import (
+ "context"
+
+ "github.com/spf13/cobra"
+ "github.com/spf13/viper"
+ "google.golang.org/grpc"
+
+ "github.com/stacklok/minder/internal/util/cli"
+ minderv1 "github.com/stacklok/minder/pkg/api/protobuf/go/minder/v1"
+)
+
+// projectDeleteCmd is the command for deleting sub-projects
+var projectDeleteCmd = &cobra.Command{
+ Use: "delete",
+ Short: "Delete a sub-project within a minder control plane",
+ Long: `Delete a sub-project within a minder control plane`,
+ RunE: cli.GRPCClientWrapRunE(deleteCommand),
+}
+
+// listCommand is the command for listing projects
+func deleteCommand(ctx context.Context, cmd *cobra.Command, conn *grpc.ClientConn) error {
+ client := minderv1.NewProjectsServiceClient(conn)
+
+ project := viper.GetString("project")
+
+ // No longer print usage on returned error, since we've parsed our inputs
+ // See https://github.com/spf13/cobra/issues/340#issuecomment-374617413
+ cmd.SilenceUsage = true
+
+ resp, err := client.DeleteProject(ctx, &minderv1.DeleteProjectRequest{
+ Context: &minderv1.Context{
+ Project: &project,
+ },
+ })
+ if err != nil {
+ return cli.MessageAndError("Error deleting sub-project", err)
+ }
+
+ cmd.Println("Successfully deleted profile with id:", resp.ProjectId)
+
+ return nil
+}
+
+func init() {
+ ProjectCmd.AddCommand(projectDeleteCmd)
+
+ projectDeleteCmd.Flags().StringP("project", "j", "", "The sub-project to delete")
+ // mark as required
+ if err := projectDeleteCmd.MarkFlagRequired("project"); err != nil {
+ panic(err)
+ }
+}
diff --git a/database/migrations/000027_project_hierarchy_feature.down.sql b/database/migrations/000027_project_hierarchy_feature.down.sql
new file mode 100644
index 0000000000..091fe7e28d
--- /dev/null
+++ b/database/migrations/000027_project_hierarchy_feature.down.sql
@@ -0,0 +1,15 @@
+-- Copyright 2024 Stacklok, Inc
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+
+DELETE FROM features WHERE name = 'project_hierarchy_operations_enabled';
\ No newline at end of file
diff --git a/database/migrations/000027_project_hierarchy_feature.up.sql b/database/migrations/000027_project_hierarchy_feature.up.sql
new file mode 100644
index 0000000000..c8a34ae0af
--- /dev/null
+++ b/database/migrations/000027_project_hierarchy_feature.up.sql
@@ -0,0 +1,18 @@
+-- Copyright 2024 Stacklok, Inc
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+
+-- hierarchy operations feature
+INSERT INTO features(name, settings)
+ VALUES ('project_hierarchy_operations_enabled', '{}')
+ ON CONFLICT DO NOTHING;
\ No newline at end of file
diff --git a/docs/docs/ref/proto.md b/docs/docs/ref/proto.md
index 59d3d6da95..02972662a8 100644
--- a/docs/docs/ref/proto.md
+++ b/docs/docs/ref/proto.md
@@ -102,6 +102,8 @@ replies with OK
| Method Name | Request Type | Response Type | Description |
| ----------- | ------------ | ------------- | ------------|
| ListProjects | [ListProjectsRequest](#minder-v1-ListProjectsRequest) | [ListProjectsResponse](#minder-v1-ListProjectsResponse) | |
+| CreateProject | [CreateProjectRequest](#minder-v1-CreateProjectRequest) | [CreateProjectResponse](#minder-v1-CreateProjectResponse) | |
+| DeleteProject | [DeleteProjectRequest](#minder-v1-DeleteProjectRequest) | [DeleteProjectResponse](#minder-v1-DeleteProjectResponse) | |
@@ -284,6 +286,29 @@ Profile service
| profile | [Profile](#minder-v1-Profile) | | |
+
+
+#### CreateProjectRequest
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| context | [Context](#minder-v1-Context) | | context is the context in which the project is created. |
+| name | [string](#string) | | name is the name of the project to create. |
+
+
+
+
+#### CreateProjectResponse
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| project | [Project](#minder-v1-Project) | | project is the project that was created. |
+
+
#### CreateRuleTypeRequest
@@ -348,6 +373,28 @@ User service
+
+
+#### DeleteProjectRequest
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| context | [Context](#minder-v1-Context) | | context is the context in which the project is deleted. |
+
+
+
+
+#### DeleteProjectResponse
+
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| project_id | [string](#string) | | project_id is the id of the project that was deleted. |
+
+
#### DeleteRepositoryByIdRequest
diff --git a/internal/authz/authz.go b/internal/authz/authz.go
index 14459aa3d6..225c38fec6 100644
--- a/internal/authz/authz.go
+++ b/internal/authz/authz.go
@@ -258,13 +258,25 @@ func (a *ClientWrapper) Check(ctx context.Context, action string, project uuid.U
// Write persists the given role for the given user and project
func (a *ClientWrapper) Write(ctx context.Context, user string, role Role, project uuid.UUID) error {
- resp, err := a.cli.WriteTuples(ctx).Options(fgaclient.ClientWriteOptions{}).Body([]fgasdk.TupleKey{
- {
- User: getUserForTuple(user),
- Relation: role.String(),
- Object: getProjectForTuple(project),
- },
- }).Execute()
+ return a.write(ctx, fgasdk.TupleKey{
+ User: getUserForTuple(user),
+ Relation: role.String(),
+ Object: getProjectForTuple(project),
+ })
+}
+
+// Adopt writes a relationship between the parent and child projects
+func (a *ClientWrapper) Adopt(ctx context.Context, parent, child uuid.UUID) error {
+ return a.write(ctx, fgasdk.TupleKey{
+ User: getProjectForTuple(parent),
+ Relation: "parent",
+ Object: getProjectForTuple(child),
+ })
+}
+
+func (a *ClientWrapper) write(ctx context.Context, t fgasdk.TupleKey) error {
+ resp, err := a.cli.WriteTuples(ctx).Options(fgaclient.ClientWriteOptions{}).
+ Body([]fgasdk.TupleKey{t}).Execute()
if err != nil && strings.Contains(err.Error(), "already exists") {
return nil
} else if err != nil {
@@ -285,6 +297,11 @@ func (a *ClientWrapper) Delete(ctx context.Context, user string, role Role, proj
return a.doDelete(ctx, getUserForTuple(user), role.String(), getProjectForTuple(project))
}
+// Orphan removes the relationship between the parent and child projects
+func (a *ClientWrapper) Orphan(ctx context.Context, parent, child uuid.UUID) error {
+ return a.doDelete(ctx, getProjectForTuple(parent), "parent", getProjectForTuple(child))
+}
+
// doDelete wraps the OpenFGA DeleteTuples call and handles edge cases as needed. It takes
// the user, role, and project as tuple-formatted strings.
func (a *ClientWrapper) doDelete(ctx context.Context, user string, role string, project string) error {
@@ -418,12 +435,54 @@ func (a *ClientWrapper) ProjectsForUser(ctx context.Context, sub string) ([]uuid
if err != nil {
continue
}
+
out = append(out, u)
+
+ children, err := a.traverseProjectsForParent(ctx, u)
+ if err != nil {
+ return nil, err
+ }
+
+ out = append(out, children...)
}
return out, nil
}
+// traverseProjectsForParent is a recursive function that traverses the project
+// hierarchy to find all projects that the parent project has access to.
+func (a *ClientWrapper) traverseProjectsForParent(ctx context.Context, parent uuid.UUID) ([]uuid.UUID, error) {
+ projects := []uuid.UUID{}
+
+ resp, err := a.cli.ListObjects(ctx).Body(fgaclient.ClientListObjectsRequest{
+ User: getProjectForTuple(parent),
+ Relation: "parent",
+ Type: "project",
+ }).Execute()
+
+ if err != nil {
+ return nil, fmt.Errorf("unable to read authorization tuples: %w", err)
+ }
+
+ for _, obj := range resp.GetObjects() {
+ u, err := uuid.Parse(getProjectFromTuple(obj))
+ if err != nil {
+ continue
+ }
+ projects = append(projects, u)
+ }
+
+ for _, proj := range projects {
+ children, err := a.traverseProjectsForParent(ctx, proj)
+ if err != nil {
+ return nil, err
+ }
+ projects = append(projects, children...)
+ }
+
+ return projects, nil
+}
+
func getUserForTuple(user string) string {
return "user:" + user
}
diff --git a/internal/authz/interface.go b/internal/authz/interface.go
index 694dfa08ad..453ed0be54 100644
--- a/internal/authz/interface.go
+++ b/internal/authz/interface.go
@@ -107,4 +107,10 @@ type Client interface {
// MigrateUp runs the authz migrations
MigrateUp(ctx context.Context) error
+
+ // Adopt stores an authorization relationship from one project to another
+ Adopt(ctx context.Context, parent, child uuid.UUID) error
+
+ // Orphan removes an authorization relationship from one project to another
+ Orphan(ctx context.Context, parent, child uuid.UUID) error
}
diff --git a/internal/authz/mock/noop_authz.go b/internal/authz/mock/noop_authz.go
index 45803b3de0..999b16ed06 100644
--- a/internal/authz/mock/noop_authz.go
+++ b/internal/authz/mock/noop_authz.go
@@ -78,3 +78,13 @@ func (_ *NoopClient) PrepareForRun(_ context.Context) error {
func (_ *NoopClient) MigrateUp(_ context.Context) error {
return nil
}
+
+// Adopt implements authz.Client
+func (_ *NoopClient) Adopt(_ context.Context, _, _ uuid.UUID) error {
+ return nil
+}
+
+// Orphan implements authz.Client
+func (_ *NoopClient) Orphan(_ context.Context, _, _ uuid.UUID) error {
+ return nil
+}
diff --git a/internal/authz/mock/simple_authz.go b/internal/authz/mock/simple_authz.go
index 6b0485bc03..6c8fa1a2d5 100644
--- a/internal/authz/mock/simple_authz.go
+++ b/internal/authz/mock/simple_authz.go
@@ -19,6 +19,7 @@ package mock
import (
"context"
"slices"
+ "sync/atomic"
"github.com/google/uuid"
@@ -30,6 +31,12 @@ import (
type SimpleClient struct {
Allowed []uuid.UUID
Assignments map[uuid.UUID][]*minderv1.RoleAssignment
+
+ // Adoptions is a map of child project to parent project
+ Adoptions map[uuid.UUID]uuid.UUID
+
+ // OrphanCalls is a counter for the number of times Orphan is called
+ OrphanCalls atomic.Int32
}
var _ authz.Client = &SimpleClient{}
@@ -92,3 +99,26 @@ func (_ *SimpleClient) PrepareForRun(_ context.Context) error {
func (_ *SimpleClient) MigrateUp(_ context.Context) error {
return nil
}
+
+// Adopt implements authz.Client
+func (n *SimpleClient) Adopt(_ context.Context, p, c uuid.UUID) error {
+
+ if n.Adoptions == nil {
+ n.Adoptions = make(map[uuid.UUID]uuid.UUID)
+ }
+
+ n.Adoptions[c] = p
+ return nil
+}
+
+// Orphan implements authz.Client
+func (n *SimpleClient) Orphan(_ context.Context, _, c uuid.UUID) error {
+ n.OrphanCalls.Add(int32(1))
+ if n.Adoptions == nil {
+ return nil
+ }
+
+ delete(n.Adoptions, c)
+
+ return nil
+}
diff --git a/internal/controlplane/handlers_githubwebhooks.go b/internal/controlplane/handlers_githubwebhooks.go
index dc511cd061..ac5700626d 100644
--- a/internal/controlplane/handlers_githubwebhooks.go
+++ b/internal/controlplane/handlers_githubwebhooks.go
@@ -42,6 +42,7 @@ import (
"github.com/stacklok/minder/internal/db"
"github.com/stacklok/minder/internal/engine/entities"
"github.com/stacklok/minder/internal/events"
+ "github.com/stacklok/minder/internal/projects/features"
"github.com/stacklok/minder/internal/providers"
"github.com/stacklok/minder/internal/util"
"github.com/stacklok/minder/internal/verifier/verifyif"
@@ -259,7 +260,7 @@ func (s *Server) registerWebhookForRepository(
}
// skip if we try to register a private repository
- if repoGet.GetPrivate() && !projectAllowsPrivateRepos(ctx, s.store, projectID) {
+ if repoGet.GetPrivate() && !features.ProjectAllowsPrivateRepos(ctx, s.store, projectID) {
errorStr := "repository is private"
regResult.Status.Error = &errorStr
return regResult, nil
@@ -789,7 +790,7 @@ func getRepoInformationFromPayload(
// ignore processing webhooks for private repositories
isPrivate, ok := repoInfo["private"].(bool)
if ok {
- if isPrivate && !projectAllowsPrivateRepos(ctx, store, dbrepo.ProjectID) {
+ if isPrivate && !features.ProjectAllowsPrivateRepos(ctx, store, dbrepo.ProjectID) {
return db.Repository{}, errRepoIsPrivate
}
}
@@ -814,24 +815,3 @@ func parseRepoID(repoID any) (int64, error) {
return 0, fmt.Errorf("unknown type for repoID: %T", v)
}
}
-
-func projectAllowsPrivateRepos(ctx context.Context, store db.Store, projectID uuid.UUID) bool {
- // we're throwing away the result because we're really not interested in what the feature
- // sets, just that it's enabled
- _, err := store.GetFeatureInProject(ctx, db.GetFeatureInProjectParams{
- ProjectID: projectID,
- Feature: "private_repositories_enabled",
- })
- if errors.Is(err, sql.ErrNoRows) {
- zerolog.Ctx(ctx).Debug().Msg("private repositories not enabled for project")
- return false
- } else if err != nil {
- log.Printf("error getting features for project %s: %v", projectID, err)
- return false
- }
-
- zerolog.Ctx(ctx).Debug().
- Str("project_id", projectID.String()).
- Msg("project allows private repositories")
- return true
-}
diff --git a/internal/controlplane/handlers_projects.go b/internal/controlplane/handlers_projects.go
index 790e614d9a..be7f840451 100644
--- a/internal/controlplane/handlers_projects.go
+++ b/internal/controlplane/handlers_projects.go
@@ -16,12 +16,22 @@ package controlplane
import (
"context"
+ "database/sql"
+ "encoding/json"
+ "errors"
+ "strings"
+ "github.com/google/uuid"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/stacklok/minder/internal/auth"
+ "github.com/stacklok/minder/internal/db"
+ "github.com/stacklok/minder/internal/engine"
+ "github.com/stacklok/minder/internal/projects"
+ "github.com/stacklok/minder/internal/projects/features"
+ "github.com/stacklok/minder/internal/util"
minderv1 "github.com/stacklok/minder/pkg/api/protobuf/go/minder/v1"
)
@@ -35,14 +45,14 @@ func (s *Server) ListProjects(
return nil, status.Errorf(codes.Internal, "error getting user: %v", err)
}
- projects, err := s.authzClient.ProjectsForUser(ctx, userInfo.IdentitySubject)
+ projs, err := s.authzClient.ProjectsForUser(ctx, userInfo.IdentitySubject)
if err != nil {
return nil, status.Errorf(codes.Internal, "error getting projects for user: %v", err)
}
resp := minderv1.ListProjectsResponse{}
- for _, projectID := range projects {
+ for _, projectID := range projs {
project, err := s.store.GetProjectByID(ctx, projectID)
if err != nil {
return nil, status.Errorf(codes.Internal, "error getting project: %v", err)
@@ -57,3 +67,117 @@ func (s *Server) ListProjects(
}
return &resp, nil
}
+
+// CreateProject creates a new subproject
+func (s *Server) CreateProject(
+ ctx context.Context,
+ req *minderv1.CreateProjectRequest,
+) (*minderv1.CreateProjectResponse, error) {
+ entityCtx := engine.EntityFromContext(ctx)
+ projectID := entityCtx.Project.ID
+
+ if !features.ProjectAllowsProjectHierarchyOperations(ctx, s.store, projectID) {
+ return nil, util.UserVisibleError(codes.PermissionDenied,
+ "project does not allow project hierarchy operations")
+ }
+
+ tx, err := s.store.BeginTransaction()
+ if err != nil {
+ return nil, status.Errorf(codes.Internal, "error starting transaction: %v", err)
+ }
+ defer s.store.Rollback(tx)
+
+ qtx := s.store.GetQuerierWithTransaction(tx)
+
+ parent, err := qtx.GetProjectByID(ctx, projectID)
+ if err != nil {
+ if errors.Is(err, sql.ErrNoRows) {
+ return nil, util.UserVisibleError(codes.NotFound, "project not found")
+ }
+ return nil, status.Errorf(codes.Internal, "error getting project: %v", err)
+ }
+
+ // TODO: Remove this once we handle a full hierarchy
+ if parent.ParentID.Valid {
+ return nil, util.UserVisibleError(codes.InvalidArgument, "cannot create subproject of a subproject")
+ }
+
+ subProject, err := qtx.CreateProject(ctx, db.CreateProjectParams{
+ Name: req.Name,
+ ParentID: uuid.NullUUID{
+ UUID: parent.ID,
+ Valid: true,
+ },
+ Metadata: json.RawMessage(`{}`),
+ })
+ if err != nil {
+ if strings.Contains(err.Error(), "duplicate key value violates unique constraint") {
+ return nil, util.UserVisibleError(codes.AlreadyExists, "project named %s already exists", req.Name)
+ }
+ return nil, status.Errorf(codes.Internal, "error creating subproject: %v", err)
+ }
+
+ if err := s.authzClient.Adopt(ctx, parent.ID, subProject.ID); err != nil {
+ return nil, status.Errorf(codes.Internal, "error creating subproject: %v", err)
+ }
+
+ if err := s.store.Commit(tx); err != nil {
+ return nil, status.Errorf(codes.Internal, "error committing transaction: %v", err)
+ }
+
+ return &minderv1.CreateProjectResponse{
+ Project: &minderv1.Project{
+ ProjectId: subProject.ID.String(),
+ Name: subProject.Name,
+ Description: "",
+ CreatedAt: timestamppb.New(subProject.CreatedAt),
+ UpdatedAt: timestamppb.New(subProject.UpdatedAt),
+ },
+ }, nil
+}
+
+// DeleteProject deletes a subproject
+func (s *Server) DeleteProject(
+ ctx context.Context,
+ _ *minderv1.DeleteProjectRequest,
+) (*minderv1.DeleteProjectResponse, error) {
+ entityCtx := engine.EntityFromContext(ctx)
+ projectID := entityCtx.Project.ID
+
+ if !features.ProjectAllowsProjectHierarchyOperations(ctx, s.store, projectID) {
+ return nil, util.UserVisibleError(codes.PermissionDenied,
+ "project does not allow project hierarchy operations")
+ }
+
+ tx, err := s.store.BeginTransaction()
+ if err != nil {
+ return nil, status.Errorf(codes.Internal, "error starting transaction: %v", err)
+ }
+ defer s.store.Rollback(tx)
+
+ qtx := s.store.GetQuerierWithTransaction(tx)
+
+ subProject, err := qtx.GetProjectByID(ctx, projectID)
+ if err != nil {
+ if errors.Is(err, sql.ErrNoRows) {
+ return nil, status.Errorf(codes.NotFound, "project not found")
+ }
+ return nil, status.Errorf(codes.Internal, "error getting project: %v", err)
+ }
+
+ if !subProject.ParentID.Valid {
+ return nil, util.UserVisibleError(codes.InvalidArgument, "cannot delete a top-level project")
+ }
+
+ if err := projects.DeleteProject(ctx, projectID, qtx, s.authzClient); err != nil {
+ return nil, status.Errorf(codes.Internal, "error deleting project: %v", err)
+ }
+
+ if err := s.store.Commit(tx); err != nil {
+ return nil, status.Errorf(codes.Internal, "error committing transaction: %v", err)
+ }
+
+ return &minderv1.DeleteProjectResponse{
+ ProjectId: projectID.String(),
+ }, nil
+}
diff --git a/internal/controlplane/handlers_repositories.go b/internal/controlplane/handlers_repositories.go
index c63396cc11..b6cd0448e5 100644
--- a/internal/controlplane/handlers_repositories.go
+++ b/internal/controlplane/handlers_repositories.go
@@ -29,6 +29,7 @@ import (
"github.com/stacklok/minder/internal/db"
"github.com/stacklok/minder/internal/engine"
"github.com/stacklok/minder/internal/logger"
+ "github.com/stacklok/minder/internal/projects/features"
"github.com/stacklok/minder/internal/providers"
github "github.com/stacklok/minder/internal/providers/github"
"github.com/stacklok/minder/internal/reconcilers"
@@ -456,7 +457,7 @@ func (s *Server) ListRemoteRepositoriesFromProvider(
Results: make([]*pb.UpstreamRepositoryRef, 0, len(remoteRepos)),
}
- allowsPrivateRepos := projectAllowsPrivateRepos(ctx, s.store, projectID)
+ allowsPrivateRepos := features.ProjectAllowsPrivateRepos(ctx, s.store, projectID)
if !allowsPrivateRepos {
zerolog.Ctx(ctx).Info().Msg("filtering out private repositories")
} else {
diff --git a/internal/controlplane/identity_events.go b/internal/controlplane/identity_events.go
index 2e3ea111f0..9db045f78b 100644
--- a/internal/controlplane/identity_events.go
+++ b/internal/controlplane/identity_events.go
@@ -33,6 +33,7 @@ import (
"github.com/stacklok/minder/internal/authz"
serverconfig "github.com/stacklok/minder/internal/config/server"
"github.com/stacklok/minder/internal/db"
+ "github.com/stacklok/minder/internal/projects"
)
const (
@@ -161,7 +162,7 @@ func DeleteUser(ctx context.Context, store db.Store, authzClient authz.Client, u
// Fetching the projects for user before the deletion was made.
// This allows us to clean up the project from the database
// if there are no more role assignments for the project.
- projects, err := authzClient.ProjectsForUser(ctx, userId)
+ projs, err := authzClient.ProjectsForUser(ctx, userId)
if err != nil {
return fmt.Errorf("error getting projects for user %v", err)
}
@@ -178,7 +179,7 @@ func DeleteUser(ctx context.Context, store db.Store, authzClient authz.Client, u
}
}
- for _, proj := range projects {
+ for _, proj := range projs {
// Given that we've deleted the user from the authorization system,
// we can now check if there are any role assignments for the project.
as, err := authzClient.AssignmentsToProject(ctx, proj)
@@ -187,9 +188,7 @@ func DeleteUser(ctx context.Context, store db.Store, authzClient authz.Client, u
}
if len(as) == 0 {
- // no role assignments for this project
- // we can safely delete it.
- if _, err := qtx.DeleteProject(ctx, proj); err != nil {
+ if err := projects.CleanUpUnmanagedProjects(ctx, proj, qtx, authzClient); err != nil {
return fmt.Errorf("error deleting project %v", err)
}
}
diff --git a/internal/projects/delete.go b/internal/projects/delete.go
new file mode 100644
index 0000000000..1c337b6cee
--- /dev/null
+++ b/internal/projects/delete.go
@@ -0,0 +1,74 @@
+//
+// Copyright 2024 Stacklok, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package projects
+
+import (
+ "context"
+ "database/sql"
+ "errors"
+ "fmt"
+
+ "github.com/google/uuid"
+
+ "github.com/stacklok/minder/internal/authz"
+ "github.com/stacklok/minder/internal/db"
+)
+
+// CleanUpUnmanagedProjects deletes a project if it has no role assignments left
+func CleanUpUnmanagedProjects(ctx context.Context, proj uuid.UUID, querier db.Querier, authzClient authz.Client) error {
+ // Given that we've deleted the user from the authorization system,
+ // we can now check if there are any role assignments for the project.
+ as, err := authzClient.AssignmentsToProject(ctx, proj)
+ if err != nil {
+ return fmt.Errorf("error getting role assignments for project %v", err)
+ }
+
+ if len(as) == 0 {
+ if err := DeleteProject(ctx, proj, querier, authzClient); err != nil {
+ return fmt.Errorf("error deleting project %v", err)
+ }
+ }
+ return nil
+}
+
+// DeleteProject deletes a project and authorization relationships
+func DeleteProject(ctx context.Context, proj uuid.UUID, querier db.Querier, authzClient authz.Client) error {
+ _, err := querier.GetProjectByID(ctx, proj)
+ if err != nil {
+ // This project has already been deleted. Skip and go to the next one.
+ if errors.Is(err, sql.ErrNoRows) {
+ return nil
+ }
+ return fmt.Errorf("error getting project %v", err)
+ }
+
+ // no role assignments for this project
+ // we can safely delete it.
+ deletions, err := querier.DeleteProject(ctx, proj)
+ if err != nil {
+ return fmt.Errorf("error deleting project %v", err)
+ }
+
+ for _, d := range deletions {
+ if d.ParentID.Valid {
+ if err := authzClient.Orphan(ctx, d.ParentID.UUID, d.ID); err != nil {
+ return fmt.Errorf("error orphaning project %v", err)
+ }
+ }
+ }
+
+ return nil
+}
diff --git a/internal/projects/delete_test.go b/internal/projects/delete_test.go
new file mode 100644
index 0000000000..a0f93f6d38
--- /dev/null
+++ b/internal/projects/delete_test.go
@@ -0,0 +1,211 @@
+//
+// Copyright 2024 Stacklok, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package projects_test
+
+import (
+ "context"
+ "testing"
+
+ "github.com/google/uuid"
+ "github.com/stretchr/testify/assert"
+ "go.uber.org/mock/gomock"
+
+ mockdb "github.com/stacklok/minder/database/mock"
+ "github.com/stacklok/minder/internal/authz/mock"
+ "github.com/stacklok/minder/internal/db"
+ "github.com/stacklok/minder/internal/projects"
+)
+
+func TestDeleteProjectOneProjectWithNoParents(t *testing.T) {
+ t.Parallel()
+
+ proj := uuid.New()
+
+ authzClient := &mock.SimpleClient{}
+
+ ctrl := gomock.NewController(t)
+ defer ctrl.Finish()
+
+ mockStore := mockdb.NewMockStore(ctrl)
+ mockStore.EXPECT().GetProjectByID(gomock.Any(), proj).Return(
+ db.Project{ID: proj}, nil)
+ mockStore.EXPECT().DeleteProject(gomock.Any(), proj).
+ Return([]db.DeleteProjectRow{
+ {ID: proj},
+ }, nil)
+
+ ctx := context.Background()
+
+ err := projects.DeleteProject(ctx, proj, mockStore, authzClient)
+ assert.NoError(t, err)
+
+ // Ensure there are no calls to the orphan cleanup function
+ assert.Equal(t, int32(0), authzClient.OrphanCalls.Load())
+}
+
+func TestDeleteProjectWithOneParent(t *testing.T) {
+ t.Parallel()
+
+ proj := uuid.New()
+ parent := uuid.New()
+
+ authzClient := &mock.SimpleClient{
+ Adoptions: map[uuid.UUID]uuid.UUID{
+ proj: parent,
+ },
+ }
+
+ ctrl := gomock.NewController(t)
+ defer ctrl.Finish()
+
+ mockStore := mockdb.NewMockStore(ctrl)
+ mockStore.EXPECT().GetProjectByID(gomock.Any(), proj).Return(
+ db.Project{
+ ID: proj,
+ ParentID: uuid.NullUUID{
+ UUID: parent,
+ Valid: true,
+ },
+ }, nil)
+ mockStore.EXPECT().DeleteProject(gomock.Any(), proj).
+ Return([]db.DeleteProjectRow{
+ {
+ ID: proj,
+ ParentID: uuid.NullUUID{
+ UUID: parent,
+ Valid: true,
+ },
+ },
+ }, nil)
+
+ ctx := context.Background()
+
+ err := projects.DeleteProject(ctx, proj, mockStore, authzClient)
+ assert.NoError(t, err)
+
+ // Ensure there is one call to the orphan cleanup function
+ assert.Equal(t, int32(1), authzClient.OrphanCalls.Load())
+}
+
+func TestDeleteProjectProjectInThreeNodeHierarchy(t *testing.T) {
+ t.Parallel()
+
+ proj := uuid.New()
+ parent := uuid.New()
+ grandparent := uuid.New()
+
+ authzClient := &mock.SimpleClient{
+ Adoptions: map[uuid.UUID]uuid.UUID{
+ proj: parent,
+ parent: grandparent,
+ },
+ }
+
+ ctrl := gomock.NewController(t)
+ defer ctrl.Finish()
+
+ mockStore := mockdb.NewMockStore(ctrl)
+ mockStore.EXPECT().GetProjectByID(gomock.Any(), proj).Return(
+ db.Project{
+ ID: proj,
+ ParentID: uuid.NullUUID{
+ UUID: parent,
+ Valid: true,
+ },
+ }, nil)
+ mockStore.EXPECT().DeleteProject(gomock.Any(), proj).
+ Return([]db.DeleteProjectRow{
+ {
+ ID: proj,
+ ParentID: uuid.NullUUID{
+ UUID: parent,
+ Valid: true,
+ },
+ },
+ }, nil)
+
+ ctx := context.Background()
+
+ err := projects.DeleteProject(ctx, proj, mockStore, authzClient)
+ assert.NoError(t, err)
+
+ // Ensure there is one call to the orphan cleanup function
+ assert.Equal(t, int32(1), authzClient.OrphanCalls.Load())
+
+ // Ensure the adoption relationship was removed
+ assert.NotContains(t, authzClient.Adoptions, proj)
+
+ // Ensure the grandparent relationship was not removed
+ assert.Contains(t, authzClient.Adoptions, parent)
+}
+
+func TestDeleteMiddleProjectInThreeNodeHierarchy(t *testing.T) {
+ t.Parallel()
+
+ child := uuid.New()
+ proj := uuid.New()
+ parent := uuid.New()
+
+ authzClient := &mock.SimpleClient{
+ Adoptions: map[uuid.UUID]uuid.UUID{
+ child: proj,
+ proj: parent,
+ },
+ }
+
+ ctrl := gomock.NewController(t)
+ defer ctrl.Finish()
+
+ mockStore := mockdb.NewMockStore(ctrl)
+ mockStore.EXPECT().GetProjectByID(gomock.Any(), proj).Return(
+ db.Project{
+ ID: proj,
+ ParentID: uuid.NullUUID{
+ UUID: parent,
+ Valid: true,
+ },
+ }, nil)
+ mockStore.EXPECT().DeleteProject(gomock.Any(), proj).
+ Return([]db.DeleteProjectRow{
+ {
+ ID: proj,
+ ParentID: uuid.NullUUID{
+ UUID: parent,
+ Valid: true,
+ },
+ },
+ {
+ ID: child,
+ ParentID: uuid.NullUUID{
+ UUID: proj,
+ Valid: true,
+ },
+ },
+ }, nil)
+
+ ctx := context.Background()
+
+ err := projects.DeleteProject(ctx, proj, mockStore, authzClient)
+ assert.NoError(t, err)
+
+ // Ensure there are two calls to the orphan cleanup function
+ assert.Equal(t, int32(2), authzClient.OrphanCalls.Load())
+
+ // Ensure the adoption relationships were removed
+ assert.NotContains(t, authzClient.Adoptions, proj)
+ assert.NotContains(t, authzClient.Adoptions, child)
+ assert.Len(t, authzClient.Adoptions, 0)
+}
diff --git a/internal/projects/features/features.go b/internal/projects/features/features.go
new file mode 100644
index 0000000000..552f4318cd
--- /dev/null
+++ b/internal/projects/features/features.go
@@ -0,0 +1,70 @@
+//
+// Copyright 2024 Stacklok, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package features provides the features checks for the projects
+package features
+
+import (
+ "context"
+ "database/sql"
+ "errors"
+
+ "github.com/google/uuid"
+ "github.com/rs/zerolog"
+
+ "github.com/stacklok/minder/internal/db"
+)
+
+const (
+ privateReposEnabledFlag = "private_repositories_enabled"
+ projectHierarchyOperationsEnabledFlag = "project_hierarchy_operations_enabled"
+)
+
+// ProjectAllowsPrivateRepos checks if the project allows private repositories
+func ProjectAllowsPrivateRepos(ctx context.Context, store db.Store, projectID uuid.UUID) bool {
+ return featureEnabled(ctx, store, projectID, privateReposEnabledFlag)
+}
+
+// ProjectAllowsProjectHierarchyOperations checks if the project allows project hierarchy operations
+func ProjectAllowsProjectHierarchyOperations(ctx context.Context, store db.Store, projectID uuid.UUID) bool {
+ return featureEnabled(ctx, store, projectID, projectHierarchyOperationsEnabledFlag)
+}
+
+// Is a simple helper function to check if a feature is enabled for a project.
+// This does not check the feature's configuration, if any, just that it's enabled.
+func featureEnabled(ctx context.Context, store db.Store, projectID uuid.UUID, featureFlag string) bool {
+ // we're throwing away the result because we're really not interested in what the feature
+ // sets, just that it's enabled
+ _, err := store.GetFeatureInProject(ctx, db.GetFeatureInProjectParams{
+ ProjectID: projectID,
+ Feature: featureFlag,
+ })
+ if errors.Is(err, sql.ErrNoRows) {
+ zerolog.Ctx(ctx).Debug().
+ Str("project_id", projectID.String()).
+ Str("feature", featureFlag).
+ Msg("feature disabled for project")
+ return false
+ } else if err != nil {
+ zerolog.Ctx(ctx).Error().Err(err).Msg("error checking feature for project")
+ return false
+ }
+
+ zerolog.Ctx(ctx).Debug().
+ Str("project_id", projectID.String()).
+ Str("feature", featureFlag).
+ Msg("feature enabled for project")
+ return true
+}
diff --git a/pkg/api/openapi/minder/v1/minder.swagger.json b/pkg/api/openapi/minder/v1/minder.swagger.json
index 583a268362..e732403166 100644
--- a/pkg/api/openapi/minder/v1/minder.swagger.json
+++ b/pkg/api/openapi/minder/v1/minder.swagger.json
@@ -1122,6 +1122,78 @@
"tags": [
"ProjectsService"
]
+ },
+ "delete": {
+ "operationId": "ProjectsService_DeleteProject",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/v1DeleteProjectResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "context.provider",
+ "description": "name of the provider",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "context.project",
+ "description": "ID of the project",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "context.retiredOrganization",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "ProjectsService"
+ ]
+ },
+ "post": {
+ "operationId": "ProjectsService_CreateProject",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/v1CreateProjectResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/googlerpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/v1CreateProjectRequest"
+ }
+ }
+ ],
+ "tags": [
+ "ProjectsService"
+ ]
}
},
"/api/v1/providers": {
@@ -2769,6 +2841,28 @@
}
}
},
+ "v1CreateProjectRequest": {
+ "type": "object",
+ "properties": {
+ "context": {
+ "$ref": "#/definitions/v1Context",
+ "description": "context is the context in which the project is created."
+ },
+ "name": {
+ "type": "string",
+ "description": "name is the name of the project to create."
+ }
+ }
+ },
+ "v1CreateProjectResponse": {
+ "type": "object",
+ "properties": {
+ "project": {
+ "$ref": "#/definitions/v1Project",
+ "description": "project is the project that was created."
+ }
+ }
+ },
"v1CreateRuleTypeRequest": {
"type": "object",
"properties": {
@@ -2827,6 +2921,15 @@
"v1DeleteProfileResponse": {
"type": "object"
},
+ "v1DeleteProjectResponse": {
+ "type": "object",
+ "properties": {
+ "projectId": {
+ "type": "string",
+ "description": "project_id is the id of the project that was deleted."
+ }
+ }
+ },
"v1DeleteRepositoryByIdResponse": {
"type": "object",
"properties": {
diff --git a/pkg/api/protobuf/go/minder/v1/minder.pb.go b/pkg/api/protobuf/go/minder/v1/minder.pb.go
index e822399d59..e4c2da6927 100644
--- a/pkg/api/protobuf/go/minder/v1/minder.pb.go
+++ b/pkg/api/protobuf/go/minder/v1/minder.pb.go
@@ -6201,6 +6201,207 @@ func (x *ListProjectsResponse) GetProjects() []*Project {
return nil
}
+type CreateProjectRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // context is the context in which the project is created.
+ Context *Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
+ // name is the name of the project to create.
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *CreateProjectRequest) Reset() {
+ *x = CreateProjectRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_minder_v1_minder_proto_msgTypes[92]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateProjectRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateProjectRequest) ProtoMessage() {}
+
+func (x *CreateProjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_minder_v1_minder_proto_msgTypes[92]
+ 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 CreateProjectRequest.ProtoReflect.Descriptor instead.
+func (*CreateProjectRequest) Descriptor() ([]byte, []int) {
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{92}
+}
+
+func (x *CreateProjectRequest) GetContext() *Context {
+ if x != nil {
+ return x.Context
+ }
+ return nil
+}
+
+func (x *CreateProjectRequest) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+type CreateProjectResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // project is the project that was created.
+ Project *Project `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
+}
+
+func (x *CreateProjectResponse) Reset() {
+ *x = CreateProjectResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_minder_v1_minder_proto_msgTypes[93]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateProjectResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateProjectResponse) ProtoMessage() {}
+
+func (x *CreateProjectResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_minder_v1_minder_proto_msgTypes[93]
+ 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 CreateProjectResponse.ProtoReflect.Descriptor instead.
+func (*CreateProjectResponse) Descriptor() ([]byte, []int) {
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{93}
+}
+
+func (x *CreateProjectResponse) GetProject() *Project {
+ if x != nil {
+ return x.Project
+ }
+ return nil
+}
+
+type DeleteProjectRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // context is the context in which the project is deleted.
+ Context *Context `protobuf:"bytes,1,opt,name=context,proto3" json:"context,omitempty"`
+}
+
+func (x *DeleteProjectRequest) Reset() {
+ *x = DeleteProjectRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_minder_v1_minder_proto_msgTypes[94]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteProjectRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteProjectRequest) ProtoMessage() {}
+
+func (x *DeleteProjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_minder_v1_minder_proto_msgTypes[94]
+ 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 DeleteProjectRequest.ProtoReflect.Descriptor instead.
+func (*DeleteProjectRequest) Descriptor() ([]byte, []int) {
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{94}
+}
+
+func (x *DeleteProjectRequest) GetContext() *Context {
+ if x != nil {
+ return x.Context
+ }
+ return nil
+}
+
+type DeleteProjectResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // project_id is the id of the project that was deleted.
+ ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
+}
+
+func (x *DeleteProjectResponse) Reset() {
+ *x = DeleteProjectResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_minder_v1_minder_proto_msgTypes[95]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteProjectResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteProjectResponse) ProtoMessage() {}
+
+func (x *DeleteProjectResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_minder_v1_minder_proto_msgTypes[95]
+ 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 DeleteProjectResponse.ProtoReflect.Descriptor instead.
+func (*DeleteProjectResponse) Descriptor() ([]byte, []int) {
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{95}
+}
+
+func (x *DeleteProjectResponse) GetProjectId() string {
+ if x != nil {
+ return x.ProjectId
+ }
+ return ""
+}
+
type ListRolesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -6213,7 +6414,7 @@ type ListRolesRequest struct {
func (x *ListRolesRequest) Reset() {
*x = ListRolesRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[92]
+ mi := &file_minder_v1_minder_proto_msgTypes[96]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6226,7 +6427,7 @@ func (x *ListRolesRequest) String() string {
func (*ListRolesRequest) ProtoMessage() {}
func (x *ListRolesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[92]
+ mi := &file_minder_v1_minder_proto_msgTypes[96]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6239,7 +6440,7 @@ func (x *ListRolesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRolesRequest.ProtoReflect.Descriptor instead.
func (*ListRolesRequest) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{92}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{96}
}
func (x *ListRolesRequest) GetContext() *Context {
@@ -6260,7 +6461,7 @@ type ListRolesResponse struct {
func (x *ListRolesResponse) Reset() {
*x = ListRolesResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[93]
+ mi := &file_minder_v1_minder_proto_msgTypes[97]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6273,7 +6474,7 @@ func (x *ListRolesResponse) String() string {
func (*ListRolesResponse) ProtoMessage() {}
func (x *ListRolesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[93]
+ mi := &file_minder_v1_minder_proto_msgTypes[97]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6286,7 +6487,7 @@ func (x *ListRolesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRolesResponse.ProtoReflect.Descriptor instead.
func (*ListRolesResponse) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{93}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{97}
}
func (x *ListRolesResponse) GetRoles() []*Role {
@@ -6308,7 +6509,7 @@ type ListRoleAssignmentsRequest struct {
func (x *ListRoleAssignmentsRequest) Reset() {
*x = ListRoleAssignmentsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[94]
+ mi := &file_minder_v1_minder_proto_msgTypes[98]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6321,7 +6522,7 @@ func (x *ListRoleAssignmentsRequest) String() string {
func (*ListRoleAssignmentsRequest) ProtoMessage() {}
func (x *ListRoleAssignmentsRequest) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[94]
+ mi := &file_minder_v1_minder_proto_msgTypes[98]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6334,7 +6535,7 @@ func (x *ListRoleAssignmentsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRoleAssignmentsRequest.ProtoReflect.Descriptor instead.
func (*ListRoleAssignmentsRequest) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{94}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{98}
}
func (x *ListRoleAssignmentsRequest) GetContext() *Context {
@@ -6355,7 +6556,7 @@ type ListRoleAssignmentsResponse struct {
func (x *ListRoleAssignmentsResponse) Reset() {
*x = ListRoleAssignmentsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[95]
+ mi := &file_minder_v1_minder_proto_msgTypes[99]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6368,7 +6569,7 @@ func (x *ListRoleAssignmentsResponse) String() string {
func (*ListRoleAssignmentsResponse) ProtoMessage() {}
func (x *ListRoleAssignmentsResponse) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[95]
+ mi := &file_minder_v1_minder_proto_msgTypes[99]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6381,7 +6582,7 @@ func (x *ListRoleAssignmentsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListRoleAssignmentsResponse.ProtoReflect.Descriptor instead.
func (*ListRoleAssignmentsResponse) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{95}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{99}
}
func (x *ListRoleAssignmentsResponse) GetRoleAssignments() []*RoleAssignment {
@@ -6405,7 +6606,7 @@ type AssignRoleRequest struct {
func (x *AssignRoleRequest) Reset() {
*x = AssignRoleRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[96]
+ mi := &file_minder_v1_minder_proto_msgTypes[100]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6418,7 +6619,7 @@ func (x *AssignRoleRequest) String() string {
func (*AssignRoleRequest) ProtoMessage() {}
func (x *AssignRoleRequest) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[96]
+ mi := &file_minder_v1_minder_proto_msgTypes[100]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6431,7 +6632,7 @@ func (x *AssignRoleRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use AssignRoleRequest.ProtoReflect.Descriptor instead.
func (*AssignRoleRequest) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{96}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{100}
}
func (x *AssignRoleRequest) GetContext() *Context {
@@ -6460,7 +6661,7 @@ type AssignRoleResponse struct {
func (x *AssignRoleResponse) Reset() {
*x = AssignRoleResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[97]
+ mi := &file_minder_v1_minder_proto_msgTypes[101]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6473,7 +6674,7 @@ func (x *AssignRoleResponse) String() string {
func (*AssignRoleResponse) ProtoMessage() {}
func (x *AssignRoleResponse) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[97]
+ mi := &file_minder_v1_minder_proto_msgTypes[101]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6486,7 +6687,7 @@ func (x *AssignRoleResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use AssignRoleResponse.ProtoReflect.Descriptor instead.
func (*AssignRoleResponse) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{97}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{101}
}
func (x *AssignRoleResponse) GetRoleAssignment() *RoleAssignment {
@@ -6510,7 +6711,7 @@ type RemoveRoleRequest struct {
func (x *RemoveRoleRequest) Reset() {
*x = RemoveRoleRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[98]
+ mi := &file_minder_v1_minder_proto_msgTypes[102]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6523,7 +6724,7 @@ func (x *RemoveRoleRequest) String() string {
func (*RemoveRoleRequest) ProtoMessage() {}
func (x *RemoveRoleRequest) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[98]
+ mi := &file_minder_v1_minder_proto_msgTypes[102]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6536,7 +6737,7 @@ func (x *RemoveRoleRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveRoleRequest.ProtoReflect.Descriptor instead.
func (*RemoveRoleRequest) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{98}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{102}
}
func (x *RemoveRoleRequest) GetContext() *Context {
@@ -6565,7 +6766,7 @@ type RemoveRoleResponse struct {
func (x *RemoveRoleResponse) Reset() {
*x = RemoveRoleResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[99]
+ mi := &file_minder_v1_minder_proto_msgTypes[103]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6578,7 +6779,7 @@ func (x *RemoveRoleResponse) String() string {
func (*RemoveRoleResponse) ProtoMessage() {}
func (x *RemoveRoleResponse) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[99]
+ mi := &file_minder_v1_minder_proto_msgTypes[103]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6591,7 +6792,7 @@ func (x *RemoveRoleResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RemoveRoleResponse.ProtoReflect.Descriptor instead.
func (*RemoveRoleResponse) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{99}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{103}
}
func (x *RemoveRoleResponse) GetRoleAssignment() *RoleAssignment {
@@ -6615,7 +6816,7 @@ type Role struct {
func (x *Role) Reset() {
*x = Role{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[100]
+ mi := &file_minder_v1_minder_proto_msgTypes[104]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6628,7 +6829,7 @@ func (x *Role) String() string {
func (*Role) ProtoMessage() {}
func (x *Role) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[100]
+ mi := &file_minder_v1_minder_proto_msgTypes[104]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6641,7 +6842,7 @@ func (x *Role) ProtoReflect() protoreflect.Message {
// Deprecated: Use Role.ProtoReflect.Descriptor instead.
func (*Role) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{100}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{104}
}
func (x *Role) GetName() string {
@@ -6674,7 +6875,7 @@ type RoleAssignment struct {
func (x *RoleAssignment) Reset() {
*x = RoleAssignment{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[101]
+ mi := &file_minder_v1_minder_proto_msgTypes[105]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6687,7 +6888,7 @@ func (x *RoleAssignment) String() string {
func (*RoleAssignment) ProtoMessage() {}
func (x *RoleAssignment) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[101]
+ mi := &file_minder_v1_minder_proto_msgTypes[105]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6700,7 +6901,7 @@ func (x *RoleAssignment) ProtoReflect() protoreflect.Message {
// Deprecated: Use RoleAssignment.ProtoReflect.Descriptor instead.
func (*RoleAssignment) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{101}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{105}
}
func (x *RoleAssignment) GetRole() string {
@@ -6740,7 +6941,7 @@ type ListProvidersRequest struct {
func (x *ListProvidersRequest) Reset() {
*x = ListProvidersRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[102]
+ mi := &file_minder_v1_minder_proto_msgTypes[106]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6753,7 +6954,7 @@ func (x *ListProvidersRequest) String() string {
func (*ListProvidersRequest) ProtoMessage() {}
func (x *ListProvidersRequest) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[102]
+ mi := &file_minder_v1_minder_proto_msgTypes[106]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6766,7 +6967,7 @@ func (x *ListProvidersRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListProvidersRequest.ProtoReflect.Descriptor instead.
func (*ListProvidersRequest) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{102}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{106}
}
func (x *ListProvidersRequest) GetContext() *Context {
@@ -6803,7 +7004,7 @@ type ListProvidersResponse struct {
func (x *ListProvidersResponse) Reset() {
*x = ListProvidersResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[103]
+ mi := &file_minder_v1_minder_proto_msgTypes[107]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6816,7 +7017,7 @@ func (x *ListProvidersResponse) String() string {
func (*ListProvidersResponse) ProtoMessage() {}
func (x *ListProvidersResponse) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[103]
+ mi := &file_minder_v1_minder_proto_msgTypes[107]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6829,7 +7030,7 @@ func (x *ListProvidersResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListProvidersResponse.ProtoReflect.Descriptor instead.
func (*ListProvidersResponse) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{103}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{107}
}
func (x *ListProvidersResponse) GetProviders() []*Provider {
@@ -6866,7 +7067,7 @@ type Provider struct {
func (x *Provider) Reset() {
*x = Provider{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[104]
+ mi := &file_minder_v1_minder_proto_msgTypes[108]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6879,7 +7080,7 @@ func (x *Provider) String() string {
func (*Provider) ProtoMessage() {}
func (x *Provider) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[104]
+ mi := &file_minder_v1_minder_proto_msgTypes[108]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6892,7 +7093,7 @@ func (x *Provider) ProtoReflect() protoreflect.Message {
// Deprecated: Use Provider.ProtoReflect.Descriptor instead.
func (*Provider) Descriptor() ([]byte, []int) {
- return file_minder_v1_minder_proto_rawDescGZIP(), []int{104}
+ return file_minder_v1_minder_proto_rawDescGZIP(), []int{108}
}
func (x *Provider) GetName() string {
@@ -6942,7 +7143,7 @@ type PrDependencies_ContextualDependency struct {
func (x *PrDependencies_ContextualDependency) Reset() {
*x = PrDependencies_ContextualDependency{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[105]
+ mi := &file_minder_v1_minder_proto_msgTypes[109]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -6955,7 +7156,7 @@ func (x *PrDependencies_ContextualDependency) String() string {
func (*PrDependencies_ContextualDependency) ProtoMessage() {}
func (x *PrDependencies_ContextualDependency) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[105]
+ mi := &file_minder_v1_minder_proto_msgTypes[109]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -6997,7 +7198,7 @@ type PrDependencies_ContextualDependency_FilePatch struct {
func (x *PrDependencies_ContextualDependency_FilePatch) Reset() {
*x = PrDependencies_ContextualDependency_FilePatch{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[106]
+ mi := &file_minder_v1_minder_proto_msgTypes[110]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7010,7 +7211,7 @@ func (x *PrDependencies_ContextualDependency_FilePatch) String() string {
func (*PrDependencies_ContextualDependency_FilePatch) ProtoMessage() {}
func (x *PrDependencies_ContextualDependency_FilePatch) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[106]
+ mi := &file_minder_v1_minder_proto_msgTypes[110]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7053,7 +7254,7 @@ type PrContents_File struct {
func (x *PrContents_File) Reset() {
*x = PrContents_File{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[107]
+ mi := &file_minder_v1_minder_proto_msgTypes[111]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7066,7 +7267,7 @@ func (x *PrContents_File) String() string {
func (*PrContents_File) ProtoMessage() {}
func (x *PrContents_File) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[107]
+ mi := &file_minder_v1_minder_proto_msgTypes[111]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7117,7 +7318,7 @@ type PrContents_File_Line struct {
func (x *PrContents_File_Line) Reset() {
*x = PrContents_File_Line{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[108]
+ mi := &file_minder_v1_minder_proto_msgTypes[112]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7130,7 +7331,7 @@ func (x *PrContents_File_Line) String() string {
func (*PrContents_File_Line) ProtoMessage() {}
func (x *PrContents_File_Line) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[108]
+ mi := &file_minder_v1_minder_proto_msgTypes[112]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7172,7 +7373,7 @@ type RegisterRepoResult_Status struct {
func (x *RegisterRepoResult_Status) Reset() {
*x = RegisterRepoResult_Status{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[109]
+ mi := &file_minder_v1_minder_proto_msgTypes[113]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7185,7 +7386,7 @@ func (x *RegisterRepoResult_Status) String() string {
func (*RegisterRepoResult_Status) ProtoMessage() {}
func (x *RegisterRepoResult_Status) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[109]
+ mi := &file_minder_v1_minder_proto_msgTypes[113]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7230,7 +7431,7 @@ type ListEvaluationResultsResponse_EntityProfileEvaluationResults struct {
func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) Reset() {
*x = ListEvaluationResultsResponse_EntityProfileEvaluationResults{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[111]
+ mi := &file_minder_v1_minder_proto_msgTypes[115]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7243,7 +7444,7 @@ func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) String()
func (*ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoMessage() {}
func (x *ListEvaluationResultsResponse_EntityProfileEvaluationResults) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[111]
+ mi := &file_minder_v1_minder_proto_msgTypes[115]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7285,7 +7486,7 @@ type ListEvaluationResultsResponse_EntityEvaluationResults struct {
func (x *ListEvaluationResultsResponse_EntityEvaluationResults) Reset() {
*x = ListEvaluationResultsResponse_EntityEvaluationResults{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[112]
+ mi := &file_minder_v1_minder_proto_msgTypes[116]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7298,7 +7499,7 @@ func (x *ListEvaluationResultsResponse_EntityEvaluationResults) String() string
func (*ListEvaluationResultsResponse_EntityEvaluationResults) ProtoMessage() {}
func (x *ListEvaluationResultsResponse_EntityEvaluationResults) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[112]
+ mi := &file_minder_v1_minder_proto_msgTypes[116]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7340,7 +7541,7 @@ type RestType_Fallback struct {
func (x *RestType_Fallback) Reset() {
*x = RestType_Fallback{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[113]
+ mi := &file_minder_v1_minder_proto_msgTypes[117]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7353,7 +7554,7 @@ func (x *RestType_Fallback) String() string {
func (*RestType_Fallback) ProtoMessage() {}
func (x *RestType_Fallback) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[113]
+ mi := &file_minder_v1_minder_proto_msgTypes[117]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7397,7 +7598,7 @@ type DiffType_Ecosystem struct {
func (x *DiffType_Ecosystem) Reset() {
*x = DiffType_Ecosystem{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[114]
+ mi := &file_minder_v1_minder_proto_msgTypes[118]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7410,7 +7611,7 @@ func (x *DiffType_Ecosystem) String() string {
func (*DiffType_Ecosystem) ProtoMessage() {}
func (x *DiffType_Ecosystem) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[114]
+ mi := &file_minder_v1_minder_proto_msgTypes[118]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7463,7 +7664,7 @@ type RuleType_Definition struct {
func (x *RuleType_Definition) Reset() {
*x = RuleType_Definition{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[115]
+ mi := &file_minder_v1_minder_proto_msgTypes[119]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7476,7 +7677,7 @@ func (x *RuleType_Definition) String() string {
func (*RuleType_Definition) ProtoMessage() {}
func (x *RuleType_Definition) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[115]
+ mi := &file_minder_v1_minder_proto_msgTypes[119]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7566,7 +7767,7 @@ type RuleType_Definition_Ingest struct {
func (x *RuleType_Definition_Ingest) Reset() {
*x = RuleType_Definition_Ingest{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[116]
+ mi := &file_minder_v1_minder_proto_msgTypes[120]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7579,7 +7780,7 @@ func (x *RuleType_Definition_Ingest) String() string {
func (*RuleType_Definition_Ingest) ProtoMessage() {}
func (x *RuleType_Definition_Ingest) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[116]
+ mi := &file_minder_v1_minder_proto_msgTypes[120]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7666,7 +7867,7 @@ type RuleType_Definition_Eval struct {
func (x *RuleType_Definition_Eval) Reset() {
*x = RuleType_Definition_Eval{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[117]
+ mi := &file_minder_v1_minder_proto_msgTypes[121]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7679,7 +7880,7 @@ func (x *RuleType_Definition_Eval) String() string {
func (*RuleType_Definition_Eval) ProtoMessage() {}
func (x *RuleType_Definition_Eval) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[117]
+ mi := &file_minder_v1_minder_proto_msgTypes[121]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7751,7 +7952,7 @@ type RuleType_Definition_Remediate struct {
func (x *RuleType_Definition_Remediate) Reset() {
*x = RuleType_Definition_Remediate{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[118]
+ mi := &file_minder_v1_minder_proto_msgTypes[122]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7764,7 +7965,7 @@ func (x *RuleType_Definition_Remediate) String() string {
func (*RuleType_Definition_Remediate) ProtoMessage() {}
func (x *RuleType_Definition_Remediate) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[118]
+ mi := &file_minder_v1_minder_proto_msgTypes[122]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7820,7 +8021,7 @@ type RuleType_Definition_Alert struct {
func (x *RuleType_Definition_Alert) Reset() {
*x = RuleType_Definition_Alert{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[119]
+ mi := &file_minder_v1_minder_proto_msgTypes[123]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7833,7 +8034,7 @@ func (x *RuleType_Definition_Alert) String() string {
func (*RuleType_Definition_Alert) ProtoMessage() {}
func (x *RuleType_Definition_Alert) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[119]
+ mi := &file_minder_v1_minder_proto_msgTypes[123]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7877,7 +8078,7 @@ type RuleType_Definition_Eval_JQComparison struct {
func (x *RuleType_Definition_Eval_JQComparison) Reset() {
*x = RuleType_Definition_Eval_JQComparison{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[120]
+ mi := &file_minder_v1_minder_proto_msgTypes[124]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7890,7 +8091,7 @@ func (x *RuleType_Definition_Eval_JQComparison) String() string {
func (*RuleType_Definition_Eval_JQComparison) ProtoMessage() {}
func (x *RuleType_Definition_Eval_JQComparison) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[120]
+ mi := &file_minder_v1_minder_proto_msgTypes[124]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -7948,7 +8149,7 @@ type RuleType_Definition_Eval_Rego struct {
func (x *RuleType_Definition_Eval_Rego) Reset() {
*x = RuleType_Definition_Eval_Rego{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[121]
+ mi := &file_minder_v1_minder_proto_msgTypes[125]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -7961,7 +8162,7 @@ func (x *RuleType_Definition_Eval_Rego) String() string {
func (*RuleType_Definition_Eval_Rego) ProtoMessage() {}
func (x *RuleType_Definition_Eval_Rego) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[121]
+ mi := &file_minder_v1_minder_proto_msgTypes[125]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8007,7 +8208,7 @@ type RuleType_Definition_Eval_Vulncheck struct {
func (x *RuleType_Definition_Eval_Vulncheck) Reset() {
*x = RuleType_Definition_Eval_Vulncheck{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[122]
+ mi := &file_minder_v1_minder_proto_msgTypes[126]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8020,7 +8221,7 @@ func (x *RuleType_Definition_Eval_Vulncheck) String() string {
func (*RuleType_Definition_Eval_Vulncheck) ProtoMessage() {}
func (x *RuleType_Definition_Eval_Vulncheck) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[122]
+ mi := &file_minder_v1_minder_proto_msgTypes[126]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8049,7 +8250,7 @@ type RuleType_Definition_Eval_Trusty struct {
func (x *RuleType_Definition_Eval_Trusty) Reset() {
*x = RuleType_Definition_Eval_Trusty{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[123]
+ mi := &file_minder_v1_minder_proto_msgTypes[127]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8062,7 +8263,7 @@ func (x *RuleType_Definition_Eval_Trusty) String() string {
func (*RuleType_Definition_Eval_Trusty) ProtoMessage() {}
func (x *RuleType_Definition_Eval_Trusty) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[123]
+ mi := &file_minder_v1_minder_proto_msgTypes[127]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8096,7 +8297,7 @@ type RuleType_Definition_Eval_Homoglyphs struct {
func (x *RuleType_Definition_Eval_Homoglyphs) Reset() {
*x = RuleType_Definition_Eval_Homoglyphs{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[124]
+ mi := &file_minder_v1_minder_proto_msgTypes[128]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8109,7 +8310,7 @@ func (x *RuleType_Definition_Eval_Homoglyphs) String() string {
func (*RuleType_Definition_Eval_Homoglyphs) ProtoMessage() {}
func (x *RuleType_Definition_Eval_Homoglyphs) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[124]
+ mi := &file_minder_v1_minder_proto_msgTypes[128]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8143,7 +8344,7 @@ type RuleType_Definition_Eval_JQComparison_Operator struct {
func (x *RuleType_Definition_Eval_JQComparison_Operator) Reset() {
*x = RuleType_Definition_Eval_JQComparison_Operator{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[125]
+ mi := &file_minder_v1_minder_proto_msgTypes[129]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8156,7 +8357,7 @@ func (x *RuleType_Definition_Eval_JQComparison_Operator) String() string {
func (*RuleType_Definition_Eval_JQComparison_Operator) ProtoMessage() {}
func (x *RuleType_Definition_Eval_JQComparison_Operator) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[125]
+ mi := &file_minder_v1_minder_proto_msgTypes[129]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8190,7 +8391,7 @@ type RuleType_Definition_Remediate_GhBranchProtectionType struct {
func (x *RuleType_Definition_Remediate_GhBranchProtectionType) Reset() {
*x = RuleType_Definition_Remediate_GhBranchProtectionType{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[126]
+ mi := &file_minder_v1_minder_proto_msgTypes[130]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8203,7 +8404,7 @@ func (x *RuleType_Definition_Remediate_GhBranchProtectionType) String() string {
func (*RuleType_Definition_Remediate_GhBranchProtectionType) ProtoMessage() {}
func (x *RuleType_Definition_Remediate_GhBranchProtectionType) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[126]
+ mi := &file_minder_v1_minder_proto_msgTypes[130]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8254,7 +8455,7 @@ type RuleType_Definition_Remediate_PullRequestRemediation struct {
func (x *RuleType_Definition_Remediate_PullRequestRemediation) Reset() {
*x = RuleType_Definition_Remediate_PullRequestRemediation{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[127]
+ mi := &file_minder_v1_minder_proto_msgTypes[131]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8267,7 +8468,7 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation) String() string {
func (*RuleType_Definition_Remediate_PullRequestRemediation) ProtoMessage() {}
func (x *RuleType_Definition_Remediate_PullRequestRemediation) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[127]
+ mi := &file_minder_v1_minder_proto_msgTypes[131]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8339,7 +8540,7 @@ type RuleType_Definition_Remediate_PullRequestRemediation_Content struct {
func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) Reset() {
*x = RuleType_Definition_Remediate_PullRequestRemediation_Content{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[128]
+ mi := &file_minder_v1_minder_proto_msgTypes[132]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8352,7 +8553,7 @@ func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) String()
func (*RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoMessage() {}
func (x *RuleType_Definition_Remediate_PullRequestRemediation_Content) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[128]
+ mi := &file_minder_v1_minder_proto_msgTypes[132]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8408,7 +8609,7 @@ type RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWith
func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) Reset() {
*x = RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[129]
+ mi := &file_minder_v1_minder_proto_msgTypes[133]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8422,7 +8623,7 @@ func (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWi
}
func (x *RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[129]
+ mi := &file_minder_v1_minder_proto_msgTypes[133]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8456,7 +8657,7 @@ type RuleType_Definition_Alert_AlertTypeSA struct {
func (x *RuleType_Definition_Alert_AlertTypeSA) Reset() {
*x = RuleType_Definition_Alert_AlertTypeSA{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[130]
+ mi := &file_minder_v1_minder_proto_msgTypes[134]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8469,7 +8670,7 @@ func (x *RuleType_Definition_Alert_AlertTypeSA) String() string {
func (*RuleType_Definition_Alert_AlertTypeSA) ProtoMessage() {}
func (x *RuleType_Definition_Alert_AlertTypeSA) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[130]
+ mi := &file_minder_v1_minder_proto_msgTypes[134]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -8513,7 +8714,7 @@ type Profile_Rule struct {
func (x *Profile_Rule) Reset() {
*x = Profile_Rule{}
if protoimpl.UnsafeEnabled {
- mi := &file_minder_v1_minder_proto_msgTypes[131]
+ mi := &file_minder_v1_minder_proto_msgTypes[135]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -8526,7 +8727,7 @@ func (x *Profile_Rule) String() string {
func (*Profile_Rule) ProtoMessage() {}
func (x *Profile_Rule) ProtoReflect() protoreflect.Message {
- mi := &file_minder_v1_minder_proto_msgTypes[131]
+ mi := &file_minder_v1_minder_proto_msgTypes[135]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -9604,597 +9805,630 @@ var file_minder_v1_minder_proto_rawDesc = []byte{
0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x40, 0x0a, 0x10, 0x4c,
- 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x58, 0x0a, 0x14, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
+ 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
+ 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c,
+ 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x44, 0x0a, 0x14,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x78, 0x74, 0x22, 0x36, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x10, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c,
+ 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3a, 0x0a, 0x11,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x25, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x0f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c,
+ 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
+ 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x78, 0x74, 0x22, 0x63, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65,
+ 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69,
+ 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x11, 0x41, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e,
- 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3a, 0x0a,
- 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f,
- 0x6c, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x1a, 0x4c, 0x69, 0x73,
- 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
- 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
- 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f,
- 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x63, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c,
- 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73,
- 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
- 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x41,
- 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x41,
- 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x11, 0x41,
- 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
- 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x42,
- 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
- 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65,
- 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65,
- 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x65,
- 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f,
- 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f,
- 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x85, 0x01, 0x0a,
- 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
- 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d,
- 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
- 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e,
- 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e,
- 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f,
- 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x6f,
- 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e,
- 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3c,
- 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
- 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x0e,
- 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f,
- 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x07,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
- 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f,
- 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x72, 0x0a,
- 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
- 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72,
- 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f,
- 0x72, 0x22, 0x62, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
- 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x72,
- 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x42, 0x0a,
+ 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x5f,
+ 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c,
+ 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x6c,
+ 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x85, 0x01, 0x0a, 0x11,
+ 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43,
+ 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
+ 0x42, 0x0a, 0x0f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d,
+ 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d,
+ 0x65, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x6f, 0x6c,
+ 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52,
+ 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x72,
+ 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3c, 0x0a,
+ 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x0e, 0x52,
+ 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a,
+ 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c,
+ 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07,
+ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x72, 0x0a, 0x14,
+ 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73,
+ 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72,
+ 0x22, 0x62, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x72, 0x6f,
+ 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
+ 0x72, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06,
+ 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75,
+ 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbc, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
+ 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12,
+ 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x6d, 0x70,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e,
0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x72, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a,
- 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63,
- 0x75, 0x72, 0x73, 0x6f, 0x72, 0x22, 0xbc, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
- 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x69, 0x6d,
- 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17,
- 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
- 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65,
- 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x06, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2a, 0x62, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x77,
- 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57,
- 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
- 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45,
- 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f,
- 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52,
- 0x10, 0x03, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0xc8, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x6c,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
- 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41,
- 0x54, 0x45, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x12, 0x19, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x54,
- 0x10, 0x02, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0f, 0x52,
- 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03,
- 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0f,
- 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10,
- 0x04, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x25, 0x0a,
- 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c,
- 0x49, 0x53, 0x54, 0x10, 0x05, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f,
- 0x6c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1d, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
- 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54,
- 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x1a, 0x18, 0xea, 0xdc, 0x14, 0x14, 0x72, 0x6f, 0x6c,
- 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73,
- 0x74, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f,
- 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52,
- 0x45, 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65,
- 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
- 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52,
- 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c,
- 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d,
- 0x6f, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x11, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
- 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x09, 0x1a, 0x0c, 0xea, 0xdc, 0x14, 0x08,
- 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41,
- 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45,
- 0x10, 0x0a, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
- 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x1a, 0x0f, 0xea,
- 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x29,
- 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f,
- 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65,
- 0x70, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c,
- 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x47,
- 0x45, 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
- 0x63, 0x74, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49,
- 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41,
- 0x54, 0x45, 0x10, 0x0e, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
- 0x63, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c,
- 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x55,
- 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74,
- 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18,
- 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43,
- 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x10, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f,
- 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12,
- 0x1f, 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x47,
- 0x45, 0x54, 0x10, 0x11, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x70, 0x72, 0x5f, 0x67, 0x65, 0x74,
- 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f,
- 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x12, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72,
- 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54,
- 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x13, 0x1a,
- 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25,
- 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x44, 0x45,
- 0x4c, 0x45, 0x54, 0x45, 0x10, 0x14, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x64,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x15,
- 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x67,
- 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50,
- 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x16,
- 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54,
- 0x45, 0x10, 0x17, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
- 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41,
- 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x45,
- 0x4c, 0x45, 0x54, 0x45, 0x10, 0x18, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76,
- 0x69, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x16, 0x52,
- 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50,
- 0x45, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x19, 0x1a, 0x11, 0xea, 0xdc, 0x14, 0x0d, 0x72, 0x75, 0x6c,
- 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45,
+ 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0x06, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x2a, 0x62, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x77, 0x6e,
+ 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e,
+ 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
+ 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52,
+ 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42,
+ 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10,
+ 0x03, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0xc8, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x6c, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f,
+ 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
+ 0x45, 0x10, 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12,
+ 0x19, 0x0a, 0x0c, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x54, 0x10,
+ 0x02, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0f, 0x52, 0x45,
+ 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x1a,
+ 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0f, 0x52,
+ 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04,
+ 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12,
+ 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4c, 0x49,
+ 0x53, 0x54, 0x10, 0x05, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1d, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x1a, 0x18, 0xea, 0xdc, 0x14, 0x14, 0x72, 0x6f, 0x6c, 0x65,
+ 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4c,
+ 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45,
+ 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65, 0x5f,
+ 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x12, 0x3f, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f,
+ 0x4c, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45,
+ 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x08, 0x1a, 0x1a, 0xea, 0xdc, 0x14, 0x16, 0x72, 0x6f, 0x6c, 0x65,
+ 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x12, 0x23, 0x0a, 0x11, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
+ 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x09, 0x1a, 0x0c, 0xea, 0xdc, 0x14, 0x08, 0x72,
+ 0x65, 0x70, 0x6f, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10,
+ 0x0a, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
+ 0x45, 0x50, 0x4f, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x1a, 0x0f, 0xea, 0xdc,
+ 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a,
+ 0x14, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x44,
+ 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x0c, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70,
+ 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x47, 0x45,
+ 0x54, 0x10, 0x0d, 0x1a, 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
+ 0x74, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
+ 0x45, 0x10, 0x0e, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
+ 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x5f, 0x55, 0x50,
+ 0x44, 0x41, 0x54, 0x45, 0x10, 0x0f, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61, 0x72, 0x74, 0x69,
+ 0x66, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52,
+ 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54,
+ 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x10, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x61,
+ 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1f,
+ 0x0a, 0x0f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x47, 0x45,
+ 0x54, 0x10, 0x11, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x70, 0x72, 0x5f, 0x67, 0x65, 0x74, 0x12,
+ 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x43,
+ 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x12, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f,
+ 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x13, 0x1a, 0x0d,
+ 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a,
+ 0x12, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x5f, 0x44, 0x45, 0x4c,
+ 0x45, 0x54, 0x45, 0x10, 0x14, 0x1a, 0x0d, 0xea, 0xdc, 0x14, 0x09, 0x70, 0x72, 0x5f, 0x64, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x15, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x15, 0x1a,
+ 0x10, 0xea, 0xdc, 0x14, 0x0c, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x67, 0x65,
+ 0x74, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52,
+ 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x16, 0x1a,
+ 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45,
+ 0x10, 0x17, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c,
+ 0x45, 0x54, 0x45, 0x10, 0x18, 0x1a, 0x13, 0xea, 0xdc, 0x14, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69,
+ 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x16, 0x52, 0x45,
0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1a, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72,
- 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12,
- 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45,
- 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1b, 0x1a, 0x14,
- 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
- 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54,
- 0x45, 0x10, 0x1c, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79,
- 0x70, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c,
- 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x47, 0x45,
- 0x54, 0x10, 0x1d, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
- 0x5f, 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
- 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10,
- 0x1e, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45,
- 0x10, 0x1f, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
- 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49,
- 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54,
- 0x45, 0x10, 0x20, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
- 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54,
- 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54,
- 0x55, 0x53, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x21, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x70, 0x72,
- 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x67, 0x65, 0x74,
- 0x12, 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d,
- 0x4f, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x22, 0x1a, 0x13,
- 0xea, 0xdc, 0x14, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f,
- 0x67, 0x65, 0x74, 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54,
- 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
- 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45,
- 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
- 0x01, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f,
- 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54,
- 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50,
- 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x45,
- 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x5f,
- 0x45, 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
- 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x50, 0x5f, 0x45,
- 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x50, 0x4d, 0x10, 0x01, 0x12, 0x14,
- 0x0a, 0x10, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f,
- 0x47, 0x4f, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53,
- 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x59, 0x50, 0x49, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a,
- 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54,
- 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
- 0x17, 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x49,
- 0x54, 0x4f, 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x54, 0x49,
- 0x54, 0x59, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e,
- 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54,
- 0x59, 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a,
- 0x14, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x51,
- 0x55, 0x45, 0x53, 0x54, 0x53, 0x10, 0x04, 0x2a, 0xe5, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76,
- 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56,
- 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
- 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49,
- 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10,
- 0x01, 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x20, 0x0a,
- 0x12, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52,
- 0x45, 0x53, 0x54, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12,
- 0x1e, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x47, 0x49, 0x54, 0x10, 0x03, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x69, 0x74, 0x12,
- 0x1e, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x4f, 0x43, 0x49, 0x10, 0x04, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x6f, 0x63, 0x69, 0x12,
- 0x2e, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x1a, 0x0f,
- 0xea, 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x32,
- 0x7d, 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x12, 0x6c, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12,
- 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
+ 0x5f, 0x47, 0x45, 0x54, 0x10, 0x19, 0x1a, 0x11, 0xea, 0xdc, 0x14, 0x0d, 0x72, 0x75, 0x6c, 0x65,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x67, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1a, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75,
+ 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x33,
+ 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x1b, 0x1a, 0x14, 0xea,
+ 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x19, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45,
+ 0x10, 0x1c, 0x1a, 0x14, 0xea, 0xdc, 0x14, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x47, 0x45, 0x54,
+ 0x10, 0x1d, 0x1a, 0x0f, 0xea, 0xdc, 0x14, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
+ 0x67, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x1e,
+ 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10,
+ 0x1f, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x75,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x17, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45,
+ 0x10, 0x20, 0x1a, 0x12, 0xea, 0xdc, 0x14, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
+ 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x1b, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x21, 0x1a, 0x16, 0xea, 0xdc, 0x14, 0x12, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x67, 0x65, 0x74, 0x12,
+ 0x31, 0x0a, 0x18, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f,
+ 0x54, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x22, 0x1a, 0x13, 0xea,
+ 0xdc, 0x14, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x67,
+ 0x65, 0x74, 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f,
+ 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54,
+ 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01,
+ 0x12, 0x18, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55,
+ 0x52, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x41,
+ 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x52,
+ 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x2a, 0x72, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x45, 0x63,
+ 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x50, 0x5f, 0x45,
+ 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43,
+ 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x50, 0x4d, 0x10, 0x01, 0x12, 0x14, 0x0a,
+ 0x10, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x47,
+ 0x4f, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x5f, 0x45, 0x43, 0x4f, 0x53, 0x59,
+ 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x59, 0x50, 0x49, 0x10, 0x03, 0x2a, 0x88, 0x01, 0x0a, 0x06,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59,
+ 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17,
+ 0x0a, 0x13, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x53, 0x49, 0x54,
+ 0x4f, 0x52, 0x49, 0x45, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x4e, 0x54, 0x49, 0x54,
+ 0x59, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d,
+ 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59,
+ 0x5f, 0x41, 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14,
+ 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55,
+ 0x45, 0x53, 0x54, 0x53, 0x10, 0x04, 0x2a, 0xe5, 0x01, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x76, 0x69,
+ 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49,
+ 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44,
+ 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x01,
+ 0x1a, 0x0a, 0xea, 0xdc, 0x14, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x20, 0x0a, 0x12,
+ 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45,
+ 0x53, 0x54, 0x10, 0x02, 0x1a, 0x08, 0xea, 0xdc, 0x14, 0x04, 0x72, 0x65, 0x73, 0x74, 0x12, 0x1e,
+ 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x47, 0x49, 0x54, 0x10, 0x03, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x67, 0x69, 0x74, 0x12, 0x1e,
+ 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x4f, 0x43, 0x49, 0x10, 0x04, 0x1a, 0x07, 0xea, 0xdc, 0x14, 0x03, 0x6f, 0x63, 0x69, 0x12, 0x2e,
+ 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x52, 0x45, 0x50, 0x4f, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x1a, 0x0f, 0xea,
+ 0xdc, 0x14, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x2d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x32, 0x7d,
+ 0x0a, 0x0d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x6c, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x1d,
0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b,
- 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e,
- 0xaa, 0xf8, 0x18, 0x04, 0x10, 0x01, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x32, 0xb9,
- 0x03, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66,
- 0x61, 0x63, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
+ 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48,
+ 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0xaa,
+ 0xf8, 0x18, 0x04, 0x10, 0x01, 0x30, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f,
+ 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x32, 0xb9, 0x03,
+ 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x12, 0x95, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
+ 0x63, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
- 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38,
- 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1c, 0x2f, 0x61,
- 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f,
- 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x7f, 0x0a, 0x0f, 0x47, 0x65,
- 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e,
- 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74,
- 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
- 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3,
- 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72,
- 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x11,
- 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d,
- 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
- 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79,
- 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0xaa, 0xf8,
- 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61,
- 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x6e,
- 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x32, 0x95, 0x04, 0x0a, 0x0c, 0x4f,
- 0x41, 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x13,
- 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x55, 0x52, 0x4c, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
- 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68,
- 0x2f, 0x75, 0x72, 0x6c, 0x12, 0xa9, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72,
- 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f,
- 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74,
- 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03,
- 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x5a, 0x14, 0x22, 0x12, 0x2f,
- 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x6b, 0x65,
- 0x6e, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
- 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
- 0x12, 0xcf, 0x01, 0x0a, 0x17, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69,
- 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x29, 0x2e, 0x6d,
- 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50,
- 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x5d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4,
- 0x93, 0x02, 0x4f, 0x5a, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61,
- 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65,
- 0x73, 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x12, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f,
- 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
- 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
- 0x70, 0x7d, 0x32, 0xda, 0x0a, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
- 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x67,
- 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12,
- 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69,
- 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
- 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0xaa, 0xf8,
- 0x18, 0x04, 0x30, 0x03, 0x38, 0x0a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x01, 0x2a, 0x5a,
- 0x1d, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x2f,
- 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
- 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
- 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12,
- 0xf1, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72,
- 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d,
+ 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x5a, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
+ 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x1c, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2f, 0x7b,
+ 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x12, 0x7f, 0x0a, 0x0f, 0x47, 0x65, 0x74,
+ 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69,
+ 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41,
+ 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x25, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4,
+ 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74,
+ 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x47,
+ 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
+ 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x42, 0x79, 0x4e,
+ 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0xaa, 0xf8, 0x18,
+ 0x04, 0x30, 0x03, 0x38, 0x0d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x32, 0x95, 0x04, 0x0a, 0x0c, 0x4f, 0x41,
+ 0x75, 0x74, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x47,
+ 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55,
+ 0x52, 0x4c, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+ 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55,
+ 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
+ 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
+ 0x75, 0x72, 0x6c, 0x12, 0xa9, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f,
+ 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76,
+ 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f,
+ 0x72, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38,
+ 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x5a, 0x14, 0x22, 0x12, 0x2f, 0x61,
+ 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x7b,
+ 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
+ 0xcf, 0x01, 0x0a, 0x17, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
+ 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x29, 0x2e, 0x6d, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72,
+ 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
+ 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x5d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x17, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x4f, 0x5a, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75,
+ 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x7d, 0x12, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61,
+ 0x75, 0x74, 0x68, 0x2f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76,
+ 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x7d, 0x32, 0xda, 0x0a, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc4, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69,
+ 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24,
+ 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73,
+ 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
+ 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0xaa, 0xf8, 0x18,
+ 0x04, 0x30, 0x03, 0x38, 0x0a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x01, 0x2a, 0x5a, 0x1d,
+ 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x2f, 0x2f,
+ 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76,
+ 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0xf1,
+ 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70,
0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f,
- 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d,
- 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d,
- 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46,
- 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x5e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x22, 0x82, 0xd3, 0xe4,
- 0x93, 0x02, 0x50, 0x5a, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f,
- 0x74, 0x65, 0x12, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
- 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x6d,
- 0x6f, 0x74, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
- 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d,
- 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x50, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02,
- 0x42, 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f,
- 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76,
+ 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f,
+ 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x46, 0x72,
+ 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x5e, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x22, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x50, 0x5a, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74,
+ 0x65, 0x12, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f,
+ 0x74, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
+ 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
+ 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x50, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42,
+ 0x5a, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
+ 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x70,
+ 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
+ 0x72, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x12, 0x23, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
+ 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4,
+ 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xca, 0x01, 0x0a, 0x13, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61,
+ 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
- 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3,
- 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xca, 0x01, 0x0a, 0x13,
- 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e,
- 0x61, 0x6d, 0x65, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e,
- 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x56, 0x5a, 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e,
- 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
- 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d,
- 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c,
+ 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x09, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x56, 0x5a, 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x7d, 0x12, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64,
+ 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49,
- 0x64, 0x12, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79,
- 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
- 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x16, 0x44, 0x65,
- 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79,
- 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
- 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
- 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
- 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
- 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, 0x30,
- 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x20, 0x2a, 0x1e, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f,
- 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2a, 0x32, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f,
- 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x32,
- 0xbc, 0x02, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
- 0x68, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e,
- 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73,
- 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0xaa, 0xf8, 0x18, 0x02,
- 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0a, 0x44, 0x65, 0x6c,
- 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
- 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72,
- 0x12, 0x5c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e,
- 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x32, 0xb3,
- 0x0d, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
- 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1e, 0x82,
- 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x55, 0x70, 0x64,
- 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x35, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x27, 0x2a, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x69, 0x64, 0x2f, 0x7b, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
+ 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03,
+ 0x38, 0x0c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x5a, 0x20, 0x2a, 0x1e, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2a, 0x32, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x70,
+ 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
+ 0x72, 0x7d, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x32, 0xbc,
+ 0x02, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68,
+ 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55,
+ 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
+ 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0xaa, 0xf8, 0x18, 0x02, 0x30,
+ 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
+ 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x0e, 0x2a, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x12,
+ 0x5c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x1a, 0xaa, 0xf8, 0x18, 0x02, 0x30, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12,
+ 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x32, 0xb3, 0x0d,
+ 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x76, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1e, 0x82, 0xd3,
+ 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
+ 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x76, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e,
0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f,
- 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72,
- 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa,
- 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a,
- 0x1a, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
- 0x65, 0x12, 0x78, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
- 0x6c, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x20, 0x82,
- 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70,
- 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x71, 0x0a, 0x0c, 0x4c,
- 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66,
- 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8,
- 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61,
- 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x7b,
- 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64,
- 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
- 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47,
- 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82,
- 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70,
- 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x16,
- 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
- 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e,
- 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xaa, 0xf8, 0x18,
- 0x04, 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d,
- 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
- 0x9e, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74,
- 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e,
- 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f,
- 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03,
- 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x12, 0x76, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65,
- 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
- 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
- 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3,
- 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75,
- 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74,
- 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23,
+ 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8,
+ 0x18, 0x04, 0x30, 0x03, 0x38, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x1a,
+ 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x12, 0x78, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x20, 0x82, 0xd3,
+ 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69,
+ 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18,
+ 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x7b, 0x0a,
+ 0x0e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12,
+ 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
+ 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1d, 0x82, 0xd3,
+ 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x16, 0x47,
+ 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42,
+ 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x29, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x4e, 0x61,
+ 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xaa, 0xf8, 0x18, 0x04,
+ 0x30, 0x03, 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x9e,
+ 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38,
+ 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
+ 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
+ 0x76, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73,
+ 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x22, 0x22, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4,
+ 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52,
+ 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+ 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03,
+ 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
+ 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52,
+ 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75,
- 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x4e, 0x61, 0x6d,
- 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30,
- 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f,
- 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6e, 0x61, 0x6d,
- 0x65, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74,
- 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x12, 0x21, 0x2e, 0x6d,
- 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65,
- 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x22, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52,
- 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4,
- 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c,
- 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x7b, 0x0a, 0x0e, 0x43,
- 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e,
- 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1a, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72,
- 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c,
- 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d,
- 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
- 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a,
- 0x01, 0x2a, 0x1a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65,
- 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
- 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79,
- 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
- 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65,
- 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8,
- 0x18, 0x04, 0x30, 0x03, 0x38, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61,
- 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f,
- 0x7b, 0x69, 0x64, 0x7d, 0x32, 0xa2, 0x01, 0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73,
- 0x75, 0x6c, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x15,
- 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
- 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76,
- 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28,
- 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
- 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03,
- 0x38, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x31, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x32, 0xca, 0x04, 0x0a, 0x12, 0x50, 0x65,
- 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x12, 0x71, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x2e,
- 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f,
- 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03,
- 0x38, 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
- 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f,
- 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65,
- 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69,
- 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65,
- 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
- 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e,
- 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04,
- 0x30, 0x03, 0x38, 0x06, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69,
- 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
- 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0a, 0x41,
- 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
- 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x07,
- 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x19, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x7b, 0x0a, 0x0e, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
+ 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21,
+ 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x22, 0x24, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75,
+ 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x7b, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75,
+ 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24,
+ 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01,
+ 0x2a, 0x1a, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x12, 0x7d, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75,
+ 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xaa, 0xf8, 0x18,
+ 0x04, 0x30, 0x03, 0x38, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x7b,
+ 0x69, 0x64, 0x7d, 0x32, 0xa2, 0x01, 0x0a, 0x12, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x15, 0x4c,
+ 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
+ 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76,
+ 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38,
+ 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
+ 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x32, 0xca, 0x04, 0x0a, 0x12, 0x50, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x71, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c,
+ 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38,
+ 0x05, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31,
+ 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x6f, 0x6c,
+ 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xaa, 0xf8, 0x18, 0x04, 0x30,
+ 0x03, 0x38, 0x06, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61,
- 0x73, 0x73, 0x69, 0x67, 0x6e, 0x12, 0xae, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
- 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
- 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52,
- 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x63, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x08, 0x82, 0xd3, 0xe4, 0x93, 0x02,
- 0x55, 0x2a, 0x53, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69,
- 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x7b, 0x72,
- 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x72,
- 0x6f, 0x6c, 0x65, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x72, 0x6f,
- 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x75,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x32, 0x84, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69,
- 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e,
- 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18,
- 0x04, 0x30, 0x02, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70,
- 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x32, 0x89, 0x01,
- 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69,
- 0x63, 0x65, 0x12, 0x75, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
- 0x65, 0x72, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
- 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31,
- 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15,
- 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f,
- 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcd, 0xcb, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x88, 0x01, 0x01, 0x3a, 0x58, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x6f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x85, 0x8f, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d,
- 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42,
- 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74,
- 0x61, 0x63, 0x6b, 0x6c, 0x6f, 0x6b, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x70, 0x6b,
- 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67,
- 0x6f, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x78, 0x0a, 0x0a, 0x41, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x07, 0x82,
+ 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76,
+ 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x12, 0xae, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52,
+ 0x6f, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x63, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x08, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55,
+ 0x2a, 0x53, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2f, 0x7b, 0x72, 0x6f,
+ 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x72, 0x6f,
+ 0x6c, 0x65, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x72, 0x6f, 0x6c,
+ 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x73, 0x75, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x32, 0xf3, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x4c, 0x69, 0x73,
+ 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04,
+ 0x30, 0x02, 0x38, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x0d,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20,
+ 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x23, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15,
+ 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x74, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72,
+ 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xaa, 0xf8, 0x18, 0x04, 0x30,
+ 0x03, 0x38, 0x04, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x32, 0x89, 0x01, 0x0a, 0x10,
+ 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x75, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
+ 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0xaa, 0xf8, 0x18, 0x04, 0x30, 0x03, 0x38, 0x15, 0x82, 0xd3,
+ 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72,
+ 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0xcd, 0xcb, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x88, 0x01, 0x01, 0x3a, 0x58, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x85, 0x8f, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x3a, 0x5a,
+ 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x74, 0x61, 0x63,
+ 0x6b, 0x6c, 0x6f, 0x6b, 0x2f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x70, 0x6b, 0x67, 0x2f,
+ 0x61, 0x70, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var (
@@ -10210,7 +10444,7 @@ func file_minder_v1_minder_proto_rawDescGZIP() []byte {
}
var file_minder_v1_minder_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
-var file_minder_v1_minder_proto_msgTypes = make([]protoimpl.MessageInfo, 132)
+var file_minder_v1_minder_proto_msgTypes = make([]protoimpl.MessageInfo, 136)
var file_minder_v1_minder_proto_goTypes = []interface{}{
(ObjectOwner)(0), // 0: minder.v1.ObjectOwner
(Relation)(0), // 1: minder.v1.Relation
@@ -10311,50 +10545,54 @@ var file_minder_v1_minder_proto_goTypes = []interface{}{
(*Profile)(nil), // 96: minder.v1.Profile
(*ListProjectsRequest)(nil), // 97: minder.v1.ListProjectsRequest
(*ListProjectsResponse)(nil), // 98: minder.v1.ListProjectsResponse
- (*ListRolesRequest)(nil), // 99: minder.v1.ListRolesRequest
- (*ListRolesResponse)(nil), // 100: minder.v1.ListRolesResponse
- (*ListRoleAssignmentsRequest)(nil), // 101: minder.v1.ListRoleAssignmentsRequest
- (*ListRoleAssignmentsResponse)(nil), // 102: minder.v1.ListRoleAssignmentsResponse
- (*AssignRoleRequest)(nil), // 103: minder.v1.AssignRoleRequest
- (*AssignRoleResponse)(nil), // 104: minder.v1.AssignRoleResponse
- (*RemoveRoleRequest)(nil), // 105: minder.v1.RemoveRoleRequest
- (*RemoveRoleResponse)(nil), // 106: minder.v1.RemoveRoleResponse
- (*Role)(nil), // 107: minder.v1.Role
- (*RoleAssignment)(nil), // 108: minder.v1.RoleAssignment
- (*ListProvidersRequest)(nil), // 109: minder.v1.ListProvidersRequest
- (*ListProvidersResponse)(nil), // 110: minder.v1.ListProvidersResponse
- (*Provider)(nil), // 111: minder.v1.Provider
- (*PrDependencies_ContextualDependency)(nil), // 112: minder.v1.PrDependencies.ContextualDependency
- (*PrDependencies_ContextualDependency_FilePatch)(nil), // 113: minder.v1.PrDependencies.ContextualDependency.FilePatch
- (*PrContents_File)(nil), // 114: minder.v1.PrContents.File
- (*PrContents_File_Line)(nil), // 115: minder.v1.PrContents.File.Line
- (*RegisterRepoResult_Status)(nil), // 116: minder.v1.RegisterRepoResult.Status
- nil, // 117: minder.v1.RuleEvaluationStatus.EntityInfoEntry
- (*ListEvaluationResultsResponse_EntityProfileEvaluationResults)(nil), // 118: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults
- (*ListEvaluationResultsResponse_EntityEvaluationResults)(nil), // 119: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults
- (*RestType_Fallback)(nil), // 120: minder.v1.RestType.Fallback
- (*DiffType_Ecosystem)(nil), // 121: minder.v1.DiffType.Ecosystem
- (*RuleType_Definition)(nil), // 122: minder.v1.RuleType.Definition
- (*RuleType_Definition_Ingest)(nil), // 123: minder.v1.RuleType.Definition.Ingest
- (*RuleType_Definition_Eval)(nil), // 124: minder.v1.RuleType.Definition.Eval
- (*RuleType_Definition_Remediate)(nil), // 125: minder.v1.RuleType.Definition.Remediate
- (*RuleType_Definition_Alert)(nil), // 126: minder.v1.RuleType.Definition.Alert
- (*RuleType_Definition_Eval_JQComparison)(nil), // 127: minder.v1.RuleType.Definition.Eval.JQComparison
- (*RuleType_Definition_Eval_Rego)(nil), // 128: minder.v1.RuleType.Definition.Eval.Rego
- (*RuleType_Definition_Eval_Vulncheck)(nil), // 129: minder.v1.RuleType.Definition.Eval.Vulncheck
- (*RuleType_Definition_Eval_Trusty)(nil), // 130: minder.v1.RuleType.Definition.Eval.Trusty
- (*RuleType_Definition_Eval_Homoglyphs)(nil), // 131: minder.v1.RuleType.Definition.Eval.Homoglyphs
- (*RuleType_Definition_Eval_JQComparison_Operator)(nil), // 132: minder.v1.RuleType.Definition.Eval.JQComparison.Operator
- (*RuleType_Definition_Remediate_GhBranchProtectionType)(nil), // 133: minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType
- (*RuleType_Definition_Remediate_PullRequestRemediation)(nil), // 134: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation
- (*RuleType_Definition_Remediate_PullRequestRemediation_Content)(nil), // 135: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content
- (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha)(nil), // 136: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha
- (*RuleType_Definition_Alert_AlertTypeSA)(nil), // 137: minder.v1.RuleType.Definition.Alert.AlertTypeSA
- (*Profile_Rule)(nil), // 138: minder.v1.Profile.Rule
- (*timestamppb.Timestamp)(nil), // 139: google.protobuf.Timestamp
- (*structpb.Struct)(nil), // 140: google.protobuf.Struct
- (*descriptorpb.EnumValueOptions)(nil), // 141: google.protobuf.EnumValueOptions
- (*descriptorpb.MethodOptions)(nil), // 142: google.protobuf.MethodOptions
+ (*CreateProjectRequest)(nil), // 99: minder.v1.CreateProjectRequest
+ (*CreateProjectResponse)(nil), // 100: minder.v1.CreateProjectResponse
+ (*DeleteProjectRequest)(nil), // 101: minder.v1.DeleteProjectRequest
+ (*DeleteProjectResponse)(nil), // 102: minder.v1.DeleteProjectResponse
+ (*ListRolesRequest)(nil), // 103: minder.v1.ListRolesRequest
+ (*ListRolesResponse)(nil), // 104: minder.v1.ListRolesResponse
+ (*ListRoleAssignmentsRequest)(nil), // 105: minder.v1.ListRoleAssignmentsRequest
+ (*ListRoleAssignmentsResponse)(nil), // 106: minder.v1.ListRoleAssignmentsResponse
+ (*AssignRoleRequest)(nil), // 107: minder.v1.AssignRoleRequest
+ (*AssignRoleResponse)(nil), // 108: minder.v1.AssignRoleResponse
+ (*RemoveRoleRequest)(nil), // 109: minder.v1.RemoveRoleRequest
+ (*RemoveRoleResponse)(nil), // 110: minder.v1.RemoveRoleResponse
+ (*Role)(nil), // 111: minder.v1.Role
+ (*RoleAssignment)(nil), // 112: minder.v1.RoleAssignment
+ (*ListProvidersRequest)(nil), // 113: minder.v1.ListProvidersRequest
+ (*ListProvidersResponse)(nil), // 114: minder.v1.ListProvidersResponse
+ (*Provider)(nil), // 115: minder.v1.Provider
+ (*PrDependencies_ContextualDependency)(nil), // 116: minder.v1.PrDependencies.ContextualDependency
+ (*PrDependencies_ContextualDependency_FilePatch)(nil), // 117: minder.v1.PrDependencies.ContextualDependency.FilePatch
+ (*PrContents_File)(nil), // 118: minder.v1.PrContents.File
+ (*PrContents_File_Line)(nil), // 119: minder.v1.PrContents.File.Line
+ (*RegisterRepoResult_Status)(nil), // 120: minder.v1.RegisterRepoResult.Status
+ nil, // 121: minder.v1.RuleEvaluationStatus.EntityInfoEntry
+ (*ListEvaluationResultsResponse_EntityProfileEvaluationResults)(nil), // 122: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults
+ (*ListEvaluationResultsResponse_EntityEvaluationResults)(nil), // 123: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults
+ (*RestType_Fallback)(nil), // 124: minder.v1.RestType.Fallback
+ (*DiffType_Ecosystem)(nil), // 125: minder.v1.DiffType.Ecosystem
+ (*RuleType_Definition)(nil), // 126: minder.v1.RuleType.Definition
+ (*RuleType_Definition_Ingest)(nil), // 127: minder.v1.RuleType.Definition.Ingest
+ (*RuleType_Definition_Eval)(nil), // 128: minder.v1.RuleType.Definition.Eval
+ (*RuleType_Definition_Remediate)(nil), // 129: minder.v1.RuleType.Definition.Remediate
+ (*RuleType_Definition_Alert)(nil), // 130: minder.v1.RuleType.Definition.Alert
+ (*RuleType_Definition_Eval_JQComparison)(nil), // 131: minder.v1.RuleType.Definition.Eval.JQComparison
+ (*RuleType_Definition_Eval_Rego)(nil), // 132: minder.v1.RuleType.Definition.Eval.Rego
+ (*RuleType_Definition_Eval_Vulncheck)(nil), // 133: minder.v1.RuleType.Definition.Eval.Vulncheck
+ (*RuleType_Definition_Eval_Trusty)(nil), // 134: minder.v1.RuleType.Definition.Eval.Trusty
+ (*RuleType_Definition_Eval_Homoglyphs)(nil), // 135: minder.v1.RuleType.Definition.Eval.Homoglyphs
+ (*RuleType_Definition_Eval_JQComparison_Operator)(nil), // 136: minder.v1.RuleType.Definition.Eval.JQComparison.Operator
+ (*RuleType_Definition_Remediate_GhBranchProtectionType)(nil), // 137: minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType
+ (*RuleType_Definition_Remediate_PullRequestRemediation)(nil), // 138: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation
+ (*RuleType_Definition_Remediate_PullRequestRemediation_Content)(nil), // 139: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content
+ (*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha)(nil), // 140: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha
+ (*RuleType_Definition_Alert_AlertTypeSA)(nil), // 141: minder.v1.RuleType.Definition.Alert.AlertTypeSA
+ (*Profile_Rule)(nil), // 142: minder.v1.Profile.Rule
+ (*timestamppb.Timestamp)(nil), // 143: google.protobuf.Timestamp
+ (*structpb.Struct)(nil), // 144: google.protobuf.Struct
+ (*descriptorpb.EnumValueOptions)(nil), // 145: google.protobuf.EnumValueOptions
+ (*descriptorpb.MethodOptions)(nil), // 146: google.protobuf.MethodOptions
}
var file_minder_v1_minder_proto_depIdxs = []int32{
2, // 0: minder.v1.RpcOptions.target_resource:type_name -> minder.v1.TargetResource
@@ -10362,8 +10600,8 @@ var file_minder_v1_minder_proto_depIdxs = []int32{
74, // 2: minder.v1.ListArtifactsRequest.context:type_name -> minder.v1.Context
10, // 3: minder.v1.ListArtifactsResponse.results:type_name -> minder.v1.Artifact
11, // 4: minder.v1.Artifact.versions:type_name -> minder.v1.ArtifactVersion
- 139, // 5: minder.v1.Artifact.created_at:type_name -> google.protobuf.Timestamp
- 139, // 6: minder.v1.ArtifactVersion.created_at:type_name -> google.protobuf.Timestamp
+ 143, // 5: minder.v1.Artifact.created_at:type_name -> google.protobuf.Timestamp
+ 143, // 6: minder.v1.ArtifactVersion.created_at:type_name -> google.protobuf.Timestamp
74, // 7: minder.v1.GetArtifactByIdRequest.context:type_name -> minder.v1.Context
10, // 8: minder.v1.GetArtifactByIdResponse.artifact:type_name -> minder.v1.Artifact
11, // 9: minder.v1.GetArtifactByIdResponse.versions:type_name -> minder.v1.ArtifactVersion
@@ -10372,22 +10610,22 @@ var file_minder_v1_minder_proto_depIdxs = []int32{
11, // 12: minder.v1.GetArtifactByNameResponse.versions:type_name -> minder.v1.ArtifactVersion
3, // 13: minder.v1.Dependency.ecosystem:type_name -> minder.v1.DepEcosystem
16, // 14: minder.v1.PrDependencies.pr:type_name -> minder.v1.PullRequest
- 112, // 15: minder.v1.PrDependencies.deps:type_name -> minder.v1.PrDependencies.ContextualDependency
+ 116, // 15: minder.v1.PrDependencies.deps:type_name -> minder.v1.PrDependencies.ContextualDependency
16, // 16: minder.v1.PrContents.pr:type_name -> minder.v1.PullRequest
- 114, // 17: minder.v1.PrContents.files:type_name -> minder.v1.PrContents.File
+ 118, // 17: minder.v1.PrContents.files:type_name -> minder.v1.PrContents.File
74, // 18: minder.v1.GetAuthorizationURLRequest.context:type_name -> minder.v1.Context
74, // 19: minder.v1.StoreProviderTokenRequest.context:type_name -> minder.v1.Context
- 139, // 20: minder.v1.Project.created_at:type_name -> google.protobuf.Timestamp
- 139, // 21: minder.v1.Project.updated_at:type_name -> google.protobuf.Timestamp
+ 143, // 20: minder.v1.Project.created_at:type_name -> google.protobuf.Timestamp
+ 143, // 21: minder.v1.Project.updated_at:type_name -> google.protobuf.Timestamp
74, // 22: minder.v1.ListRemoteRepositoriesFromProviderRequest.context:type_name -> minder.v1.Context
29, // 23: minder.v1.ListRemoteRepositoriesFromProviderResponse.results:type_name -> minder.v1.UpstreamRepositoryRef
74, // 24: minder.v1.Repository.context:type_name -> minder.v1.Context
- 139, // 25: minder.v1.Repository.created_at:type_name -> google.protobuf.Timestamp
- 139, // 26: minder.v1.Repository.updated_at:type_name -> google.protobuf.Timestamp
+ 143, // 25: minder.v1.Repository.created_at:type_name -> google.protobuf.Timestamp
+ 143, // 26: minder.v1.Repository.updated_at:type_name -> google.protobuf.Timestamp
29, // 27: minder.v1.RegisterRepositoryRequest.repository:type_name -> minder.v1.UpstreamRepositoryRef
74, // 28: minder.v1.RegisterRepositoryRequest.context:type_name -> minder.v1.Context
30, // 29: minder.v1.RegisterRepoResult.repository:type_name -> minder.v1.Repository
- 116, // 30: minder.v1.RegisterRepoResult.status:type_name -> minder.v1.RegisterRepoResult.Status
+ 120, // 30: minder.v1.RegisterRepoResult.status:type_name -> minder.v1.RegisterRepoResult.Status
32, // 31: minder.v1.RegisterRepositoryResponse.result:type_name -> minder.v1.RegisterRepoResult
74, // 32: minder.v1.GetRepositoryByIdRequest.context:type_name -> minder.v1.Context
30, // 33: minder.v1.GetRepositoryByIdResponse.repository:type_name -> minder.v1.Repository
@@ -10397,12 +10635,12 @@ var file_minder_v1_minder_proto_depIdxs = []int32{
74, // 37: minder.v1.DeleteRepositoryByNameRequest.context:type_name -> minder.v1.Context
74, // 38: minder.v1.ListRepositoriesRequest.context:type_name -> minder.v1.Context
30, // 39: minder.v1.ListRepositoriesResponse.results:type_name -> minder.v1.Repository
- 139, // 40: minder.v1.VerifyProviderTokenFromRequest.timestamp:type_name -> google.protobuf.Timestamp
+ 143, // 40: minder.v1.VerifyProviderTokenFromRequest.timestamp:type_name -> google.protobuf.Timestamp
74, // 41: minder.v1.VerifyProviderTokenFromRequest.context:type_name -> minder.v1.Context
- 139, // 42: minder.v1.CreateUserResponse.created_at:type_name -> google.protobuf.Timestamp
+ 143, // 42: minder.v1.CreateUserResponse.created_at:type_name -> google.protobuf.Timestamp
74, // 43: minder.v1.CreateUserResponse.context:type_name -> minder.v1.Context
- 139, // 44: minder.v1.UserRecord.created_at:type_name -> google.protobuf.Timestamp
- 139, // 45: minder.v1.UserRecord.updated_at:type_name -> google.protobuf.Timestamp
+ 143, // 44: minder.v1.UserRecord.created_at:type_name -> google.protobuf.Timestamp
+ 143, // 45: minder.v1.UserRecord.updated_at:type_name -> google.protobuf.Timestamp
51, // 46: minder.v1.GetUserResponse.user:type_name -> minder.v1.UserRecord
26, // 47: minder.v1.GetUserResponse.projects:type_name -> minder.v1.Project
96, // 48: minder.v1.CreateProfileRequest.profile:type_name -> minder.v1.Profile
@@ -10414,11 +10652,11 @@ var file_minder_v1_minder_proto_depIdxs = []int32{
96, // 54: minder.v1.ListProfilesResponse.profiles:type_name -> minder.v1.Profile
74, // 55: minder.v1.GetProfileByIdRequest.context:type_name -> minder.v1.Context
96, // 56: minder.v1.GetProfileByIdResponse.profile:type_name -> minder.v1.Profile
- 139, // 57: minder.v1.ProfileStatus.last_updated:type_name -> google.protobuf.Timestamp
- 139, // 58: minder.v1.EvalResultAlert.last_updated:type_name -> google.protobuf.Timestamp
- 139, // 59: minder.v1.RuleEvaluationStatus.last_updated:type_name -> google.protobuf.Timestamp
- 117, // 60: minder.v1.RuleEvaluationStatus.entity_info:type_name -> minder.v1.RuleEvaluationStatus.EntityInfoEntry
- 139, // 61: minder.v1.RuleEvaluationStatus.remediation_last_updated:type_name -> google.protobuf.Timestamp
+ 143, // 57: minder.v1.ProfileStatus.last_updated:type_name -> google.protobuf.Timestamp
+ 143, // 58: minder.v1.EvalResultAlert.last_updated:type_name -> google.protobuf.Timestamp
+ 143, // 59: minder.v1.RuleEvaluationStatus.last_updated:type_name -> google.protobuf.Timestamp
+ 121, // 60: minder.v1.RuleEvaluationStatus.entity_info:type_name -> minder.v1.RuleEvaluationStatus.EntityInfoEntry
+ 143, // 61: minder.v1.RuleEvaluationStatus.remediation_last_updated:type_name -> google.protobuf.Timestamp
65, // 62: minder.v1.RuleEvaluationStatus.alert:type_name -> minder.v1.EvalResultAlert
94, // 63: minder.v1.RuleEvaluationStatus.severity:type_name -> minder.v1.Severity
4, // 64: minder.v1.EntityTypedId.type:type_name -> minder.v1.Entity
@@ -10441,148 +10679,155 @@ var file_minder_v1_minder_proto_depIdxs = []int32{
74, // 81: minder.v1.DeleteRuleTypeRequest.context:type_name -> minder.v1.Context
74, // 82: minder.v1.ListEvaluationResultsRequest.context:type_name -> minder.v1.Context
67, // 83: minder.v1.ListEvaluationResultsRequest.entity:type_name -> minder.v1.EntityTypedId
- 119, // 84: minder.v1.ListEvaluationResultsResponse.entities:type_name -> minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults
- 120, // 85: minder.v1.RestType.fallback:type_name -> minder.v1.RestType.Fallback
- 121, // 86: minder.v1.DiffType.ecosystems:type_name -> minder.v1.DiffType.Ecosystem
+ 123, // 84: minder.v1.ListEvaluationResultsResponse.entities:type_name -> minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults
+ 124, // 85: minder.v1.RestType.fallback:type_name -> minder.v1.RestType.Fallback
+ 125, // 86: minder.v1.DiffType.ecosystems:type_name -> minder.v1.DiffType.Ecosystem
6, // 87: minder.v1.Severity.value:type_name -> minder.v1.Severity.Value
74, // 88: minder.v1.RuleType.context:type_name -> minder.v1.Context
- 122, // 89: minder.v1.RuleType.def:type_name -> minder.v1.RuleType.Definition
+ 126, // 89: minder.v1.RuleType.def:type_name -> minder.v1.RuleType.Definition
94, // 90: minder.v1.RuleType.severity:type_name -> minder.v1.Severity
74, // 91: minder.v1.Profile.context:type_name -> minder.v1.Context
- 138, // 92: minder.v1.Profile.repository:type_name -> minder.v1.Profile.Rule
- 138, // 93: minder.v1.Profile.build_environment:type_name -> minder.v1.Profile.Rule
- 138, // 94: minder.v1.Profile.artifact:type_name -> minder.v1.Profile.Rule
- 138, // 95: minder.v1.Profile.pull_request:type_name -> minder.v1.Profile.Rule
+ 142, // 92: minder.v1.Profile.repository:type_name -> minder.v1.Profile.Rule
+ 142, // 93: minder.v1.Profile.build_environment:type_name -> minder.v1.Profile.Rule
+ 142, // 94: minder.v1.Profile.artifact:type_name -> minder.v1.Profile.Rule
+ 142, // 95: minder.v1.Profile.pull_request:type_name -> minder.v1.Profile.Rule
26, // 96: minder.v1.ListProjectsResponse.projects:type_name -> minder.v1.Project
- 74, // 97: minder.v1.ListRolesRequest.context:type_name -> minder.v1.Context
- 107, // 98: minder.v1.ListRolesResponse.roles:type_name -> minder.v1.Role
- 74, // 99: minder.v1.ListRoleAssignmentsRequest.context:type_name -> minder.v1.Context
- 108, // 100: minder.v1.ListRoleAssignmentsResponse.role_assignments:type_name -> minder.v1.RoleAssignment
- 74, // 101: minder.v1.AssignRoleRequest.context:type_name -> minder.v1.Context
- 108, // 102: minder.v1.AssignRoleRequest.role_assignment:type_name -> minder.v1.RoleAssignment
- 108, // 103: minder.v1.AssignRoleResponse.role_assignment:type_name -> minder.v1.RoleAssignment
- 74, // 104: minder.v1.RemoveRoleRequest.context:type_name -> minder.v1.Context
- 108, // 105: minder.v1.RemoveRoleRequest.role_assignment:type_name -> minder.v1.RoleAssignment
- 108, // 106: minder.v1.RemoveRoleResponse.role_assignment:type_name -> minder.v1.RoleAssignment
- 74, // 107: minder.v1.ListProvidersRequest.context:type_name -> minder.v1.Context
- 111, // 108: minder.v1.ListProvidersResponse.providers:type_name -> minder.v1.Provider
- 5, // 109: minder.v1.Provider.implements:type_name -> minder.v1.ProviderType
- 140, // 110: minder.v1.Provider.config:type_name -> google.protobuf.Struct
- 17, // 111: minder.v1.PrDependencies.ContextualDependency.dep:type_name -> minder.v1.Dependency
- 113, // 112: minder.v1.PrDependencies.ContextualDependency.file:type_name -> minder.v1.PrDependencies.ContextualDependency.FilePatch
- 115, // 113: minder.v1.PrContents.File.patch_lines:type_name -> minder.v1.PrContents.File.Line
- 64, // 114: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.profile_status:type_name -> minder.v1.ProfileStatus
- 66, // 115: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.results:type_name -> minder.v1.RuleEvaluationStatus
- 67, // 116: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.entity:type_name -> minder.v1.EntityTypedId
- 118, // 117: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.profiles:type_name -> minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults
- 140, // 118: minder.v1.RuleType.Definition.rule_schema:type_name -> google.protobuf.Struct
- 140, // 119: minder.v1.RuleType.Definition.param_schema:type_name -> google.protobuf.Struct
- 123, // 120: minder.v1.RuleType.Definition.ingest:type_name -> minder.v1.RuleType.Definition.Ingest
- 124, // 121: minder.v1.RuleType.Definition.eval:type_name -> minder.v1.RuleType.Definition.Eval
- 125, // 122: minder.v1.RuleType.Definition.remediate:type_name -> minder.v1.RuleType.Definition.Remediate
- 126, // 123: minder.v1.RuleType.Definition.alert:type_name -> minder.v1.RuleType.Definition.Alert
- 89, // 124: minder.v1.RuleType.Definition.Ingest.rest:type_name -> minder.v1.RestType
- 90, // 125: minder.v1.RuleType.Definition.Ingest.builtin:type_name -> minder.v1.BuiltinType
- 91, // 126: minder.v1.RuleType.Definition.Ingest.artifact:type_name -> minder.v1.ArtifactType
- 92, // 127: minder.v1.RuleType.Definition.Ingest.git:type_name -> minder.v1.GitType
- 93, // 128: minder.v1.RuleType.Definition.Ingest.diff:type_name -> minder.v1.DiffType
- 127, // 129: minder.v1.RuleType.Definition.Eval.jq:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison
- 128, // 130: minder.v1.RuleType.Definition.Eval.rego:type_name -> minder.v1.RuleType.Definition.Eval.Rego
- 129, // 131: minder.v1.RuleType.Definition.Eval.vulncheck:type_name -> minder.v1.RuleType.Definition.Eval.Vulncheck
- 130, // 132: minder.v1.RuleType.Definition.Eval.trusty:type_name -> minder.v1.RuleType.Definition.Eval.Trusty
- 131, // 133: minder.v1.RuleType.Definition.Eval.homoglyphs:type_name -> minder.v1.RuleType.Definition.Eval.Homoglyphs
- 89, // 134: minder.v1.RuleType.Definition.Remediate.rest:type_name -> minder.v1.RestType
- 133, // 135: minder.v1.RuleType.Definition.Remediate.gh_branch_protection:type_name -> minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType
- 134, // 136: minder.v1.RuleType.Definition.Remediate.pull_request:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation
- 137, // 137: minder.v1.RuleType.Definition.Alert.security_advisory:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypeSA
- 132, // 138: minder.v1.RuleType.Definition.Eval.JQComparison.ingested:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator
- 132, // 139: minder.v1.RuleType.Definition.Eval.JQComparison.profile:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator
- 135, // 140: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.contents:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content
- 136, // 141: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.actions_replace_tags_with_sha:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha
- 140, // 142: minder.v1.Profile.Rule.params:type_name -> google.protobuf.Struct
- 140, // 143: minder.v1.Profile.Rule.def:type_name -> google.protobuf.Struct
- 141, // 144: minder.v1.name:extendee -> google.protobuf.EnumValueOptions
- 142, // 145: minder.v1.rpc_options:extendee -> google.protobuf.MethodOptions
- 7, // 146: minder.v1.rpc_options:type_name -> minder.v1.RpcOptions
- 20, // 147: minder.v1.HealthService.CheckHealth:input_type -> minder.v1.CheckHealthRequest
- 8, // 148: minder.v1.ArtifactService.ListArtifacts:input_type -> minder.v1.ListArtifactsRequest
- 12, // 149: minder.v1.ArtifactService.GetArtifactById:input_type -> minder.v1.GetArtifactByIdRequest
- 14, // 150: minder.v1.ArtifactService.GetArtifactByName:input_type -> minder.v1.GetArtifactByNameRequest
- 22, // 151: minder.v1.OAuthService.GetAuthorizationURL:input_type -> minder.v1.GetAuthorizationURLRequest
- 24, // 152: minder.v1.OAuthService.StoreProviderToken:input_type -> minder.v1.StoreProviderTokenRequest
- 44, // 153: minder.v1.OAuthService.VerifyProviderTokenFrom:input_type -> minder.v1.VerifyProviderTokenFromRequest
- 31, // 154: minder.v1.RepositoryService.RegisterRepository:input_type -> minder.v1.RegisterRepositoryRequest
- 27, // 155: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:input_type -> minder.v1.ListRemoteRepositoriesFromProviderRequest
- 42, // 156: minder.v1.RepositoryService.ListRepositories:input_type -> minder.v1.ListRepositoriesRequest
- 34, // 157: minder.v1.RepositoryService.GetRepositoryById:input_type -> minder.v1.GetRepositoryByIdRequest
- 38, // 158: minder.v1.RepositoryService.GetRepositoryByName:input_type -> minder.v1.GetRepositoryByNameRequest
- 36, // 159: minder.v1.RepositoryService.DeleteRepositoryById:input_type -> minder.v1.DeleteRepositoryByIdRequest
- 40, // 160: minder.v1.RepositoryService.DeleteRepositoryByName:input_type -> minder.v1.DeleteRepositoryByNameRequest
- 47, // 161: minder.v1.UserService.CreateUser:input_type -> minder.v1.CreateUserRequest
- 49, // 162: minder.v1.UserService.DeleteUser:input_type -> minder.v1.DeleteUserRequest
- 52, // 163: minder.v1.UserService.GetUser:input_type -> minder.v1.GetUserRequest
- 54, // 164: minder.v1.ProfileService.CreateProfile:input_type -> minder.v1.CreateProfileRequest
- 56, // 165: minder.v1.ProfileService.UpdateProfile:input_type -> minder.v1.UpdateProfileRequest
- 58, // 166: minder.v1.ProfileService.DeleteProfile:input_type -> minder.v1.DeleteProfileRequest
- 60, // 167: minder.v1.ProfileService.ListProfiles:input_type -> minder.v1.ListProfilesRequest
- 62, // 168: minder.v1.ProfileService.GetProfileById:input_type -> minder.v1.GetProfileByIdRequest
- 68, // 169: minder.v1.ProfileService.GetProfileStatusByName:input_type -> minder.v1.GetProfileStatusByNameRequest
- 70, // 170: minder.v1.ProfileService.GetProfileStatusByProject:input_type -> minder.v1.GetProfileStatusByProjectRequest
- 75, // 171: minder.v1.ProfileService.ListRuleTypes:input_type -> minder.v1.ListRuleTypesRequest
- 77, // 172: minder.v1.ProfileService.GetRuleTypeByName:input_type -> minder.v1.GetRuleTypeByNameRequest
- 79, // 173: minder.v1.ProfileService.GetRuleTypeById:input_type -> minder.v1.GetRuleTypeByIdRequest
- 81, // 174: minder.v1.ProfileService.CreateRuleType:input_type -> minder.v1.CreateRuleTypeRequest
- 83, // 175: minder.v1.ProfileService.UpdateRuleType:input_type -> minder.v1.UpdateRuleTypeRequest
- 85, // 176: minder.v1.ProfileService.DeleteRuleType:input_type -> minder.v1.DeleteRuleTypeRequest
- 87, // 177: minder.v1.EvalResultsService.ListEvaluationResults:input_type -> minder.v1.ListEvaluationResultsRequest
- 99, // 178: minder.v1.PermissionsService.ListRoles:input_type -> minder.v1.ListRolesRequest
- 101, // 179: minder.v1.PermissionsService.ListRoleAssignments:input_type -> minder.v1.ListRoleAssignmentsRequest
- 103, // 180: minder.v1.PermissionsService.AssignRole:input_type -> minder.v1.AssignRoleRequest
- 105, // 181: minder.v1.PermissionsService.RemoveRole:input_type -> minder.v1.RemoveRoleRequest
- 97, // 182: minder.v1.ProjectsService.ListProjects:input_type -> minder.v1.ListProjectsRequest
- 109, // 183: minder.v1.ProvidersService.ListProviders:input_type -> minder.v1.ListProvidersRequest
- 21, // 184: minder.v1.HealthService.CheckHealth:output_type -> minder.v1.CheckHealthResponse
- 9, // 185: minder.v1.ArtifactService.ListArtifacts:output_type -> minder.v1.ListArtifactsResponse
- 13, // 186: minder.v1.ArtifactService.GetArtifactById:output_type -> minder.v1.GetArtifactByIdResponse
- 15, // 187: minder.v1.ArtifactService.GetArtifactByName:output_type -> minder.v1.GetArtifactByNameResponse
- 23, // 188: minder.v1.OAuthService.GetAuthorizationURL:output_type -> minder.v1.GetAuthorizationURLResponse
- 25, // 189: minder.v1.OAuthService.StoreProviderToken:output_type -> minder.v1.StoreProviderTokenResponse
- 45, // 190: minder.v1.OAuthService.VerifyProviderTokenFrom:output_type -> minder.v1.VerifyProviderTokenFromResponse
- 33, // 191: minder.v1.RepositoryService.RegisterRepository:output_type -> minder.v1.RegisterRepositoryResponse
- 28, // 192: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:output_type -> minder.v1.ListRemoteRepositoriesFromProviderResponse
- 43, // 193: minder.v1.RepositoryService.ListRepositories:output_type -> minder.v1.ListRepositoriesResponse
- 35, // 194: minder.v1.RepositoryService.GetRepositoryById:output_type -> minder.v1.GetRepositoryByIdResponse
- 39, // 195: minder.v1.RepositoryService.GetRepositoryByName:output_type -> minder.v1.GetRepositoryByNameResponse
- 37, // 196: minder.v1.RepositoryService.DeleteRepositoryById:output_type -> minder.v1.DeleteRepositoryByIdResponse
- 41, // 197: minder.v1.RepositoryService.DeleteRepositoryByName:output_type -> minder.v1.DeleteRepositoryByNameResponse
- 48, // 198: minder.v1.UserService.CreateUser:output_type -> minder.v1.CreateUserResponse
- 50, // 199: minder.v1.UserService.DeleteUser:output_type -> minder.v1.DeleteUserResponse
- 53, // 200: minder.v1.UserService.GetUser:output_type -> minder.v1.GetUserResponse
- 55, // 201: minder.v1.ProfileService.CreateProfile:output_type -> minder.v1.CreateProfileResponse
- 57, // 202: minder.v1.ProfileService.UpdateProfile:output_type -> minder.v1.UpdateProfileResponse
- 59, // 203: minder.v1.ProfileService.DeleteProfile:output_type -> minder.v1.DeleteProfileResponse
- 61, // 204: minder.v1.ProfileService.ListProfiles:output_type -> minder.v1.ListProfilesResponse
- 63, // 205: minder.v1.ProfileService.GetProfileById:output_type -> minder.v1.GetProfileByIdResponse
- 69, // 206: minder.v1.ProfileService.GetProfileStatusByName:output_type -> minder.v1.GetProfileStatusByNameResponse
- 71, // 207: minder.v1.ProfileService.GetProfileStatusByProject:output_type -> minder.v1.GetProfileStatusByProjectResponse
- 76, // 208: minder.v1.ProfileService.ListRuleTypes:output_type -> minder.v1.ListRuleTypesResponse
- 78, // 209: minder.v1.ProfileService.GetRuleTypeByName:output_type -> minder.v1.GetRuleTypeByNameResponse
- 80, // 210: minder.v1.ProfileService.GetRuleTypeById:output_type -> minder.v1.GetRuleTypeByIdResponse
- 82, // 211: minder.v1.ProfileService.CreateRuleType:output_type -> minder.v1.CreateRuleTypeResponse
- 84, // 212: minder.v1.ProfileService.UpdateRuleType:output_type -> minder.v1.UpdateRuleTypeResponse
- 86, // 213: minder.v1.ProfileService.DeleteRuleType:output_type -> minder.v1.DeleteRuleTypeResponse
- 88, // 214: minder.v1.EvalResultsService.ListEvaluationResults:output_type -> minder.v1.ListEvaluationResultsResponse
- 100, // 215: minder.v1.PermissionsService.ListRoles:output_type -> minder.v1.ListRolesResponse
- 102, // 216: minder.v1.PermissionsService.ListRoleAssignments:output_type -> minder.v1.ListRoleAssignmentsResponse
- 104, // 217: minder.v1.PermissionsService.AssignRole:output_type -> minder.v1.AssignRoleResponse
- 106, // 218: minder.v1.PermissionsService.RemoveRole:output_type -> minder.v1.RemoveRoleResponse
- 98, // 219: minder.v1.ProjectsService.ListProjects:output_type -> minder.v1.ListProjectsResponse
- 110, // 220: minder.v1.ProvidersService.ListProviders:output_type -> minder.v1.ListProvidersResponse
- 184, // [184:221] is the sub-list for method output_type
- 147, // [147:184] is the sub-list for method input_type
- 146, // [146:147] is the sub-list for extension type_name
- 144, // [144:146] is the sub-list for extension extendee
- 0, // [0:144] is the sub-list for field type_name
+ 74, // 97: minder.v1.CreateProjectRequest.context:type_name -> minder.v1.Context
+ 26, // 98: minder.v1.CreateProjectResponse.project:type_name -> minder.v1.Project
+ 74, // 99: minder.v1.DeleteProjectRequest.context:type_name -> minder.v1.Context
+ 74, // 100: minder.v1.ListRolesRequest.context:type_name -> minder.v1.Context
+ 111, // 101: minder.v1.ListRolesResponse.roles:type_name -> minder.v1.Role
+ 74, // 102: minder.v1.ListRoleAssignmentsRequest.context:type_name -> minder.v1.Context
+ 112, // 103: minder.v1.ListRoleAssignmentsResponse.role_assignments:type_name -> minder.v1.RoleAssignment
+ 74, // 104: minder.v1.AssignRoleRequest.context:type_name -> minder.v1.Context
+ 112, // 105: minder.v1.AssignRoleRequest.role_assignment:type_name -> minder.v1.RoleAssignment
+ 112, // 106: minder.v1.AssignRoleResponse.role_assignment:type_name -> minder.v1.RoleAssignment
+ 74, // 107: minder.v1.RemoveRoleRequest.context:type_name -> minder.v1.Context
+ 112, // 108: minder.v1.RemoveRoleRequest.role_assignment:type_name -> minder.v1.RoleAssignment
+ 112, // 109: minder.v1.RemoveRoleResponse.role_assignment:type_name -> minder.v1.RoleAssignment
+ 74, // 110: minder.v1.ListProvidersRequest.context:type_name -> minder.v1.Context
+ 115, // 111: minder.v1.ListProvidersResponse.providers:type_name -> minder.v1.Provider
+ 5, // 112: minder.v1.Provider.implements:type_name -> minder.v1.ProviderType
+ 144, // 113: minder.v1.Provider.config:type_name -> google.protobuf.Struct
+ 17, // 114: minder.v1.PrDependencies.ContextualDependency.dep:type_name -> minder.v1.Dependency
+ 117, // 115: minder.v1.PrDependencies.ContextualDependency.file:type_name -> minder.v1.PrDependencies.ContextualDependency.FilePatch
+ 119, // 116: minder.v1.PrContents.File.patch_lines:type_name -> minder.v1.PrContents.File.Line
+ 64, // 117: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.profile_status:type_name -> minder.v1.ProfileStatus
+ 66, // 118: minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults.results:type_name -> minder.v1.RuleEvaluationStatus
+ 67, // 119: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.entity:type_name -> minder.v1.EntityTypedId
+ 122, // 120: minder.v1.ListEvaluationResultsResponse.EntityEvaluationResults.profiles:type_name -> minder.v1.ListEvaluationResultsResponse.EntityProfileEvaluationResults
+ 144, // 121: minder.v1.RuleType.Definition.rule_schema:type_name -> google.protobuf.Struct
+ 144, // 122: minder.v1.RuleType.Definition.param_schema:type_name -> google.protobuf.Struct
+ 127, // 123: minder.v1.RuleType.Definition.ingest:type_name -> minder.v1.RuleType.Definition.Ingest
+ 128, // 124: minder.v1.RuleType.Definition.eval:type_name -> minder.v1.RuleType.Definition.Eval
+ 129, // 125: minder.v1.RuleType.Definition.remediate:type_name -> minder.v1.RuleType.Definition.Remediate
+ 130, // 126: minder.v1.RuleType.Definition.alert:type_name -> minder.v1.RuleType.Definition.Alert
+ 89, // 127: minder.v1.RuleType.Definition.Ingest.rest:type_name -> minder.v1.RestType
+ 90, // 128: minder.v1.RuleType.Definition.Ingest.builtin:type_name -> minder.v1.BuiltinType
+ 91, // 129: minder.v1.RuleType.Definition.Ingest.artifact:type_name -> minder.v1.ArtifactType
+ 92, // 130: minder.v1.RuleType.Definition.Ingest.git:type_name -> minder.v1.GitType
+ 93, // 131: minder.v1.RuleType.Definition.Ingest.diff:type_name -> minder.v1.DiffType
+ 131, // 132: minder.v1.RuleType.Definition.Eval.jq:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison
+ 132, // 133: minder.v1.RuleType.Definition.Eval.rego:type_name -> minder.v1.RuleType.Definition.Eval.Rego
+ 133, // 134: minder.v1.RuleType.Definition.Eval.vulncheck:type_name -> minder.v1.RuleType.Definition.Eval.Vulncheck
+ 134, // 135: minder.v1.RuleType.Definition.Eval.trusty:type_name -> minder.v1.RuleType.Definition.Eval.Trusty
+ 135, // 136: minder.v1.RuleType.Definition.Eval.homoglyphs:type_name -> minder.v1.RuleType.Definition.Eval.Homoglyphs
+ 89, // 137: minder.v1.RuleType.Definition.Remediate.rest:type_name -> minder.v1.RestType
+ 137, // 138: minder.v1.RuleType.Definition.Remediate.gh_branch_protection:type_name -> minder.v1.RuleType.Definition.Remediate.GhBranchProtectionType
+ 138, // 139: minder.v1.RuleType.Definition.Remediate.pull_request:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation
+ 141, // 140: minder.v1.RuleType.Definition.Alert.security_advisory:type_name -> minder.v1.RuleType.Definition.Alert.AlertTypeSA
+ 136, // 141: minder.v1.RuleType.Definition.Eval.JQComparison.ingested:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator
+ 136, // 142: minder.v1.RuleType.Definition.Eval.JQComparison.profile:type_name -> minder.v1.RuleType.Definition.Eval.JQComparison.Operator
+ 139, // 143: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.contents:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.Content
+ 140, // 144: minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.actions_replace_tags_with_sha:type_name -> minder.v1.RuleType.Definition.Remediate.PullRequestRemediation.ActionsReplaceTagsWithSha
+ 144, // 145: minder.v1.Profile.Rule.params:type_name -> google.protobuf.Struct
+ 144, // 146: minder.v1.Profile.Rule.def:type_name -> google.protobuf.Struct
+ 145, // 147: minder.v1.name:extendee -> google.protobuf.EnumValueOptions
+ 146, // 148: minder.v1.rpc_options:extendee -> google.protobuf.MethodOptions
+ 7, // 149: minder.v1.rpc_options:type_name -> minder.v1.RpcOptions
+ 20, // 150: minder.v1.HealthService.CheckHealth:input_type -> minder.v1.CheckHealthRequest
+ 8, // 151: minder.v1.ArtifactService.ListArtifacts:input_type -> minder.v1.ListArtifactsRequest
+ 12, // 152: minder.v1.ArtifactService.GetArtifactById:input_type -> minder.v1.GetArtifactByIdRequest
+ 14, // 153: minder.v1.ArtifactService.GetArtifactByName:input_type -> minder.v1.GetArtifactByNameRequest
+ 22, // 154: minder.v1.OAuthService.GetAuthorizationURL:input_type -> minder.v1.GetAuthorizationURLRequest
+ 24, // 155: minder.v1.OAuthService.StoreProviderToken:input_type -> minder.v1.StoreProviderTokenRequest
+ 44, // 156: minder.v1.OAuthService.VerifyProviderTokenFrom:input_type -> minder.v1.VerifyProviderTokenFromRequest
+ 31, // 157: minder.v1.RepositoryService.RegisterRepository:input_type -> minder.v1.RegisterRepositoryRequest
+ 27, // 158: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:input_type -> minder.v1.ListRemoteRepositoriesFromProviderRequest
+ 42, // 159: minder.v1.RepositoryService.ListRepositories:input_type -> minder.v1.ListRepositoriesRequest
+ 34, // 160: minder.v1.RepositoryService.GetRepositoryById:input_type -> minder.v1.GetRepositoryByIdRequest
+ 38, // 161: minder.v1.RepositoryService.GetRepositoryByName:input_type -> minder.v1.GetRepositoryByNameRequest
+ 36, // 162: minder.v1.RepositoryService.DeleteRepositoryById:input_type -> minder.v1.DeleteRepositoryByIdRequest
+ 40, // 163: minder.v1.RepositoryService.DeleteRepositoryByName:input_type -> minder.v1.DeleteRepositoryByNameRequest
+ 47, // 164: minder.v1.UserService.CreateUser:input_type -> minder.v1.CreateUserRequest
+ 49, // 165: minder.v1.UserService.DeleteUser:input_type -> minder.v1.DeleteUserRequest
+ 52, // 166: minder.v1.UserService.GetUser:input_type -> minder.v1.GetUserRequest
+ 54, // 167: minder.v1.ProfileService.CreateProfile:input_type -> minder.v1.CreateProfileRequest
+ 56, // 168: minder.v1.ProfileService.UpdateProfile:input_type -> minder.v1.UpdateProfileRequest
+ 58, // 169: minder.v1.ProfileService.DeleteProfile:input_type -> minder.v1.DeleteProfileRequest
+ 60, // 170: minder.v1.ProfileService.ListProfiles:input_type -> minder.v1.ListProfilesRequest
+ 62, // 171: minder.v1.ProfileService.GetProfileById:input_type -> minder.v1.GetProfileByIdRequest
+ 68, // 172: minder.v1.ProfileService.GetProfileStatusByName:input_type -> minder.v1.GetProfileStatusByNameRequest
+ 70, // 173: minder.v1.ProfileService.GetProfileStatusByProject:input_type -> minder.v1.GetProfileStatusByProjectRequest
+ 75, // 174: minder.v1.ProfileService.ListRuleTypes:input_type -> minder.v1.ListRuleTypesRequest
+ 77, // 175: minder.v1.ProfileService.GetRuleTypeByName:input_type -> minder.v1.GetRuleTypeByNameRequest
+ 79, // 176: minder.v1.ProfileService.GetRuleTypeById:input_type -> minder.v1.GetRuleTypeByIdRequest
+ 81, // 177: minder.v1.ProfileService.CreateRuleType:input_type -> minder.v1.CreateRuleTypeRequest
+ 83, // 178: minder.v1.ProfileService.UpdateRuleType:input_type -> minder.v1.UpdateRuleTypeRequest
+ 85, // 179: minder.v1.ProfileService.DeleteRuleType:input_type -> minder.v1.DeleteRuleTypeRequest
+ 87, // 180: minder.v1.EvalResultsService.ListEvaluationResults:input_type -> minder.v1.ListEvaluationResultsRequest
+ 103, // 181: minder.v1.PermissionsService.ListRoles:input_type -> minder.v1.ListRolesRequest
+ 105, // 182: minder.v1.PermissionsService.ListRoleAssignments:input_type -> minder.v1.ListRoleAssignmentsRequest
+ 107, // 183: minder.v1.PermissionsService.AssignRole:input_type -> minder.v1.AssignRoleRequest
+ 109, // 184: minder.v1.PermissionsService.RemoveRole:input_type -> minder.v1.RemoveRoleRequest
+ 97, // 185: minder.v1.ProjectsService.ListProjects:input_type -> minder.v1.ListProjectsRequest
+ 99, // 186: minder.v1.ProjectsService.CreateProject:input_type -> minder.v1.CreateProjectRequest
+ 101, // 187: minder.v1.ProjectsService.DeleteProject:input_type -> minder.v1.DeleteProjectRequest
+ 113, // 188: minder.v1.ProvidersService.ListProviders:input_type -> minder.v1.ListProvidersRequest
+ 21, // 189: minder.v1.HealthService.CheckHealth:output_type -> minder.v1.CheckHealthResponse
+ 9, // 190: minder.v1.ArtifactService.ListArtifacts:output_type -> minder.v1.ListArtifactsResponse
+ 13, // 191: minder.v1.ArtifactService.GetArtifactById:output_type -> minder.v1.GetArtifactByIdResponse
+ 15, // 192: minder.v1.ArtifactService.GetArtifactByName:output_type -> minder.v1.GetArtifactByNameResponse
+ 23, // 193: minder.v1.OAuthService.GetAuthorizationURL:output_type -> minder.v1.GetAuthorizationURLResponse
+ 25, // 194: minder.v1.OAuthService.StoreProviderToken:output_type -> minder.v1.StoreProviderTokenResponse
+ 45, // 195: minder.v1.OAuthService.VerifyProviderTokenFrom:output_type -> minder.v1.VerifyProviderTokenFromResponse
+ 33, // 196: minder.v1.RepositoryService.RegisterRepository:output_type -> minder.v1.RegisterRepositoryResponse
+ 28, // 197: minder.v1.RepositoryService.ListRemoteRepositoriesFromProvider:output_type -> minder.v1.ListRemoteRepositoriesFromProviderResponse
+ 43, // 198: minder.v1.RepositoryService.ListRepositories:output_type -> minder.v1.ListRepositoriesResponse
+ 35, // 199: minder.v1.RepositoryService.GetRepositoryById:output_type -> minder.v1.GetRepositoryByIdResponse
+ 39, // 200: minder.v1.RepositoryService.GetRepositoryByName:output_type -> minder.v1.GetRepositoryByNameResponse
+ 37, // 201: minder.v1.RepositoryService.DeleteRepositoryById:output_type -> minder.v1.DeleteRepositoryByIdResponse
+ 41, // 202: minder.v1.RepositoryService.DeleteRepositoryByName:output_type -> minder.v1.DeleteRepositoryByNameResponse
+ 48, // 203: minder.v1.UserService.CreateUser:output_type -> minder.v1.CreateUserResponse
+ 50, // 204: minder.v1.UserService.DeleteUser:output_type -> minder.v1.DeleteUserResponse
+ 53, // 205: minder.v1.UserService.GetUser:output_type -> minder.v1.GetUserResponse
+ 55, // 206: minder.v1.ProfileService.CreateProfile:output_type -> minder.v1.CreateProfileResponse
+ 57, // 207: minder.v1.ProfileService.UpdateProfile:output_type -> minder.v1.UpdateProfileResponse
+ 59, // 208: minder.v1.ProfileService.DeleteProfile:output_type -> minder.v1.DeleteProfileResponse
+ 61, // 209: minder.v1.ProfileService.ListProfiles:output_type -> minder.v1.ListProfilesResponse
+ 63, // 210: minder.v1.ProfileService.GetProfileById:output_type -> minder.v1.GetProfileByIdResponse
+ 69, // 211: minder.v1.ProfileService.GetProfileStatusByName:output_type -> minder.v1.GetProfileStatusByNameResponse
+ 71, // 212: minder.v1.ProfileService.GetProfileStatusByProject:output_type -> minder.v1.GetProfileStatusByProjectResponse
+ 76, // 213: minder.v1.ProfileService.ListRuleTypes:output_type -> minder.v1.ListRuleTypesResponse
+ 78, // 214: minder.v1.ProfileService.GetRuleTypeByName:output_type -> minder.v1.GetRuleTypeByNameResponse
+ 80, // 215: minder.v1.ProfileService.GetRuleTypeById:output_type -> minder.v1.GetRuleTypeByIdResponse
+ 82, // 216: minder.v1.ProfileService.CreateRuleType:output_type -> minder.v1.CreateRuleTypeResponse
+ 84, // 217: minder.v1.ProfileService.UpdateRuleType:output_type -> minder.v1.UpdateRuleTypeResponse
+ 86, // 218: minder.v1.ProfileService.DeleteRuleType:output_type -> minder.v1.DeleteRuleTypeResponse
+ 88, // 219: minder.v1.EvalResultsService.ListEvaluationResults:output_type -> minder.v1.ListEvaluationResultsResponse
+ 104, // 220: minder.v1.PermissionsService.ListRoles:output_type -> minder.v1.ListRolesResponse
+ 106, // 221: minder.v1.PermissionsService.ListRoleAssignments:output_type -> minder.v1.ListRoleAssignmentsResponse
+ 108, // 222: minder.v1.PermissionsService.AssignRole:output_type -> minder.v1.AssignRoleResponse
+ 110, // 223: minder.v1.PermissionsService.RemoveRole:output_type -> minder.v1.RemoveRoleResponse
+ 98, // 224: minder.v1.ProjectsService.ListProjects:output_type -> minder.v1.ListProjectsResponse
+ 100, // 225: minder.v1.ProjectsService.CreateProject:output_type -> minder.v1.CreateProjectResponse
+ 102, // 226: minder.v1.ProjectsService.DeleteProject:output_type -> minder.v1.DeleteProjectResponse
+ 114, // 227: minder.v1.ProvidersService.ListProviders:output_type -> minder.v1.ListProvidersResponse
+ 189, // [189:228] is the sub-list for method output_type
+ 150, // [150:189] is the sub-list for method input_type
+ 149, // [149:150] is the sub-list for extension type_name
+ 147, // [147:149] is the sub-list for extension extendee
+ 0, // [0:147] is the sub-list for field type_name
}
func init() { file_minder_v1_minder_proto_init() }
@@ -11696,7 +11941,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRolesRequest); i {
+ switch v := v.(*CreateProjectRequest); i {
case 0:
return &v.state
case 1:
@@ -11708,7 +11953,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRolesResponse); i {
+ switch v := v.(*CreateProjectResponse); i {
case 0:
return &v.state
case 1:
@@ -11720,7 +11965,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRoleAssignmentsRequest); i {
+ switch v := v.(*DeleteProjectRequest); i {
case 0:
return &v.state
case 1:
@@ -11732,7 +11977,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListRoleAssignmentsResponse); i {
+ switch v := v.(*DeleteProjectResponse); i {
case 0:
return &v.state
case 1:
@@ -11744,7 +11989,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AssignRoleRequest); i {
+ switch v := v.(*ListRolesRequest); i {
case 0:
return &v.state
case 1:
@@ -11756,7 +12001,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AssignRoleResponse); i {
+ switch v := v.(*ListRolesResponse); i {
case 0:
return &v.state
case 1:
@@ -11768,7 +12013,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveRoleRequest); i {
+ switch v := v.(*ListRoleAssignmentsRequest); i {
case 0:
return &v.state
case 1:
@@ -11780,7 +12025,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RemoveRoleResponse); i {
+ switch v := v.(*ListRoleAssignmentsResponse); i {
case 0:
return &v.state
case 1:
@@ -11792,7 +12037,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Role); i {
+ switch v := v.(*AssignRoleRequest); i {
case 0:
return &v.state
case 1:
@@ -11804,7 +12049,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RoleAssignment); i {
+ switch v := v.(*AssignRoleResponse); i {
case 0:
return &v.state
case 1:
@@ -11816,7 +12061,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListProvidersRequest); i {
+ switch v := v.(*RemoveRoleRequest); i {
case 0:
return &v.state
case 1:
@@ -11828,7 +12073,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListProvidersResponse); i {
+ switch v := v.(*RemoveRoleResponse); i {
case 0:
return &v.state
case 1:
@@ -11840,7 +12085,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Provider); i {
+ switch v := v.(*Role); i {
case 0:
return &v.state
case 1:
@@ -11852,7 +12097,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrDependencies_ContextualDependency); i {
+ switch v := v.(*RoleAssignment); i {
case 0:
return &v.state
case 1:
@@ -11864,7 +12109,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrDependencies_ContextualDependency_FilePatch); i {
+ switch v := v.(*ListProvidersRequest); i {
case 0:
return &v.state
case 1:
@@ -11876,7 +12121,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrContents_File); i {
+ switch v := v.(*ListProvidersResponse); i {
case 0:
return &v.state
case 1:
@@ -11888,7 +12133,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*PrContents_File_Line); i {
+ switch v := v.(*Provider); i {
case 0:
return &v.state
case 1:
@@ -11900,7 +12145,19 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RegisterRepoResult_Status); i {
+ switch v := v.(*PrDependencies_ContextualDependency); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_minder_v1_minder_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PrDependencies_ContextualDependency_FilePatch); i {
case 0:
return &v.state
case 1:
@@ -11912,7 +12169,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListEvaluationResultsResponse_EntityProfileEvaluationResults); i {
+ switch v := v.(*PrContents_File); i {
case 0:
return &v.state
case 1:
@@ -11924,7 +12181,7 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ListEvaluationResultsResponse_EntityEvaluationResults); i {
+ switch v := v.(*PrContents_File_Line); i {
case 0:
return &v.state
case 1:
@@ -11936,6 +12193,42 @@ func file_minder_v1_minder_proto_init() {
}
}
file_minder_v1_minder_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegisterRepoResult_Status); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_minder_v1_minder_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListEvaluationResultsResponse_EntityProfileEvaluationResults); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_minder_v1_minder_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListEvaluationResultsResponse_EntityEvaluationResults); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_minder_v1_minder_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RestType_Fallback); i {
case 0:
return &v.state
@@ -11947,7 +12240,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DiffType_Ecosystem); i {
case 0:
return &v.state
@@ -11959,7 +12252,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition); i {
case 0:
return &v.state
@@ -11971,7 +12264,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Ingest); i {
case 0:
return &v.state
@@ -11983,7 +12276,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval); i {
case 0:
return &v.state
@@ -11995,7 +12288,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Remediate); i {
case 0:
return &v.state
@@ -12007,7 +12300,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Alert); i {
case 0:
return &v.state
@@ -12019,7 +12312,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval_JQComparison); i {
case 0:
return &v.state
@@ -12031,7 +12324,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval_Rego); i {
case 0:
return &v.state
@@ -12043,7 +12336,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval_Vulncheck); i {
case 0:
return &v.state
@@ -12055,7 +12348,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval_Trusty); i {
case 0:
return &v.state
@@ -12067,7 +12360,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval_Homoglyphs); i {
case 0:
return &v.state
@@ -12079,7 +12372,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Eval_JQComparison_Operator); i {
case 0:
return &v.state
@@ -12091,7 +12384,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Remediate_GhBranchProtectionType); i {
case 0:
return &v.state
@@ -12103,7 +12396,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation); i {
case 0:
return &v.state
@@ -12115,7 +12408,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation_Content); i {
case 0:
return &v.state
@@ -12127,7 +12420,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Remediate_PullRequestRemediation_ActionsReplaceTagsWithSha); i {
case 0:
return &v.state
@@ -12139,7 +12432,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RuleType_Definition_Alert_AlertTypeSA); i {
case 0:
return &v.state
@@ -12151,7 +12444,7 @@ func file_minder_v1_minder_proto_init() {
return nil
}
}
- file_minder_v1_minder_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
+ file_minder_v1_minder_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Profile_Rule); i {
case 0:
return &v.state
@@ -12177,23 +12470,23 @@ func file_minder_v1_minder_proto_init() {
file_minder_v1_minder_proto_msgTypes[82].OneofWrappers = []interface{}{}
file_minder_v1_minder_proto_msgTypes[88].OneofWrappers = []interface{}{}
file_minder_v1_minder_proto_msgTypes[89].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[101].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[109].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[115].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[116].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[117].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[118].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[105].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[113].OneofWrappers = []interface{}{}
file_minder_v1_minder_proto_msgTypes[119].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[120].OneofWrappers = []interface{}{}
file_minder_v1_minder_proto_msgTypes[121].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[127].OneofWrappers = []interface{}{}
- file_minder_v1_minder_proto_msgTypes[128].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[122].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[123].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[125].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[131].OneofWrappers = []interface{}{}
+ file_minder_v1_minder_proto_msgTypes[132].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_minder_v1_minder_proto_rawDesc,
NumEnums: 7,
- NumMessages: 132,
+ NumMessages: 136,
NumExtensions: 2,
NumServices: 10,
},
diff --git a/pkg/api/protobuf/go/minder/v1/minder.pb.gw.go b/pkg/api/protobuf/go/minder/v1/minder.pb.gw.go
index 1c8b1ff71d..ba80d34ffa 100644
--- a/pkg/api/protobuf/go/minder/v1/minder.pb.gw.go
+++ b/pkg/api/protobuf/go/minder/v1/minder.pb.gw.go
@@ -2291,6 +2291,68 @@ func local_request_ProjectsService_ListProjects_0(ctx context.Context, marshaler
}
+func request_ProjectsService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+ var protoReq CreateProjectRequest
+ var metadata runtime.ServerMetadata
+
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
+ return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+ }
+
+ msg, err := client.CreateProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
+ return msg, metadata, err
+
+}
+
+func local_request_ProjectsService_CreateProject_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+ var protoReq CreateProjectRequest
+ var metadata runtime.ServerMetadata
+
+ if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF {
+ return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+ }
+
+ msg, err := server.CreateProject(ctx, &protoReq)
+ return msg, metadata, err
+
+}
+
+var (
+ filter_ProjectsService_DeleteProject_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
+)
+
+func request_ProjectsService_DeleteProject_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+ var protoReq DeleteProjectRequest
+ 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_ProjectsService_DeleteProject_0); err != nil {
+ return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+ }
+
+ msg, err := client.DeleteProject(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
+ return msg, metadata, err
+
+}
+
+func local_request_ProjectsService_DeleteProject_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+ var protoReq DeleteProjectRequest
+ 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_ProjectsService_DeleteProject_0); err != nil {
+ return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
+ }
+
+ msg, err := server.DeleteProject(ctx, &protoReq)
+ return msg, metadata, err
+
+}
+
var (
filter_ProvidersService_ListProviders_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
@@ -3505,6 +3567,56 @@ func RegisterProjectsServiceHandlerServer(ctx context.Context, mux *runtime.Serv
})
+ mux.Handle("POST", pattern_ProjectsService_CreateProject_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, "/minder.v1.ProjectsService/CreateProject", runtime.WithHTTPPathPattern("/api/v1/projects"))
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+ resp, md, err := local_request_ProjectsService_CreateProject_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_ProjectsService_CreateProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+
+ })
+
+ mux.Handle("DELETE", pattern_ProjectsService_DeleteProject_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, "/minder.v1.ProjectsService/DeleteProject", runtime.WithHTTPPathPattern("/api/v1/projects"))
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+ resp, md, err := local_request_ProjectsService_DeleteProject_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_ProjectsService_DeleteProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+
+ })
+
return nil
}
@@ -5080,15 +5192,67 @@ func RegisterProjectsServiceHandlerClient(ctx context.Context, mux *runtime.Serv
})
+ mux.Handle("POST", pattern_ProjectsService_CreateProject_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, "/minder.v1.ProjectsService/CreateProject", runtime.WithHTTPPathPattern("/api/v1/projects"))
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+ resp, md, err := request_ProjectsService_CreateProject_0(annotatedContext, inboundMarshaler, client, req, pathParams)
+ annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
+ if err != nil {
+ runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
+ return
+ }
+
+ forward_ProjectsService_CreateProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+
+ })
+
+ mux.Handle("DELETE", pattern_ProjectsService_DeleteProject_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, "/minder.v1.ProjectsService/DeleteProject", runtime.WithHTTPPathPattern("/api/v1/projects"))
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+ resp, md, err := request_ProjectsService_DeleteProject_0(annotatedContext, inboundMarshaler, client, req, pathParams)
+ annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
+ if err != nil {
+ runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
+ return
+ }
+
+ forward_ProjectsService_DeleteProject_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+
+ })
+
return nil
}
var (
pattern_ProjectsService_ListProjects_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "projects"}, ""))
+
+ pattern_ProjectsService_CreateProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "projects"}, ""))
+
+ pattern_ProjectsService_DeleteProject_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "projects"}, ""))
)
var (
forward_ProjectsService_ListProjects_0 = runtime.ForwardResponseMessage
+
+ forward_ProjectsService_CreateProject_0 = runtime.ForwardResponseMessage
+
+ forward_ProjectsService_DeleteProject_0 = runtime.ForwardResponseMessage
)
// RegisterProvidersServiceHandlerFromEndpoint is same as RegisterProvidersServiceHandler but
diff --git a/pkg/api/protobuf/go/minder/v1/minder_grpc.pb.go b/pkg/api/protobuf/go/minder/v1/minder_grpc.pb.go
index 317489bcc1..a32f9f475c 100644
--- a/pkg/api/protobuf/go/minder/v1/minder_grpc.pb.go
+++ b/pkg/api/protobuf/go/minder/v1/minder_grpc.pb.go
@@ -1755,7 +1755,9 @@ var PermissionsService_ServiceDesc = grpc.ServiceDesc{
}
const (
- ProjectsService_ListProjects_FullMethodName = "/minder.v1.ProjectsService/ListProjects"
+ ProjectsService_ListProjects_FullMethodName = "/minder.v1.ProjectsService/ListProjects"
+ ProjectsService_CreateProject_FullMethodName = "/minder.v1.ProjectsService/CreateProject"
+ ProjectsService_DeleteProject_FullMethodName = "/minder.v1.ProjectsService/DeleteProject"
)
// ProjectsServiceClient is the client API for ProjectsService service.
@@ -1763,6 +1765,8 @@ const (
// 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.
type ProjectsServiceClient interface {
ListProjects(ctx context.Context, in *ListProjectsRequest, opts ...grpc.CallOption) (*ListProjectsResponse, error)
+ CreateProject(ctx context.Context, in *CreateProjectRequest, opts ...grpc.CallOption) (*CreateProjectResponse, error)
+ DeleteProject(ctx context.Context, in *DeleteProjectRequest, opts ...grpc.CallOption) (*DeleteProjectResponse, error)
}
type projectsServiceClient struct {
@@ -1782,11 +1786,31 @@ func (c *projectsServiceClient) ListProjects(ctx context.Context, in *ListProjec
return out, nil
}
+func (c *projectsServiceClient) CreateProject(ctx context.Context, in *CreateProjectRequest, opts ...grpc.CallOption) (*CreateProjectResponse, error) {
+ out := new(CreateProjectResponse)
+ err := c.cc.Invoke(ctx, ProjectsService_CreateProject_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *projectsServiceClient) DeleteProject(ctx context.Context, in *DeleteProjectRequest, opts ...grpc.CallOption) (*DeleteProjectResponse, error) {
+ out := new(DeleteProjectResponse)
+ err := c.cc.Invoke(ctx, ProjectsService_DeleteProject_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// ProjectsServiceServer is the server API for ProjectsService service.
// All implementations must embed UnimplementedProjectsServiceServer
// for forward compatibility
type ProjectsServiceServer interface {
ListProjects(context.Context, *ListProjectsRequest) (*ListProjectsResponse, error)
+ CreateProject(context.Context, *CreateProjectRequest) (*CreateProjectResponse, error)
+ DeleteProject(context.Context, *DeleteProjectRequest) (*DeleteProjectResponse, error)
mustEmbedUnimplementedProjectsServiceServer()
}
@@ -1797,6 +1821,12 @@ type UnimplementedProjectsServiceServer struct {
func (UnimplementedProjectsServiceServer) ListProjects(context.Context, *ListProjectsRequest) (*ListProjectsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListProjects not implemented")
}
+func (UnimplementedProjectsServiceServer) CreateProject(context.Context, *CreateProjectRequest) (*CreateProjectResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented")
+}
+func (UnimplementedProjectsServiceServer) DeleteProject(context.Context, *DeleteProjectRequest) (*DeleteProjectResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteProject not implemented")
+}
func (UnimplementedProjectsServiceServer) mustEmbedUnimplementedProjectsServiceServer() {}
// UnsafeProjectsServiceServer may be embedded to opt out of forward compatibility for this service.
@@ -1828,6 +1858,42 @@ func _ProjectsService_ListProjects_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
+func _ProjectsService_CreateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateProjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ProjectsServiceServer).CreateProject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ProjectsService_CreateProject_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ProjectsServiceServer).CreateProject(ctx, req.(*CreateProjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ProjectsService_DeleteProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteProjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ProjectsServiceServer).DeleteProject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ProjectsService_DeleteProject_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ProjectsServiceServer).DeleteProject(ctx, req.(*DeleteProjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
// ProjectsService_ServiceDesc is the grpc.ServiceDesc for ProjectsService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -1839,6 +1905,14 @@ var ProjectsService_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListProjects",
Handler: _ProjectsService_ListProjects_Handler,
},
+ {
+ MethodName: "CreateProject",
+ Handler: _ProjectsService_CreateProject_Handler,
+ },
+ {
+ MethodName: "DeleteProject",
+ Handler: _ProjectsService_DeleteProject_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "minder/v1/minder.proto",
diff --git a/proto/minder/v1/minder.proto b/proto/minder/v1/minder.proto
index aebfd157f3..99f771c15f 100644
--- a/proto/minder/v1/minder.proto
+++ b/proto/minder/v1/minder.proto
@@ -659,6 +659,28 @@ service ProjectsService {
};
}
+ rpc CreateProject(CreateProjectRequest) returns (CreateProjectResponse) {
+ option (google.api.http) = {
+ post: "/api/v1/projects"
+ body: "*"
+ };
+
+ option (rpc_options) = {
+ target_resource: TARGET_RESOURCE_PROJECT
+ relation: RELATION_CREATE
+ };
+ }
+
+ rpc DeleteProject(DeleteProjectRequest) returns (DeleteProjectResponse) {
+ option (google.api.http) = {
+ delete: "/api/v1/projects"
+ };
+
+ option (rpc_options) = {
+ target_resource: TARGET_RESOURCE_PROJECT
+ relation: RELATION_DELETE
+ };
+ }
}
service ProvidersService {
@@ -1606,6 +1628,29 @@ message ListProjectsResponse {
repeated Project projects = 1;
}
+message CreateProjectRequest {
+ // context is the context in which the project is created.
+ Context context = 1;
+
+ // name is the name of the project to create.
+ string name = 2;
+}
+
+message CreateProjectResponse {
+ // project is the project that was created.
+ Project project = 1;
+}
+
+message DeleteProjectRequest {
+ // context is the context in which the project is deleted.
+ Context context = 1;
+}
+
+message DeleteProjectResponse {
+ // project_id is the id of the project that was deleted.
+ string project_id = 1;
+}
+
message ListRolesRequest {
// context is the context in which the roles are evaluated.
Context context = 1;