From b3652d09c899dc7d7fdd423e91e814250dfffb30 Mon Sep 17 00:00:00 2001 From: Venkatreddy KP Date: Wed, 3 Apr 2024 22:04:31 +0530 Subject: [PATCH] remove tekton pipeline handling code --- .../internal/api/plugin_tekton_pipelines.go | 371 ----- .../internal/capten-store/tekton_pipelines.go | 149 -- .../internal/job/tekton_resources_sync.go | 36 - .../pb/captenpluginspb/capten_plugins.pb.go | 1443 ++++------------- .../captenpluginspb/capten_plugins_grpc.pb.go | 148 -- .../agent/internal/tekton/tekton_pipelines.go | 161 -- capten/agent/internal/tekton/watchers.go | 22 - .../config-worker/internal/tekton/activity.go | 28 +- .../internal/tekton/config_tekton_app.go | 280 ---- capten/model/config_workflow_types.go | 8 - capten/model/tekton_types.go | 19 - proto/capten_plugins.proto | 64 - server/pkg/api/plugin_tekton_pipelines.go | 162 -- .../pb/captenpluginspb/capten_plugins.pb.go | 1443 ++++------------- .../captenpluginspb/capten_plugins_grpc.pb.go | 148 -- 15 files changed, 594 insertions(+), 3888 deletions(-) delete mode 100644 capten/agent/internal/api/plugin_tekton_pipelines.go delete mode 100644 capten/agent/internal/capten-store/tekton_pipelines.go delete mode 100644 capten/agent/internal/job/tekton_resources_sync.go delete mode 100644 capten/agent/internal/tekton/tekton_pipelines.go delete mode 100644 capten/agent/internal/tekton/watchers.go delete mode 100644 server/pkg/api/plugin_tekton_pipelines.go diff --git a/capten/agent/internal/api/plugin_tekton_pipelines.go b/capten/agent/internal/api/plugin_tekton_pipelines.go deleted file mode 100644 index 54d58ad0..00000000 --- a/capten/agent/internal/api/plugin_tekton_pipelines.go +++ /dev/null @@ -1,371 +0,0 @@ -package api - -import ( - "context" - "fmt" - "strings" - - "github.com/google/uuid" - "github.com/kube-tarian/kad/capten/agent/internal/pb/captenpluginspb" - "github.com/kube-tarian/kad/capten/agent/internal/workers" - "github.com/kube-tarian/kad/capten/model" - "github.com/pkg/errors" -) - -var ( - pipelineSuffix = "-pipeline" -) - -func (a *Agent) CreateTektonPipeline(ctx context.Context, request *captenpluginspb.CreateTektonPipelineRequest) ( - *captenpluginspb.CreateTektonPipelineResponse, error) { - a.log.Infof("Create Tekton Pipeline %s request received", request.PipelineName) - if err := validateArgs(request.PipelineName, request.GitOrgId, request.ContainerRegistryIds, - request.ManagedClusterId); err != nil { - a.log.Infof("request validation failed for Tekton Pipeline %s", request.PipelineName, err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, err - } - - if len(request.ContainerRegistryIds) != 1 { - a.log.Infof("currently single container registry supported, skipping create pipeline %s", request.PipelineName) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "currently single container registry supported", - }, errors.New("kindly provide only one item in container registry") - } - - if !strings.HasSuffix(request.PipelineName, pipelineSuffix) { - a.log.Infof("the pipeline %s should have the suffix %s in the name", request.PipelineName, pipelineSuffix) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "the pipeline should have the suffix -pipeline in the name", - }, errors.New("the pipeline should have the suffix -pipeline in the name") - } - - gitOrgProject, err := a.as.GetGitProjectForID(request.GitOrgId) - if err != nil { - a.log.Infof("failed to get git org project, skipping create pipeline %s, %v", request.PipelineName, err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "failed to get git org project", - }, err - } - - crossplaneProject, err := a.as.GetCrossplaneProject() - if err != nil { - a.log.Infof("failed to get the crossplane project, skipping pipeline %s, %v", request.PipelineName, err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: fmt.Sprintf("failed to get the crossplane project"), - }, errors.New("crossplane project not configured") - } - - id := uuid.New() - tektonPipeline := model.TektonPipeline{ - Id: id.String(), - PipelineName: request.PipelineName, - GitOrgId: gitOrgProject.Id, - GitOrgUrl: gitOrgProject.ProjectUrl, - ContainerRegId: request.ContainerRegistryIds, - ManagedClusterId: request.ManagedClusterId, - CrossplaneGitProjectId: crossplaneProject.GitProjectId, - } - - if err := a.as.UpsertTektonPipelines(&tektonPipeline); err != nil { - a.log.Errorf("failed to store create pipeline req %s to DB, %v", request.PipelineName, err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to create pipeline reqin db", - }, err - } - - _, err = a.configureTektonPipelinesGitRepo(&tektonPipeline, model.TektonPipelineCreate, true) - if err != nil { - a.log.Errorf("failed to configure tekton pipeline %s, %v", request.PipelineName, err) - tektonPipeline.Status = string(model.TektonPipelineConfigurationFailed) - tektonPipeline.WorkflowId = "NA" - if err := a.as.UpsertTektonPipelines(&tektonPipeline); err != nil { - a.log.Errorf("failed to configure tekton pipeline %s, for Gitopts Project, %v", request.PipelineName, err) - } - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to configure tekton pipelines", - }, err - } - - a.log.Infof("pipeline %s created with id %s, %+v", request.PipelineName, id.String(), tektonPipeline) - return &captenpluginspb.CreateTektonPipelineResponse{ - Id: id.String(), - Status: captenpluginspb.StatusCode_OK, - StatusMessage: "ok", - }, nil -} - -func (a *Agent) UpdateTektonPipeline(ctx context.Context, request *captenpluginspb.UpdateTektonPipelineRequest) ( - *captenpluginspb.UpdateTektonPipelineResponse, error) { - a.log.Infof("Update Tekton pipeline id %s request received", request.Id) - - if err := validateArgs(request.GitOrgId, request.Id, request.ContainerRegistryIds, - request.ManagedClusterId); err != nil { - a.log.Infof("request validation failed for Tekton pipeline id %s", request.Id, err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, err - } - - gitOrgProject, err := a.as.GetGitProjectForID(request.GitOrgId) - if err != nil { - a.log.Infof("failed to get git org project, %v", err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "failed to get git org project", - }, err - } - - id, err := uuid.Parse(request.Id) - if err != nil { - a.log.Infof("request validation failed", err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: fmt.Sprintf("invalid uuid: %s", request.Id), - }, err - } - - pipeline, err := a.as.GetTektonPipelinesForID(id.String()) - if err != nil { - a.log.Infof("failed to get the tekton pipeline: %s", request.Id, err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: fmt.Sprintf("failed to get the tekton pipeline: %s", request.Id), - }, err - } - - crossplaneProject, err := a.as.GetCrossplaneProject() - if err != nil { - a.log.Infof("failed to get the crossplane project: %s", request.Id, err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: fmt.Sprintf("failed to get the tekton pipeline: %s", request.Id), - }, err - } - - pipeline.ContainerRegId = request.ContainerRegistryIds - pipeline.GitOrgId = gitOrgProject.Id - pipeline.GitOrgUrl = gitOrgProject.ProjectUrl - pipeline.CrossplaneGitProjectId = crossplaneProject.GitProjectId - - if err := a.as.UpsertTektonPipelines(pipeline); err != nil { - a.log.Errorf("failed to update TektonPipeline: %s in db, %v", request.Id, err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to update TektonPipeline in db", - }, err - } - - if _, err := a.configureTektonPipelinesGitRepo(pipeline, model.CrossPlaneClusterUpdate, true); err != nil { - a.log.Errorf("failed to configure updates for TektonPipeline %s, %v", pipeline.PipelineName, err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to configure update for TektonPipeline", - }, err - } - - a.log.Infof("pipeline %s update for pipeline id %s, %+v", pipeline.PipelineName, id.String(), pipeline) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Id: id.String(), - Status: captenpluginspb.StatusCode_OK, - StatusMessage: "ok", - }, nil -} - -func (a *Agent) GetTektonPipelines(ctx context.Context, request *captenpluginspb.GetTektonPipelinesRequest) ( - *captenpluginspb.GetTektonPipelinesResponse, error) { - a.log.Infof("Get tekton pipeline request recieved") - res, err := a.as.GetTektonPipeliness() - if err != nil { - a.log.Errorf("failed to get TektonPipeline from db, %v", err) - return &captenpluginspb.GetTektonPipelinesResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to fetch TektonPipelines", - }, err - } - - pipeline := make([]*captenpluginspb.TektonPipelines, len(res)) - for index, r := range res { - r.WebhookURL = "https://" + model.TektonHostName + "." + a.cfg.DomainName + "/" + r.PipelineName - p := &captenpluginspb.TektonPipelines{Id: r.Id, PipelineName: r.PipelineName, - WebhookURL: r.WebhookURL, Status: r.Status, GitOrgId: r.GitOrgId, - ManagedClusterId: r.ManagedClusterId, CrossPlaneGitProjectId: r.CrossplaneGitProjectId, - ContainerRegistryIds: r.ContainerRegId, LastUpdateTime: r.LastUpdateTime} - pipeline[index] = p - } - - a.log.Infof("Found %d tekton pipelines", len(res)) - return &captenpluginspb.GetTektonPipelinesResponse{ - Status: captenpluginspb.StatusCode_OK, - StatusMessage: "successful", - Pipelines: pipeline, - }, nil - -} - -func (a *Agent) DeleteTektonPipeline(ctx context.Context, request *captenpluginspb.DeleteTektonPipelineRequest) ( - *captenpluginspb.DeleteTektonPipelineResponse, error) { - a.log.Infof("Delete tekton pipeline request recieved") - if err := validateArgs(request.Id); err != nil { - a.log.Infof("request validation failed", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, err - } - - pipeline, err := a.as.GetTektonPipelinesForID(request.Id) - if err != nil { - a.log.Errorf("failed to get TektonPipeline from db, %v", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to fetch TektonPipelines", - }, err - } - - wkfID, err := a.configureTektonPipelinesGitRepo(pipeline, model.TektonPipelineDelete, false) - if err != nil { - a.log.Errorf("failed to initiate cleanup of TektonPipeline from git repo, %v", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to initiate cleanup of TektonPipeline from git repo", - }, err - } - a.monitorTektonPipelineWorkflow(pipeline, wkfID) - if pipeline.Status != string(model.TektonPipelineConfigured) { - a.log.Infof("failed to delete tekton pipeline %s", pipeline.PipelineName) - - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed", - }, err - } - - err = a.as.DeleteTektonPipelinesById(request.Id) - if err != nil { - a.log.Errorf("failed to delete TektonPipeline from db, %v", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to delete TektonPipelines", - }, err - } - - a.log.Infof("Deleted tekton pipeline %s", pipeline.PipelineName) - - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_OK, - StatusMessage: "successful", - }, nil - -} - -func (a *Agent) configureTektonPipelinesGitRepo(req *model.TektonPipeline, - action string, triggerMonitor bool) (string, error) { - a.log.Infof("configuring tekton pipeline %s for git org %s", req.PipelineName, req.GitOrgUrl) - crossplaneProject, err := a.as.GetCrossplaneProject() - if err != nil { - return "", fmt.Errorf("failed to get crossplane git project, %v", err) - } - - containerRegistry, err := a.as.GetContainerRegistryForID(req.ContainerRegId[0]) - if err != nil { - return "", fmt.Errorf("failed to get container registry, %v", err) - } - - managedCluster, err := a.as.GetManagedClusterForID(req.ManagedClusterId) - if err != nil { - return "", fmt.Errorf("failed to get managed clsuter %s, %v", req.ManagedClusterId, err) - } - - tektonProject, err := a.as.GetTektonProject() - if err != nil { - return "", fmt.Errorf("tekton project not available, %v", err) - } - - containerRegURLIdMap := make(map[string]string) - containerRegURLIdMap[containerRegistry.Id] = containerRegistry.RegistryUrl - - ci := model.TektonPipelineUseCase{ - Type: model.TektonPipelineConfigUseCase, - PipelineName: req.PipelineName, - RepoURL: tektonProject.GitProjectUrl, - CredentialIdentifiers: map[model.Identifiers]model.CredentialIdentifier{ - model.GitOrg: { - Identifier: gitProjectEntityName, - Id: req.GitOrgId}, - model.Container: { - Identifier: containerRegEntityName, - Id: req.ContainerRegId[0], - Url: containerRegistry.RegistryUrl}, - model.ManagedCluster: { - Identifier: ManagedClusterEntityName, - Id: req.ManagedClusterId, - Url: managedCluster.ClusterName}, - model.CrossplaneGitProject: { - Identifier: gitProjectEntityName, - Id: crossplaneProject.GitProjectId, - Url: crossplaneProject.GitProjectUrl}, - model.TektonGitProject: { - Identifier: gitProjectEntityName, - Id: tektonProject.GitProjectId, - Url: tektonProject.GitProjectUrl}, - }} - - wd := workers.NewConfig(a.tc, a.log) - wkfId, err := wd.SendAsyncEvent(context.TODO(), - &model.ConfigureParameters{Resource: model.TektonPipelineConfigUseCase, Action: action}, ci) - if err != nil { - a.log.Errorf("failed to send event to workflow to configure, %v", err) - return "", fmt.Errorf("failed to send event to workflow to configure %s, %v", req.GitOrgUrl, err) - } - - a.log.Infof("tekton pipelines for Git project %s config workflow %s initiated", req.GitOrgUrl, wkfId) - - req.Status = string(model.TektonPipelineConfigurationOngoing) - req.WorkflowId = wkfId - req.WorkflowStatus = string(model.WorkFlowStatusStarted) - if err := a.as.UpsertTektonPipelines(req); err != nil { - a.log.Errorf("failed to update tekton pipelines for Gitopts Project, %v", err) - return "", nil - } - - if triggerMonitor { - go a.monitorTektonPipelineWorkflow(req, wkfId) - a.log.Infof("started monitoring the tekton pipeline %s for Git project %s", req.PipelineName, req.GitOrgUrl) - } - - return wkfId, nil -} - -func (a *Agent) monitorTektonPipelineWorkflow(req *model.TektonPipeline, wkfId string) { - // during system reboot start monitoring, add it in map or somewhere. - wd := workers.NewConfig(a.tc, a.log) - wkfResp, err := wd.GetWorkflowInformation(context.TODO(), wkfId) - if err != nil { - req.Status = string(model.TektonPipelineConfigurationFailed) - req.WorkflowStatus = string(model.WorkFlowStatusFailed) - if err := a.as.UpsertTektonPipelines(req); err != nil { - a.log.Errorf("failed to update tekton pipeline to DB, %v", err) - return - } - a.log.Errorf("failed to send pipeline %s event to workflow, %v", req.PipelineName, err) - return - } - - req.Status = string(model.TektonPipelineConfigured) - req.WorkflowStatus = wkfResp.Status - if err := a.as.UpsertTektonPipelines(req); err != nil { - a.log.Errorf("failed to configure tekton pipelines for Gitopts Project, %v", err) - return - } - a.log.Infof("tekton pipeline %s for Git org %s workflow %s completed", req.PipelineName, req.GitOrgUrl, wkfId) -} diff --git a/capten/agent/internal/capten-store/tekton_pipelines.go b/capten/agent/internal/capten-store/tekton_pipelines.go deleted file mode 100644 index 47e1532e..00000000 --- a/capten/agent/internal/capten-store/tekton_pipelines.go +++ /dev/null @@ -1,149 +0,0 @@ -package captenstore - -import ( - "fmt" - "strings" - "time" - - "github.com/gocql/gocql" - "github.com/kube-tarian/kad/capten/model" - "github.com/pkg/errors" -) - -const ( - insertTektonPipelines = "INSERT INTO %s.TektonPipelines(id, pipeline_name, git_org_id, container_registry_id, managed_cluster_id, crossplane_git_project_id, status, last_update_time, workflow_id, workflow_status) VALUES (?,?,?,?,?,?,?,?,?,?)" - updateTektonPipelinesById = "UPDATE %s.TektonPipelines SET %s WHERE id=?" - deleteTektonPipelinesById = "DELETE FROM %s.TektonPipelines WHERE id= ?" - selectAllTektonPipelines = "SELECT id, pipeline_name, git_org_id, container_registry_id, managed_cluster_id, crossplane_git_project_id, status, last_update_time FROM %s.TektonPipelines" - selectGetTektonPipelinesById = "SELECT id, pipeline_name, git_org_id, container_registry_id, managed_cluster_id, crossplane_git_project_id, status, last_update_time FROM %s.TektonPipelines WHERE id=%s;" -) - -func (a *Store) UpsertTektonPipelines(config *model.TektonPipeline) error { - config.LastUpdateTime = time.Now().Format(time.RFC3339) - batch := a.client.Session().NewBatch(gocql.LoggedBatch) - batch.Query(fmt.Sprintf(insertTektonPipelines, a.keyspace), config.Id, - config.PipelineName, config.GitOrgId, config.ContainerRegId, config.ManagedClusterId, config.CrossplaneGitProjectId, config.Status, - config.LastUpdateTime, config.WorkflowId, config.WorkflowStatus) - err := a.client.Session().ExecuteBatch(batch) - if err != nil { - updatePlaceholders, values := formUpdateKvPairsForTektonPipelines(config) - if updatePlaceholders == "" { - return err - } - query := fmt.Sprintf(updateTektonPipelinesById, a.keyspace, updatePlaceholders) - args := append(values, config.Id) - batch = a.client.Session().NewBatch(gocql.LoggedBatch) - batch.Query(query, args...) - err = a.client.Session().ExecuteBatch(batch) - } - return err -} - -func (a *Store) GetTektonPipelinesForID(id string) (*model.TektonPipeline, error) { - query := fmt.Sprintf(selectGetTektonPipelinesById, a.keyspace, id) - projects, err := a.executeTektonPipelinessSelectQuery(query) - if err != nil { - return nil, err - } - - if len(projects) != 1 { - return nil, fmt.Errorf("pipelines not found") - } - return projects[0], nil -} - -func (a *Store) DeleteTektonPipelinesById(id string) error { - deleteAction := a.client.Session().Query(fmt.Sprintf(deleteTektonPipelinesById, - a.keyspace), id) - err := deleteAction.Exec() - if err != nil { - return err - } - return nil -} - -func (a *Store) GetTektonPipeliness() ([]*model.TektonPipeline, error) { - query := fmt.Sprintf(selectAllTektonPipelines, a.keyspace) - return a.executeTektonPipelinessSelectQuery(query) -} - -func (a *Store) executeTektonPipelinessSelectQuery(query string) ([]*model.TektonPipeline, error) { - selectQuery := a.client.Session().Query(query) - iter := selectQuery.Iter() - - project := &model.TektonPipeline{} - - ret := make([]*model.TektonPipeline, 0) - for iter.Scan( - &project.Id, &project.PipelineName, - &project.GitOrgId, &project.ContainerRegId, &project.ManagedClusterId, &project.CrossplaneGitProjectId, - &project.Status, &project.LastUpdateTime, - ) { - TektonPipelines := &model.TektonPipeline{ - Id: project.Id, - PipelineName: project.PipelineName, - LastUpdateTime: project.LastUpdateTime, - GitOrgId: project.GitOrgId, - ContainerRegId: project.ContainerRegId, - ManagedClusterId: project.ManagedClusterId, - CrossplaneGitProjectId: project.CrossplaneGitProjectId, - Status: project.Status, - } - ret = append(ret, TektonPipelines) - } - - if err := iter.Close(); err != nil { - return nil, errors.WithMessage(err, "failed to iterate through results:") - } - - return ret, nil -} - -func formUpdateKvPairsForTektonPipelines(config *model.TektonPipeline) (updatePlaceholders string, values []interface{}) { - params := []string{} - - if config.GitOrgId != "" { - params = append(params, "git_org_id = ?") - values = append(values, config.GitOrgId) - } - - if config.LastUpdateTime != "" { - params = append(params, "last_update_time = ?") - values = append(values, config.LastUpdateTime) - } - - if len(config.ContainerRegId) != 0 { - params = append(params, "container_registry_id = ?") - values = append(values, config.ContainerRegId) - } - - if config.ManagedClusterId != "" { - params = append(params, "managed_cluster_id = ?") - values = append(values, config.Status) - } - - if config.CrossplaneGitProjectId != "" { - params = append(params, "crossplane_git_project_id = ?") - values = append(values, config.Status) - } - - if config.Status != "" { - params = append(params, "status = ?") - values = append(values, config.Status) - } - - if config.WorkflowStatus != "" { - params = append(params, "workflow_status = ?") - values = append(values, config.Status) - } - - if config.WorkflowId != "" { - params = append(params, "workflow_id = ?") - values = append(values, config.Status) - } - - if len(params) == 0 { - return "", nil - } - return strings.Join(params, ", "), values -} diff --git a/capten/agent/internal/job/tekton_resources_sync.go b/capten/agent/internal/job/tekton_resources_sync.go deleted file mode 100644 index 3f3fc8f5..00000000 --- a/capten/agent/internal/job/tekton_resources_sync.go +++ /dev/null @@ -1,36 +0,0 @@ -package job - -import ( - "github.com/intelops/go-common/logging" - captenstore "github.com/kube-tarian/kad/capten/agent/internal/capten-store" - "github.com/kube-tarian/kad/capten/agent/internal/tekton" -) - -type TektonResourcesSync struct { - dbStore *captenstore.Store - eventlistener *tekton.TektonPipelineSyncHandler - log logging.Logger - frequency string -} - -func NewTektonResourcesSync(log logging.Logger, frequency string, dbStore *captenstore.Store) (*TektonResourcesSync, error) { - ccObj := tekton.NewTektonPipelineSyncHandler(log, dbStore) - return &TektonResourcesSync{ - log: log, - frequency: frequency, - dbStore: dbStore, - eventlistener: ccObj, - }, nil -} - -func (s *TektonResourcesSync) CronSpec() string { - return s.frequency -} - -func (s *TektonResourcesSync) Run() { - s.log.Debug("started Tekton resource sync job") - if err := s.eventlistener.Sync(); err != nil { - s.log.Errorf("failed to synch eventlisteneres, %v", err) - } - s.log.Debug("Tekton resource sync job completed") -} diff --git a/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go b/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go index 80d492b9..72596bbe 100644 --- a/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go +++ b/capten/agent/internal/pb/captenpluginspb/capten_plugins.pb.go @@ -4106,604 +4106,6 @@ func (x *GetContainerRegistryResponse) GetStatusMessage() string { return "" } -type TektonPipelines struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - PipelineName string `protobuf:"bytes,2,opt,name=pipelineName,proto3" json:"pipelineName,omitempty"` - WebhookURL string `protobuf:"bytes,3,opt,name=webhookURL,proto3" json:"webhookURL,omitempty"` - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - GitOrgId string `protobuf:"bytes,5,opt,name=gitOrgId,proto3" json:"gitOrgId,omitempty"` - ContainerRegistryIds []string `protobuf:"bytes,6,rep,name=containerRegistryIds,proto3" json:"containerRegistryIds,omitempty"` - ManagedClusterId string `protobuf:"bytes,7,opt,name=managedClusterId,proto3" json:"managedClusterId,omitempty"` - CrossPlaneGitProjectId string `protobuf:"bytes,8,opt,name=crossPlaneGitProjectId,proto3" json:"crossPlaneGitProjectId,omitempty"` - LastUpdateTime string `protobuf:"bytes,9,opt,name=lastUpdateTime,proto3" json:"lastUpdateTime,omitempty"` -} - -func (x *TektonPipelines) Reset() { - *x = TektonPipelines{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TektonPipelines) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TektonPipelines) ProtoMessage() {} - -func (x *TektonPipelines) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[69] - 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 TektonPipelines.ProtoReflect.Descriptor instead. -func (*TektonPipelines) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{69} -} - -func (x *TektonPipelines) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *TektonPipelines) GetPipelineName() string { - if x != nil { - return x.PipelineName - } - return "" -} - -func (x *TektonPipelines) GetWebhookURL() string { - if x != nil { - return x.WebhookURL - } - return "" -} - -func (x *TektonPipelines) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *TektonPipelines) GetGitOrgId() string { - if x != nil { - return x.GitOrgId - } - return "" -} - -func (x *TektonPipelines) GetContainerRegistryIds() []string { - if x != nil { - return x.ContainerRegistryIds - } - return nil -} - -func (x *TektonPipelines) GetManagedClusterId() string { - if x != nil { - return x.ManagedClusterId - } - return "" -} - -func (x *TektonPipelines) GetCrossPlaneGitProjectId() string { - if x != nil { - return x.CrossPlaneGitProjectId - } - return "" -} - -func (x *TektonPipelines) GetLastUpdateTime() string { - if x != nil { - return x.LastUpdateTime - } - return "" -} - -type GetTektonPipelinesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetTektonPipelinesRequest) Reset() { - *x = GetTektonPipelinesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTektonPipelinesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTektonPipelinesRequest) ProtoMessage() {} - -func (x *GetTektonPipelinesRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[70] - 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 GetTektonPipelinesRequest.ProtoReflect.Descriptor instead. -func (*GetTektonPipelinesRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{70} -} - -type GetTektonPipelinesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pipelines []*TektonPipelines `protobuf:"bytes,1,rep,name=pipelines,proto3" json:"pipelines,omitempty"` - Status StatusCode `protobuf:"varint,2,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,3,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *GetTektonPipelinesResponse) Reset() { - *x = GetTektonPipelinesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTektonPipelinesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTektonPipelinesResponse) ProtoMessage() {} - -func (x *GetTektonPipelinesResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[71] - 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 GetTektonPipelinesResponse.ProtoReflect.Descriptor instead. -func (*GetTektonPipelinesResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{71} -} - -func (x *GetTektonPipelinesResponse) GetPipelines() []*TektonPipelines { - if x != nil { - return x.Pipelines - } - return nil -} - -func (x *GetTektonPipelinesResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *GetTektonPipelinesResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -type CreateTektonPipelineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PipelineName string `protobuf:"bytes,1,opt,name=pipelineName,proto3" json:"pipelineName,omitempty"` - GitOrgId string `protobuf:"bytes,2,opt,name=gitOrgId,proto3" json:"gitOrgId,omitempty"` - ContainerRegistryIds []string `protobuf:"bytes,3,rep,name=containerRegistryIds,proto3" json:"containerRegistryIds,omitempty"` - ManagedClusterId string `protobuf:"bytes,4,opt,name=managedClusterId,proto3" json:"managedClusterId,omitempty"` - CrossPlaneGitProjectId string `protobuf:"bytes,5,opt,name=crossPlaneGitProjectId,proto3" json:"crossPlaneGitProjectId,omitempty"` -} - -func (x *CreateTektonPipelineRequest) Reset() { - *x = CreateTektonPipelineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateTektonPipelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateTektonPipelineRequest) ProtoMessage() {} - -func (x *CreateTektonPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[72] - 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 CreateTektonPipelineRequest.ProtoReflect.Descriptor instead. -func (*CreateTektonPipelineRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{72} -} - -func (x *CreateTektonPipelineRequest) GetPipelineName() string { - if x != nil { - return x.PipelineName - } - return "" -} - -func (x *CreateTektonPipelineRequest) GetGitOrgId() string { - if x != nil { - return x.GitOrgId - } - return "" -} - -func (x *CreateTektonPipelineRequest) GetContainerRegistryIds() []string { - if x != nil { - return x.ContainerRegistryIds - } - return nil -} - -func (x *CreateTektonPipelineRequest) GetManagedClusterId() string { - if x != nil { - return x.ManagedClusterId - } - return "" -} - -func (x *CreateTektonPipelineRequest) GetCrossPlaneGitProjectId() string { - if x != nil { - return x.CrossPlaneGitProjectId - } - return "" -} - -type CreateTektonPipelineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status StatusCode `protobuf:"varint,2,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,3,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *CreateTektonPipelineResponse) Reset() { - *x = CreateTektonPipelineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateTektonPipelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateTektonPipelineResponse) ProtoMessage() {} - -func (x *CreateTektonPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[73] - 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 CreateTektonPipelineResponse.ProtoReflect.Descriptor instead. -func (*CreateTektonPipelineResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{73} -} - -func (x *CreateTektonPipelineResponse) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *CreateTektonPipelineResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *CreateTektonPipelineResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -type UpdateTektonPipelineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - GitOrgId string `protobuf:"bytes,2,opt,name=gitOrgId,proto3" json:"gitOrgId,omitempty"` - ContainerRegistryIds []string `protobuf:"bytes,3,rep,name=containerRegistryIds,proto3" json:"containerRegistryIds,omitempty"` - ManagedClusterId string `protobuf:"bytes,4,opt,name=managedClusterId,proto3" json:"managedClusterId,omitempty"` - CrossPlaneGitProjectId string `protobuf:"bytes,5,opt,name=crossPlaneGitProjectId,proto3" json:"crossPlaneGitProjectId,omitempty"` -} - -func (x *UpdateTektonPipelineRequest) Reset() { - *x = UpdateTektonPipelineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateTektonPipelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateTektonPipelineRequest) ProtoMessage() {} - -func (x *UpdateTektonPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[74] - 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 UpdateTektonPipelineRequest.ProtoReflect.Descriptor instead. -func (*UpdateTektonPipelineRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{74} -} - -func (x *UpdateTektonPipelineRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *UpdateTektonPipelineRequest) GetGitOrgId() string { - if x != nil { - return x.GitOrgId - } - return "" -} - -func (x *UpdateTektonPipelineRequest) GetContainerRegistryIds() []string { - if x != nil { - return x.ContainerRegistryIds - } - return nil -} - -func (x *UpdateTektonPipelineRequest) GetManagedClusterId() string { - if x != nil { - return x.ManagedClusterId - } - return "" -} - -func (x *UpdateTektonPipelineRequest) GetCrossPlaneGitProjectId() string { - if x != nil { - return x.CrossPlaneGitProjectId - } - return "" -} - -type UpdateTektonPipelineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status StatusCode `protobuf:"varint,2,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,3,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *UpdateTektonPipelineResponse) Reset() { - *x = UpdateTektonPipelineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateTektonPipelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateTektonPipelineResponse) ProtoMessage() {} - -func (x *UpdateTektonPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[75] - 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 UpdateTektonPipelineResponse.ProtoReflect.Descriptor instead. -func (*UpdateTektonPipelineResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{75} -} - -func (x *UpdateTektonPipelineResponse) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *UpdateTektonPipelineResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *UpdateTektonPipelineResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -type DeleteTektonPipelineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *DeleteTektonPipelineRequest) Reset() { - *x = DeleteTektonPipelineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteTektonPipelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteTektonPipelineRequest) ProtoMessage() {} - -func (x *DeleteTektonPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[76] - 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 DeleteTektonPipelineRequest.ProtoReflect.Descriptor instead. -func (*DeleteTektonPipelineRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{76} -} - -func (x *DeleteTektonPipelineRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type DeleteTektonPipelineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *DeleteTektonPipelineResponse) Reset() { - *x = DeleteTektonPipelineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteTektonPipelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteTektonPipelineResponse) ProtoMessage() {} - -func (x *DeleteTektonPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[77] - 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 DeleteTektonPipelineResponse.ProtoReflect.Descriptor instead. -func (*DeleteTektonPipelineResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{77} -} - -func (x *DeleteTektonPipelineResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *DeleteTektonPipelineResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - var File_capten_plugins_proto protoreflect.FileDescriptor var file_capten_plugins_proto_rawDesc = []byte{ @@ -5281,362 +4683,239 @@ var file_capten_plugins_proto_rawDesc = []byte{ 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x02, 0x0a, 0x0f, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, - 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x36, 0x0a, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb7, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, - 0x62, 0x2e, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x52, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, - 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, - 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, - 0x89, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x1b, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, - 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, - 0x89, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2d, 0x0a, 0x1b, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x1c, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x4d, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x03, 0x32, 0xf3, 0x1f, 0x0a, 0x0e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x5f, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, - 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x69, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x63, - 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x7e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, + 0x73, 0x61, 0x67, 0x65, 0x2a, 0x4d, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, + 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, + 0x44, 0x10, 0x03, 0x32, 0x9d, 0x1c, 0x0a, 0x0e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x5f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, - 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x75, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, - 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, - 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, - 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x43, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x60, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, + 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, - 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, - 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, + 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x6e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, - 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, - 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, - 0x0a, 0x17, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, + 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, + 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, - 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, - 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, - 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, - 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x7e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, - 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, + 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, + 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, + 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x84, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x2e, + 0x6c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, - 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, + 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, + 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, + 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, + 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, + 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, + 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, + 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, + 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x6e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, + 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x72, + 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, + 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8a, 0x01, 0x0a, 0x1b, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, - 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, - 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, + 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, + 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x77, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x55, 0x6e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, + 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x12, 0x5a, 0x10, 0x2f, 0x63, - 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, + 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x42, 0x12, 0x5a, 0x10, 0x2f, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5652,7 +4931,7 @@ func file_capten_plugins_proto_rawDescGZIP() []byte { } var file_capten_plugins_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_capten_plugins_proto_msgTypes = make([]protoimpl.MessageInfo, 84) +var file_capten_plugins_proto_msgTypes = make([]protoimpl.MessageInfo, 75) var file_capten_plugins_proto_goTypes = []interface{}{ (StatusCode)(0), // 0: captenpluginspb.StatusCode (*UpdateCrossplanProviderRequest)(nil), // 1: captenpluginspb.UpdateCrossplanProviderRequest @@ -5724,21 +5003,12 @@ var file_capten_plugins_proto_goTypes = []interface{}{ (*GetContainerRegistryRequest)(nil), // 67: captenpluginspb.GetContainerRegistryRequest (*ContainerRegistry)(nil), // 68: captenpluginspb.ContainerRegistry (*GetContainerRegistryResponse)(nil), // 69: captenpluginspb.GetContainerRegistryResponse - (*TektonPipelines)(nil), // 70: captenpluginspb.TektonPipelines - (*GetTektonPipelinesRequest)(nil), // 71: captenpluginspb.GetTektonPipelinesRequest - (*GetTektonPipelinesResponse)(nil), // 72: captenpluginspb.GetTektonPipelinesResponse - (*CreateTektonPipelineRequest)(nil), // 73: captenpluginspb.CreateTektonPipelineRequest - (*CreateTektonPipelineResponse)(nil), // 74: captenpluginspb.CreateTektonPipelineResponse - (*UpdateTektonPipelineRequest)(nil), // 75: captenpluginspb.UpdateTektonPipelineRequest - (*UpdateTektonPipelineResponse)(nil), // 76: captenpluginspb.UpdateTektonPipelineResponse - (*DeleteTektonPipelineRequest)(nil), // 77: captenpluginspb.DeleteTektonPipelineRequest - (*DeleteTektonPipelineResponse)(nil), // 78: captenpluginspb.DeleteTektonPipelineResponse - nil, // 79: captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry - nil, // 80: captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry - nil, // 81: captenpluginspb.CloudProvider.CloudAttributesEntry - nil, // 82: captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry - nil, // 83: captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry - nil, // 84: captenpluginspb.ContainerRegistry.RegistryAttributesEntry + nil, // 70: captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry + nil, // 71: captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry + nil, // 72: captenpluginspb.CloudProvider.CloudAttributesEntry + nil, // 73: captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry + nil, // 74: captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry + nil, // 75: captenpluginspb.ContainerRegistry.RegistryAttributesEntry } var file_capten_plugins_proto_depIdxs = []int32{ 0, // 0: captenpluginspb.UpdateCrossplanProviderResponse.status:type_name -> captenpluginspb.StatusCode @@ -5753,12 +5023,12 @@ var file_capten_plugins_proto_depIdxs = []int32{ 0, // 9: captenpluginspb.GetGitProjectsResponse.status:type_name -> captenpluginspb.StatusCode 17, // 10: captenpluginspb.GetGitProjectsForLabelsResponse.projects:type_name -> captenpluginspb.GitProject 0, // 11: captenpluginspb.GetGitProjectsForLabelsResponse.status:type_name -> captenpluginspb.StatusCode - 79, // 12: captenpluginspb.AddCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry + 70, // 12: captenpluginspb.AddCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry 0, // 13: captenpluginspb.AddCloudProviderResponse.status:type_name -> captenpluginspb.StatusCode - 80, // 14: captenpluginspb.UpdateCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry + 71, // 14: captenpluginspb.UpdateCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry 0, // 15: captenpluginspb.UpdateCloudProviderResponse.status:type_name -> captenpluginspb.StatusCode 0, // 16: captenpluginspb.DeleteCloudProviderResponse.status:type_name -> captenpluginspb.StatusCode - 81, // 17: captenpluginspb.CloudProvider.cloudAttributes:type_name -> captenpluginspb.CloudProvider.CloudAttributesEntry + 72, // 17: captenpluginspb.CloudProvider.cloudAttributes:type_name -> captenpluginspb.CloudProvider.CloudAttributesEntry 28, // 18: captenpluginspb.GetCloudProvidersResponse.cloudProviders:type_name -> captenpluginspb.CloudProvider 0, // 19: captenpluginspb.GetCloudProvidersResponse.status:type_name -> captenpluginspb.StatusCode 28, // 20: captenpluginspb.GetCloudProvidersWithFilterResponse.cloudProviders:type_name -> captenpluginspb.CloudProvider @@ -5780,92 +5050,79 @@ var file_capten_plugins_proto_depIdxs = []int32{ 0, // 36: captenpluginspb.GetManagedClustersResponse.status:type_name -> captenpluginspb.StatusCode 56, // 37: captenpluginspb.GetManagedClustersResponse.clusters:type_name -> captenpluginspb.ManagedCluster 0, // 38: captenpluginspb.GetManagedClusterKubeconfigResponse.status:type_name -> captenpluginspb.StatusCode - 82, // 39: captenpluginspb.AddContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry + 73, // 39: captenpluginspb.AddContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry 0, // 40: captenpluginspb.AddContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode - 83, // 41: captenpluginspb.UpdateContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry + 74, // 41: captenpluginspb.UpdateContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry 0, // 42: captenpluginspb.UpdateContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode 0, // 43: captenpluginspb.DeleteContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode - 84, // 44: captenpluginspb.ContainerRegistry.registryAttributes:type_name -> captenpluginspb.ContainerRegistry.RegistryAttributesEntry + 75, // 44: captenpluginspb.ContainerRegistry.registryAttributes:type_name -> captenpluginspb.ContainerRegistry.RegistryAttributesEntry 68, // 45: captenpluginspb.GetContainerRegistryResponse.registries:type_name -> captenpluginspb.ContainerRegistry 0, // 46: captenpluginspb.GetContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode - 70, // 47: captenpluginspb.GetTektonPipelinesResponse.pipelines:type_name -> captenpluginspb.TektonPipelines - 0, // 48: captenpluginspb.GetTektonPipelinesResponse.status:type_name -> captenpluginspb.StatusCode - 0, // 49: captenpluginspb.CreateTektonPipelineResponse.status:type_name -> captenpluginspb.StatusCode - 0, // 50: captenpluginspb.UpdateTektonPipelineResponse.status:type_name -> captenpluginspb.StatusCode - 0, // 51: captenpluginspb.DeleteTektonPipelineResponse.status:type_name -> captenpluginspb.StatusCode - 47, // 52: captenpluginspb.capten_plugins.GetCaptenPlugins:input_type -> captenpluginspb.GetCaptenPluginsRequest - 10, // 53: captenpluginspb.capten_plugins.AddGitProject:input_type -> captenpluginspb.AddGitProjectRequest - 12, // 54: captenpluginspb.capten_plugins.UpdateGitProject:input_type -> captenpluginspb.UpdateGitProjectRequest - 14, // 55: captenpluginspb.capten_plugins.DeleteGitProject:input_type -> captenpluginspb.DeleteGitProjectRequest - 16, // 56: captenpluginspb.capten_plugins.GetGitProjects:input_type -> captenpluginspb.GetGitProjectsRequest - 19, // 57: captenpluginspb.capten_plugins.GetGitProjectsForLabels:input_type -> captenpluginspb.GetGitProjectsForLabelsRequest - 71, // 58: captenpluginspb.capten_plugins.GetTektonPipelines:input_type -> captenpluginspb.GetTektonPipelinesRequest - 73, // 59: captenpluginspb.capten_plugins.CreateTektonPipeline:input_type -> captenpluginspb.CreateTektonPipelineRequest - 75, // 60: captenpluginspb.capten_plugins.UpdateTektonPipeline:input_type -> captenpluginspb.UpdateTektonPipelineRequest - 77, // 61: captenpluginspb.capten_plugins.DeleteTektonPipeline:input_type -> captenpluginspb.DeleteTektonPipelineRequest - 61, // 62: captenpluginspb.capten_plugins.AddContainerRegistry:input_type -> captenpluginspb.AddContainerRegistryRequest - 63, // 63: captenpluginspb.capten_plugins.UpdateContainerRegistry:input_type -> captenpluginspb.UpdateContainerRegistryRequest - 65, // 64: captenpluginspb.capten_plugins.DeleteContainerRegistry:input_type -> captenpluginspb.DeleteContainerRegistryRequest - 67, // 65: captenpluginspb.capten_plugins.GetContainerRegistry:input_type -> captenpluginspb.GetContainerRegistryRequest - 21, // 66: captenpluginspb.capten_plugins.AddCloudProvider:input_type -> captenpluginspb.AddCloudProviderRequest - 23, // 67: captenpluginspb.capten_plugins.UpdateCloudProvider:input_type -> captenpluginspb.UpdateCloudProviderRequest - 25, // 68: captenpluginspb.capten_plugins.DeleteCloudProvider:input_type -> captenpluginspb.DeleteCloudProviderRequest - 27, // 69: captenpluginspb.capten_plugins.GetCloudProviders:input_type -> captenpluginspb.GetCloudProvidersRequest - 30, // 70: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:input_type -> captenpluginspb.GetCloudProvidersWithFilterRequest - 32, // 71: captenpluginspb.capten_plugins.RegisterArgoCDProject:input_type -> captenpluginspb.RegisterArgoCDProjectRequest - 34, // 72: captenpluginspb.capten_plugins.GetArgoCDProjects:input_type -> captenpluginspb.GetArgoCDProjectsRequest - 36, // 73: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:input_type -> captenpluginspb.UnRegisterArgoCDProjectRequest - 39, // 74: captenpluginspb.capten_plugins.RegisterTektonProject:input_type -> captenpluginspb.RegisterTektonProjectRequest - 44, // 75: captenpluginspb.capten_plugins.GetTektonProject:input_type -> captenpluginspb.GetTektonProjectRequest - 41, // 76: captenpluginspb.capten_plugins.UnRegisterTektonProject:input_type -> captenpluginspb.UnRegisterTektonProjectRequest - 8, // 77: captenpluginspb.capten_plugins.AddCrossplanProvider:input_type -> captenpluginspb.AddCrossplanProviderRequest - 3, // 78: captenpluginspb.capten_plugins.DeleteCrossplanProvider:input_type -> captenpluginspb.DeleteCrossplanProviderRequest - 5, // 79: captenpluginspb.capten_plugins.GetCrossplanProviders:input_type -> captenpluginspb.GetCrossplanProvidersRequest - 1, // 80: captenpluginspb.capten_plugins.UpdateCrossplanProvider:input_type -> captenpluginspb.UpdateCrossplanProviderRequest - 49, // 81: captenpluginspb.capten_plugins.RegisterCrossplaneProject:input_type -> captenpluginspb.RegisterCrossplaneProjectRequest - 54, // 82: captenpluginspb.capten_plugins.GetCrossplaneProject:input_type -> captenpluginspb.GetCrossplaneProjectsRequest - 51, // 83: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:input_type -> captenpluginspb.UnRegisterCrossplaneProjectRequest - 57, // 84: captenpluginspb.capten_plugins.GetManagedClusters:input_type -> captenpluginspb.GetManagedClustersRequest - 59, // 85: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:input_type -> captenpluginspb.GetManagedClusterKubeconfigRequest - 48, // 86: captenpluginspb.capten_plugins.GetCaptenPlugins:output_type -> captenpluginspb.GetCaptenPluginsResponse - 11, // 87: captenpluginspb.capten_plugins.AddGitProject:output_type -> captenpluginspb.AddGitProjectResponse - 13, // 88: captenpluginspb.capten_plugins.UpdateGitProject:output_type -> captenpluginspb.UpdateGitProjectResponse - 15, // 89: captenpluginspb.capten_plugins.DeleteGitProject:output_type -> captenpluginspb.DeleteGitProjectResponse - 18, // 90: captenpluginspb.capten_plugins.GetGitProjects:output_type -> captenpluginspb.GetGitProjectsResponse - 20, // 91: captenpluginspb.capten_plugins.GetGitProjectsForLabels:output_type -> captenpluginspb.GetGitProjectsForLabelsResponse - 72, // 92: captenpluginspb.capten_plugins.GetTektonPipelines:output_type -> captenpluginspb.GetTektonPipelinesResponse - 74, // 93: captenpluginspb.capten_plugins.CreateTektonPipeline:output_type -> captenpluginspb.CreateTektonPipelineResponse - 76, // 94: captenpluginspb.capten_plugins.UpdateTektonPipeline:output_type -> captenpluginspb.UpdateTektonPipelineResponse - 78, // 95: captenpluginspb.capten_plugins.DeleteTektonPipeline:output_type -> captenpluginspb.DeleteTektonPipelineResponse - 62, // 96: captenpluginspb.capten_plugins.AddContainerRegistry:output_type -> captenpluginspb.AddContainerRegistryResponse - 64, // 97: captenpluginspb.capten_plugins.UpdateContainerRegistry:output_type -> captenpluginspb.UpdateContainerRegistryResponse - 66, // 98: captenpluginspb.capten_plugins.DeleteContainerRegistry:output_type -> captenpluginspb.DeleteContainerRegistryResponse - 69, // 99: captenpluginspb.capten_plugins.GetContainerRegistry:output_type -> captenpluginspb.GetContainerRegistryResponse - 22, // 100: captenpluginspb.capten_plugins.AddCloudProvider:output_type -> captenpluginspb.AddCloudProviderResponse - 24, // 101: captenpluginspb.capten_plugins.UpdateCloudProvider:output_type -> captenpluginspb.UpdateCloudProviderResponse - 26, // 102: captenpluginspb.capten_plugins.DeleteCloudProvider:output_type -> captenpluginspb.DeleteCloudProviderResponse - 29, // 103: captenpluginspb.capten_plugins.GetCloudProviders:output_type -> captenpluginspb.GetCloudProvidersResponse - 31, // 104: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:output_type -> captenpluginspb.GetCloudProvidersWithFilterResponse - 33, // 105: captenpluginspb.capten_plugins.RegisterArgoCDProject:output_type -> captenpluginspb.RegisterArgoCDProjectResponse - 35, // 106: captenpluginspb.capten_plugins.GetArgoCDProjects:output_type -> captenpluginspb.GetArgoCDProjectsResponse - 37, // 107: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:output_type -> captenpluginspb.UnRegisterArgoCDProjectResponse - 40, // 108: captenpluginspb.capten_plugins.RegisterTektonProject:output_type -> captenpluginspb.RegisterTektonProjectResponse - 45, // 109: captenpluginspb.capten_plugins.GetTektonProject:output_type -> captenpluginspb.GetTektonProjectResponse - 42, // 110: captenpluginspb.capten_plugins.UnRegisterTektonProject:output_type -> captenpluginspb.UnRegisterTektonProjectResponse - 9, // 111: captenpluginspb.capten_plugins.AddCrossplanProvider:output_type -> captenpluginspb.AddCrossplanProviderResponse - 4, // 112: captenpluginspb.capten_plugins.DeleteCrossplanProvider:output_type -> captenpluginspb.DeleteCrossplanProviderResponse - 6, // 113: captenpluginspb.capten_plugins.GetCrossplanProviders:output_type -> captenpluginspb.GetCrossplanProvidersResponse - 2, // 114: captenpluginspb.capten_plugins.UpdateCrossplanProvider:output_type -> captenpluginspb.UpdateCrossplanProviderResponse - 50, // 115: captenpluginspb.capten_plugins.RegisterCrossplaneProject:output_type -> captenpluginspb.RegisterCrossplaneProjectResponse - 55, // 116: captenpluginspb.capten_plugins.GetCrossplaneProject:output_type -> captenpluginspb.GetCrossplaneProjectsResponse - 52, // 117: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:output_type -> captenpluginspb.UnRegisterCrossplaneProjectResponse - 58, // 118: captenpluginspb.capten_plugins.GetManagedClusters:output_type -> captenpluginspb.GetManagedClustersResponse - 60, // 119: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:output_type -> captenpluginspb.GetManagedClusterKubeconfigResponse - 86, // [86:120] is the sub-list for method output_type - 52, // [52:86] is the sub-list for method input_type - 52, // [52:52] is the sub-list for extension type_name - 52, // [52:52] is the sub-list for extension extendee - 0, // [0:52] is the sub-list for field type_name + 47, // 47: captenpluginspb.capten_plugins.GetCaptenPlugins:input_type -> captenpluginspb.GetCaptenPluginsRequest + 10, // 48: captenpluginspb.capten_plugins.AddGitProject:input_type -> captenpluginspb.AddGitProjectRequest + 12, // 49: captenpluginspb.capten_plugins.UpdateGitProject:input_type -> captenpluginspb.UpdateGitProjectRequest + 14, // 50: captenpluginspb.capten_plugins.DeleteGitProject:input_type -> captenpluginspb.DeleteGitProjectRequest + 16, // 51: captenpluginspb.capten_plugins.GetGitProjects:input_type -> captenpluginspb.GetGitProjectsRequest + 19, // 52: captenpluginspb.capten_plugins.GetGitProjectsForLabels:input_type -> captenpluginspb.GetGitProjectsForLabelsRequest + 61, // 53: captenpluginspb.capten_plugins.AddContainerRegistry:input_type -> captenpluginspb.AddContainerRegistryRequest + 63, // 54: captenpluginspb.capten_plugins.UpdateContainerRegistry:input_type -> captenpluginspb.UpdateContainerRegistryRequest + 65, // 55: captenpluginspb.capten_plugins.DeleteContainerRegistry:input_type -> captenpluginspb.DeleteContainerRegistryRequest + 67, // 56: captenpluginspb.capten_plugins.GetContainerRegistry:input_type -> captenpluginspb.GetContainerRegistryRequest + 21, // 57: captenpluginspb.capten_plugins.AddCloudProvider:input_type -> captenpluginspb.AddCloudProviderRequest + 23, // 58: captenpluginspb.capten_plugins.UpdateCloudProvider:input_type -> captenpluginspb.UpdateCloudProviderRequest + 25, // 59: captenpluginspb.capten_plugins.DeleteCloudProvider:input_type -> captenpluginspb.DeleteCloudProviderRequest + 27, // 60: captenpluginspb.capten_plugins.GetCloudProviders:input_type -> captenpluginspb.GetCloudProvidersRequest + 30, // 61: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:input_type -> captenpluginspb.GetCloudProvidersWithFilterRequest + 32, // 62: captenpluginspb.capten_plugins.RegisterArgoCDProject:input_type -> captenpluginspb.RegisterArgoCDProjectRequest + 34, // 63: captenpluginspb.capten_plugins.GetArgoCDProjects:input_type -> captenpluginspb.GetArgoCDProjectsRequest + 36, // 64: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:input_type -> captenpluginspb.UnRegisterArgoCDProjectRequest + 39, // 65: captenpluginspb.capten_plugins.RegisterTektonProject:input_type -> captenpluginspb.RegisterTektonProjectRequest + 44, // 66: captenpluginspb.capten_plugins.GetTektonProject:input_type -> captenpluginspb.GetTektonProjectRequest + 41, // 67: captenpluginspb.capten_plugins.UnRegisterTektonProject:input_type -> captenpluginspb.UnRegisterTektonProjectRequest + 8, // 68: captenpluginspb.capten_plugins.AddCrossplanProvider:input_type -> captenpluginspb.AddCrossplanProviderRequest + 3, // 69: captenpluginspb.capten_plugins.DeleteCrossplanProvider:input_type -> captenpluginspb.DeleteCrossplanProviderRequest + 5, // 70: captenpluginspb.capten_plugins.GetCrossplanProviders:input_type -> captenpluginspb.GetCrossplanProvidersRequest + 1, // 71: captenpluginspb.capten_plugins.UpdateCrossplanProvider:input_type -> captenpluginspb.UpdateCrossplanProviderRequest + 49, // 72: captenpluginspb.capten_plugins.RegisterCrossplaneProject:input_type -> captenpluginspb.RegisterCrossplaneProjectRequest + 54, // 73: captenpluginspb.capten_plugins.GetCrossplaneProject:input_type -> captenpluginspb.GetCrossplaneProjectsRequest + 51, // 74: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:input_type -> captenpluginspb.UnRegisterCrossplaneProjectRequest + 57, // 75: captenpluginspb.capten_plugins.GetManagedClusters:input_type -> captenpluginspb.GetManagedClustersRequest + 59, // 76: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:input_type -> captenpluginspb.GetManagedClusterKubeconfigRequest + 48, // 77: captenpluginspb.capten_plugins.GetCaptenPlugins:output_type -> captenpluginspb.GetCaptenPluginsResponse + 11, // 78: captenpluginspb.capten_plugins.AddGitProject:output_type -> captenpluginspb.AddGitProjectResponse + 13, // 79: captenpluginspb.capten_plugins.UpdateGitProject:output_type -> captenpluginspb.UpdateGitProjectResponse + 15, // 80: captenpluginspb.capten_plugins.DeleteGitProject:output_type -> captenpluginspb.DeleteGitProjectResponse + 18, // 81: captenpluginspb.capten_plugins.GetGitProjects:output_type -> captenpluginspb.GetGitProjectsResponse + 20, // 82: captenpluginspb.capten_plugins.GetGitProjectsForLabels:output_type -> captenpluginspb.GetGitProjectsForLabelsResponse + 62, // 83: captenpluginspb.capten_plugins.AddContainerRegistry:output_type -> captenpluginspb.AddContainerRegistryResponse + 64, // 84: captenpluginspb.capten_plugins.UpdateContainerRegistry:output_type -> captenpluginspb.UpdateContainerRegistryResponse + 66, // 85: captenpluginspb.capten_plugins.DeleteContainerRegistry:output_type -> captenpluginspb.DeleteContainerRegistryResponse + 69, // 86: captenpluginspb.capten_plugins.GetContainerRegistry:output_type -> captenpluginspb.GetContainerRegistryResponse + 22, // 87: captenpluginspb.capten_plugins.AddCloudProvider:output_type -> captenpluginspb.AddCloudProviderResponse + 24, // 88: captenpluginspb.capten_plugins.UpdateCloudProvider:output_type -> captenpluginspb.UpdateCloudProviderResponse + 26, // 89: captenpluginspb.capten_plugins.DeleteCloudProvider:output_type -> captenpluginspb.DeleteCloudProviderResponse + 29, // 90: captenpluginspb.capten_plugins.GetCloudProviders:output_type -> captenpluginspb.GetCloudProvidersResponse + 31, // 91: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:output_type -> captenpluginspb.GetCloudProvidersWithFilterResponse + 33, // 92: captenpluginspb.capten_plugins.RegisterArgoCDProject:output_type -> captenpluginspb.RegisterArgoCDProjectResponse + 35, // 93: captenpluginspb.capten_plugins.GetArgoCDProjects:output_type -> captenpluginspb.GetArgoCDProjectsResponse + 37, // 94: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:output_type -> captenpluginspb.UnRegisterArgoCDProjectResponse + 40, // 95: captenpluginspb.capten_plugins.RegisterTektonProject:output_type -> captenpluginspb.RegisterTektonProjectResponse + 45, // 96: captenpluginspb.capten_plugins.GetTektonProject:output_type -> captenpluginspb.GetTektonProjectResponse + 42, // 97: captenpluginspb.capten_plugins.UnRegisterTektonProject:output_type -> captenpluginspb.UnRegisterTektonProjectResponse + 9, // 98: captenpluginspb.capten_plugins.AddCrossplanProvider:output_type -> captenpluginspb.AddCrossplanProviderResponse + 4, // 99: captenpluginspb.capten_plugins.DeleteCrossplanProvider:output_type -> captenpluginspb.DeleteCrossplanProviderResponse + 6, // 100: captenpluginspb.capten_plugins.GetCrossplanProviders:output_type -> captenpluginspb.GetCrossplanProvidersResponse + 2, // 101: captenpluginspb.capten_plugins.UpdateCrossplanProvider:output_type -> captenpluginspb.UpdateCrossplanProviderResponse + 50, // 102: captenpluginspb.capten_plugins.RegisterCrossplaneProject:output_type -> captenpluginspb.RegisterCrossplaneProjectResponse + 55, // 103: captenpluginspb.capten_plugins.GetCrossplaneProject:output_type -> captenpluginspb.GetCrossplaneProjectsResponse + 52, // 104: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:output_type -> captenpluginspb.UnRegisterCrossplaneProjectResponse + 58, // 105: captenpluginspb.capten_plugins.GetManagedClusters:output_type -> captenpluginspb.GetManagedClustersResponse + 60, // 106: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:output_type -> captenpluginspb.GetManagedClusterKubeconfigResponse + 77, // [77:107] is the sub-list for method output_type + 47, // [47:77] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name } func init() { file_capten_plugins_proto_init() } @@ -6702,114 +5959,6 @@ func file_capten_plugins_proto_init() { return nil } } - file_capten_plugins_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TektonPipelines); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTektonPipelinesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTektonPipelinesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTektonPipelineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTektonPipelineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTektonPipelineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTektonPipelineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTektonPipelineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTektonPipelineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -6817,7 +5966,7 @@ func file_capten_plugins_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_capten_plugins_proto_rawDesc, NumEnums: 1, - NumMessages: 84, + NumMessages: 75, NumExtensions: 0, NumServices: 1, }, diff --git a/capten/agent/internal/pb/captenpluginspb/capten_plugins_grpc.pb.go b/capten/agent/internal/pb/captenpluginspb/capten_plugins_grpc.pb.go index 438a9197..0539244a 100644 --- a/capten/agent/internal/pb/captenpluginspb/capten_plugins_grpc.pb.go +++ b/capten/agent/internal/pb/captenpluginspb/capten_plugins_grpc.pb.go @@ -25,10 +25,6 @@ const ( CaptenPlugins_DeleteGitProject_FullMethodName = "/captenpluginspb.capten_plugins/DeleteGitProject" CaptenPlugins_GetGitProjects_FullMethodName = "/captenpluginspb.capten_plugins/GetGitProjects" CaptenPlugins_GetGitProjectsForLabels_FullMethodName = "/captenpluginspb.capten_plugins/GetGitProjectsForLabels" - CaptenPlugins_GetTektonPipelines_FullMethodName = "/captenpluginspb.capten_plugins/GetTektonPipelines" - CaptenPlugins_CreateTektonPipeline_FullMethodName = "/captenpluginspb.capten_plugins/CreateTektonPipeline" - CaptenPlugins_UpdateTektonPipeline_FullMethodName = "/captenpluginspb.capten_plugins/UpdateTektonPipeline" - CaptenPlugins_DeleteTektonPipeline_FullMethodName = "/captenpluginspb.capten_plugins/DeleteTektonPipeline" CaptenPlugins_AddContainerRegistry_FullMethodName = "/captenpluginspb.capten_plugins/AddContainerRegistry" CaptenPlugins_UpdateContainerRegistry_FullMethodName = "/captenpluginspb.capten_plugins/UpdateContainerRegistry" CaptenPlugins_DeleteContainerRegistry_FullMethodName = "/captenpluginspb.capten_plugins/DeleteContainerRegistry" @@ -65,10 +61,6 @@ type CaptenPluginsClient interface { DeleteGitProject(ctx context.Context, in *DeleteGitProjectRequest, opts ...grpc.CallOption) (*DeleteGitProjectResponse, error) GetGitProjects(ctx context.Context, in *GetGitProjectsRequest, opts ...grpc.CallOption) (*GetGitProjectsResponse, error) GetGitProjectsForLabels(ctx context.Context, in *GetGitProjectsForLabelsRequest, opts ...grpc.CallOption) (*GetGitProjectsForLabelsResponse, error) - GetTektonPipelines(ctx context.Context, in *GetTektonPipelinesRequest, opts ...grpc.CallOption) (*GetTektonPipelinesResponse, error) - CreateTektonPipeline(ctx context.Context, in *CreateTektonPipelineRequest, opts ...grpc.CallOption) (*CreateTektonPipelineResponse, error) - UpdateTektonPipeline(ctx context.Context, in *UpdateTektonPipelineRequest, opts ...grpc.CallOption) (*UpdateTektonPipelineResponse, error) - DeleteTektonPipeline(ctx context.Context, in *DeleteTektonPipelineRequest, opts ...grpc.CallOption) (*DeleteTektonPipelineResponse, error) AddContainerRegistry(ctx context.Context, in *AddContainerRegistryRequest, opts ...grpc.CallOption) (*AddContainerRegistryResponse, error) UpdateContainerRegistry(ctx context.Context, in *UpdateContainerRegistryRequest, opts ...grpc.CallOption) (*UpdateContainerRegistryResponse, error) DeleteContainerRegistry(ctx context.Context, in *DeleteContainerRegistryRequest, opts ...grpc.CallOption) (*DeleteContainerRegistryResponse, error) @@ -157,42 +149,6 @@ func (c *captenPluginsClient) GetGitProjectsForLabels(ctx context.Context, in *G return out, nil } -func (c *captenPluginsClient) GetTektonPipelines(ctx context.Context, in *GetTektonPipelinesRequest, opts ...grpc.CallOption) (*GetTektonPipelinesResponse, error) { - out := new(GetTektonPipelinesResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_GetTektonPipelines_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *captenPluginsClient) CreateTektonPipeline(ctx context.Context, in *CreateTektonPipelineRequest, opts ...grpc.CallOption) (*CreateTektonPipelineResponse, error) { - out := new(CreateTektonPipelineResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_CreateTektonPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *captenPluginsClient) UpdateTektonPipeline(ctx context.Context, in *UpdateTektonPipelineRequest, opts ...grpc.CallOption) (*UpdateTektonPipelineResponse, error) { - out := new(UpdateTektonPipelineResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_UpdateTektonPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *captenPluginsClient) DeleteTektonPipeline(ctx context.Context, in *DeleteTektonPipelineRequest, opts ...grpc.CallOption) (*DeleteTektonPipelineResponse, error) { - out := new(DeleteTektonPipelineResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_DeleteTektonPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *captenPluginsClient) AddContainerRegistry(ctx context.Context, in *AddContainerRegistryRequest, opts ...grpc.CallOption) (*AddContainerRegistryResponse, error) { out := new(AddContainerRegistryResponse) err := c.cc.Invoke(ctx, CaptenPlugins_AddContainerRegistry_FullMethodName, in, out, opts...) @@ -419,10 +375,6 @@ type CaptenPluginsServer interface { DeleteGitProject(context.Context, *DeleteGitProjectRequest) (*DeleteGitProjectResponse, error) GetGitProjects(context.Context, *GetGitProjectsRequest) (*GetGitProjectsResponse, error) GetGitProjectsForLabels(context.Context, *GetGitProjectsForLabelsRequest) (*GetGitProjectsForLabelsResponse, error) - GetTektonPipelines(context.Context, *GetTektonPipelinesRequest) (*GetTektonPipelinesResponse, error) - CreateTektonPipeline(context.Context, *CreateTektonPipelineRequest) (*CreateTektonPipelineResponse, error) - UpdateTektonPipeline(context.Context, *UpdateTektonPipelineRequest) (*UpdateTektonPipelineResponse, error) - DeleteTektonPipeline(context.Context, *DeleteTektonPipelineRequest) (*DeleteTektonPipelineResponse, error) AddContainerRegistry(context.Context, *AddContainerRegistryRequest) (*AddContainerRegistryResponse, error) UpdateContainerRegistry(context.Context, *UpdateContainerRegistryRequest) (*UpdateContainerRegistryResponse, error) DeleteContainerRegistry(context.Context, *DeleteContainerRegistryRequest) (*DeleteContainerRegistryResponse, error) @@ -472,18 +424,6 @@ func (UnimplementedCaptenPluginsServer) GetGitProjects(context.Context, *GetGitP func (UnimplementedCaptenPluginsServer) GetGitProjectsForLabels(context.Context, *GetGitProjectsForLabelsRequest) (*GetGitProjectsForLabelsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGitProjectsForLabels not implemented") } -func (UnimplementedCaptenPluginsServer) GetTektonPipelines(context.Context, *GetTektonPipelinesRequest) (*GetTektonPipelinesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTektonPipelines not implemented") -} -func (UnimplementedCaptenPluginsServer) CreateTektonPipeline(context.Context, *CreateTektonPipelineRequest) (*CreateTektonPipelineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateTektonPipeline not implemented") -} -func (UnimplementedCaptenPluginsServer) UpdateTektonPipeline(context.Context, *UpdateTektonPipelineRequest) (*UpdateTektonPipelineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateTektonPipeline not implemented") -} -func (UnimplementedCaptenPluginsServer) DeleteTektonPipeline(context.Context, *DeleteTektonPipelineRequest) (*DeleteTektonPipelineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteTektonPipeline not implemented") -} func (UnimplementedCaptenPluginsServer) AddContainerRegistry(context.Context, *AddContainerRegistryRequest) (*AddContainerRegistryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddContainerRegistry not implemented") } @@ -677,78 +617,6 @@ func _CaptenPlugins_GetGitProjectsForLabels_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _CaptenPlugins_GetTektonPipelines_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTektonPipelinesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).GetTektonPipelines(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_GetTektonPipelines_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).GetTektonPipelines(ctx, req.(*GetTektonPipelinesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _CaptenPlugins_CreateTektonPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateTektonPipelineRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).CreateTektonPipeline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_CreateTektonPipeline_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).CreateTektonPipeline(ctx, req.(*CreateTektonPipelineRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _CaptenPlugins_UpdateTektonPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateTektonPipelineRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).UpdateTektonPipeline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_UpdateTektonPipeline_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).UpdateTektonPipeline(ctx, req.(*UpdateTektonPipelineRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _CaptenPlugins_DeleteTektonPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteTektonPipelineRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).DeleteTektonPipeline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_DeleteTektonPipeline_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).DeleteTektonPipeline(ctx, req.(*DeleteTektonPipelineRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _CaptenPlugins_AddContainerRegistry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddContainerRegistryRequest) if err := dec(in); err != nil { @@ -1212,22 +1080,6 @@ var CaptenPlugins_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetGitProjectsForLabels", Handler: _CaptenPlugins_GetGitProjectsForLabels_Handler, }, - { - MethodName: "GetTektonPipelines", - Handler: _CaptenPlugins_GetTektonPipelines_Handler, - }, - { - MethodName: "CreateTektonPipeline", - Handler: _CaptenPlugins_CreateTektonPipeline_Handler, - }, - { - MethodName: "UpdateTektonPipeline", - Handler: _CaptenPlugins_UpdateTektonPipeline_Handler, - }, - { - MethodName: "DeleteTektonPipeline", - Handler: _CaptenPlugins_DeleteTektonPipeline_Handler, - }, { MethodName: "AddContainerRegistry", Handler: _CaptenPlugins_AddContainerRegistry_Handler, diff --git a/capten/agent/internal/tekton/tekton_pipelines.go b/capten/agent/internal/tekton/tekton_pipelines.go deleted file mode 100644 index 3f8d8dd3..00000000 --- a/capten/agent/internal/tekton/tekton_pipelines.go +++ /dev/null @@ -1,161 +0,0 @@ -package tekton - -import ( - "context" - "encoding/json" - "fmt" - "strings" - - "github.com/intelops/go-common/logging" - captenstore "github.com/kube-tarian/kad/capten/agent/internal/capten-store" - - "github.com/kube-tarian/kad/capten/common-pkg/k8s" - "github.com/kube-tarian/kad/capten/model" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/dynamic" -) - -var ( - pgvk = schema.GroupVersionResource{Group: "triggers.tekton.dev", Version: "v1beta1", Resource: "eventlisteners"} -) - -type TektonPipelineSyncHandler struct { - log logging.Logger - dbStore *captenstore.Store -} - -func NewTektonPipelineSyncHandler(log logging.Logger, dbStore *captenstore.Store) *TektonPipelineSyncHandler { - return &TektonPipelineSyncHandler{log: log, dbStore: dbStore} -} - -func registerK8STektonPipelineSync(log logging.Logger, dbStore *captenstore.Store, dynamicClient dynamic.Interface) error { - return k8s.RegisterDynamicInformers(NewTektonPipelineSyncHandler(log, dbStore), dynamicClient, pgvk) -} - -func getEventListenerObj(obj any) (*model.EventListener, error) { - clusterClaimByte, err := json.Marshal(obj) - if err != nil { - return nil, err - } - - var clObj model.EventListener - err = json.Unmarshal(clusterClaimByte, &clObj) - if err != nil { - return nil, err - } - - return &clObj, nil -} - -func (h *TektonPipelineSyncHandler) OnAdd(obj interface{}) { - h.log.Info("TektonPipeline Add Callback") - newCcObj, err := getEventListenerObj(obj) - if newCcObj == nil { - h.log.Errorf("failed to read TektonPipeline object, %v", err) - return - } - - if err := h.updateTektonPipelines([]model.EventListener{*newCcObj}); err != nil { - h.log.Errorf("failed to update TektonPipeline object, %v", err) - return - } -} - -func (h *TektonPipelineSyncHandler) OnUpdate(oldObj, newObj interface{}) { - h.log.Info("TektonPipeline Update Callback") - prevObj, err := getEventListenerObj(oldObj) - if prevObj == nil { - h.log.Errorf("failed to read TektonPipeline old object %v", err) - return - } - - newCcObj, err := getEventListenerObj(oldObj) - if newCcObj == nil { - h.log.Errorf("failed to read TektonPipeline new object %v", err) - return - } - - if err := h.updateTektonPipelines([]model.EventListener{*newCcObj}); err != nil { - h.log.Errorf("failed to update TektonPipeline object, %v", err) - return - } -} - -func (h *TektonPipelineSyncHandler) OnDelete(obj interface{}) { - h.log.Info("TektonPipeline Delete Callback") -} - -func (h *TektonPipelineSyncHandler) Sync() error { - h.log.Debug("started to sync TektonPipeline resources") - - k8sclient, err := k8s.NewK8SClient(h.log) - if err != nil { - return fmt.Errorf("failed to initalize k8s client: %v", err) - } - - objList, err := k8sclient.DynamicClient.ListAllNamespaceResource(context.TODO(), pgvk) - if err != nil { - return fmt.Errorf("failed to fetch pipelines resources, %v", err) - } - - pipelines, err := json.Marshal(objList) - if err != nil { - return fmt.Errorf("failed to marshall the data, %v", err) - } - - var pipelineObj model.EventListeners - err = json.Unmarshal(pipelines, &pipelineObj) - if err != nil { - return fmt.Errorf("failed to un-marshall the data, %s", err) - } - - if err = h.updateTektonPipelines(pipelineObj.Items); err != nil { - return fmt.Errorf("failed to update TektonPipeline in DB, %v", err) - } - h.log.Debug("TektonPipeline resources synched") - return nil -} - -func (h *TektonPipelineSyncHandler) updateTektonPipelines(k8spipelines []model.EventListener) error { - dbpipelines, err := h.dbStore.GetTektonPipeliness() - if err != nil { - return fmt.Errorf("failed to get TektonPipeline pipelines, %v", err) - } - - dbpipelineMap := make(map[string]*model.TektonPipeline) - for _, dbpipeline := range dbpipelines { - dbpipelineMap[dbpipeline.PipelineName] = dbpipeline - } - - for _, k8spipeline := range k8spipelines { - h.log.Infof("processing TektonPipeline %s", k8spipeline.Name) - for _, pipelineStatus := range k8spipeline.Status.Conditions { - if pipelineStatus.Type != "Ready" { - continue - } - - dbpipeline, ok := dbpipelineMap[k8spipeline.Name] - if !ok { - h.log.Infof("TektonPipeline name %s is not found in the db, skipping the update", k8spipeline.Name) - continue - } - - status := model.TektonPipelineNotReady - if strings.EqualFold(string(pipelineStatus.Status), "true") { - status = model.TektonPipelineReady - } - - dbpipeline.Status = string(status) - - v, _ := json.Marshal(dbpipeline) - fmt.Println("TektonPipeline ===>" + string(v)) - - if err := h.dbStore.UpsertTektonPipelines(dbpipeline); err != nil { - h.log.Errorf("failed to update TektonPipeline %s details in db, %v", k8spipeline.Name, err) - continue - } - h.log.Infof("updated the TektonPipeline eventlistener %s", k8spipeline.Name) - } - } - return nil -} diff --git a/capten/agent/internal/tekton/watchers.go b/capten/agent/internal/tekton/watchers.go deleted file mode 100644 index a5a5b30a..00000000 --- a/capten/agent/internal/tekton/watchers.go +++ /dev/null @@ -1,22 +0,0 @@ -package tekton - -import ( - "fmt" - - "github.com/intelops/go-common/logging" - captenstore "github.com/kube-tarian/kad/capten/agent/internal/capten-store" - "github.com/kube-tarian/kad/capten/common-pkg/k8s" -) - -func RegisterK8SWatcher(log logging.Logger, dbStore *captenstore.Store) error { - k8sclient, err := k8s.NewK8SClient(log) - if err != nil { - return fmt.Errorf("failed to initalize k8s client: %v", err) - } - - err = registerK8STektonPipelineSync(log, dbStore, k8sclient.DynamicClientInterface) - if err != nil { - return fmt.Errorf("failed to RegisterK8STektonPipelineSync: %v", err) - } - return nil -} diff --git a/capten/config-worker/internal/tekton/activity.go b/capten/config-worker/internal/tekton/activity.go index 8459512e..53daea7f 100644 --- a/capten/config-worker/internal/tekton/activity.go +++ b/capten/config-worker/internal/tekton/activity.go @@ -38,8 +38,8 @@ func processConfigurationActivity(ctx context.Context, params model.ConfigurePar case model.TektonProjectSync: reqLocal := &model.TektonProjectSyncUsecase{} if err := json.Unmarshal(payload, reqLocal); err != nil { - logger.Errorf("failed to unmarshall the tekton pipeline req for %s, %v", model.TektonPipelineCreate, err) - return string(model.WorkFlowStatusFailed), fmt.Errorf("failed to unmarshall the tekton req for %s", model.TektonPipelineCreate) + logger.Errorf("failed to unmarshall the tekton project synch req, %v", err) + return string(model.WorkFlowStatusFailed), fmt.Errorf("failed to unmarshall the tekton req") } status, err := cp.configureProjectAndApps(ctx, reqLocal) if err != nil { @@ -47,30 +47,6 @@ func processConfigurationActivity(ctx context.Context, params model.ConfigurePar return status, fmt.Errorf("failed to configure tekton project") } return status, nil - case model.TektonPipelineCreate: - reqLocal := &model.TektonPipelineUseCase{} - if err := json.Unmarshal(payload, reqLocal); err != nil { - logger.Errorf("failed to unmarshall the tekton pipeline req for %s, %v", model.TektonPipelineCreate, err) - return string(model.WorkFlowStatusFailed), fmt.Errorf("failed to unmarshall the tekton req for %s", model.TektonPipelineCreate) - } - err := cp.createOrUpdatePipeline(ctx, reqLocal) - if err != nil { - logger.Errorf("failed to create/update tekton pipeline %s, %v", reqLocal.PipelineName, err) - return string(model.WorkFlowStatusFailed), fmt.Errorf("failed to update tekton project %s", reqLocal.PipelineName) - } - return string(model.WorkFlowStatusCompleted), nil - case model.TektonPipelineDelete: - reqLocal := &model.TektonPipelineUseCase{} - if err := json.Unmarshal(payload, reqLocal); err != nil { - logger.Errorf("failed to unmarshall the tekton pipeline req for %s, %v", model.TektonPipelineCreate, err) - return string(model.WorkFlowStatusFailed), fmt.Errorf("failed to unmarshall the tekton req for %s", model.TektonPipelineCreate) - } - status, err := cp.deleteProjectAndApps(ctx, reqLocal) - if err != nil { - logger.Errorf("failed to delete tekton pipeline %s, %v", reqLocal.PipelineName, err) - return status, fmt.Errorf("failed to delete tekton pipeline %s", reqLocal.PipelineName) - } - return status, nil default: return string(model.WorkFlowStatusFailed), fmt.Errorf("invalid tekton pipeline action") } diff --git a/capten/config-worker/internal/tekton/config_tekton_app.go b/capten/config-worker/internal/tekton/config_tekton_app.go index fbce6454..28a4c6fb 100644 --- a/capten/config-worker/internal/tekton/config_tekton_app.go +++ b/capten/config-worker/internal/tekton/config_tekton_app.go @@ -2,25 +2,20 @@ package tekton import ( "context" - "encoding/base64" "encoding/json" "fmt" "os" "path/filepath" "strings" - "github.com/intelops/go-common/logging" "github.com/kelseyhightower/envconfig" "github.com/kube-tarian/kad/capten/common-pkg/k8s" - "github.com/kube-tarian/kad/capten/common-pkg/plugins/argocd" appconfig "github.com/kube-tarian/kad/capten/config-worker/internal/app_config" "github.com/kube-tarian/kad/capten/config-worker/internal/crossplane" "github.com/kube-tarian/kad/capten/model" agentmodel "github.com/kube-tarian/kad/capten/model" "github.com/otiai10/copy" "github.com/pkg/errors" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) var ( @@ -141,50 +136,6 @@ func (cp *TektonApp) configureProjectAndApps(ctx context.Context, req *model.Tek return string(agentmodel.WorkFlowStatusCompleted), nil } -func (cp *TektonApp) deleteProjectAndApps(ctx context.Context, req *model.TektonPipelineUseCase) (status string, err error) { - logger.Infof("cloning user repo %s", req.RepoURL) - customerRepo, err := cp.helper.CloneUserRepo(ctx, req.RepoURL, req.CredentialIdentifiers[agentmodel.TektonGitProject].Id) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to clone repos") - } - - defer os.RemoveAll(customerRepo) - logger.Infof("removing pipeline directory from %s", req.RepoURL) - err = cp.helper.RemoveFilesFromRepo([]string{filepath.Join(cp.pluginConfig.TektonPipelinePath, req.PipelineName)}) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to remove pipeline from repo") - } - logger.Infof("removed pipeline resources from project %s", req.RepoURL) - - err = updateArgoCDTemplate(filepath.Join(customerRepo, cp.pluginConfig.PipelineSyncUpdate.MainAppValues)) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to updateArgoCDTemplate") - } - - err = cp.helper.AddFilesToRepo([]string{"."}) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to add git repo") - } - - err = cp.helper.CommitRepoChanges() - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to commit git repo") - } - logger.Infof("added cloned project %s changed to git", req.RepoURL) - - err = cp.deleteSecrets(ctx, req) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to create k8s secrets") - } - - // err = cp.helper.DeleteArgoCDApp(ctx, pipelineNamespace, req.PipelineName, mainAppName) - // if err != nil { - // return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to delete argoCD apps") - // } - - return string(agentmodel.WorkFlowStatusCompleted), nil -} - func (cp *TektonApp) synchTektonConfig(req *model.TektonProjectSyncUsecase, templateDir, reqRepo string) error { for _, config := range []string{cp.pluginConfig.TektonProject, filepath.Join(cp.pluginConfig.PipelineClusterConfigSyncPath)} { err := copy.Copy(filepath.Join(templateDir, config), filepath.Join(reqRepo, config), @@ -268,151 +219,6 @@ func (cp *TektonApp) syncArgoCDChildApps(ctx context.Context, namespace string, return nil } -func (cp *TektonApp) createOrUpdatePipeline(ctx context.Context, req *model.TektonPipelineUseCase) error { - /*gloablVal, err := cp.helper.GetClusterGlobalValues(ctx, map[string]string{ - appconfig.DomainName: cp.cfg.DomainName}) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to get clusetr gloablValues") - } - - err = updatePipelineTemplate(filepath.Join(customerRepo, - strings.ReplaceAll(cp.pluginConfig.PipelineSyncUpdate.PipelineValues, "", req.PipelineName)), req.PipelineName, gloablVal[appconfig.DomainName]) - if err != nil { - return string(agentmodel.WorkFlowStatusFailed), errors.WithMessage(err, "failed to updatePipelineTemplate") - }*/ - - log := logging.NewLogger() - k8sclient, err := k8s.NewK8SClient(log) - if err != nil { - return fmt.Errorf("failed to initalize k8s client, %v", err) - } - - k8sclient.Clientset.CoreV1().Namespaces().Create(ctx, &v1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: pipelineNamespace}}, metav1.CreateOptions{}) - - // One time activity - key, pub, err := cp.helper.GetCosingKeys(ctx, cosignEntityName, cosignVaultId) - if err != nil { - return fmt.Errorf("failed to get cosign keys from vault, %v", err) - } - - if err := k8sclient.CreateOrUpdateSecret(ctx, pipelineNamespace, cosignSecName, - v1.SecretTypeOpaque, map[string][]byte{appconfig.CosignKey: []byte(key), - appconfig.CosignPub: []byte(pub)}, map[string]string{}); err != nil { - return fmt.Errorf("failed to create/update cosign-keys k8s secret, %v", err) - } - - for _, secret := range secrets { - strdata := make(map[string][]byte) - secName := secret + "-" + req.PipelineName - switch secret { - case dockerCred: - username, password, err := cp.helper.GetContainerRegCreds(ctx, - req.CredentialIdentifiers[agentmodel.Container].Identifier, req.CredentialIdentifiers[agentmodel.Container].Id) - if err != nil { - return fmt.Errorf("failed to get docker cfg secret, %v", err) - } - - data, err := handleDockerCfgJSONContent(username, password, req.CredentialIdentifiers[agentmodel.Container].Url) - if err != nil { - return fmt.Errorf("failed to get docker cfg secret, %v", err) - } - strdata[".dockerconfigjson"] = data - strdata["config.json"] = data - if err := k8sclient.CreateOrUpdateSecret(ctx, pipelineNamespace, secName, - v1.SecretTypeDockerConfigJson, strdata, map[string]string{}); err != nil { - return fmt.Errorf("failed to create/update k8s secret, %v", err) - } - - case cosignDockerSecret: - username, password, err := cp.helper.GetContainerRegCreds(ctx, - req.CredentialIdentifiers[agentmodel.Container].Identifier, req.CredentialIdentifiers[agentmodel.Container].Id) - if err != nil { - return fmt.Errorf("failed to get docker cfg secret, %v", err) - } - strdata["username"] = []byte(username) - strdata["password"] = []byte(password) - strdata["registry"] = []byte(req.CredentialIdentifiers[agentmodel.Container].Url) - if err := k8sclient.CreateOrUpdateSecret(ctx, pipelineNamespace, secName, - v1.SecretTypeOpaque, strdata, map[string]string{}); err != nil { - return fmt.Errorf("failed to create/update k8s secret, %v", err) - } - - case gitCred, githubWebhook: - username, token, err := cp.helper.GetGitCreds(ctx, req.CredentialIdentifiers[agentmodel.GitOrg].Id) - if err != nil { - return fmt.Errorf("failed to get git secret, %v", err) - } - strdata["username"] = []byte(username) - strdata["password"] = []byte(token) - if err := k8sclient.CreateOrUpdateSecret(ctx, pipelineNamespace, secName, - v1.SecretTypeBasicAuth, strdata, nil); err != nil { - return fmt.Errorf("failed to create/update k8s secret, %v", err) - } - case argoCred: - cfg, err := argocd.GetConfig(log) - if err != nil { - return fmt.Errorf("failed to get argo-cd secret, %v", err) - } - strdata["SERVER_URL"] = []byte(cfg.ServiceURL) - strdata["USERNAME"] = []byte(cfg.Username) - strdata["PASSWORD"] = []byte(cfg.Password) - if err := k8sclient.CreateOrUpdateSecret(ctx, pipelineNamespace, secName, - v1.SecretTypeOpaque, strdata, map[string]string{}); err != nil { - return fmt.Errorf("failed to create/update k8s secret, %v", err) - } - case crossplaneProjectConfig: - username, token, err := cp.helper.GetGitCreds(ctx, req.CredentialIdentifiers[agentmodel.CrossplaneGitProject].Id) - if err != nil { - return fmt.Errorf("failed to get git secret, %v", err) - } - - kubeConfig, kubeCa, kubeEndpoint, err := cp.helper.GetClusterCreds(ctx, req.CredentialIdentifiers[agentmodel.ManagedCluster].Identifier, req.CredentialIdentifiers[agentmodel.ManagedCluster].Id) - if err != nil { - return fmt.Errorf("failed to get GetClusterCreds, %v", err) - } - - projectURL := req.CredentialIdentifiers[agentmodel.CrossplaneGitProject].Url - projectURLParts := strings.Split(projectURL, "https://") - if len(projectURLParts) != 2 { - return fmt.Errorf("project url not in correct format, %s", projectURL) - } - - strdata["GIT_USER_NAME"] = []byte(username) - strdata["GIT_TOKEN"] = []byte(token) - strdata["GIT_PROJECT_URL"] = []byte(projectURLParts[1]) - strdata["APP_CONFIG_PATH"] = []byte(filepath.Join(cp.crossplanConfig.ClusterEndpointUpdates.ClusterDefaultAppValuesPath, req.CredentialIdentifiers[agentmodel.ManagedCluster].Url, "apps")) - strdata["CLUSTER_CA"] = []byte(kubeCa) - strdata["CLUSTER_ENDPOINT"] = []byte(kubeEndpoint) - strdata["CLUSTER_CONFIG"] = []byte(kubeConfig) - strdata["CLUSTER_NAME"] = []byte(req.CredentialIdentifiers[agentmodel.ManagedCluster].Url) - - if err := k8sclient.CreateOrUpdateSecret(ctx, pipelineNamespace, secName, - v1.SecretTypeOpaque, strdata, nil); err != nil { - return fmt.Errorf("failed to create/update k8s secret, %v", err) - } - - default: - return fmt.Errorf("secret step: %s type not found", secret) - } - } - return nil -} - -func (cp *TektonApp) deleteSecrets(ctx context.Context, req *model.TektonPipelineUseCase) error { - k8sclient, err := k8s.NewK8SClient(logging.NewLogger()) - if err != nil { - return fmt.Errorf("failed to initalize k8s client, %v", err) - } - - for _, secret := range secrets { - if err := k8sclient.DeleteSecret(ctx, pipelineNamespace, secret+"-"+req.PipelineName); err != nil { - return err - } - } - - return nil -} - func replaceCaptenUrls(dir string, src, target string) error { if !strings.HasSuffix(src, ".git") { src += ".git" @@ -472,31 +278,6 @@ func updateArgoCDTemplate(valuesFileName string) error { return err } - /*if tektonConfig.TektonPipelines == nil { - tektonConfig.TektonPipelines = &[]TektonPipeline{} - } - - switch action { - case addPipeline: - tektonPipelines := []TektonPipeline{{Name: pipelineName}} - - for _, pipeline := range *tektonConfig.TektonPipelines { - tektonPipelines = append(tektonPipelines, TektonPipeline{Name: pipeline.Name}) - } - - tektonConfig.TektonPipelines = &tektonPipelines - case deletePipeline: - tektonPipelines := []TektonPipeline{} - for _, pipeline := range *tektonConfig.TektonPipelines { - if pipeline.Name == pipelineName { - continue - } - tektonPipelines = append(tektonPipelines, TektonPipeline{Name: pipeline.Name}) - } - - tektonConfig.TektonPipelines = &tektonPipelines - }*/ - jsonBytes, err := json.Marshal(tektonConfig) if err != nil { return err @@ -510,64 +291,3 @@ func updateArgoCDTemplate(valuesFileName string) error { err = os.WriteFile(valuesFileName, yamlBytes, os.ModeAppend) return err } - -func updatePipelineTemplate(valuesFileName, pipelineName, domainName string) error { - data, err := os.ReadFile(valuesFileName) - if err != nil { - return err - } - - jsonData, err := k8s.ConvertYamlToJson(data) - if err != nil { - return err - } - - var tektonPipelineConfig TektonPieplineConfigValues - err = json.Unmarshal(jsonData, &tektonPipelineConfig) - if err != nil { - return err - } - - tektonPipelineConfig.IngressDomainName = domainName - tektonPipelineConfig.PipelineName = pipelineName - secretName := []SecretNames{} - - for _, secret := range secrets { - secretName = append(secretName, SecretNames{Name: secret + "-" + pipelineName}) - } - - tektonPipelineConfig.SecretName = &secretName - - jsonBytes, err := json.Marshal(tektonPipelineConfig) - if err != nil { - return err - } - - yamlBytes, err := k8s.ConvertJsonToYaml(jsonBytes) - if err != nil { - return err - } - - err = os.WriteFile(valuesFileName, yamlBytes, os.ModeAppend) - return err -} - -// handleDockerCfgJSONContent serializes a ~/.docker/config.json file -func handleDockerCfgJSONContent(username, password, server string) ([]byte, error) { - dockerConfigAuth := DockerConfigEntry{ - Username: username, - Password: password, - Auth: encodeDockerConfigFieldAuth(username, password), - } - dockerConfigJSON := DockerConfigJSON{ - Auths: map[string]DockerConfigEntry{server: dockerConfigAuth}, - } - - return json.Marshal(dockerConfigJSON) -} - -// encodeDockerConfigFieldAuth returns base64 encoding of the username and password string -func encodeDockerConfigFieldAuth(username, password string) string { - fieldValue := username + ":" + password - return base64.StdEncoding.EncodeToString([]byte(fieldValue)) -} diff --git a/capten/model/config_workflow_types.go b/capten/model/config_workflow_types.go index ae08dc70..0c2d48e2 100644 --- a/capten/model/config_workflow_types.go +++ b/capten/model/config_workflow_types.go @@ -71,11 +71,3 @@ type CrossplaneProviderUpdate struct { GitProjectId string `json:"gitProjectId,omitempty"` RepoURL string `json:"repoURL,omitempty"` } - -type TektonPipelineUseCase struct { - Type string `json:"Type,omitempty"` - RepoURL string `json:"RepoURL,omitempty"` - PipelineName string `json:"PipelineName,omitempty"` - Timeout uint32 `json:"Timeout,omitempty"` - CredentialIdentifiers map[Identifiers]CredentialIdentifier `json:"CredentialIdentifiers,omitempty"` -} diff --git a/capten/model/tekton_types.go b/capten/model/tekton_types.go index c37c25d9..dadba6aa 100644 --- a/capten/model/tekton_types.go +++ b/capten/model/tekton_types.go @@ -16,26 +16,7 @@ const ( const ( TektonPipelineConfigUseCase = "tekton" TektonHostName = "tekton" - TektonPipelineCreate = "tekton-pipeline-create" TektonProjectSync = "tekton-project-sync" - TektonPipelineDelete = "tekton-pipeline-delete" -) - -type TektonPipelineStatus string - -const ( - TektonPipelineAvailable TektonPipelineStatus = "available" - TektonPipelineConfigured TektonPipelineStatus = "configured" - TektonPipelineConfigurationOngoing TektonPipelineStatus = "configuration-ongoing" - TektonPipelineConfigurationFailed TektonPipelineStatus = "configuration-failed" -) - -const ( - TektonPipelineOutofSynch TektonPipelineStatus = "OutOfSynch" - TektonPipelineInSynch TektonPipelineStatus = "InSynch" - TektonPipelineFailedToSynch TektonPipelineStatus = "FailedToSynch" - TektonPipelineReady TektonPipelineStatus = "Ready" - TektonPipelineNotReady TektonPipelineStatus = "NotReady" ) type TektonProject struct { diff --git a/proto/capten_plugins.proto b/proto/capten_plugins.proto index fe2cec89..4f60df69 100644 --- a/proto/capten_plugins.proto +++ b/proto/capten_plugins.proto @@ -13,11 +13,6 @@ service capten_plugins { rpc GetGitProjects(GetGitProjectsRequest) returns (GetGitProjectsResponse) {} rpc GetGitProjectsForLabels(GetGitProjectsForLabelsRequest) returns (GetGitProjectsForLabelsResponse) {} - rpc GetTektonPipelines(GetTektonPipelinesRequest) returns (GetTektonPipelinesResponse) {} - rpc CreateTektonPipeline(CreateTektonPipelineRequest) returns (CreateTektonPipelineResponse) {} - rpc UpdateTektonPipeline(UpdateTektonPipelineRequest) returns (UpdateTektonPipelineResponse) {} - rpc DeleteTektonPipeline(DeleteTektonPipelineRequest) returns(DeleteTektonPipelineResponse) {} - rpc AddContainerRegistry(AddContainerRegistryRequest) returns (AddContainerRegistryResponse) {} rpc UpdateContainerRegistry(UpdateContainerRegistryRequest) returns (UpdateContainerRegistryResponse) {} rpc DeleteContainerRegistry(DeleteContainerRegistryRequest) returns (DeleteContainerRegistryResponse) {} @@ -434,62 +429,3 @@ message GetContainerRegistryResponse { StatusCode status = 2; string statusMessage = 3; } - -message TektonPipelines { - string id = 1; - string pipelineName = 2; - string webhookURL = 3; - string status = 4; - string gitOrgId = 5; - repeated string containerRegistryIds = 6; - string managedClusterId = 7; - string crossPlaneGitProjectId = 8; - string lastUpdateTime = 9; -} - -message GetTektonPipelinesRequest { -} - - -message GetTektonPipelinesResponse { - repeated TektonPipelines pipelines = 1; - StatusCode status = 2; - string statusMessage = 3; -} - -message CreateTektonPipelineRequest { - string pipelineName = 1; - string gitOrgId = 2; - repeated string containerRegistryIds = 3; - string managedClusterId = 4; - string crossPlaneGitProjectId = 5; -} - -message CreateTektonPipelineResponse { - string id = 1; - StatusCode status = 2; - string statusMessage = 3; -} - -message UpdateTektonPipelineRequest { - string id = 1; - string gitOrgId = 2; - repeated string containerRegistryIds = 3; - string managedClusterId = 4; - string crossPlaneGitProjectId = 5; -} - -message UpdateTektonPipelineResponse { - string id = 1; - StatusCode status = 2; - string statusMessage = 3; -} - -message DeleteTektonPipelineRequest { - string id = 1; -} - -message DeleteTektonPipelineResponse { - StatusCode status = 1; - string statusMessage = 2; -} \ No newline at end of file diff --git a/server/pkg/api/plugin_tekton_pipelines.go b/server/pkg/api/plugin_tekton_pipelines.go deleted file mode 100644 index 5a5e9e72..00000000 --- a/server/pkg/api/plugin_tekton_pipelines.go +++ /dev/null @@ -1,162 +0,0 @@ -package api - -import ( - "context" - - "github.com/kube-tarian/kad/server/pkg/pb/captenpluginspb" -) - -func (s *Server) GetTektonPipelines(ctx context.Context, request *captenpluginspb.GetTektonPipelinesRequest) ( - *captenpluginspb.GetTektonPipelinesResponse, error) { - orgId, clusterId, err := validateOrgClusterWithArgs(ctx) - if err != nil { - s.log.Infof("request validation failed", err) - return &captenpluginspb.GetTektonPipelinesResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, nil - } - s.log.Infof("GetTektonPipelines request for cluster %s recieved, [org: %s]", - clusterId, orgId) - - agent, err := s.agentHandeler.GetAgent(orgId, clusterId) - if err != nil { - s.log.Errorf("failed to initialize agent, %v", err) - return &captenpluginspb.GetTektonPipelinesResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to initialize agent", - }, err - } - - pieplines, err := agent.GetCaptenPluginsClient().GetTektonPipelines(ctx, request) - if err != nil { - s.log.Errorf("failed to get tekton pipelines, %v", err) - return &captenpluginspb.GetTektonPipelinesResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to get tekton pipelines", - }, err - } - - s.log.Infof("get tekton pipelines for cluster %s successful, [org: %s]", - clusterId, orgId) - return &captenpluginspb.GetTektonPipelinesResponse{ - Pipelines: pieplines.Pipelines, - Status: captenpluginspb.StatusCode_OK, - StatusMessage: "get tekton pipelines successful", - }, nil -} - -func (s *Server) CreateTektonPipeline(ctx context.Context, request *captenpluginspb.CreateTektonPipelineRequest) ( - *captenpluginspb.CreateTektonPipelineResponse, error) { - orgId, clusterId, err := validateOrgClusterWithArgs(ctx) - if err != nil { - s.log.Infof("request validation failed", err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, nil - } - s.log.Infof("Create TektonPipelines for cluster %s recieved, [org: %s]", - clusterId, orgId) - - agent, err := s.agentHandeler.GetAgent(orgId, clusterId) - if err != nil { - s.log.Errorf("failed to initialize agent, %v", err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to initialize agent", - }, err - } - - tektonResp, err := agent.GetCaptenPluginsClient().CreateTektonPipeline(ctx, request) - if err != nil { - s.log.Errorf("failed to create TektonPipelines , %v", err) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to create TektonPipelines", - }, err - } - - s.log.Infof("Created the TektonPipelines for cluster %s, [org: %s]", - clusterId, orgId) - return &captenpluginspb.CreateTektonPipelineResponse{ - Status: tektonResp.Status, - StatusMessage: "Creation of TektonPipelines successful", - }, nil -} - -func (s *Server) UpdateTektonPipeline(ctx context.Context, request *captenpluginspb.UpdateTektonPipelineRequest) (*captenpluginspb.UpdateTektonPipelineResponse, error) { - orgId, clusterId, err := validateOrgClusterWithArgs(ctx) - if err != nil { - s.log.Infof("request validation failed", err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, nil - } - s.log.Infof("update TektonPipelines for cluster %s recieved, [org: %s]", - clusterId, orgId) - - agent, err := s.agentHandeler.GetAgent(orgId, clusterId) - if err != nil { - s.log.Errorf("failed to initialize agent, %v", err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to initialize agent", - }, err - } - - _, err = agent.GetCaptenPluginsClient().UpdateTektonPipeline(ctx, request) - if err != nil { - s.log.Errorf("failed to update TektonPipelines , %v", err) - return &captenpluginspb.UpdateTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to update TektonPipelines", - }, err - } - - s.log.Infof("updated the TektonPipelines for cluster %s, [org: %s]", - clusterId, orgId) - return &captenpluginspb.UpdateTektonPipelineResponse{ - StatusMessage: "update of TektonPipelines successful", - Status: captenpluginspb.StatusCode_OK, - }, nil -} - -func (s *Server) DeleteTektonPipeline(ctx context.Context, request *captenpluginspb.DeleteTektonPipelineRequest) (*captenpluginspb.DeleteTektonPipelineResponse, error) { - orgId, clusterId, err := validateOrgClusterWithArgs(ctx, request.Id) - if err != nil { - s.log.Infof("request validation failed", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INVALID_ARGUMENT, - StatusMessage: "request validation failed", - }, nil - } - s.log.Infof("update TektonPipelines for cluster %s recieved, [org: %s]", - clusterId, orgId) - - agent, err := s.agentHandeler.GetAgent(orgId, clusterId) - if err != nil { - s.log.Errorf("failed to initialize agent, %v", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to initialize agent", - }, err - } - - _, err = agent.GetCaptenPluginsClient().DeleteTektonPipeline(ctx, request) - if err != nil { - s.log.Errorf("failed to delete TektonPipelines , %v", err) - return &captenpluginspb.DeleteTektonPipelineResponse{ - Status: captenpluginspb.StatusCode_INTERNAL_ERROR, - StatusMessage: "failed to delete TektonPipelines", - }, err - } - - s.log.Infof("Deleted the TektonPipelines for cluster %s, [org: %s]", - clusterId, orgId) - return &captenpluginspb.DeleteTektonPipelineResponse{ - StatusMessage: "deletion of TektonPipelines successful", - Status: captenpluginspb.StatusCode_OK, - }, nil -} diff --git a/server/pkg/pb/captenpluginspb/capten_plugins.pb.go b/server/pkg/pb/captenpluginspb/capten_plugins.pb.go index 80d492b9..72596bbe 100644 --- a/server/pkg/pb/captenpluginspb/capten_plugins.pb.go +++ b/server/pkg/pb/captenpluginspb/capten_plugins.pb.go @@ -4106,604 +4106,6 @@ func (x *GetContainerRegistryResponse) GetStatusMessage() string { return "" } -type TektonPipelines struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - PipelineName string `protobuf:"bytes,2,opt,name=pipelineName,proto3" json:"pipelineName,omitempty"` - WebhookURL string `protobuf:"bytes,3,opt,name=webhookURL,proto3" json:"webhookURL,omitempty"` - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - GitOrgId string `protobuf:"bytes,5,opt,name=gitOrgId,proto3" json:"gitOrgId,omitempty"` - ContainerRegistryIds []string `protobuf:"bytes,6,rep,name=containerRegistryIds,proto3" json:"containerRegistryIds,omitempty"` - ManagedClusterId string `protobuf:"bytes,7,opt,name=managedClusterId,proto3" json:"managedClusterId,omitempty"` - CrossPlaneGitProjectId string `protobuf:"bytes,8,opt,name=crossPlaneGitProjectId,proto3" json:"crossPlaneGitProjectId,omitempty"` - LastUpdateTime string `protobuf:"bytes,9,opt,name=lastUpdateTime,proto3" json:"lastUpdateTime,omitempty"` -} - -func (x *TektonPipelines) Reset() { - *x = TektonPipelines{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TektonPipelines) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TektonPipelines) ProtoMessage() {} - -func (x *TektonPipelines) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[69] - 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 TektonPipelines.ProtoReflect.Descriptor instead. -func (*TektonPipelines) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{69} -} - -func (x *TektonPipelines) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *TektonPipelines) GetPipelineName() string { - if x != nil { - return x.PipelineName - } - return "" -} - -func (x *TektonPipelines) GetWebhookURL() string { - if x != nil { - return x.WebhookURL - } - return "" -} - -func (x *TektonPipelines) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -func (x *TektonPipelines) GetGitOrgId() string { - if x != nil { - return x.GitOrgId - } - return "" -} - -func (x *TektonPipelines) GetContainerRegistryIds() []string { - if x != nil { - return x.ContainerRegistryIds - } - return nil -} - -func (x *TektonPipelines) GetManagedClusterId() string { - if x != nil { - return x.ManagedClusterId - } - return "" -} - -func (x *TektonPipelines) GetCrossPlaneGitProjectId() string { - if x != nil { - return x.CrossPlaneGitProjectId - } - return "" -} - -func (x *TektonPipelines) GetLastUpdateTime() string { - if x != nil { - return x.LastUpdateTime - } - return "" -} - -type GetTektonPipelinesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetTektonPipelinesRequest) Reset() { - *x = GetTektonPipelinesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTektonPipelinesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTektonPipelinesRequest) ProtoMessage() {} - -func (x *GetTektonPipelinesRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[70] - 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 GetTektonPipelinesRequest.ProtoReflect.Descriptor instead. -func (*GetTektonPipelinesRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{70} -} - -type GetTektonPipelinesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pipelines []*TektonPipelines `protobuf:"bytes,1,rep,name=pipelines,proto3" json:"pipelines,omitempty"` - Status StatusCode `protobuf:"varint,2,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,3,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *GetTektonPipelinesResponse) Reset() { - *x = GetTektonPipelinesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTektonPipelinesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTektonPipelinesResponse) ProtoMessage() {} - -func (x *GetTektonPipelinesResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[71] - 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 GetTektonPipelinesResponse.ProtoReflect.Descriptor instead. -func (*GetTektonPipelinesResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{71} -} - -func (x *GetTektonPipelinesResponse) GetPipelines() []*TektonPipelines { - if x != nil { - return x.Pipelines - } - return nil -} - -func (x *GetTektonPipelinesResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *GetTektonPipelinesResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -type CreateTektonPipelineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PipelineName string `protobuf:"bytes,1,opt,name=pipelineName,proto3" json:"pipelineName,omitempty"` - GitOrgId string `protobuf:"bytes,2,opt,name=gitOrgId,proto3" json:"gitOrgId,omitempty"` - ContainerRegistryIds []string `protobuf:"bytes,3,rep,name=containerRegistryIds,proto3" json:"containerRegistryIds,omitempty"` - ManagedClusterId string `protobuf:"bytes,4,opt,name=managedClusterId,proto3" json:"managedClusterId,omitempty"` - CrossPlaneGitProjectId string `protobuf:"bytes,5,opt,name=crossPlaneGitProjectId,proto3" json:"crossPlaneGitProjectId,omitempty"` -} - -func (x *CreateTektonPipelineRequest) Reset() { - *x = CreateTektonPipelineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateTektonPipelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateTektonPipelineRequest) ProtoMessage() {} - -func (x *CreateTektonPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[72] - 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 CreateTektonPipelineRequest.ProtoReflect.Descriptor instead. -func (*CreateTektonPipelineRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{72} -} - -func (x *CreateTektonPipelineRequest) GetPipelineName() string { - if x != nil { - return x.PipelineName - } - return "" -} - -func (x *CreateTektonPipelineRequest) GetGitOrgId() string { - if x != nil { - return x.GitOrgId - } - return "" -} - -func (x *CreateTektonPipelineRequest) GetContainerRegistryIds() []string { - if x != nil { - return x.ContainerRegistryIds - } - return nil -} - -func (x *CreateTektonPipelineRequest) GetManagedClusterId() string { - if x != nil { - return x.ManagedClusterId - } - return "" -} - -func (x *CreateTektonPipelineRequest) GetCrossPlaneGitProjectId() string { - if x != nil { - return x.CrossPlaneGitProjectId - } - return "" -} - -type CreateTektonPipelineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status StatusCode `protobuf:"varint,2,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,3,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *CreateTektonPipelineResponse) Reset() { - *x = CreateTektonPipelineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateTektonPipelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateTektonPipelineResponse) ProtoMessage() {} - -func (x *CreateTektonPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[73] - 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 CreateTektonPipelineResponse.ProtoReflect.Descriptor instead. -func (*CreateTektonPipelineResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{73} -} - -func (x *CreateTektonPipelineResponse) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *CreateTektonPipelineResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *CreateTektonPipelineResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -type UpdateTektonPipelineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - GitOrgId string `protobuf:"bytes,2,opt,name=gitOrgId,proto3" json:"gitOrgId,omitempty"` - ContainerRegistryIds []string `protobuf:"bytes,3,rep,name=containerRegistryIds,proto3" json:"containerRegistryIds,omitempty"` - ManagedClusterId string `protobuf:"bytes,4,opt,name=managedClusterId,proto3" json:"managedClusterId,omitempty"` - CrossPlaneGitProjectId string `protobuf:"bytes,5,opt,name=crossPlaneGitProjectId,proto3" json:"crossPlaneGitProjectId,omitempty"` -} - -func (x *UpdateTektonPipelineRequest) Reset() { - *x = UpdateTektonPipelineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateTektonPipelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateTektonPipelineRequest) ProtoMessage() {} - -func (x *UpdateTektonPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[74] - 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 UpdateTektonPipelineRequest.ProtoReflect.Descriptor instead. -func (*UpdateTektonPipelineRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{74} -} - -func (x *UpdateTektonPipelineRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *UpdateTektonPipelineRequest) GetGitOrgId() string { - if x != nil { - return x.GitOrgId - } - return "" -} - -func (x *UpdateTektonPipelineRequest) GetContainerRegistryIds() []string { - if x != nil { - return x.ContainerRegistryIds - } - return nil -} - -func (x *UpdateTektonPipelineRequest) GetManagedClusterId() string { - if x != nil { - return x.ManagedClusterId - } - return "" -} - -func (x *UpdateTektonPipelineRequest) GetCrossPlaneGitProjectId() string { - if x != nil { - return x.CrossPlaneGitProjectId - } - return "" -} - -type UpdateTektonPipelineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status StatusCode `protobuf:"varint,2,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,3,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *UpdateTektonPipelineResponse) Reset() { - *x = UpdateTektonPipelineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateTektonPipelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateTektonPipelineResponse) ProtoMessage() {} - -func (x *UpdateTektonPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[75] - 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 UpdateTektonPipelineResponse.ProtoReflect.Descriptor instead. -func (*UpdateTektonPipelineResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{75} -} - -func (x *UpdateTektonPipelineResponse) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *UpdateTektonPipelineResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *UpdateTektonPipelineResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - -type DeleteTektonPipelineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *DeleteTektonPipelineRequest) Reset() { - *x = DeleteTektonPipelineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteTektonPipelineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteTektonPipelineRequest) ProtoMessage() {} - -func (x *DeleteTektonPipelineRequest) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[76] - 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 DeleteTektonPipelineRequest.ProtoReflect.Descriptor instead. -func (*DeleteTektonPipelineRequest) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{76} -} - -func (x *DeleteTektonPipelineRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type DeleteTektonPipelineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status StatusCode `protobuf:"varint,1,opt,name=status,proto3,enum=captenpluginspb.StatusCode" json:"status,omitempty"` - StatusMessage string `protobuf:"bytes,2,opt,name=statusMessage,proto3" json:"statusMessage,omitempty"` -} - -func (x *DeleteTektonPipelineResponse) Reset() { - *x = DeleteTektonPipelineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_capten_plugins_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteTektonPipelineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteTektonPipelineResponse) ProtoMessage() {} - -func (x *DeleteTektonPipelineResponse) ProtoReflect() protoreflect.Message { - mi := &file_capten_plugins_proto_msgTypes[77] - 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 DeleteTektonPipelineResponse.ProtoReflect.Descriptor instead. -func (*DeleteTektonPipelineResponse) Descriptor() ([]byte, []int) { - return file_capten_plugins_proto_rawDescGZIP(), []int{77} -} - -func (x *DeleteTektonPipelineResponse) GetStatus() StatusCode { - if x != nil { - return x.Status - } - return StatusCode_OK -} - -func (x *DeleteTektonPipelineResponse) GetStatusMessage() string { - if x != nil { - return x.StatusMessage - } - return "" -} - var File_capten_plugins_proto protoreflect.FileDescriptor var file_capten_plugins_proto_rawDesc = []byte{ @@ -5281,362 +4683,239 @@ var file_capten_plugins_proto_rawDesc = []byte{ 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x02, 0x0a, 0x0f, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x55, 0x52, 0x4c, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, - 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x36, 0x0a, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb7, 0x01, - 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, - 0x62, 0x2e, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x52, 0x09, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, - 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, - 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, - 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, - 0x89, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe1, 0x01, 0x0a, 0x1b, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x69, 0x74, 0x4f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x50, 0x6c, - 0x61, 0x6e, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, - 0x89, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2d, 0x0a, 0x1b, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x79, 0x0a, 0x1c, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x4d, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0x03, 0x32, 0xf3, 0x1f, 0x0a, 0x0e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x5f, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, - 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x69, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x63, - 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, - 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x7e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, + 0x73, 0x61, 0x67, 0x65, 0x2a, 0x4d, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, + 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, + 0x44, 0x10, 0x03, 0x32, 0x9d, 0x1c, 0x0a, 0x0e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x5f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, - 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, - 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, - 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x75, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, - 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6b, - 0x74, 0x6f, 0x6e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, - 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, - 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x43, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x60, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, + 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, - 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, - 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, - 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, - 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, - 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x12, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, + 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, + 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x6e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, - 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, - 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, - 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, - 0x0a, 0x17, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, - 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, - 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, + 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, + 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x47, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, + 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, - 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, + 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, - 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, - 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, - 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x7e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, - 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, - 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, + 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, + 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, + 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x84, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x2e, + 0x6c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, + 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, + 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, - 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, - 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, + 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, + 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, + 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, + 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, + 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, + 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, 0x44, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x72, 0x67, 0x6f, 0x43, + 0x44, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x78, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, + 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, + 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x28, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, + 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x6e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x54, + 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x54, 0x65, 0x6b, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x75, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x43, 0x72, + 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x2c, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, + 0x62, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x8a, 0x01, 0x0a, 0x1b, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, - 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, - 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, - 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x41, 0x64, 0x64, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, + 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, + 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, + 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x84, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, - 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x61, 0x70, 0x74, + 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x77, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, + 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x72, 0x6f, 0x73, + 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x55, 0x6e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, + 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x55, 0x6e, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x12, 0x5a, 0x10, 0x2f, 0x63, - 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x55, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8a, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x2e, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x61, + 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4b, + 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x42, 0x12, 0x5a, 0x10, 0x2f, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5652,7 +4931,7 @@ func file_capten_plugins_proto_rawDescGZIP() []byte { } var file_capten_plugins_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_capten_plugins_proto_msgTypes = make([]protoimpl.MessageInfo, 84) +var file_capten_plugins_proto_msgTypes = make([]protoimpl.MessageInfo, 75) var file_capten_plugins_proto_goTypes = []interface{}{ (StatusCode)(0), // 0: captenpluginspb.StatusCode (*UpdateCrossplanProviderRequest)(nil), // 1: captenpluginspb.UpdateCrossplanProviderRequest @@ -5724,21 +5003,12 @@ var file_capten_plugins_proto_goTypes = []interface{}{ (*GetContainerRegistryRequest)(nil), // 67: captenpluginspb.GetContainerRegistryRequest (*ContainerRegistry)(nil), // 68: captenpluginspb.ContainerRegistry (*GetContainerRegistryResponse)(nil), // 69: captenpluginspb.GetContainerRegistryResponse - (*TektonPipelines)(nil), // 70: captenpluginspb.TektonPipelines - (*GetTektonPipelinesRequest)(nil), // 71: captenpluginspb.GetTektonPipelinesRequest - (*GetTektonPipelinesResponse)(nil), // 72: captenpluginspb.GetTektonPipelinesResponse - (*CreateTektonPipelineRequest)(nil), // 73: captenpluginspb.CreateTektonPipelineRequest - (*CreateTektonPipelineResponse)(nil), // 74: captenpluginspb.CreateTektonPipelineResponse - (*UpdateTektonPipelineRequest)(nil), // 75: captenpluginspb.UpdateTektonPipelineRequest - (*UpdateTektonPipelineResponse)(nil), // 76: captenpluginspb.UpdateTektonPipelineResponse - (*DeleteTektonPipelineRequest)(nil), // 77: captenpluginspb.DeleteTektonPipelineRequest - (*DeleteTektonPipelineResponse)(nil), // 78: captenpluginspb.DeleteTektonPipelineResponse - nil, // 79: captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry - nil, // 80: captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry - nil, // 81: captenpluginspb.CloudProvider.CloudAttributesEntry - nil, // 82: captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry - nil, // 83: captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry - nil, // 84: captenpluginspb.ContainerRegistry.RegistryAttributesEntry + nil, // 70: captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry + nil, // 71: captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry + nil, // 72: captenpluginspb.CloudProvider.CloudAttributesEntry + nil, // 73: captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry + nil, // 74: captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry + nil, // 75: captenpluginspb.ContainerRegistry.RegistryAttributesEntry } var file_capten_plugins_proto_depIdxs = []int32{ 0, // 0: captenpluginspb.UpdateCrossplanProviderResponse.status:type_name -> captenpluginspb.StatusCode @@ -5753,12 +5023,12 @@ var file_capten_plugins_proto_depIdxs = []int32{ 0, // 9: captenpluginspb.GetGitProjectsResponse.status:type_name -> captenpluginspb.StatusCode 17, // 10: captenpluginspb.GetGitProjectsForLabelsResponse.projects:type_name -> captenpluginspb.GitProject 0, // 11: captenpluginspb.GetGitProjectsForLabelsResponse.status:type_name -> captenpluginspb.StatusCode - 79, // 12: captenpluginspb.AddCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry + 70, // 12: captenpluginspb.AddCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.AddCloudProviderRequest.CloudAttributesEntry 0, // 13: captenpluginspb.AddCloudProviderResponse.status:type_name -> captenpluginspb.StatusCode - 80, // 14: captenpluginspb.UpdateCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry + 71, // 14: captenpluginspb.UpdateCloudProviderRequest.cloudAttributes:type_name -> captenpluginspb.UpdateCloudProviderRequest.CloudAttributesEntry 0, // 15: captenpluginspb.UpdateCloudProviderResponse.status:type_name -> captenpluginspb.StatusCode 0, // 16: captenpluginspb.DeleteCloudProviderResponse.status:type_name -> captenpluginspb.StatusCode - 81, // 17: captenpluginspb.CloudProvider.cloudAttributes:type_name -> captenpluginspb.CloudProvider.CloudAttributesEntry + 72, // 17: captenpluginspb.CloudProvider.cloudAttributes:type_name -> captenpluginspb.CloudProvider.CloudAttributesEntry 28, // 18: captenpluginspb.GetCloudProvidersResponse.cloudProviders:type_name -> captenpluginspb.CloudProvider 0, // 19: captenpluginspb.GetCloudProvidersResponse.status:type_name -> captenpluginspb.StatusCode 28, // 20: captenpluginspb.GetCloudProvidersWithFilterResponse.cloudProviders:type_name -> captenpluginspb.CloudProvider @@ -5780,92 +5050,79 @@ var file_capten_plugins_proto_depIdxs = []int32{ 0, // 36: captenpluginspb.GetManagedClustersResponse.status:type_name -> captenpluginspb.StatusCode 56, // 37: captenpluginspb.GetManagedClustersResponse.clusters:type_name -> captenpluginspb.ManagedCluster 0, // 38: captenpluginspb.GetManagedClusterKubeconfigResponse.status:type_name -> captenpluginspb.StatusCode - 82, // 39: captenpluginspb.AddContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry + 73, // 39: captenpluginspb.AddContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.AddContainerRegistryRequest.RegistryAttributesEntry 0, // 40: captenpluginspb.AddContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode - 83, // 41: captenpluginspb.UpdateContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry + 74, // 41: captenpluginspb.UpdateContainerRegistryRequest.registryAttributes:type_name -> captenpluginspb.UpdateContainerRegistryRequest.RegistryAttributesEntry 0, // 42: captenpluginspb.UpdateContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode 0, // 43: captenpluginspb.DeleteContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode - 84, // 44: captenpluginspb.ContainerRegistry.registryAttributes:type_name -> captenpluginspb.ContainerRegistry.RegistryAttributesEntry + 75, // 44: captenpluginspb.ContainerRegistry.registryAttributes:type_name -> captenpluginspb.ContainerRegistry.RegistryAttributesEntry 68, // 45: captenpluginspb.GetContainerRegistryResponse.registries:type_name -> captenpluginspb.ContainerRegistry 0, // 46: captenpluginspb.GetContainerRegistryResponse.status:type_name -> captenpluginspb.StatusCode - 70, // 47: captenpluginspb.GetTektonPipelinesResponse.pipelines:type_name -> captenpluginspb.TektonPipelines - 0, // 48: captenpluginspb.GetTektonPipelinesResponse.status:type_name -> captenpluginspb.StatusCode - 0, // 49: captenpluginspb.CreateTektonPipelineResponse.status:type_name -> captenpluginspb.StatusCode - 0, // 50: captenpluginspb.UpdateTektonPipelineResponse.status:type_name -> captenpluginspb.StatusCode - 0, // 51: captenpluginspb.DeleteTektonPipelineResponse.status:type_name -> captenpluginspb.StatusCode - 47, // 52: captenpluginspb.capten_plugins.GetCaptenPlugins:input_type -> captenpluginspb.GetCaptenPluginsRequest - 10, // 53: captenpluginspb.capten_plugins.AddGitProject:input_type -> captenpluginspb.AddGitProjectRequest - 12, // 54: captenpluginspb.capten_plugins.UpdateGitProject:input_type -> captenpluginspb.UpdateGitProjectRequest - 14, // 55: captenpluginspb.capten_plugins.DeleteGitProject:input_type -> captenpluginspb.DeleteGitProjectRequest - 16, // 56: captenpluginspb.capten_plugins.GetGitProjects:input_type -> captenpluginspb.GetGitProjectsRequest - 19, // 57: captenpluginspb.capten_plugins.GetGitProjectsForLabels:input_type -> captenpluginspb.GetGitProjectsForLabelsRequest - 71, // 58: captenpluginspb.capten_plugins.GetTektonPipelines:input_type -> captenpluginspb.GetTektonPipelinesRequest - 73, // 59: captenpluginspb.capten_plugins.CreateTektonPipeline:input_type -> captenpluginspb.CreateTektonPipelineRequest - 75, // 60: captenpluginspb.capten_plugins.UpdateTektonPipeline:input_type -> captenpluginspb.UpdateTektonPipelineRequest - 77, // 61: captenpluginspb.capten_plugins.DeleteTektonPipeline:input_type -> captenpluginspb.DeleteTektonPipelineRequest - 61, // 62: captenpluginspb.capten_plugins.AddContainerRegistry:input_type -> captenpluginspb.AddContainerRegistryRequest - 63, // 63: captenpluginspb.capten_plugins.UpdateContainerRegistry:input_type -> captenpluginspb.UpdateContainerRegistryRequest - 65, // 64: captenpluginspb.capten_plugins.DeleteContainerRegistry:input_type -> captenpluginspb.DeleteContainerRegistryRequest - 67, // 65: captenpluginspb.capten_plugins.GetContainerRegistry:input_type -> captenpluginspb.GetContainerRegistryRequest - 21, // 66: captenpluginspb.capten_plugins.AddCloudProvider:input_type -> captenpluginspb.AddCloudProviderRequest - 23, // 67: captenpluginspb.capten_plugins.UpdateCloudProvider:input_type -> captenpluginspb.UpdateCloudProviderRequest - 25, // 68: captenpluginspb.capten_plugins.DeleteCloudProvider:input_type -> captenpluginspb.DeleteCloudProviderRequest - 27, // 69: captenpluginspb.capten_plugins.GetCloudProviders:input_type -> captenpluginspb.GetCloudProvidersRequest - 30, // 70: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:input_type -> captenpluginspb.GetCloudProvidersWithFilterRequest - 32, // 71: captenpluginspb.capten_plugins.RegisterArgoCDProject:input_type -> captenpluginspb.RegisterArgoCDProjectRequest - 34, // 72: captenpluginspb.capten_plugins.GetArgoCDProjects:input_type -> captenpluginspb.GetArgoCDProjectsRequest - 36, // 73: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:input_type -> captenpluginspb.UnRegisterArgoCDProjectRequest - 39, // 74: captenpluginspb.capten_plugins.RegisterTektonProject:input_type -> captenpluginspb.RegisterTektonProjectRequest - 44, // 75: captenpluginspb.capten_plugins.GetTektonProject:input_type -> captenpluginspb.GetTektonProjectRequest - 41, // 76: captenpluginspb.capten_plugins.UnRegisterTektonProject:input_type -> captenpluginspb.UnRegisterTektonProjectRequest - 8, // 77: captenpluginspb.capten_plugins.AddCrossplanProvider:input_type -> captenpluginspb.AddCrossplanProviderRequest - 3, // 78: captenpluginspb.capten_plugins.DeleteCrossplanProvider:input_type -> captenpluginspb.DeleteCrossplanProviderRequest - 5, // 79: captenpluginspb.capten_plugins.GetCrossplanProviders:input_type -> captenpluginspb.GetCrossplanProvidersRequest - 1, // 80: captenpluginspb.capten_plugins.UpdateCrossplanProvider:input_type -> captenpluginspb.UpdateCrossplanProviderRequest - 49, // 81: captenpluginspb.capten_plugins.RegisterCrossplaneProject:input_type -> captenpluginspb.RegisterCrossplaneProjectRequest - 54, // 82: captenpluginspb.capten_plugins.GetCrossplaneProject:input_type -> captenpluginspb.GetCrossplaneProjectsRequest - 51, // 83: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:input_type -> captenpluginspb.UnRegisterCrossplaneProjectRequest - 57, // 84: captenpluginspb.capten_plugins.GetManagedClusters:input_type -> captenpluginspb.GetManagedClustersRequest - 59, // 85: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:input_type -> captenpluginspb.GetManagedClusterKubeconfigRequest - 48, // 86: captenpluginspb.capten_plugins.GetCaptenPlugins:output_type -> captenpluginspb.GetCaptenPluginsResponse - 11, // 87: captenpluginspb.capten_plugins.AddGitProject:output_type -> captenpluginspb.AddGitProjectResponse - 13, // 88: captenpluginspb.capten_plugins.UpdateGitProject:output_type -> captenpluginspb.UpdateGitProjectResponse - 15, // 89: captenpluginspb.capten_plugins.DeleteGitProject:output_type -> captenpluginspb.DeleteGitProjectResponse - 18, // 90: captenpluginspb.capten_plugins.GetGitProjects:output_type -> captenpluginspb.GetGitProjectsResponse - 20, // 91: captenpluginspb.capten_plugins.GetGitProjectsForLabels:output_type -> captenpluginspb.GetGitProjectsForLabelsResponse - 72, // 92: captenpluginspb.capten_plugins.GetTektonPipelines:output_type -> captenpluginspb.GetTektonPipelinesResponse - 74, // 93: captenpluginspb.capten_plugins.CreateTektonPipeline:output_type -> captenpluginspb.CreateTektonPipelineResponse - 76, // 94: captenpluginspb.capten_plugins.UpdateTektonPipeline:output_type -> captenpluginspb.UpdateTektonPipelineResponse - 78, // 95: captenpluginspb.capten_plugins.DeleteTektonPipeline:output_type -> captenpluginspb.DeleteTektonPipelineResponse - 62, // 96: captenpluginspb.capten_plugins.AddContainerRegistry:output_type -> captenpluginspb.AddContainerRegistryResponse - 64, // 97: captenpluginspb.capten_plugins.UpdateContainerRegistry:output_type -> captenpluginspb.UpdateContainerRegistryResponse - 66, // 98: captenpluginspb.capten_plugins.DeleteContainerRegistry:output_type -> captenpluginspb.DeleteContainerRegistryResponse - 69, // 99: captenpluginspb.capten_plugins.GetContainerRegistry:output_type -> captenpluginspb.GetContainerRegistryResponse - 22, // 100: captenpluginspb.capten_plugins.AddCloudProvider:output_type -> captenpluginspb.AddCloudProviderResponse - 24, // 101: captenpluginspb.capten_plugins.UpdateCloudProvider:output_type -> captenpluginspb.UpdateCloudProviderResponse - 26, // 102: captenpluginspb.capten_plugins.DeleteCloudProvider:output_type -> captenpluginspb.DeleteCloudProviderResponse - 29, // 103: captenpluginspb.capten_plugins.GetCloudProviders:output_type -> captenpluginspb.GetCloudProvidersResponse - 31, // 104: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:output_type -> captenpluginspb.GetCloudProvidersWithFilterResponse - 33, // 105: captenpluginspb.capten_plugins.RegisterArgoCDProject:output_type -> captenpluginspb.RegisterArgoCDProjectResponse - 35, // 106: captenpluginspb.capten_plugins.GetArgoCDProjects:output_type -> captenpluginspb.GetArgoCDProjectsResponse - 37, // 107: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:output_type -> captenpluginspb.UnRegisterArgoCDProjectResponse - 40, // 108: captenpluginspb.capten_plugins.RegisterTektonProject:output_type -> captenpluginspb.RegisterTektonProjectResponse - 45, // 109: captenpluginspb.capten_plugins.GetTektonProject:output_type -> captenpluginspb.GetTektonProjectResponse - 42, // 110: captenpluginspb.capten_plugins.UnRegisterTektonProject:output_type -> captenpluginspb.UnRegisterTektonProjectResponse - 9, // 111: captenpluginspb.capten_plugins.AddCrossplanProvider:output_type -> captenpluginspb.AddCrossplanProviderResponse - 4, // 112: captenpluginspb.capten_plugins.DeleteCrossplanProvider:output_type -> captenpluginspb.DeleteCrossplanProviderResponse - 6, // 113: captenpluginspb.capten_plugins.GetCrossplanProviders:output_type -> captenpluginspb.GetCrossplanProvidersResponse - 2, // 114: captenpluginspb.capten_plugins.UpdateCrossplanProvider:output_type -> captenpluginspb.UpdateCrossplanProviderResponse - 50, // 115: captenpluginspb.capten_plugins.RegisterCrossplaneProject:output_type -> captenpluginspb.RegisterCrossplaneProjectResponse - 55, // 116: captenpluginspb.capten_plugins.GetCrossplaneProject:output_type -> captenpluginspb.GetCrossplaneProjectsResponse - 52, // 117: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:output_type -> captenpluginspb.UnRegisterCrossplaneProjectResponse - 58, // 118: captenpluginspb.capten_plugins.GetManagedClusters:output_type -> captenpluginspb.GetManagedClustersResponse - 60, // 119: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:output_type -> captenpluginspb.GetManagedClusterKubeconfigResponse - 86, // [86:120] is the sub-list for method output_type - 52, // [52:86] is the sub-list for method input_type - 52, // [52:52] is the sub-list for extension type_name - 52, // [52:52] is the sub-list for extension extendee - 0, // [0:52] is the sub-list for field type_name + 47, // 47: captenpluginspb.capten_plugins.GetCaptenPlugins:input_type -> captenpluginspb.GetCaptenPluginsRequest + 10, // 48: captenpluginspb.capten_plugins.AddGitProject:input_type -> captenpluginspb.AddGitProjectRequest + 12, // 49: captenpluginspb.capten_plugins.UpdateGitProject:input_type -> captenpluginspb.UpdateGitProjectRequest + 14, // 50: captenpluginspb.capten_plugins.DeleteGitProject:input_type -> captenpluginspb.DeleteGitProjectRequest + 16, // 51: captenpluginspb.capten_plugins.GetGitProjects:input_type -> captenpluginspb.GetGitProjectsRequest + 19, // 52: captenpluginspb.capten_plugins.GetGitProjectsForLabels:input_type -> captenpluginspb.GetGitProjectsForLabelsRequest + 61, // 53: captenpluginspb.capten_plugins.AddContainerRegistry:input_type -> captenpluginspb.AddContainerRegistryRequest + 63, // 54: captenpluginspb.capten_plugins.UpdateContainerRegistry:input_type -> captenpluginspb.UpdateContainerRegistryRequest + 65, // 55: captenpluginspb.capten_plugins.DeleteContainerRegistry:input_type -> captenpluginspb.DeleteContainerRegistryRequest + 67, // 56: captenpluginspb.capten_plugins.GetContainerRegistry:input_type -> captenpluginspb.GetContainerRegistryRequest + 21, // 57: captenpluginspb.capten_plugins.AddCloudProvider:input_type -> captenpluginspb.AddCloudProviderRequest + 23, // 58: captenpluginspb.capten_plugins.UpdateCloudProvider:input_type -> captenpluginspb.UpdateCloudProviderRequest + 25, // 59: captenpluginspb.capten_plugins.DeleteCloudProvider:input_type -> captenpluginspb.DeleteCloudProviderRequest + 27, // 60: captenpluginspb.capten_plugins.GetCloudProviders:input_type -> captenpluginspb.GetCloudProvidersRequest + 30, // 61: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:input_type -> captenpluginspb.GetCloudProvidersWithFilterRequest + 32, // 62: captenpluginspb.capten_plugins.RegisterArgoCDProject:input_type -> captenpluginspb.RegisterArgoCDProjectRequest + 34, // 63: captenpluginspb.capten_plugins.GetArgoCDProjects:input_type -> captenpluginspb.GetArgoCDProjectsRequest + 36, // 64: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:input_type -> captenpluginspb.UnRegisterArgoCDProjectRequest + 39, // 65: captenpluginspb.capten_plugins.RegisterTektonProject:input_type -> captenpluginspb.RegisterTektonProjectRequest + 44, // 66: captenpluginspb.capten_plugins.GetTektonProject:input_type -> captenpluginspb.GetTektonProjectRequest + 41, // 67: captenpluginspb.capten_plugins.UnRegisterTektonProject:input_type -> captenpluginspb.UnRegisterTektonProjectRequest + 8, // 68: captenpluginspb.capten_plugins.AddCrossplanProvider:input_type -> captenpluginspb.AddCrossplanProviderRequest + 3, // 69: captenpluginspb.capten_plugins.DeleteCrossplanProvider:input_type -> captenpluginspb.DeleteCrossplanProviderRequest + 5, // 70: captenpluginspb.capten_plugins.GetCrossplanProviders:input_type -> captenpluginspb.GetCrossplanProvidersRequest + 1, // 71: captenpluginspb.capten_plugins.UpdateCrossplanProvider:input_type -> captenpluginspb.UpdateCrossplanProviderRequest + 49, // 72: captenpluginspb.capten_plugins.RegisterCrossplaneProject:input_type -> captenpluginspb.RegisterCrossplaneProjectRequest + 54, // 73: captenpluginspb.capten_plugins.GetCrossplaneProject:input_type -> captenpluginspb.GetCrossplaneProjectsRequest + 51, // 74: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:input_type -> captenpluginspb.UnRegisterCrossplaneProjectRequest + 57, // 75: captenpluginspb.capten_plugins.GetManagedClusters:input_type -> captenpluginspb.GetManagedClustersRequest + 59, // 76: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:input_type -> captenpluginspb.GetManagedClusterKubeconfigRequest + 48, // 77: captenpluginspb.capten_plugins.GetCaptenPlugins:output_type -> captenpluginspb.GetCaptenPluginsResponse + 11, // 78: captenpluginspb.capten_plugins.AddGitProject:output_type -> captenpluginspb.AddGitProjectResponse + 13, // 79: captenpluginspb.capten_plugins.UpdateGitProject:output_type -> captenpluginspb.UpdateGitProjectResponse + 15, // 80: captenpluginspb.capten_plugins.DeleteGitProject:output_type -> captenpluginspb.DeleteGitProjectResponse + 18, // 81: captenpluginspb.capten_plugins.GetGitProjects:output_type -> captenpluginspb.GetGitProjectsResponse + 20, // 82: captenpluginspb.capten_plugins.GetGitProjectsForLabels:output_type -> captenpluginspb.GetGitProjectsForLabelsResponse + 62, // 83: captenpluginspb.capten_plugins.AddContainerRegistry:output_type -> captenpluginspb.AddContainerRegistryResponse + 64, // 84: captenpluginspb.capten_plugins.UpdateContainerRegistry:output_type -> captenpluginspb.UpdateContainerRegistryResponse + 66, // 85: captenpluginspb.capten_plugins.DeleteContainerRegistry:output_type -> captenpluginspb.DeleteContainerRegistryResponse + 69, // 86: captenpluginspb.capten_plugins.GetContainerRegistry:output_type -> captenpluginspb.GetContainerRegistryResponse + 22, // 87: captenpluginspb.capten_plugins.AddCloudProvider:output_type -> captenpluginspb.AddCloudProviderResponse + 24, // 88: captenpluginspb.capten_plugins.UpdateCloudProvider:output_type -> captenpluginspb.UpdateCloudProviderResponse + 26, // 89: captenpluginspb.capten_plugins.DeleteCloudProvider:output_type -> captenpluginspb.DeleteCloudProviderResponse + 29, // 90: captenpluginspb.capten_plugins.GetCloudProviders:output_type -> captenpluginspb.GetCloudProvidersResponse + 31, // 91: captenpluginspb.capten_plugins.GetCloudProvidersWithFilter:output_type -> captenpluginspb.GetCloudProvidersWithFilterResponse + 33, // 92: captenpluginspb.capten_plugins.RegisterArgoCDProject:output_type -> captenpluginspb.RegisterArgoCDProjectResponse + 35, // 93: captenpluginspb.capten_plugins.GetArgoCDProjects:output_type -> captenpluginspb.GetArgoCDProjectsResponse + 37, // 94: captenpluginspb.capten_plugins.UnRegisterArgoCDProject:output_type -> captenpluginspb.UnRegisterArgoCDProjectResponse + 40, // 95: captenpluginspb.capten_plugins.RegisterTektonProject:output_type -> captenpluginspb.RegisterTektonProjectResponse + 45, // 96: captenpluginspb.capten_plugins.GetTektonProject:output_type -> captenpluginspb.GetTektonProjectResponse + 42, // 97: captenpluginspb.capten_plugins.UnRegisterTektonProject:output_type -> captenpluginspb.UnRegisterTektonProjectResponse + 9, // 98: captenpluginspb.capten_plugins.AddCrossplanProvider:output_type -> captenpluginspb.AddCrossplanProviderResponse + 4, // 99: captenpluginspb.capten_plugins.DeleteCrossplanProvider:output_type -> captenpluginspb.DeleteCrossplanProviderResponse + 6, // 100: captenpluginspb.capten_plugins.GetCrossplanProviders:output_type -> captenpluginspb.GetCrossplanProvidersResponse + 2, // 101: captenpluginspb.capten_plugins.UpdateCrossplanProvider:output_type -> captenpluginspb.UpdateCrossplanProviderResponse + 50, // 102: captenpluginspb.capten_plugins.RegisterCrossplaneProject:output_type -> captenpluginspb.RegisterCrossplaneProjectResponse + 55, // 103: captenpluginspb.capten_plugins.GetCrossplaneProject:output_type -> captenpluginspb.GetCrossplaneProjectsResponse + 52, // 104: captenpluginspb.capten_plugins.UnRegisterCrossplaneProject:output_type -> captenpluginspb.UnRegisterCrossplaneProjectResponse + 58, // 105: captenpluginspb.capten_plugins.GetManagedClusters:output_type -> captenpluginspb.GetManagedClustersResponse + 60, // 106: captenpluginspb.capten_plugins.GetManagedClusterKubeconfig:output_type -> captenpluginspb.GetManagedClusterKubeconfigResponse + 77, // [77:107] is the sub-list for method output_type + 47, // [47:77] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name } func init() { file_capten_plugins_proto_init() } @@ -6702,114 +5959,6 @@ func file_capten_plugins_proto_init() { return nil } } - file_capten_plugins_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TektonPipelines); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTektonPipelinesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTektonPipelinesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTektonPipelineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTektonPipelineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTektonPipelineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateTektonPipelineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTektonPipelineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_capten_plugins_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTektonPipelineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -6817,7 +5966,7 @@ func file_capten_plugins_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_capten_plugins_proto_rawDesc, NumEnums: 1, - NumMessages: 84, + NumMessages: 75, NumExtensions: 0, NumServices: 1, }, diff --git a/server/pkg/pb/captenpluginspb/capten_plugins_grpc.pb.go b/server/pkg/pb/captenpluginspb/capten_plugins_grpc.pb.go index 438a9197..0539244a 100644 --- a/server/pkg/pb/captenpluginspb/capten_plugins_grpc.pb.go +++ b/server/pkg/pb/captenpluginspb/capten_plugins_grpc.pb.go @@ -25,10 +25,6 @@ const ( CaptenPlugins_DeleteGitProject_FullMethodName = "/captenpluginspb.capten_plugins/DeleteGitProject" CaptenPlugins_GetGitProjects_FullMethodName = "/captenpluginspb.capten_plugins/GetGitProjects" CaptenPlugins_GetGitProjectsForLabels_FullMethodName = "/captenpluginspb.capten_plugins/GetGitProjectsForLabels" - CaptenPlugins_GetTektonPipelines_FullMethodName = "/captenpluginspb.capten_plugins/GetTektonPipelines" - CaptenPlugins_CreateTektonPipeline_FullMethodName = "/captenpluginspb.capten_plugins/CreateTektonPipeline" - CaptenPlugins_UpdateTektonPipeline_FullMethodName = "/captenpluginspb.capten_plugins/UpdateTektonPipeline" - CaptenPlugins_DeleteTektonPipeline_FullMethodName = "/captenpluginspb.capten_plugins/DeleteTektonPipeline" CaptenPlugins_AddContainerRegistry_FullMethodName = "/captenpluginspb.capten_plugins/AddContainerRegistry" CaptenPlugins_UpdateContainerRegistry_FullMethodName = "/captenpluginspb.capten_plugins/UpdateContainerRegistry" CaptenPlugins_DeleteContainerRegistry_FullMethodName = "/captenpluginspb.capten_plugins/DeleteContainerRegistry" @@ -65,10 +61,6 @@ type CaptenPluginsClient interface { DeleteGitProject(ctx context.Context, in *DeleteGitProjectRequest, opts ...grpc.CallOption) (*DeleteGitProjectResponse, error) GetGitProjects(ctx context.Context, in *GetGitProjectsRequest, opts ...grpc.CallOption) (*GetGitProjectsResponse, error) GetGitProjectsForLabels(ctx context.Context, in *GetGitProjectsForLabelsRequest, opts ...grpc.CallOption) (*GetGitProjectsForLabelsResponse, error) - GetTektonPipelines(ctx context.Context, in *GetTektonPipelinesRequest, opts ...grpc.CallOption) (*GetTektonPipelinesResponse, error) - CreateTektonPipeline(ctx context.Context, in *CreateTektonPipelineRequest, opts ...grpc.CallOption) (*CreateTektonPipelineResponse, error) - UpdateTektonPipeline(ctx context.Context, in *UpdateTektonPipelineRequest, opts ...grpc.CallOption) (*UpdateTektonPipelineResponse, error) - DeleteTektonPipeline(ctx context.Context, in *DeleteTektonPipelineRequest, opts ...grpc.CallOption) (*DeleteTektonPipelineResponse, error) AddContainerRegistry(ctx context.Context, in *AddContainerRegistryRequest, opts ...grpc.CallOption) (*AddContainerRegistryResponse, error) UpdateContainerRegistry(ctx context.Context, in *UpdateContainerRegistryRequest, opts ...grpc.CallOption) (*UpdateContainerRegistryResponse, error) DeleteContainerRegistry(ctx context.Context, in *DeleteContainerRegistryRequest, opts ...grpc.CallOption) (*DeleteContainerRegistryResponse, error) @@ -157,42 +149,6 @@ func (c *captenPluginsClient) GetGitProjectsForLabels(ctx context.Context, in *G return out, nil } -func (c *captenPluginsClient) GetTektonPipelines(ctx context.Context, in *GetTektonPipelinesRequest, opts ...grpc.CallOption) (*GetTektonPipelinesResponse, error) { - out := new(GetTektonPipelinesResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_GetTektonPipelines_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *captenPluginsClient) CreateTektonPipeline(ctx context.Context, in *CreateTektonPipelineRequest, opts ...grpc.CallOption) (*CreateTektonPipelineResponse, error) { - out := new(CreateTektonPipelineResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_CreateTektonPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *captenPluginsClient) UpdateTektonPipeline(ctx context.Context, in *UpdateTektonPipelineRequest, opts ...grpc.CallOption) (*UpdateTektonPipelineResponse, error) { - out := new(UpdateTektonPipelineResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_UpdateTektonPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *captenPluginsClient) DeleteTektonPipeline(ctx context.Context, in *DeleteTektonPipelineRequest, opts ...grpc.CallOption) (*DeleteTektonPipelineResponse, error) { - out := new(DeleteTektonPipelineResponse) - err := c.cc.Invoke(ctx, CaptenPlugins_DeleteTektonPipeline_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *captenPluginsClient) AddContainerRegistry(ctx context.Context, in *AddContainerRegistryRequest, opts ...grpc.CallOption) (*AddContainerRegistryResponse, error) { out := new(AddContainerRegistryResponse) err := c.cc.Invoke(ctx, CaptenPlugins_AddContainerRegistry_FullMethodName, in, out, opts...) @@ -419,10 +375,6 @@ type CaptenPluginsServer interface { DeleteGitProject(context.Context, *DeleteGitProjectRequest) (*DeleteGitProjectResponse, error) GetGitProjects(context.Context, *GetGitProjectsRequest) (*GetGitProjectsResponse, error) GetGitProjectsForLabels(context.Context, *GetGitProjectsForLabelsRequest) (*GetGitProjectsForLabelsResponse, error) - GetTektonPipelines(context.Context, *GetTektonPipelinesRequest) (*GetTektonPipelinesResponse, error) - CreateTektonPipeline(context.Context, *CreateTektonPipelineRequest) (*CreateTektonPipelineResponse, error) - UpdateTektonPipeline(context.Context, *UpdateTektonPipelineRequest) (*UpdateTektonPipelineResponse, error) - DeleteTektonPipeline(context.Context, *DeleteTektonPipelineRequest) (*DeleteTektonPipelineResponse, error) AddContainerRegistry(context.Context, *AddContainerRegistryRequest) (*AddContainerRegistryResponse, error) UpdateContainerRegistry(context.Context, *UpdateContainerRegistryRequest) (*UpdateContainerRegistryResponse, error) DeleteContainerRegistry(context.Context, *DeleteContainerRegistryRequest) (*DeleteContainerRegistryResponse, error) @@ -472,18 +424,6 @@ func (UnimplementedCaptenPluginsServer) GetGitProjects(context.Context, *GetGitP func (UnimplementedCaptenPluginsServer) GetGitProjectsForLabels(context.Context, *GetGitProjectsForLabelsRequest) (*GetGitProjectsForLabelsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGitProjectsForLabels not implemented") } -func (UnimplementedCaptenPluginsServer) GetTektonPipelines(context.Context, *GetTektonPipelinesRequest) (*GetTektonPipelinesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTektonPipelines not implemented") -} -func (UnimplementedCaptenPluginsServer) CreateTektonPipeline(context.Context, *CreateTektonPipelineRequest) (*CreateTektonPipelineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateTektonPipeline not implemented") -} -func (UnimplementedCaptenPluginsServer) UpdateTektonPipeline(context.Context, *UpdateTektonPipelineRequest) (*UpdateTektonPipelineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateTektonPipeline not implemented") -} -func (UnimplementedCaptenPluginsServer) DeleteTektonPipeline(context.Context, *DeleteTektonPipelineRequest) (*DeleteTektonPipelineResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteTektonPipeline not implemented") -} func (UnimplementedCaptenPluginsServer) AddContainerRegistry(context.Context, *AddContainerRegistryRequest) (*AddContainerRegistryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddContainerRegistry not implemented") } @@ -677,78 +617,6 @@ func _CaptenPlugins_GetGitProjectsForLabels_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } -func _CaptenPlugins_GetTektonPipelines_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTektonPipelinesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).GetTektonPipelines(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_GetTektonPipelines_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).GetTektonPipelines(ctx, req.(*GetTektonPipelinesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _CaptenPlugins_CreateTektonPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateTektonPipelineRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).CreateTektonPipeline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_CreateTektonPipeline_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).CreateTektonPipeline(ctx, req.(*CreateTektonPipelineRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _CaptenPlugins_UpdateTektonPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateTektonPipelineRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).UpdateTektonPipeline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_UpdateTektonPipeline_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).UpdateTektonPipeline(ctx, req.(*UpdateTektonPipelineRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _CaptenPlugins_DeleteTektonPipeline_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteTektonPipelineRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(CaptenPluginsServer).DeleteTektonPipeline(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: CaptenPlugins_DeleteTektonPipeline_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(CaptenPluginsServer).DeleteTektonPipeline(ctx, req.(*DeleteTektonPipelineRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _CaptenPlugins_AddContainerRegistry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddContainerRegistryRequest) if err := dec(in); err != nil { @@ -1212,22 +1080,6 @@ var CaptenPlugins_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetGitProjectsForLabels", Handler: _CaptenPlugins_GetGitProjectsForLabels_Handler, }, - { - MethodName: "GetTektonPipelines", - Handler: _CaptenPlugins_GetTektonPipelines_Handler, - }, - { - MethodName: "CreateTektonPipeline", - Handler: _CaptenPlugins_CreateTektonPipeline_Handler, - }, - { - MethodName: "UpdateTektonPipeline", - Handler: _CaptenPlugins_UpdateTektonPipeline_Handler, - }, - { - MethodName: "DeleteTektonPipeline", - Handler: _CaptenPlugins_DeleteTektonPipeline_Handler, - }, { MethodName: "AddContainerRegistry", Handler: _CaptenPlugins_AddContainerRegistry_Handler,