From 3fb48956ebe7201aec06a8bcc994fcfa442af68d Mon Sep 17 00:00:00 2001 From: swatign Date: Wed, 5 Mar 2025 11:54:20 +0530 Subject: [PATCH 1/5] adding method for getting the status Signed-off-by: swatign --- components/ingest-service/storage/db.go | 53 +++++++++++++++++-------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/components/ingest-service/storage/db.go b/components/ingest-service/storage/db.go index 3ddec5bff67..b0d9a1d7cae 100644 --- a/components/ingest-service/storage/db.go +++ b/components/ingest-service/storage/db.go @@ -1,6 +1,7 @@ package storage import ( + "encoding/json" "time" "github.com/chef/automate/components/ingest-service/config" @@ -60,26 +61,12 @@ func (db *DB) UpdateReindexRequest(requestID int, status string) error { return err } -// Fetch a reindex request by ID -func (db *DB) GetReindexRequest(requestID int) (*ReindexRequest, error) { - var request ReindexRequest - err := db.SelectOne(&request, getReindexRequest, requestID) - return &request, err -} - // Insert reindex request detailed entry func (db *DB) InsertReindexRequestDetailed(detail ReindexRequestDetailed) error { _, err := db.Exec(insertReindexRequestDetailed, detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, detail.Heartbeat, detail.HavingAlias, detail.AliasList, time.Now(), time.Now()) return err } -// Fetch reindex request details -func (db *DB) GetReindexRequestDetails(requestID int) ([]*ReindexRequestDetailed, error) { - var details []*ReindexRequestDetailed - _, err := db.Select(&details, getReindexRequestDetails, requestID) - return details, err -} - // Delete a reindex request func (db *DB) DeleteReindexRequest(requestID int) error { _, err := db.Exec(deleteReindexRequest, requestID) @@ -92,6 +79,40 @@ func (db *DB) DeleteReindexRequestDetail(id int) error { return err } +// Get reindex request status +func (db *DB) GetReindexStatus(requestID int) ([]*ReindexRequest, []*ReindexRequestDetailed, string, error) { + var request []*ReindexRequest + _, err := db.Select(&request, getstatusReindexRequest, requestID) + if err != nil { + return nil, nil, "", errors.Wrap(err, "error fetching reindex request status from db") + } + + var details []*ReindexRequestDetailed + _, err = db.Select(&details, getstatusReindexRequestDetails, requestID) + if err != nil { + return nil, nil, "", errors.Wrap(err, "error fetching reindex request details from db") + } + + status := map[string]interface{}{ + "overall_status": request[0].Status, // Using request[0] since it's a slice + "indexes": []map[string]string{}, + } + + for _, detail := range details { + status["indexes"] = append(status["indexes"].([]map[string]string), map[string]string{ + "index": detail.Index, + "stage": detail.Stage, + }) + } + + statusJSON, err := json.Marshal(status) + if err != nil { + return nil, nil, "", errors.Wrap(err, "error marshalling reindex status to JSON") + } + + return request, details, string(statusJSON), nil +} + // SQL Queries const insertReindexRequest = ` INSERT INTO reindex_requests(request_id, status, created_at, last_updated) @@ -100,14 +121,14 @@ VALUES ($1, $2, $3, $4);` const updateReindexRequest = ` UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` -const getReindexRequest = ` +const getstatusReindexRequest = ` SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1;` const insertReindexRequestDetailed = ` INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` -const getReindexRequestDetails = ` +const getstatusReindexRequestDetails = ` SELECT id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1;` const deleteReindexRequest = ` From 057bfbda6662de0bd1faa75821ea6d56d4033ea8 Mon Sep 17 00:00:00 2001 From: swatign Date: Wed, 5 Mar 2025 17:33:01 +0530 Subject: [PATCH 2/5] writing test cases and modifying getstatus method-1 Signed-off-by: swatign --- components/ingest-service/storage/db.go | 42 ++- components/ingest-service/storage/db_test.go | 343 +++++++++++++++++++ 2 files changed, 372 insertions(+), 13 deletions(-) create mode 100644 components/ingest-service/storage/db_test.go diff --git a/components/ingest-service/storage/db.go b/components/ingest-service/storage/db.go index b0d9a1d7cae..02ccac25453 100644 --- a/components/ingest-service/storage/db.go +++ b/components/ingest-service/storage/db.go @@ -50,20 +50,20 @@ func RunMigrations(dbConf *config.Storage) error { // CRUD Operations // Create a new reindex request -func (db *DB) InsertReindexRequest(requestID int, status string) error { - _, err := db.Exec(insertReindexRequest, requestID, status, time.Now(), time.Now()) +func (db *DB) InsertReindexRequest(requestID int, status string, currentTime time.Time) error { + _, err := db.Exec(insertReindexRequest, requestID, status, currentTime, currentTime) return err } // Update an existing reindex request -func (db *DB) UpdateReindexRequest(requestID int, status string) error { - _, err := db.Exec(updateReindexRequest, status, time.Now(), requestID) +func (db *DB) UpdateReindexRequest(requestID int, status string, currentTime time.Time) error { + _, err := db.Exec(updateReindexRequest, status, currentTime, requestID) return err } // Insert reindex request detailed entry -func (db *DB) InsertReindexRequestDetailed(detail ReindexRequestDetailed) error { - _, err := db.Exec(insertReindexRequestDetailed, detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, detail.Heartbeat, detail.HavingAlias, detail.AliasList, time.Now(), time.Now()) +func (db *DB) InsertReindexRequestDetailed(detail ReindexRequestDetailed, currentTime time.Time) error { + _, err := db.Exec(insertReindexRequestDetailed, detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, detail.Heartbeat, detail.HavingAlias, detail.AliasList, currentTime, currentTime) return err } @@ -81,20 +81,28 @@ func (db *DB) DeleteReindexRequestDetail(id int) error { // Get reindex request status func (db *DB) GetReindexStatus(requestID int) ([]*ReindexRequest, []*ReindexRequestDetailed, string, error) { + // Fetch the latest reindex request var request []*ReindexRequest - _, err := db.Select(&request, getstatusReindexRequest, requestID) + _, err := db.Select(&request, getLatestReindexRequest, requestID) if err != nil { return nil, nil, "", errors.Wrap(err, "error fetching reindex request status from db") } + // Handle case where no records are found + if len(request) == 0 { + return nil, nil, "", errors.New("no reindex request found for the given requestID") + } + + // Fetch the latest reindex request details for each index var details []*ReindexRequestDetailed - _, err = db.Select(&details, getstatusReindexRequestDetails, requestID) + _, err = db.Select(&details, getLatestReindexRequestDetails, requestID) if err != nil { return nil, nil, "", errors.Wrap(err, "error fetching reindex request details from db") } + // Prepare the status response status := map[string]interface{}{ - "overall_status": request[0].Status, // Using request[0] since it's a slice + "overall_status": request[0].Status, // Using the latest reindex request status "indexes": []map[string]string{}, } @@ -105,6 +113,7 @@ func (db *DB) GetReindexStatus(requestID int) ([]*ReindexRequest, []*ReindexRequ }) } + // Marshal the status to JSON statusJSON, err := json.Marshal(status) if err != nil { return nil, nil, "", errors.Wrap(err, "error marshalling reindex status to JSON") @@ -121,15 +130,22 @@ VALUES ($1, $2, $3, $4);` const updateReindexRequest = ` UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` -const getstatusReindexRequest = ` -SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1;` +const getLatestReindexRequest = ` +SELECT request_id, status, created_at, last_updated +FROM reindex_requests +WHERE request_id = $1 +ORDER BY last_updated DESC +LIMIT 1;` const insertReindexRequestDetailed = ` INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` -const getstatusReindexRequestDetails = ` -SELECT id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1;` +const getLatestReindexRequestDetails = ` +SELECT DISTINCT ON (index) id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at +FROM reindex_request_detailed +WHERE request_id = $1 +ORDER BY index, updated_at DESC;` const deleteReindexRequest = ` DELETE FROM reindex_requests WHERE request_id = $1;` diff --git a/components/ingest-service/storage/db_test.go b/components/ingest-service/storage/db_test.go new file mode 100644 index 00000000000..1fded427fb9 --- /dev/null +++ b/components/ingest-service/storage/db_test.go @@ -0,0 +1,343 @@ +package storage_test + +import ( + "fmt" + "testing" + "time" + + "github.com/DATA-DOG/go-sqlmock" + "github.com/chef/automate/components/ingest-service/storage" + "github.com/go-gorp/gorp" + "github.com/stretchr/testify/assert" +) + +func TestInsertReindexRequestSuccess(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + createdAt := time.Now() + + query := `INSERT INTO reindex_requests(request_id, status, created_at, last_updated) VALUES ($1, $2, $3, $4);` + mock.ExpectExec(query).WithArgs(1, "running", createdAt, createdAt).WillReturnResult(sqlmock.NewResult(1, 1)) + + err = db.InsertReindexRequest(1, "running", createdAt) + assert.NoError(t, err) +} + +func TestInsertReindexRequestFailure(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + createdAt := time.Now() + + query := `INSERT INTO reindex_requests(request_id, status, created_at, last_updated) VALUES ($1, $2, $3, $4);` + mock.ExpectExec(query).WithArgs(1, "running", createdAt, createdAt).WillReturnError(fmt.Errorf("insert error")) + + err = db.InsertReindexRequest(1, "running", createdAt) + assert.Equal(t, "insert error", err.Error()) +} + +func TestUpdateReindexRequestSuccess(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + updatedAt := time.Now() + + query := `UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` + mock.ExpectExec(query).WithArgs("completed", updatedAt, 1).WillReturnResult(sqlmock.NewResult(1, 1)) + + err = db.UpdateReindexRequest(1, "completed", updatedAt) + assert.NoError(t, err) +} + +func TestUpdateReindexRequestFailure(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + updatedAt := time.Now() + + query := `UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` + mock.ExpectExec(query).WithArgs("completed", updatedAt, 1).WillReturnError(fmt.Errorf("update error")) + + err = db.UpdateReindexRequest(1, "completed", updatedAt) + assert.Equal(t, "update error", err.Error()) +} + +func TestInsertReindexRequestDetailedSuccess(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + detail := storage.ReindexRequestDetailed{ + RequestID: 1, + Index: "index1", + FromVersion: "1.0", + ToVersion: "2.0", + Stage: "running", + OsTaskID: "task1", + Heartbeat: time.Now(), + HavingAlias: true, + AliasList: "alias1,alias2", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + } + + query := `INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` + mock.ExpectExec(query).WithArgs(detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, sqlmock.AnyArg(), detail.HavingAlias, detail.AliasList, sqlmock.AnyArg(), sqlmock.AnyArg()).WillReturnResult(sqlmock.NewResult(1, 1)) + + err = db.InsertReindexRequestDetailed(detail, detail.CreatedAt) + assert.NoError(t, err) +} + +func TestInsertReindexRequestDetailedFailure(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + detail := storage.ReindexRequestDetailed{ + RequestID: 1, + Index: "index1", + FromVersion: "1.0", + ToVersion: "2.0", + Stage: "running", + OsTaskID: "task1", + Heartbeat: time.Now(), + HavingAlias: true, + AliasList: "alias1,alias2", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + } + + query := `INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` + mock.ExpectExec(query).WithArgs(detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, sqlmock.AnyArg(), detail.HavingAlias, detail.AliasList, sqlmock.AnyArg(), sqlmock.AnyArg()).WillReturnError(fmt.Errorf("insert error")) + + err = db.InsertReindexRequestDetailed(detail, detail.CreatedAt) + assert.Equal(t, "insert error", err.Error()) +} + +func TestDeleteReindexRequestSuccess(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + query := `DELETE FROM reindex_requests WHERE request_id = $1;` + mock.ExpectExec(query).WithArgs(1).WillReturnResult(sqlmock.NewResult(1, 1)) + + err = db.DeleteReindexRequest(1) + assert.NoError(t, err) +} + +func TestDeleteReindexRequestFailure(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + query := `DELETE FROM reindex_requests WHERE request_id = $1;` + mock.ExpectExec(query).WithArgs(1).WillReturnError(fmt.Errorf("delete error")) + + err = db.DeleteReindexRequest(1) + assert.Equal(t, "delete error", err.Error()) +} + +func TestDeleteReindexRequestDetailSuccess(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + query := `DELETE FROM reindex_request_detailed WHERE id = $1;` + mock.ExpectExec(query).WithArgs(1).WillReturnResult(sqlmock.NewResult(1, 1)) + + err = db.DeleteReindexRequestDetail(1) + assert.NoError(t, err) +} + +func TestDeleteReindexRequestDetailFailure(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + query := `DELETE FROM reindex_request_detailed WHERE id = $1;` + mock.ExpectExec(query).WithArgs(1).WillReturnError(fmt.Errorf("delete error")) + + err = db.DeleteReindexRequestDetail(1) + assert.Equal(t, "delete error", err.Error()) +} + +func TestGetReindexStatusSuccess(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + requestID := 1 + createdAt := time.Now() + updatedAt := time.Now() + heartbeat := time.Now() + + // Mock the reindex_requests table query + requestQuery := `SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1 ORDER BY last_updated DESC LIMIT 1;` + requestColumns := []string{"request_id", "status", "created_at", "last_updated"} + mock.ExpectQuery(requestQuery).WithArgs(requestID). + WillReturnRows(sqlmock.NewRows(requestColumns).AddRow(requestID, "completed", createdAt, updatedAt)) + + // Mock the reindex_request_detailed table query + detailQuery := `SELECT DISTINCT ON (index) id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1 ORDER BY index, updated_at DESC;` + detailColumns := []string{"id", "request_id", "index", "from_version", "to_version", "stage", "os_task_id", "heartbeat", "having_alias", "alias_list", "created_at", "updated_at"} + mock.ExpectQuery(detailQuery).WithArgs(requestID). + WillReturnRows(sqlmock.NewRows(detailColumns). + AddRow(1, requestID, "index1", "1.0", "2.0", "running", "task1", heartbeat, true, "alias1,alias2", createdAt, updatedAt). + AddRow(2, requestID, "index2", "2.0", "3.0", "completed", "task2", heartbeat, false, "", createdAt, updatedAt)) + + // Call the function + requests, details, statusJSON, err := db.GetReindexStatus(requestID) + + // Assertions + assert.NoError(t, err) + assert.Equal(t, 1, len(requests)) + assert.Equal(t, 2, len(details)) + + // Verify the reindex request + assert.Equal(t, requestID, requests[0].RequestID) + assert.Equal(t, "completed", requests[0].Status) + assert.Equal(t, createdAt, requests[0].CreatedAt) + assert.Equal(t, updatedAt, requests[0].LastUpdated) + + // Verify the reindex request details + assert.Equal(t, 1, details[0].ID) + assert.Equal(t, requestID, details[0].RequestID) + assert.Equal(t, "index1", details[0].Index) + assert.Equal(t, "1.0", details[0].FromVersion) + assert.Equal(t, "2.0", details[0].ToVersion) + assert.Equal(t, "running", details[0].Stage) + assert.Equal(t, "task1", details[0].OsTaskID) + assert.Equal(t, heartbeat, details[0].Heartbeat) + assert.Equal(t, true, details[0].HavingAlias) + assert.Equal(t, "alias1,alias2", details[0].AliasList) + assert.Equal(t, createdAt, details[0].CreatedAt) + assert.Equal(t, updatedAt, details[0].UpdatedAt) + + assert.Equal(t, 2, details[1].ID) + assert.Equal(t, requestID, details[1].RequestID) + assert.Equal(t, "index2", details[1].Index) + assert.Equal(t, "2.0", details[1].FromVersion) + assert.Equal(t, "3.0", details[1].ToVersion) + assert.Equal(t, "completed", details[1].Stage) + assert.Equal(t, "task2", details[1].OsTaskID) + assert.Equal(t, heartbeat, details[1].Heartbeat) + assert.Equal(t, false, details[1].HavingAlias) + assert.Equal(t, "", details[1].AliasList) + assert.Equal(t, createdAt, details[1].CreatedAt) + assert.Equal(t, updatedAt, details[1].UpdatedAt) + + // Verify the JSON response + expectedJSON := `{"indexes":[{"index":"index1","stage":"running"},{"index":"index2","stage":"completed"}],"overall_status":"completed"}` + assert.JSONEq(t, expectedJSON, statusJSON) +} + +func TestGetReindexStatusFailure(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + requestID := 1 + + // Mock the reindex_requests table query to return an error + requestQuery := `SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1 ORDER BY last_updated DESC LIMIT 1;` + mock.ExpectQuery(requestQuery).WithArgs(requestID).WillReturnError(fmt.Errorf("query error")) + + // Call the function + _, _, _, err = db.GetReindexStatus(requestID) + + // Assertions + assert.Error(t, err) + assert.Equal(t, "error fetching reindex request status from db: query error", err.Error()) +} + +func TestGetReindexStatusNoDetails(t *testing.T) { + dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) + assert.NoError(t, err) + defer dbConn.Close() + + db := &storage.DB{ + DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, + } + + requestID := 1 + createdAt := time.Now() + updatedAt := time.Now() + + // Mock the reindex_requests table query + requestQuery := `SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1 ORDER BY last_updated DESC LIMIT 1;` + requestColumns := []string{"request_id", "status", "created_at", "last_updated"} + mock.ExpectQuery(requestQuery).WithArgs(requestID). + WillReturnRows(sqlmock.NewRows(requestColumns).AddRow(requestID, "completed", createdAt, updatedAt)) + + // Mock the reindex_request_detailed table query to return no rows + detailQuery := `SELECT DISTINCT ON (index) id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1 ORDER BY index, updated_at DESC;` + detailColumns := []string{"id", "request_id", "index", "from_version", "to_version", "stage", "os_task_id", "heartbeat", "having_alias", "alias_list", "created_at", "updated_at"} + mock.ExpectQuery(detailQuery).WithArgs(requestID). + WillReturnRows(sqlmock.NewRows(detailColumns)) + + // Call the function + requests, details, statusJSON, err := db.GetReindexStatus(requestID) + + // Assertions + assert.NoError(t, err) + assert.Equal(t, 1, len(requests)) + assert.Equal(t, 0, len(details)) + + // Verify the JSON response + expectedJSON := `{"indexes":[],"overall_status":"completed"}` + assert.JSONEq(t, expectedJSON, statusJSON) +} From c1300a1d56a537d02f2cb18ee4a4bc1e264dfa13 Mon Sep 17 00:00:00 2001 From: Aishwarya2001 Date: Thu, 6 Mar 2025 09:58:43 +0530 Subject: [PATCH 3/5] adding new cli cmd Signed-off-by: Aishwarya2001 --- api/external/ingest/chef.pb.go | 127 +++++++++++++--- api/external/ingest/chef.pb.gw.go | 137 ++++++++++++++++++ api/external/ingest/chef.proto | 6 + api/external/ingest/chef.swagger.json | 39 +++++ api/external/ingest/request/action.pb.go | 63 +++++++- api/external/ingest/request/action.proto | 5 + api/external/ingest/response/action.pb.go | 63 +++++++- api/external/ingest/response/action.proto | 4 + .../ingest/chef.pb.client_mock.go | 35 +++++ api/interservice/ingest/chef.pb.go | 87 ++++++++--- api/interservice/ingest/chef.pb.gw.go | 83 +++++++++++ api/interservice/ingest/chef.proto | 6 +- api/interservice/ingest/chef.swagger.json | 39 +++++ .../automate-cli/cmd/chef-automate/reindex.go | 104 +++++++++++++ .../automate-gateway/api/chef.pb.swagger.go | 39 +++++ components/ingest-service/grpc/grpc.go | 4 +- components/ingest-service/server/chef.go | 24 ++- components/ingest-service/storage/db.go | 105 +++++++------- 18 files changed, 866 insertions(+), 104 deletions(-) create mode 100644 components/automate-cli/cmd/chef-automate/reindex.go diff --git a/api/external/ingest/chef.pb.go b/api/external/ingest/chef.pb.go index 24bacc713ee..7da727835ea 100644 --- a/api/external/ingest/chef.pb.go +++ b/api/external/ingest/chef.pb.go @@ -141,10 +141,23 @@ var file_external_ingest_chef_proto_rawDesc = []byte{ 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x67, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xc9, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x66, 0x49, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb1, + 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, + 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, + 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x67, 0x65, + 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_external_ingest_chef_proto_goTypes = []any{ @@ -154,12 +167,14 @@ var file_external_ingest_chef_proto_goTypes = []any{ (*request.MultipleNodeDeleteRequest)(nil), // 3: chef.automate.api.ingest.request.MultipleNodeDeleteRequest (*request.Liveness)(nil), // 4: chef.automate.api.ingest.request.Liveness (*version.VersionInfoRequest)(nil), // 5: chef.automate.api.common.version.VersionInfoRequest - (*response.ProcessChefRunResponse)(nil), // 6: chef.automate.api.ingest.response.ProcessChefRunResponse - (*response.ProcessChefActionResponse)(nil), // 7: chef.automate.api.ingest.response.ProcessChefActionResponse - (*response.ProcessNodeDeleteResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessNodeDeleteResponse - (*response.ProcessMultipleNodeDeleteResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - (*response.ProcessLivenessResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessLivenessResponse - (*version.VersionInfo)(nil), // 11: chef.automate.api.common.version.VersionInfo + (*request.GetReindexStatusRequest)(nil), // 6: chef.automate.api.ingest.request.GetReindexStatusRequest + (*response.ProcessChefRunResponse)(nil), // 7: chef.automate.api.ingest.response.ProcessChefRunResponse + (*response.ProcessChefActionResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessChefActionResponse + (*response.ProcessNodeDeleteResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessNodeDeleteResponse + (*response.ProcessMultipleNodeDeleteResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + (*response.ProcessLivenessResponse)(nil), // 11: chef.automate.api.ingest.response.ProcessLivenessResponse + (*version.VersionInfo)(nil), // 12: chef.automate.api.common.version.VersionInfo + (*response.GetReindexStatusResponse)(nil), // 13: chef.automate.api.ingest.response.GetReindexStatusResponse } var file_external_ingest_chef_proto_depIdxs = []int32{ 0, // 0: chef.automate.api.ingest.ChefIngester.ProcessChefRun:input_type -> chef.automate.api.ingest.request.Run @@ -168,14 +183,16 @@ var file_external_ingest_chef_proto_depIdxs = []int32{ 3, // 3: chef.automate.api.ingest.ChefIngester.ProcessMultipleNodeDeletes:input_type -> chef.automate.api.ingest.request.MultipleNodeDeleteRequest 4, // 4: chef.automate.api.ingest.ChefIngester.ProcessLivenessPing:input_type -> chef.automate.api.ingest.request.Liveness 5, // 5: chef.automate.api.ingest.ChefIngester.GetVersion:input_type -> chef.automate.api.common.version.VersionInfoRequest - 6, // 6: chef.automate.api.ingest.ChefIngester.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse - 7, // 7: chef.automate.api.ingest.ChefIngester.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse - 8, // 8: chef.automate.api.ingest.ChefIngester.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse - 9, // 9: chef.automate.api.ingest.ChefIngester.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - 10, // 10: chef.automate.api.ingest.ChefIngester.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse - 11, // 11: chef.automate.api.ingest.ChefIngester.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo - 6, // [6:12] is the sub-list for method output_type - 0, // [0:6] is the sub-list for method input_type + 6, // 6: chef.automate.api.ingest.ChefIngesterService.GetReindexStatus:input_type -> chef.automate.api.ingest.request.GetReindexStatusRequest + 7, // 7: chef.automate.api.ingest.ChefIngester.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse + 8, // 8: chef.automate.api.ingest.ChefIngester.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse + 9, // 9: chef.automate.api.ingest.ChefIngester.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse + 10, // 10: chef.automate.api.ingest.ChefIngester.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + 11, // 11: chef.automate.api.ingest.ChefIngester.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse + 12, // 12: chef.automate.api.ingest.ChefIngester.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo + 13, // 13: chef.automate.api.ingest.ChefIngesterService.GetReindexStatus:output_type -> chef.automate.api.ingest.response.GetReindexStatusResponse + 7, // [7:14] is the sub-list for method output_type + 0, // [0:7] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -194,7 +211,7 @@ func file_external_ingest_chef_proto_init() { NumEnums: 0, NumMessages: 0, NumExtensions: 0, - NumServices: 1, + NumServices: 2, }, GoTypes: file_external_ingest_chef_proto_goTypes, DependencyIndexes: file_external_ingest_chef_proto_depIdxs, @@ -464,3 +481,75 @@ var _ChefIngester_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "external/ingest/chef.proto", } + +// ChefIngesterServiceClient is the client API for ChefIngesterService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ChefIngesterServiceClient interface { + GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) +} + +type chefIngesterServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewChefIngesterServiceClient(cc grpc.ClientConnInterface) ChefIngesterServiceClient { + return &chefIngesterServiceClient{cc} +} + +func (c *chefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) { + out := new(response.GetReindexStatusResponse) + err := c.cc.Invoke(ctx, "/chef.automate.api.ingest.ChefIngesterService/GetReindexStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ChefIngesterServiceServer is the server API for ChefIngesterService service. +type ChefIngesterServiceServer interface { + GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) +} + +// UnimplementedChefIngesterServiceServer can be embedded to have forward compatible implementations. +type UnimplementedChefIngesterServiceServer struct { +} + +func (*UnimplementedChefIngesterServiceServer) GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetReindexStatus not implemented") +} + +func RegisterChefIngesterServiceServer(s *grpc.Server, srv ChefIngesterServiceServer) { + s.RegisterService(&_ChefIngesterService_serviceDesc, srv) +} + +func _ChefIngesterService_GetReindexStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(request.GetReindexStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/chef.automate.api.ingest.ChefIngesterService/GetReindexStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, req.(*request.GetReindexStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ChefIngesterService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "chef.automate.api.ingest.ChefIngesterService", + HandlerType: (*ChefIngesterServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetReindexStatus", + Handler: _ChefIngesterService_GetReindexStatus_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "external/ingest/chef.proto", +} diff --git a/api/external/ingest/chef.pb.gw.go b/api/external/ingest/chef.pb.gw.go index 220ce894db5..ff8554831bf 100644 --- a/api/external/ingest/chef.pb.gw.go +++ b/api/external/ingest/chef.pb.gw.go @@ -223,6 +223,42 @@ func local_request_ChefIngester_GetVersion_0(ctx context.Context, marshaler runt } +var ( + filter_ChefIngesterService_GetReindexStatus_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, client ChefIngesterServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq request.GetReindexStatusRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ChefIngesterService_GetReindexStatus_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetReindexStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, server ChefIngesterServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq request.GetReindexStatusRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ChefIngesterService_GetReindexStatus_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetReindexStatus(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterChefIngesterHandlerServer registers the http handlers for service ChefIngester to "mux". // UnaryRPC :call ChefIngesterServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -370,6 +406,38 @@ func RegisterChefIngesterHandlerServer(ctx context.Context, mux *runtime.ServeMu return nil } +// RegisterChefIngesterServiceHandlerServer registers the http handlers for service ChefIngesterService to "mux". +// UnaryRPC :call ChefIngesterServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterChefIngesterServiceHandlerFromEndpoint instead. +func RegisterChefIngesterServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ChefIngesterServiceServer) error { + + mux.Handle("GET", pattern_ChefIngesterService_GetReindexStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ChefIngesterService_GetReindexStatus_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ChefIngesterService_GetReindexStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + // RegisterChefIngesterHandlerFromEndpoint is same as RegisterChefIngesterHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterChefIngesterHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { @@ -558,3 +626,72 @@ var ( forward_ChefIngester_GetVersion_0 = runtime.ForwardResponseMessage ) + +// RegisterChefIngesterServiceHandlerFromEndpoint is same as RegisterChefIngesterServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterChefIngesterServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterChefIngesterServiceHandler(ctx, mux, conn) +} + +// RegisterChefIngesterServiceHandler registers the http handlers for service ChefIngesterService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterChefIngesterServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterChefIngesterServiceHandlerClient(ctx, mux, NewChefIngesterServiceClient(conn)) +} + +// RegisterChefIngesterServiceHandlerClient registers the http handlers for service ChefIngesterService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ChefIngesterServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ChefIngesterServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ChefIngesterServiceClient" to call the correct interceptors. +func RegisterChefIngesterServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ChefIngesterServiceClient) error { + + mux.Handle("GET", pattern_ChefIngesterService_GetReindexStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ChefIngesterService_GetReindexStatus_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ChefIngesterService_GetReindexStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ChefIngesterService_GetReindexStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"api", "v0", "ingest", "reindex", "status"}, "", runtime.AssumeColonVerbOpt(true))) +) + +var ( + forward_ChefIngesterService_GetReindexStatus_0 = runtime.ForwardResponseMessage +) diff --git a/api/external/ingest/chef.proto b/api/external/ingest/chef.proto index dd99f36b34d..20d195f6dad 100644 --- a/api/external/ingest/chef.proto +++ b/api/external/ingest/chef.proto @@ -70,3 +70,9 @@ service ChefIngester { option (chef.automate.api.iam.policy).action = "system:serviceVersion:get"; }; } + +service ChefIngesterService { + rpc GetReindexStatus (ingest.request.GetReindexStatusRequest) returns (ingest.response.GetReindexStatusResponse) { + option (google.api.http).get = "/api/v0/ingest/reindex/status"; + }; +} diff --git a/api/external/ingest/chef.swagger.json b/api/external/ingest/chef.swagger.json index d0140e830a1..a3c9f5e2d42 100644 --- a/api/external/ingest/chef.swagger.json +++ b/api/external/ingest/chef.swagger.json @@ -171,6 +171,37 @@ ] } }, + "/api/v0/ingest/reindex/status": { + "get": { + "operationId": "ChefIngesterService_GetReindexStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/chef.automate.api.ingest.response.GetReindexStatusResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "request_id", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "ChefIngesterService" + ] + } + }, "/api/v0/ingest/version": { "get": { "operationId": "ChefIngester_GetVersion", @@ -573,6 +604,14 @@ } } }, + "chef.automate.api.ingest.response.GetReindexStatusResponse": { + "type": "object", + "properties": { + "status_json": { + "type": "string" + } + } + }, "chef.automate.api.ingest.response.ProcessChefActionResponse": { "type": "object" }, diff --git a/api/external/ingest/request/action.pb.go b/api/external/ingest/request/action.pb.go index 693c45b2146..d494b0b4e75 100644 --- a/api/external/ingest/request/action.pb.go +++ b/api/external/ingest/request/action.pb.go @@ -360,6 +360,50 @@ func (x *MultipleNodeDeleteRequest) GetNodeIds() []string { return nil } +type GetReindexStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RequestId int32 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetReindexStatusRequest) Reset() { + *x = GetReindexStatusRequest{} + mi := &file_external_ingest_request_action_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetReindexStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetReindexStatusRequest) ProtoMessage() {} + +func (x *GetReindexStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_external_ingest_request_action_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetReindexStatusRequest.ProtoReflect.Descriptor instead. +func (*GetReindexStatusRequest) Descriptor() ([]byte, []int) { + return file_external_ingest_request_action_proto_rawDescGZIP(), []int{3} +} + +func (x *GetReindexStatusRequest) GetRequestId() int32 { + if x != nil { + return x.RequestId + } + return 0 +} + var File_external_ingest_request_action_proto protoreflect.FileDescriptor var file_external_ingest_request_action_proto_rawDesc = []byte{ @@ -428,11 +472,15 @@ var file_external_ingest_request_action_proto_rawDesc = []byte{ 0x64, 0x65, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x19, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x42, 0x36, 0x5a, 0x34, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0x38, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -447,11 +495,12 @@ func file_external_ingest_request_action_proto_rawDescGZIP() []byte { return file_external_ingest_request_action_proto_rawDescData } -var file_external_ingest_request_action_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_external_ingest_request_action_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_external_ingest_request_action_proto_goTypes = []any{ (*Action)(nil), // 0: chef.automate.api.ingest.request.Action (*Delete)(nil), // 1: chef.automate.api.ingest.request.Delete (*MultipleNodeDeleteRequest)(nil), // 2: chef.automate.api.ingest.request.MultipleNodeDeleteRequest + (*GetReindexStatusRequest)(nil), // 3: chef.automate.api.ingest.request.GetReindexStatusRequest } var file_external_ingest_request_action_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -472,7 +521,7 @@ func file_external_ingest_request_action_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_external_ingest_request_action_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/api/external/ingest/request/action.proto b/api/external/ingest/request/action.proto index c977a965f55..8ab32cb3618 100644 --- a/api/external/ingest/request/action.proto +++ b/api/external/ingest/request/action.proto @@ -48,3 +48,8 @@ message Delete { message MultipleNodeDeleteRequest { repeated string node_ids = 1; } + +message GetReindexStatusRequest { + int32 request_id = 1; +} + diff --git a/api/external/ingest/response/action.pb.go b/api/external/ingest/response/action.pb.go index 10ed8a6ed75..47cf89e9870 100644 --- a/api/external/ingest/response/action.pb.go +++ b/api/external/ingest/response/action.pb.go @@ -128,6 +128,50 @@ func (*ProcessMultipleNodeDeleteResponse) Descriptor() ([]byte, []int) { return file_external_ingest_response_action_proto_rawDescGZIP(), []int{2} } +type GetReindexStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + StatusJson string `protobuf:"bytes,1,opt,name=status_json,json=statusJson,proto3" json:"status_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetReindexStatusResponse) Reset() { + *x = GetReindexStatusResponse{} + mi := &file_external_ingest_response_action_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetReindexStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetReindexStatusResponse) ProtoMessage() {} + +func (x *GetReindexStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_external_ingest_response_action_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetReindexStatusResponse.ProtoReflect.Descriptor instead. +func (*GetReindexStatusResponse) Descriptor() ([]byte, []int) { + return file_external_ingest_response_action_proto_rawDescGZIP(), []int{3} +} + +func (x *GetReindexStatusResponse) GetStatusJson() string { + if x != nil { + return x.StatusJson + } + return "" +} + var File_external_ingest_response_action_proto protoreflect.FileDescriptor var file_external_ingest_response_action_proto_rawDesc = []byte{ @@ -141,11 +185,15 @@ var file_external_ingest_response_action_proto_rawDesc = []byte{ 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, + 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -160,11 +208,12 @@ func file_external_ingest_response_action_proto_rawDescGZIP() []byte { return file_external_ingest_response_action_proto_rawDescData } -var file_external_ingest_response_action_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_external_ingest_response_action_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_external_ingest_response_action_proto_goTypes = []any{ (*ProcessChefActionResponse)(nil), // 0: chef.automate.api.ingest.response.ProcessChefActionResponse (*ProcessNodeDeleteResponse)(nil), // 1: chef.automate.api.ingest.response.ProcessNodeDeleteResponse (*ProcessMultipleNodeDeleteResponse)(nil), // 2: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + (*GetReindexStatusResponse)(nil), // 3: chef.automate.api.ingest.response.GetReindexStatusResponse } var file_external_ingest_response_action_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -185,7 +234,7 @@ func file_external_ingest_response_action_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_external_ingest_response_action_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 4, NumExtensions: 0, NumServices: 0, }, diff --git a/api/external/ingest/response/action.proto b/api/external/ingest/response/action.proto index f268c5428ba..746eb086f30 100644 --- a/api/external/ingest/response/action.proto +++ b/api/external/ingest/response/action.proto @@ -14,3 +14,7 @@ message ProcessNodeDeleteResponse { message ProcessMultipleNodeDeleteResponse { } + +message GetReindexStatusResponse { + string status_json = 1; +} diff --git a/api/interservice/ingest/chef.pb.client_mock.go b/api/interservice/ingest/chef.pb.client_mock.go index aef5fb237ff..7e84d49f2ae 100644 --- a/api/interservice/ingest/chef.pb.client_mock.go +++ b/api/interservice/ingest/chef.pb.client_mock.go @@ -37,6 +37,26 @@ func (m *MockChefIngesterServiceClient) EXPECT() *MockChefIngesterServiceClientM return m.recorder } +// GetReindexStatus mocks base method. +func (m *MockChefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetReindexStatus", varargs...) + ret0, _ := ret[0].(*response.GetReindexStatusResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetReindexStatus indicates an expected call of GetReindexStatus. +func (mr *MockChefIngesterServiceClientMockRecorder) GetReindexStatus(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetReindexStatus", reflect.TypeOf((*MockChefIngesterServiceClient)(nil).GetReindexStatus), varargs...) +} + // GetVersion mocks base method. func (m *MockChefIngesterServiceClient) GetVersion(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*Version, error) { m.ctrl.T.Helper() @@ -180,6 +200,21 @@ func (m *MockChefIngesterServiceServer) EXPECT() *MockChefIngesterServiceServerM return m.recorder } +// GetReindexStatus mocks base method. +func (m *MockChefIngesterServiceServer) GetReindexStatus(arg0 context.Context, arg1 *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetReindexStatus", arg0, arg1) + ret0, _ := ret[0].(*response.GetReindexStatusResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetReindexStatus indicates an expected call of GetReindexStatus. +func (mr *MockChefIngesterServiceServerMockRecorder) GetReindexStatus(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetReindexStatus", reflect.TypeOf((*MockChefIngesterServiceServer)(nil).GetReindexStatus), arg0, arg1) +} + // GetVersion mocks base method. func (m *MockChefIngesterServiceServer) GetVersion(arg0 context.Context, arg1 *VersionRequest) (*Version, error) { m.ctrl.T.Helper() diff --git a/api/interservice/ingest/chef.pb.go b/api/interservice/ingest/chef.pb.go index a82104940d1..4f47d29b893 100644 --- a/api/interservice/ingest/chef.pb.go +++ b/api/interservice/ingest/chef.pb.go @@ -168,7 +168,7 @@ var file_interservice_ingest_chef_proto_rawDesc = []byte{ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x68, 0x61, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xc8, 0x07, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x66, 0x49, 0x6e, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xfc, 0x08, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x66, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x52, 0x75, 0x6e, 0x12, 0x25, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, @@ -229,10 +229,21 @@ var file_interservice_ingest_chef_proto_rawDesc = []byte{ 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, - 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x69, 0x6e, - 0x67, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0xb1, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, + 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -256,11 +267,13 @@ var file_interservice_ingest_chef_proto_goTypes = []any{ (*request.Liveness)(nil), // 4: chef.automate.api.ingest.request.Liveness (*request.MultipleNodeDeleteRequest)(nil), // 5: chef.automate.api.ingest.request.MultipleNodeDeleteRequest (*request.Delete)(nil), // 6: chef.automate.api.ingest.request.Delete - (*response.ProcessChefRunResponse)(nil), // 7: chef.automate.api.ingest.response.ProcessChefRunResponse - (*response.ProcessChefActionResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessChefActionResponse - (*response.ProcessLivenessResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessLivenessResponse - (*response.ProcessMultipleNodeDeleteResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - (*response.ProcessNodeDeleteResponse)(nil), // 11: chef.automate.api.ingest.response.ProcessNodeDeleteResponse + (*request.GetReindexStatusRequest)(nil), // 7: chef.automate.api.ingest.request.GetReindexStatusRequest + (*response.ProcessChefRunResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessChefRunResponse + (*response.ProcessChefActionResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessChefActionResponse + (*response.ProcessLivenessResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessLivenessResponse + (*response.ProcessMultipleNodeDeleteResponse)(nil), // 11: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + (*response.ProcessNodeDeleteResponse)(nil), // 12: chef.automate.api.ingest.response.ProcessNodeDeleteResponse + (*response.GetReindexStatusResponse)(nil), // 13: chef.automate.api.ingest.response.GetReindexStatusResponse } var file_interservice_ingest_chef_proto_depIdxs = []int32{ 2, // 0: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:input_type -> chef.automate.api.ingest.request.Run @@ -269,14 +282,16 @@ var file_interservice_ingest_chef_proto_depIdxs = []int32{ 5, // 3: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:input_type -> chef.automate.api.ingest.request.MultipleNodeDeleteRequest 6, // 4: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:input_type -> chef.automate.api.ingest.request.Delete 1, // 5: chef.automate.domain.ingest.ChefIngesterService.GetVersion:input_type -> chef.automate.domain.ingest.VersionRequest - 7, // 6: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse - 8, // 7: chef.automate.domain.ingest.ChefIngesterService.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse - 9, // 8: chef.automate.domain.ingest.ChefIngesterService.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse - 10, // 9: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - 11, // 10: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse - 0, // 11: chef.automate.domain.ingest.ChefIngesterService.GetVersion:output_type -> chef.automate.domain.ingest.Version - 6, // [6:12] is the sub-list for method output_type - 0, // [0:6] is the sub-list for method input_type + 7, // 6: chef.automate.domain.ingest.ChefIngesterService.GetReindexStatus:input_type -> chef.automate.api.ingest.request.GetReindexStatusRequest + 8, // 7: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse + 9, // 8: chef.automate.domain.ingest.ChefIngesterService.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse + 10, // 9: chef.automate.domain.ingest.ChefIngesterService.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse + 11, // 10: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + 12, // 11: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse + 0, // 12: chef.automate.domain.ingest.ChefIngesterService.GetVersion:output_type -> chef.automate.domain.ingest.Version + 13, // 13: chef.automate.domain.ingest.ChefIngesterService.GetReindexStatus:output_type -> chef.automate.api.ingest.response.GetReindexStatusResponse + 7, // [7:14] is the sub-list for method output_type + 0, // [0:7] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -325,6 +340,7 @@ type ChefIngesterServiceClient interface { ProcessMultipleNodeDeletes(ctx context.Context, in *request.MultipleNodeDeleteRequest, opts ...grpc.CallOption) (*response.ProcessMultipleNodeDeleteResponse, error) ProcessNodeDelete(ctx context.Context, in *request.Delete, opts ...grpc.CallOption) (*response.ProcessNodeDeleteResponse, error) GetVersion(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*Version, error) + GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) } type chefIngesterServiceClient struct { @@ -389,6 +405,15 @@ func (c *chefIngesterServiceClient) GetVersion(ctx context.Context, in *VersionR return out, nil } +func (c *chefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) { + out := new(response.GetReindexStatusResponse) + err := c.cc.Invoke(ctx, "/chef.automate.domain.ingest.ChefIngesterService/GetReindexStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ChefIngesterServiceServer is the server API for ChefIngesterService service. type ChefIngesterServiceServer interface { ProcessChefRun(context.Context, *request.Run) (*response.ProcessChefRunResponse, error) @@ -397,6 +422,7 @@ type ChefIngesterServiceServer interface { ProcessMultipleNodeDeletes(context.Context, *request.MultipleNodeDeleteRequest) (*response.ProcessMultipleNodeDeleteResponse, error) ProcessNodeDelete(context.Context, *request.Delete) (*response.ProcessNodeDeleteResponse, error) GetVersion(context.Context, *VersionRequest) (*Version, error) + GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) } // UnimplementedChefIngesterServiceServer can be embedded to have forward compatible implementations. @@ -421,6 +447,9 @@ func (*UnimplementedChefIngesterServiceServer) ProcessNodeDelete(context.Context func (*UnimplementedChefIngesterServiceServer) GetVersion(context.Context, *VersionRequest) (*Version, error) { return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") } +func (*UnimplementedChefIngesterServiceServer) GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetReindexStatus not implemented") +} func RegisterChefIngesterServiceServer(s *grpc.Server, srv ChefIngesterServiceServer) { s.RegisterService(&_ChefIngesterService_serviceDesc, srv) @@ -534,6 +563,24 @@ func _ChefIngesterService_GetVersion_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _ChefIngesterService_GetReindexStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(request.GetReindexStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/chef.automate.domain.ingest.ChefIngesterService/GetReindexStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, req.(*request.GetReindexStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _ChefIngesterService_serviceDesc = grpc.ServiceDesc{ ServiceName: "chef.automate.domain.ingest.ChefIngesterService", HandlerType: (*ChefIngesterServiceServer)(nil), @@ -562,6 +609,10 @@ var _ChefIngesterService_serviceDesc = grpc.ServiceDesc{ MethodName: "GetVersion", Handler: _ChefIngesterService_GetVersion_Handler, }, + { + MethodName: "GetReindexStatus", + Handler: _ChefIngesterService_GetReindexStatus_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "interservice/ingest/chef.proto", diff --git a/api/interservice/ingest/chef.pb.gw.go b/api/interservice/ingest/chef.pb.gw.go index 5ad81f043e8..9970a257907 100644 --- a/api/interservice/ingest/chef.pb.gw.go +++ b/api/interservice/ingest/chef.pb.gw.go @@ -188,6 +188,42 @@ func local_request_ChefIngesterService_GetVersion_0(ctx context.Context, marshal } +var ( + filter_ChefIngesterService_GetReindexStatus_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, client ChefIngesterServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq request.GetReindexStatusRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ChefIngesterService_GetReindexStatus_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetReindexStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, server ChefIngesterServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq request.GetReindexStatusRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ChefIngesterService_GetReindexStatus_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetReindexStatus(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterChefIngesterServiceHandlerServer registers the http handlers for service ChefIngesterService to "mux". // UnaryRPC :call ChefIngesterServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -309,6 +345,29 @@ func RegisterChefIngesterServiceHandlerServer(ctx context.Context, mux *runtime. }) + mux.Handle("GET", pattern_ChefIngesterService_GetReindexStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ChefIngesterService_GetReindexStatus_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ChefIngesterService_GetReindexStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -450,6 +509,26 @@ func RegisterChefIngesterServiceHandlerClient(ctx context.Context, mux *runtime. }) + mux.Handle("GET", pattern_ChefIngesterService_GetReindexStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ChefIngesterService_GetReindexStatus_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ChefIngesterService_GetReindexStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -463,6 +542,8 @@ var ( pattern_ChefIngesterService_ProcessNodeDelete_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"api", "v0", "events", "chef", "nodedelete"}, "", runtime.AssumeColonVerbOpt(true))) pattern_ChefIngesterService_GetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v0", "ingest", "version"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ChefIngesterService_GetReindexStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"api", "v0", "ingest", "reindex", "status"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -475,4 +556,6 @@ var ( forward_ChefIngesterService_ProcessNodeDelete_0 = runtime.ForwardResponseMessage forward_ChefIngesterService_GetVersion_0 = runtime.ForwardResponseMessage + + forward_ChefIngesterService_GetReindexStatus_0 = runtime.ForwardResponseMessage ) diff --git a/api/interservice/ingest/chef.proto b/api/interservice/ingest/chef.proto index 2f49de0a9c8..1edc53390e0 100644 --- a/api/interservice/ingest/chef.proto +++ b/api/interservice/ingest/chef.proto @@ -58,4 +58,8 @@ service ChefIngesterService { rpc GetVersion (VersionRequest) returns (Version) { option (google.api.http).get = "/api/v0/ingest/version"; }; -} + rpc GetReindexStatus (api.ingest.request.GetReindexStatusRequest) returns (api.ingest.response.GetReindexStatusResponse) { + option (google.api.http).get = "/api/v0/ingest/reindex/status"; + }; + +} \ No newline at end of file diff --git a/api/interservice/ingest/chef.swagger.json b/api/interservice/ingest/chef.swagger.json index cb8379da18a..33b8878d824 100644 --- a/api/interservice/ingest/chef.swagger.json +++ b/api/interservice/ingest/chef.swagger.json @@ -139,6 +139,37 @@ ] } }, + "/api/v0/ingest/reindex/status": { + "get": { + "operationId": "ChefIngesterService_GetReindexStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/chef.automate.api.ingest.response.GetReindexStatusResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "request_id", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "ChefIngesterService" + ] + } + }, "/api/v0/ingest/version": { "get": { "operationId": "ChefIngesterService_GetVersion", @@ -513,6 +544,14 @@ } } }, + "chef.automate.api.ingest.response.GetReindexStatusResponse": { + "type": "object", + "properties": { + "status_json": { + "type": "string" + } + } + }, "chef.automate.api.ingest.response.ProcessChefActionResponse": { "type": "object" }, diff --git a/components/automate-cli/cmd/chef-automate/reindex.go b/components/automate-cli/cmd/chef-automate/reindex.go new file mode 100644 index 00000000000..beb81e65872 --- /dev/null +++ b/components/automate-cli/cmd/chef-automate/reindex.go @@ -0,0 +1,104 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "log" + "os" + + "github.com/chef/automate/api/external/ingest" + "github.com/chef/automate/api/external/ingest/request" + "github.com/chef/automate/components/automate-cli/pkg/status" + "github.com/spf13/cobra" + "google.golang.org/grpc" +) + +// reindexCmd is the parent command +var reindexCmd = &cobra.Command{ + Use: "reindex COMMAND", + Short: "Manage OpenSearch reindexing", +} + +// reindexStatusCmd retrieves reindexing status +var reindexStatusCmd = &cobra.Command{ + Use: "status", + Short: "Retrieve the current reindexing status", + RunE: runReindexStatusCmd, + PersistentPreRunE: preReindexCmd, +} + +// runReindexStatusCmd connects to ingest-service and fetches reindex status +func runReindexStatusCmd(cmd *cobra.Command, args []string) error { + // Connect to ingest-service + conn, err := grpc.Dial("localhost:10122", grpc.WithInsecure()) + if err != nil { + log.Fatalf("Failed to connect to ingest service: %v", err) + } + defer conn.Close() + + client := ingest.NewChefIngesterServiceClient(conn) + + // Create request with a hardcoded RequestId for now + req := &request.GetReindexStatusRequest{RequestId: 1} + resp, err := client.GetReindexStatus(context.Background(), req) + if err != nil { + log.Fatalf("Failed to get reindex status: %v", err) + } + + // Parse and print the response + var statusData map[string]interface{} + err = json.Unmarshal([]byte(resp.StatusJson), &statusData) + if err != nil { + log.Fatalf("Failed to parse JSON response: %v", err) + } + + fmt.Println("Reindex Status:") + printReindexStatus(statusData) + + return nil +} + +// printReindexStatus formats and prints the reindex status +func printReindexStatus(statusData map[string]interface{}) { + overallStatus, _ := statusData["overall_status"].(string) + fmt.Printf("Overall Status: %s\n", overallStatus) + + indexes, ok := statusData["indexes"].([]interface{}) + if !ok { + fmt.Println("No index details available.") + return + } + + fmt.Println("Index Details:") + for _, index := range indexes { + if indexMap, ok := index.(map[string]interface{}); ok { + fmt.Printf("- Index: %s, Stage: %s\n", indexMap["index"], indexMap["stage"]) + } + } +} + +// preReindexCmd performs pre-run validation before executing the command +func preReindexCmd(cmd *cobra.Command, args []string) error { + err := commandPrePersistent(cmd) + if err != nil { + return status.Wrap(err, status.CommandExecutionError, "unable to set command parent settings") + } + + // If running in an A2HA setup, execute on a single node and exit + if isA2HARBFileExist() { + output, err := RunCmdOnSingleAutomateNode(cmd, args) + if err != nil { + return err + } + writer.Print(output) + os.Exit(0) // Prevents further execution in HA mode + } + + return nil +} + +func init() { + reindexCmd.AddCommand(reindexStatusCmd) + RootCmd.AddCommand(reindexCmd) +} diff --git a/components/automate-gateway/api/chef.pb.swagger.go b/components/automate-gateway/api/chef.pb.swagger.go index 747298df248..d5409d1f60c 100644 --- a/components/automate-gateway/api/chef.pb.swagger.go +++ b/components/automate-gateway/api/chef.pb.swagger.go @@ -174,6 +174,37 @@ func init() { ] } }, + "/api/v0/ingest/reindex/status": { + "get": { + "operationId": "ChefIngesterService_GetReindexStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/chef.automate.api.ingest.response.GetReindexStatusResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/grpc.gateway.runtime.Error" + } + } + }, + "parameters": [ + { + "name": "request_id", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "ChefIngesterService" + ] + } + }, "/api/v0/ingest/version": { "get": { "operationId": "ChefIngester_GetVersion", @@ -576,6 +607,14 @@ func init() { } } }, + "chef.automate.api.ingest.response.GetReindexStatusResponse": { + "type": "object", + "properties": { + "status_json": { + "type": "string" + } + } + }, "chef.automate.api.ingest.response.ProcessChefActionResponse": { "type": "object" }, diff --git a/components/ingest-service/grpc/grpc.go b/components/ingest-service/grpc/grpc.go index 1e0c11a250d..19236d4de60 100644 --- a/components/ingest-service/grpc/grpc.go +++ b/components/ingest-service/grpc/grpc.go @@ -194,10 +194,10 @@ func Spawn(opts *serveropts.Opts) error { "If this is an error, remove the lock from postgresql with the "+ "'SELECT pg_advisory_unlock(%d);' command inside the chef_ingest_service database.", migration.PgMigrationLockID) } - + dbInstance := storage.NewDB() // ChefRuns chefIngest := server.NewChefIngestServer(client, authzProjectsClient, nodeMgrServiceClient, - nodesServiceClient, chefActionPipeline, chefRunPipeline) + nodesServiceClient, chefActionPipeline, chefRunPipeline, dbInstance) ingest.RegisterChefIngesterServiceServer(grpcServer, chefIngest) diff --git a/components/ingest-service/server/chef.go b/components/ingest-service/server/chef.go index c9505210467..b3a619b21a4 100644 --- a/components/ingest-service/server/chef.go +++ b/components/ingest-service/server/chef.go @@ -2,12 +2,14 @@ package server import ( "context" + "fmt" "time" log "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "github.com/chef/automate/api/external/ingest/request" chef "github.com/chef/automate/api/external/ingest/request" "github.com/chef/automate/api/external/ingest/response" "github.com/chef/automate/api/interservice/authz" @@ -16,6 +18,7 @@ import ( "github.com/chef/automate/api/interservice/nodemanager/nodes" "github.com/chef/automate/components/ingest-service/backend" "github.com/chef/automate/components/ingest-service/pipeline" + "github.com/chef/automate/components/ingest-service/storage" "github.com/chef/automate/lib/version" ) @@ -26,6 +29,7 @@ type ChefIngestServer struct { authzClient authz.ProjectsServiceClient nodeMgrClient manager.NodeManagerServiceClient nodesClient nodes.NodesServiceClient + db *storage.DB // Added field for database access } // NewChefIngestServer creates a new server instance and it automatically @@ -35,7 +39,8 @@ func NewChefIngestServer(client backend.Client, authzClient authz.ProjectsServic nodeMgrClient manager.NodeManagerServiceClient, nodesClient nodes.NodesServiceClient, actionPipeline pipeline.ChefActionPipeline, - chefRunPipeline pipeline.ChefRunPipeline) *ChefIngestServer { + chefRunPipeline pipeline.ChefRunPipeline, + db *storage.DB) *ChefIngestServer { // Added db parameter return &ChefIngestServer{ chefRunPipeline: chefRunPipeline, chefActionPipeline: actionPipeline, @@ -43,6 +48,7 @@ func NewChefIngestServer(client backend.Client, authzClient authz.ProjectsServic authzClient: authzClient, nodeMgrClient: nodeMgrClient, nodesClient: nodesClient, + db: db, // Initialize db } } @@ -233,6 +239,22 @@ func (s *ChefIngestServer) ProcessNodeDelete(ctx context.Context, return &response.ProcessNodeDeleteResponse{}, nil } +func (s *ChefIngestServer) GetReindexStatus(ctx context.Context, req *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { + if s.db == nil { + return nil, fmt.Errorf("database connection is not initialized") + } + + // Call DB function properly on the DB instance + _, _, statusJSON, err := s.db.GetReindexStatus(int(req.RequestId)) + if err != nil { + return nil, fmt.Errorf("failed to fetch reindex status: %w", err) + + } + + return &response.GetReindexStatusResponse{ + StatusJson: statusJSON, + }, nil +} // GetVersion returns the service version func (s *ChefIngestServer) GetVersion(ctx context.Context, empty *ingest.VersionRequest) (*ingest.Version, error) { diff --git a/components/ingest-service/storage/db.go b/components/ingest-service/storage/db.go index 02ccac25453..7fb990882bc 100644 --- a/components/ingest-service/storage/db.go +++ b/components/ingest-service/storage/db.go @@ -16,6 +16,10 @@ type DB struct { *gorp.DbMap } +func NewDB() *DB { + return &DB{} +} + // ReindexRequest represents the reindex_requests table type ReindexRequest struct { RequestID int `db:"request_id"` @@ -50,20 +54,20 @@ func RunMigrations(dbConf *config.Storage) error { // CRUD Operations // Create a new reindex request -func (db *DB) InsertReindexRequest(requestID int, status string, currentTime time.Time) error { - _, err := db.Exec(insertReindexRequest, requestID, status, currentTime, currentTime) +func (db *DB) InsertReindexRequest(requestID int, status string) error { + _, err := db.Exec(insertReindexRequest, requestID, status, time.Now(), time.Now()) return err } // Update an existing reindex request -func (db *DB) UpdateReindexRequest(requestID int, status string, currentTime time.Time) error { - _, err := db.Exec(updateReindexRequest, status, currentTime, requestID) +func (db *DB) UpdateReindexRequest(requestID int, status string) error { + _, err := db.Exec(updateReindexRequest, status, time.Now(), requestID) return err } // Insert reindex request detailed entry -func (db *DB) InsertReindexRequestDetailed(detail ReindexRequestDetailed, currentTime time.Time) error { - _, err := db.Exec(insertReindexRequestDetailed, detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, detail.Heartbeat, detail.HavingAlias, detail.AliasList, currentTime, currentTime) +func (db *DB) InsertReindexRequestDetailed(detail ReindexRequestDetailed) error { + _, err := db.Exec(insertReindexRequestDetailed, detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, detail.Heartbeat, detail.HavingAlias, detail.AliasList, time.Now(), time.Now()) return err } @@ -79,49 +83,59 @@ func (db *DB) DeleteReindexRequestDetail(id int) error { return err } -// Get reindex request status func (db *DB) GetReindexStatus(requestID int) ([]*ReindexRequest, []*ReindexRequestDetailed, string, error) { - // Fetch the latest reindex request - var request []*ReindexRequest - _, err := db.Select(&request, getLatestReindexRequest, requestID) - if err != nil { - return nil, nil, "", errors.Wrap(err, "error fetching reindex request status from db") - } - - // Handle case where no records are found - if len(request) == 0 { - return nil, nil, "", errors.New("no reindex request found for the given requestID") - } - - // Fetch the latest reindex request details for each index - var details []*ReindexRequestDetailed - _, err = db.Select(&details, getLatestReindexRequestDetails, requestID) - if err != nil { - return nil, nil, "", errors.Wrap(err, "error fetching reindex request details from db") - } - - // Prepare the status response + // Hardcoded dummy response status := map[string]interface{}{ - "overall_status": request[0].Status, // Using the latest reindex request status - "indexes": []map[string]string{}, + "overall_status": "running", + "indexes": []map[string]string{ + {"index": "index_1", "stage": "running"}, + {"index": "index_2", "stage": "completed"}, + }, } - for _, detail := range details { - status["indexes"] = append(status["indexes"].([]map[string]string), map[string]string{ - "index": detail.Index, - "stage": detail.Stage, - }) - } - - // Marshal the status to JSON statusJSON, err := json.Marshal(status) if err != nil { return nil, nil, "", errors.Wrap(err, "error marshalling reindex status to JSON") } - return request, details, string(statusJSON), nil + // Returning nil for the actual DB queries since we're hardcoding the response + return nil, nil, string(statusJSON), nil } +// Get reindex request status +// func (db *DB) GetReindexStatus(requestID int) ([]*ReindexRequest, []*ReindexRequestDetailed, string, error) { +// var request []*ReindexRequest +// _, err := db.Select(&request, getstatusReindexRequest, requestID) +// if err != nil { +// return nil, nil, "", errors.Wrap(err, "error fetching reindex request status from db") +// } + +// var details []*ReindexRequestDetailed +// _, err = db.Select(&details, getstatusReindexRequestDetails, requestID) +// if err != nil { +// return nil, nil, "", errors.Wrap(err, "error fetching reindex request details from db") +// } + +// status := map[string]interface{}{ +// "overall_status": request[0].Status, // Using request[0] since it's a slice +// "indexes": []map[string]string{}, +// } + +// for _, detail := range details { +// status["indexes"] = append(status["indexes"].([]map[string]string), map[string]string{ +// "index": detail.Index, +// "stage": detail.Stage, +// }) +// } + +// statusJSON, err := json.Marshal(status) +// if err != nil { +// return nil, nil, "", errors.Wrap(err, "error marshalling reindex status to JSON") +// } + +// return request, details, string(statusJSON), nil +// } + // SQL Queries const insertReindexRequest = ` INSERT INTO reindex_requests(request_id, status, created_at, last_updated) @@ -130,22 +144,15 @@ VALUES ($1, $2, $3, $4);` const updateReindexRequest = ` UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` -const getLatestReindexRequest = ` -SELECT request_id, status, created_at, last_updated -FROM reindex_requests -WHERE request_id = $1 -ORDER BY last_updated DESC -LIMIT 1;` +//const getstatusReindexRequest = ` +//SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1;` const insertReindexRequestDetailed = ` INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` -const getLatestReindexRequestDetails = ` -SELECT DISTINCT ON (index) id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at -FROM reindex_request_detailed -WHERE request_id = $1 -ORDER BY index, updated_at DESC;` +//const getstatusReindexRequestDetails = ` +//SELECT id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1;` const deleteReindexRequest = ` DELETE FROM reindex_requests WHERE request_id = $1;` From 7ecc752be553014215627eafccc00f9c1398ba2c Mon Sep 17 00:00:00 2001 From: Aishwarya2001 Date: Thu, 6 Mar 2025 14:32:14 +0530 Subject: [PATCH 4/5] api implementation in deployment service Signed-off-by: Aishwarya2001 --- api/external/ingest/chef.pb.go | 127 +- api/external/ingest/chef.pb.gw.go | 137 - api/external/ingest/chef.proto | 6 - api/external/ingest/chef.swagger.json | 39 - api/external/ingest/request/action.pb.go | 63 +- api/external/ingest/request/action.proto | 4 - api/external/ingest/response/action.pb.go | 63 +- api/external/ingest/response/action.proto | 4 - .../deployment/automate_deployment.pb.go | 3562 +++++++++-------- .../deployment/automate_deployment.proto | 9 + .../ingest/chef.pb.client_mock.go | 8 +- api/interservice/ingest/chef.pb.go | 305 +- api/interservice/ingest/chef.pb.gw.go | 4 +- api/interservice/ingest/chef.proto | 10 +- api/interservice/ingest/chef.swagger.json | 18 +- .../automate-cli/cmd/chef-automate/reindex.go | 51 +- .../automate-deployment/pkg/server/reindex.go | 45 + .../automate-gateway/api/chef.pb.swagger.go | 39 - components/ingest-service/server/chef.go | 8 +- 19 files changed, 2204 insertions(+), 2298 deletions(-) create mode 100644 components/automate-deployment/pkg/server/reindex.go diff --git a/api/external/ingest/chef.pb.go b/api/external/ingest/chef.pb.go index 7da727835ea..24bacc713ee 100644 --- a/api/external/ingest/chef.pb.go +++ b/api/external/ingest/chef.pb.go @@ -141,23 +141,10 @@ var file_external_ingest_chef_proto_rawDesc = []byte{ 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x67, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xc9, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x66, 0x49, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb1, - 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, - 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, - 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x67, 0x65, - 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_external_ingest_chef_proto_goTypes = []any{ @@ -167,14 +154,12 @@ var file_external_ingest_chef_proto_goTypes = []any{ (*request.MultipleNodeDeleteRequest)(nil), // 3: chef.automate.api.ingest.request.MultipleNodeDeleteRequest (*request.Liveness)(nil), // 4: chef.automate.api.ingest.request.Liveness (*version.VersionInfoRequest)(nil), // 5: chef.automate.api.common.version.VersionInfoRequest - (*request.GetReindexStatusRequest)(nil), // 6: chef.automate.api.ingest.request.GetReindexStatusRequest - (*response.ProcessChefRunResponse)(nil), // 7: chef.automate.api.ingest.response.ProcessChefRunResponse - (*response.ProcessChefActionResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessChefActionResponse - (*response.ProcessNodeDeleteResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessNodeDeleteResponse - (*response.ProcessMultipleNodeDeleteResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - (*response.ProcessLivenessResponse)(nil), // 11: chef.automate.api.ingest.response.ProcessLivenessResponse - (*version.VersionInfo)(nil), // 12: chef.automate.api.common.version.VersionInfo - (*response.GetReindexStatusResponse)(nil), // 13: chef.automate.api.ingest.response.GetReindexStatusResponse + (*response.ProcessChefRunResponse)(nil), // 6: chef.automate.api.ingest.response.ProcessChefRunResponse + (*response.ProcessChefActionResponse)(nil), // 7: chef.automate.api.ingest.response.ProcessChefActionResponse + (*response.ProcessNodeDeleteResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessNodeDeleteResponse + (*response.ProcessMultipleNodeDeleteResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + (*response.ProcessLivenessResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessLivenessResponse + (*version.VersionInfo)(nil), // 11: chef.automate.api.common.version.VersionInfo } var file_external_ingest_chef_proto_depIdxs = []int32{ 0, // 0: chef.automate.api.ingest.ChefIngester.ProcessChefRun:input_type -> chef.automate.api.ingest.request.Run @@ -183,16 +168,14 @@ var file_external_ingest_chef_proto_depIdxs = []int32{ 3, // 3: chef.automate.api.ingest.ChefIngester.ProcessMultipleNodeDeletes:input_type -> chef.automate.api.ingest.request.MultipleNodeDeleteRequest 4, // 4: chef.automate.api.ingest.ChefIngester.ProcessLivenessPing:input_type -> chef.automate.api.ingest.request.Liveness 5, // 5: chef.automate.api.ingest.ChefIngester.GetVersion:input_type -> chef.automate.api.common.version.VersionInfoRequest - 6, // 6: chef.automate.api.ingest.ChefIngesterService.GetReindexStatus:input_type -> chef.automate.api.ingest.request.GetReindexStatusRequest - 7, // 7: chef.automate.api.ingest.ChefIngester.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse - 8, // 8: chef.automate.api.ingest.ChefIngester.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse - 9, // 9: chef.automate.api.ingest.ChefIngester.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse - 10, // 10: chef.automate.api.ingest.ChefIngester.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - 11, // 11: chef.automate.api.ingest.ChefIngester.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse - 12, // 12: chef.automate.api.ingest.ChefIngester.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo - 13, // 13: chef.automate.api.ingest.ChefIngesterService.GetReindexStatus:output_type -> chef.automate.api.ingest.response.GetReindexStatusResponse - 7, // [7:14] is the sub-list for method output_type - 0, // [0:7] is the sub-list for method input_type + 6, // 6: chef.automate.api.ingest.ChefIngester.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse + 7, // 7: chef.automate.api.ingest.ChefIngester.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse + 8, // 8: chef.automate.api.ingest.ChefIngester.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse + 9, // 9: chef.automate.api.ingest.ChefIngester.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + 10, // 10: chef.automate.api.ingest.ChefIngester.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse + 11, // 11: chef.automate.api.ingest.ChefIngester.GetVersion:output_type -> chef.automate.api.common.version.VersionInfo + 6, // [6:12] is the sub-list for method output_type + 0, // [0:6] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -211,7 +194,7 @@ func file_external_ingest_chef_proto_init() { NumEnums: 0, NumMessages: 0, NumExtensions: 0, - NumServices: 2, + NumServices: 1, }, GoTypes: file_external_ingest_chef_proto_goTypes, DependencyIndexes: file_external_ingest_chef_proto_depIdxs, @@ -481,75 +464,3 @@ var _ChefIngester_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "external/ingest/chef.proto", } - -// ChefIngesterServiceClient is the client API for ChefIngesterService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ChefIngesterServiceClient interface { - GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) -} - -type chefIngesterServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewChefIngesterServiceClient(cc grpc.ClientConnInterface) ChefIngesterServiceClient { - return &chefIngesterServiceClient{cc} -} - -func (c *chefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) { - out := new(response.GetReindexStatusResponse) - err := c.cc.Invoke(ctx, "/chef.automate.api.ingest.ChefIngesterService/GetReindexStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ChefIngesterServiceServer is the server API for ChefIngesterService service. -type ChefIngesterServiceServer interface { - GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) -} - -// UnimplementedChefIngesterServiceServer can be embedded to have forward compatible implementations. -type UnimplementedChefIngesterServiceServer struct { -} - -func (*UnimplementedChefIngesterServiceServer) GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetReindexStatus not implemented") -} - -func RegisterChefIngesterServiceServer(s *grpc.Server, srv ChefIngesterServiceServer) { - s.RegisterService(&_ChefIngesterService_serviceDesc, srv) -} - -func _ChefIngesterService_GetReindexStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(request.GetReindexStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/chef.automate.api.ingest.ChefIngesterService/GetReindexStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, req.(*request.GetReindexStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _ChefIngesterService_serviceDesc = grpc.ServiceDesc{ - ServiceName: "chef.automate.api.ingest.ChefIngesterService", - HandlerType: (*ChefIngesterServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetReindexStatus", - Handler: _ChefIngesterService_GetReindexStatus_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "external/ingest/chef.proto", -} diff --git a/api/external/ingest/chef.pb.gw.go b/api/external/ingest/chef.pb.gw.go index ff8554831bf..220ce894db5 100644 --- a/api/external/ingest/chef.pb.gw.go +++ b/api/external/ingest/chef.pb.gw.go @@ -223,42 +223,6 @@ func local_request_ChefIngester_GetVersion_0(ctx context.Context, marshaler runt } -var ( - filter_ChefIngesterService_GetReindexStatus_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, client ChefIngesterServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq request.GetReindexStatusRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ChefIngesterService_GetReindexStatus_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetReindexStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, server ChefIngesterServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq request.GetReindexStatusRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ChefIngesterService_GetReindexStatus_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetReindexStatus(ctx, &protoReq) - return msg, metadata, err - -} - // RegisterChefIngesterHandlerServer registers the http handlers for service ChefIngester to "mux". // UnaryRPC :call ChefIngesterServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -406,38 +370,6 @@ func RegisterChefIngesterHandlerServer(ctx context.Context, mux *runtime.ServeMu return nil } -// RegisterChefIngesterServiceHandlerServer registers the http handlers for service ChefIngesterService to "mux". -// UnaryRPC :call ChefIngesterServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterChefIngesterServiceHandlerFromEndpoint instead. -func RegisterChefIngesterServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ChefIngesterServiceServer) error { - - mux.Handle("GET", pattern_ChefIngesterService_GetReindexStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ChefIngesterService_GetReindexStatus_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ChefIngesterService_GetReindexStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - // RegisterChefIngesterHandlerFromEndpoint is same as RegisterChefIngesterHandler but // automatically dials to "endpoint" and closes the connection when "ctx" gets done. func RegisterChefIngesterHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { @@ -626,72 +558,3 @@ var ( forward_ChefIngester_GetVersion_0 = runtime.ForwardResponseMessage ) - -// RegisterChefIngesterServiceHandlerFromEndpoint is same as RegisterChefIngesterServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterChefIngesterServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterChefIngesterServiceHandler(ctx, mux, conn) -} - -// RegisterChefIngesterServiceHandler registers the http handlers for service ChefIngesterService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterChefIngesterServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterChefIngesterServiceHandlerClient(ctx, mux, NewChefIngesterServiceClient(conn)) -} - -// RegisterChefIngesterServiceHandlerClient registers the http handlers for service ChefIngesterService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ChefIngesterServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ChefIngesterServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "ChefIngesterServiceClient" to call the correct interceptors. -func RegisterChefIngesterServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ChefIngesterServiceClient) error { - - mux.Handle("GET", pattern_ChefIngesterService_GetReindexStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ChefIngesterService_GetReindexStatus_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_ChefIngesterService_GetReindexStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_ChefIngesterService_GetReindexStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"api", "v0", "ingest", "reindex", "status"}, "", runtime.AssumeColonVerbOpt(true))) -) - -var ( - forward_ChefIngesterService_GetReindexStatus_0 = runtime.ForwardResponseMessage -) diff --git a/api/external/ingest/chef.proto b/api/external/ingest/chef.proto index 20d195f6dad..dd99f36b34d 100644 --- a/api/external/ingest/chef.proto +++ b/api/external/ingest/chef.proto @@ -70,9 +70,3 @@ service ChefIngester { option (chef.automate.api.iam.policy).action = "system:serviceVersion:get"; }; } - -service ChefIngesterService { - rpc GetReindexStatus (ingest.request.GetReindexStatusRequest) returns (ingest.response.GetReindexStatusResponse) { - option (google.api.http).get = "/api/v0/ingest/reindex/status"; - }; -} diff --git a/api/external/ingest/chef.swagger.json b/api/external/ingest/chef.swagger.json index a3c9f5e2d42..d0140e830a1 100644 --- a/api/external/ingest/chef.swagger.json +++ b/api/external/ingest/chef.swagger.json @@ -171,37 +171,6 @@ ] } }, - "/api/v0/ingest/reindex/status": { - "get": { - "operationId": "ChefIngesterService_GetReindexStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/chef.automate.api.ingest.response.GetReindexStatusResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "request_id", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "ChefIngesterService" - ] - } - }, "/api/v0/ingest/version": { "get": { "operationId": "ChefIngester_GetVersion", @@ -604,14 +573,6 @@ } } }, - "chef.automate.api.ingest.response.GetReindexStatusResponse": { - "type": "object", - "properties": { - "status_json": { - "type": "string" - } - } - }, "chef.automate.api.ingest.response.ProcessChefActionResponse": { "type": "object" }, diff --git a/api/external/ingest/request/action.pb.go b/api/external/ingest/request/action.pb.go index d494b0b4e75..693c45b2146 100644 --- a/api/external/ingest/request/action.pb.go +++ b/api/external/ingest/request/action.pb.go @@ -360,50 +360,6 @@ func (x *MultipleNodeDeleteRequest) GetNodeIds() []string { return nil } -type GetReindexStatusRequest struct { - state protoimpl.MessageState `protogen:"open.v1"` - RequestId int32 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetReindexStatusRequest) Reset() { - *x = GetReindexStatusRequest{} - mi := &file_external_ingest_request_action_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetReindexStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetReindexStatusRequest) ProtoMessage() {} - -func (x *GetReindexStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_external_ingest_request_action_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetReindexStatusRequest.ProtoReflect.Descriptor instead. -func (*GetReindexStatusRequest) Descriptor() ([]byte, []int) { - return file_external_ingest_request_action_proto_rawDescGZIP(), []int{3} -} - -func (x *GetReindexStatusRequest) GetRequestId() int32 { - if x != nil { - return x.RequestId - } - return 0 -} - var File_external_ingest_request_action_proto protoreflect.FileDescriptor var file_external_ingest_request_action_proto_rawDesc = []byte{ @@ -472,15 +428,11 @@ var file_external_ingest_request_action_proto_rawDesc = []byte{ 0x64, 0x65, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x19, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x22, 0x38, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x73, 0x42, 0x36, 0x5a, 0x34, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -495,12 +447,11 @@ func file_external_ingest_request_action_proto_rawDescGZIP() []byte { return file_external_ingest_request_action_proto_rawDescData } -var file_external_ingest_request_action_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_external_ingest_request_action_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_external_ingest_request_action_proto_goTypes = []any{ (*Action)(nil), // 0: chef.automate.api.ingest.request.Action (*Delete)(nil), // 1: chef.automate.api.ingest.request.Delete (*MultipleNodeDeleteRequest)(nil), // 2: chef.automate.api.ingest.request.MultipleNodeDeleteRequest - (*GetReindexStatusRequest)(nil), // 3: chef.automate.api.ingest.request.GetReindexStatusRequest } var file_external_ingest_request_action_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -521,7 +472,7 @@ func file_external_ingest_request_action_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_external_ingest_request_action_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/api/external/ingest/request/action.proto b/api/external/ingest/request/action.proto index 8ab32cb3618..14bfa1ee31d 100644 --- a/api/external/ingest/request/action.proto +++ b/api/external/ingest/request/action.proto @@ -49,7 +49,3 @@ message MultipleNodeDeleteRequest { repeated string node_ids = 1; } -message GetReindexStatusRequest { - int32 request_id = 1; -} - diff --git a/api/external/ingest/response/action.pb.go b/api/external/ingest/response/action.pb.go index 47cf89e9870..10ed8a6ed75 100644 --- a/api/external/ingest/response/action.pb.go +++ b/api/external/ingest/response/action.pb.go @@ -128,50 +128,6 @@ func (*ProcessMultipleNodeDeleteResponse) Descriptor() ([]byte, []int) { return file_external_ingest_response_action_proto_rawDescGZIP(), []int{2} } -type GetReindexStatusResponse struct { - state protoimpl.MessageState `protogen:"open.v1"` - StatusJson string `protobuf:"bytes,1,opt,name=status_json,json=statusJson,proto3" json:"status_json,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache -} - -func (x *GetReindexStatusResponse) Reset() { - *x = GetReindexStatusResponse{} - mi := &file_external_ingest_response_action_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetReindexStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetReindexStatusResponse) ProtoMessage() {} - -func (x *GetReindexStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_external_ingest_response_action_proto_msgTypes[3] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetReindexStatusResponse.ProtoReflect.Descriptor instead. -func (*GetReindexStatusResponse) Descriptor() ([]byte, []int) { - return file_external_ingest_response_action_proto_rawDescGZIP(), []int{3} -} - -func (x *GetReindexStatusResponse) GetStatusJson() string { - if x != nil { - return x.StatusJson - } - return "" -} - var File_external_ingest_response_action_proto protoreflect.FileDescriptor var file_external_ingest_response_action_proto_rawDesc = []byte{ @@ -185,15 +141,11 @@ var file_external_ingest_response_action_proto_rawDesc = []byte{ 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -208,12 +160,11 @@ func file_external_ingest_response_action_proto_rawDescGZIP() []byte { return file_external_ingest_response_action_proto_rawDescData } -var file_external_ingest_response_action_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_external_ingest_response_action_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_external_ingest_response_action_proto_goTypes = []any{ (*ProcessChefActionResponse)(nil), // 0: chef.automate.api.ingest.response.ProcessChefActionResponse (*ProcessNodeDeleteResponse)(nil), // 1: chef.automate.api.ingest.response.ProcessNodeDeleteResponse (*ProcessMultipleNodeDeleteResponse)(nil), // 2: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - (*GetReindexStatusResponse)(nil), // 3: chef.automate.api.ingest.response.GetReindexStatusResponse } var file_external_ingest_response_action_proto_depIdxs = []int32{ 0, // [0:0] is the sub-list for method output_type @@ -234,7 +185,7 @@ func file_external_ingest_response_action_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_external_ingest_response_action_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/api/external/ingest/response/action.proto b/api/external/ingest/response/action.proto index 746eb086f30..f268c5428ba 100644 --- a/api/external/ingest/response/action.proto +++ b/api/external/ingest/response/action.proto @@ -14,7 +14,3 @@ message ProcessNodeDeleteResponse { message ProcessMultipleNodeDeleteResponse { } - -message GetReindexStatusResponse { - string status_json = 1; -} diff --git a/api/interservice/deployment/automate_deployment.pb.go b/api/interservice/deployment/automate_deployment.pb.go index 5cf48174c8d..c50cc788917 100644 --- a/api/interservice/deployment/automate_deployment.pb.go +++ b/api/interservice/deployment/automate_deployment.pb.go @@ -105,7 +105,7 @@ func (x UpgradeStatusResponse_UpgradeState) Number() protoreflect.EnumNumber { // Deprecated: Use UpgradeStatusResponse_UpgradeState.Descriptor instead. func (UpgradeStatusResponse_UpgradeState) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{36, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{38, 0} } type DeployEvent_Status int32 @@ -163,7 +163,7 @@ func (x DeployEvent_Status) Number() protoreflect.EnumNumber { // Deprecated: Use DeployEvent_Status.Descriptor instead. func (DeployEvent_Status) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 0} } type DeployEvent_PhaseID int32 @@ -224,7 +224,7 @@ func (x DeployEvent_PhaseID) Number() protoreflect.EnumNumber { // Deprecated: Use DeployEvent_PhaseID.Descriptor instead. func (DeployEvent_PhaseID) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 1} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 1} } type DeployEvent_Backup_Operation_Type int32 @@ -270,7 +270,7 @@ func (x DeployEvent_Backup_Operation_Type) Number() protoreflect.EnumNumber { // Deprecated: Use DeployEvent_Backup_Operation_Type.Descriptor instead. func (DeployEvent_Backup_Operation_Type) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 3, 0, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 3, 0, 0} } type ServiceState_State int32 @@ -336,7 +336,7 @@ func (x ServiceState_State) Number() protoreflect.EnumNumber { // Deprecated: Use ServiceState_State.Descriptor instead. func (ServiceState_State) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{56, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{58, 0} } type BackupTask_BackupState int32 @@ -388,7 +388,7 @@ func (x BackupTask_BackupState) Number() protoreflect.EnumNumber { // Deprecated: Use BackupTask_BackupState.Descriptor instead. func (BackupTask_BackupState) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{73, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{75, 0} } type BackupStatusResponse_OperationType int32 @@ -452,7 +452,7 @@ func (x BackupStatusResponse_OperationType) Number() protoreflect.EnumNumber { // Deprecated: Use BackupStatusResponse_OperationType.Descriptor instead. func (BackupStatusResponse_OperationType) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{95, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{97, 0} } type A1UpgradeStatusResponse_MigrationStatus int32 @@ -504,7 +504,95 @@ func (x A1UpgradeStatusResponse_MigrationStatus) Number() protoreflect.EnumNumbe // Deprecated: Use A1UpgradeStatusResponse_MigrationStatus.Descriptor instead. func (A1UpgradeStatusResponse_MigrationStatus) EnumDescriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{104, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{106, 0} +} + +type GetReindexStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + StatusJson string `protobuf:"bytes,1,opt,name=status_json,json=statusJson,proto3" json:"status_json,omitempty" toml:"status_json,omitempty" mapstructure:"status_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetReindexStatusResponse) Reset() { + *x = GetReindexStatusResponse{} + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetReindexStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetReindexStatusResponse) ProtoMessage() {} + +func (x *GetReindexStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetReindexStatusResponse.ProtoReflect.Descriptor instead. +func (*GetReindexStatusResponse) Descriptor() ([]byte, []int) { + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{0} +} + +func (x *GetReindexStatusResponse) GetStatusJson() string { + if x != nil { + return x.StatusJson + } + return "" +} + +type GetReindexStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RequestId int32 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty" toml:"request_id,omitempty" mapstructure:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetReindexStatusRequest) Reset() { + *x = GetReindexStatusRequest{} + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetReindexStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetReindexStatusRequest) ProtoMessage() {} + +func (x *GetReindexStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetReindexStatusRequest.ProtoReflect.Descriptor instead. +func (*GetReindexStatusRequest) Descriptor() ([]byte, []int) { + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{1} +} + +func (x *GetReindexStatusRequest) GetRequestId() int32 { + if x != nil { + return x.RequestId + } + return 0 } type ControlIndexUpgradeStatusResponse struct { @@ -516,7 +604,7 @@ type ControlIndexUpgradeStatusResponse struct { func (x *ControlIndexUpgradeStatusResponse) Reset() { *x = ControlIndexUpgradeStatusResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[0] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -528,7 +616,7 @@ func (x *ControlIndexUpgradeStatusResponse) String() string { func (*ControlIndexUpgradeStatusResponse) ProtoMessage() {} func (x *ControlIndexUpgradeStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[0] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -541,7 +629,7 @@ func (x *ControlIndexUpgradeStatusResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ControlIndexUpgradeStatusResponse.ProtoReflect.Descriptor instead. func (*ControlIndexUpgradeStatusResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{2} } func (x *ControlIndexUpgradeStatusResponse) GetStatus() string { @@ -559,7 +647,7 @@ type BootstrapBundleRequest struct { func (x *BootstrapBundleRequest) Reset() { *x = BootstrapBundleRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[1] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -571,7 +659,7 @@ func (x *BootstrapBundleRequest) String() string { func (*BootstrapBundleRequest) ProtoMessage() {} func (x *BootstrapBundleRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[1] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -584,7 +672,7 @@ func (x *BootstrapBundleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BootstrapBundleRequest.ProtoReflect.Descriptor instead. func (*BootstrapBundleRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{1} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{3} } type BootstrapBundleResponse struct { @@ -596,7 +684,7 @@ type BootstrapBundleResponse struct { func (x *BootstrapBundleResponse) Reset() { *x = BootstrapBundleResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[2] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -608,7 +696,7 @@ func (x *BootstrapBundleResponse) String() string { func (*BootstrapBundleResponse) ProtoMessage() {} func (x *BootstrapBundleResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[2] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -621,7 +709,7 @@ func (x *BootstrapBundleResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BootstrapBundleResponse.ProtoReflect.Descriptor instead. func (*BootstrapBundleResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{2} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{4} } func (x *BootstrapBundleResponse) GetData() []byte { @@ -640,7 +728,7 @@ type GetCLIExecutableRequest struct { func (x *GetCLIExecutableRequest) Reset() { *x = GetCLIExecutableRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[3] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -652,7 +740,7 @@ func (x *GetCLIExecutableRequest) String() string { func (*GetCLIExecutableRequest) ProtoMessage() {} func (x *GetCLIExecutableRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[3] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -665,7 +753,7 @@ func (x *GetCLIExecutableRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCLIExecutableRequest.ProtoReflect.Descriptor instead. func (*GetCLIExecutableRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{3} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{5} } func (x *GetCLIExecutableRequest) GetPlatform() string { @@ -685,7 +773,7 @@ type GetCLIExecutableResponse struct { func (x *GetCLIExecutableResponse) Reset() { *x = GetCLIExecutableResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[4] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -697,7 +785,7 @@ func (x *GetCLIExecutableResponse) String() string { func (*GetCLIExecutableResponse) ProtoMessage() {} func (x *GetCLIExecutableResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[4] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -710,7 +798,7 @@ func (x *GetCLIExecutableResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCLIExecutableResponse.ProtoReflect.Descriptor instead. func (*GetCLIExecutableResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{4} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{6} } func (x *GetCLIExecutableResponse) GetVersion() string { @@ -735,7 +823,7 @@ type NodeInventoryRequest struct { func (x *NodeInventoryRequest) Reset() { *x = NodeInventoryRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[5] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -747,7 +835,7 @@ func (x *NodeInventoryRequest) String() string { func (*NodeInventoryRequest) ProtoMessage() {} func (x *NodeInventoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[5] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -760,7 +848,7 @@ func (x *NodeInventoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeInventoryRequest.ProtoReflect.Descriptor instead. func (*NodeInventoryRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{5} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{7} } type NodeInventoryResponse struct { @@ -772,7 +860,7 @@ type NodeInventoryResponse struct { func (x *NodeInventoryResponse) Reset() { *x = NodeInventoryResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[6] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -784,7 +872,7 @@ func (x *NodeInventoryResponse) String() string { func (*NodeInventoryResponse) ProtoMessage() {} func (x *NodeInventoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[6] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -797,7 +885,7 @@ func (x *NodeInventoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeInventoryResponse.ProtoReflect.Descriptor instead. func (*NodeInventoryResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{6} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{8} } func (x *NodeInventoryResponse) GetNodes() []*InventoryNode { @@ -816,7 +904,7 @@ type InfrastructureNodeDeleteRequest struct { func (x *InfrastructureNodeDeleteRequest) Reset() { *x = InfrastructureNodeDeleteRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[7] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -828,7 +916,7 @@ func (x *InfrastructureNodeDeleteRequest) String() string { func (*InfrastructureNodeDeleteRequest) ProtoMessage() {} func (x *InfrastructureNodeDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[7] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -841,7 +929,7 @@ func (x *InfrastructureNodeDeleteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InfrastructureNodeDeleteRequest.ProtoReflect.Descriptor instead. func (*InfrastructureNodeDeleteRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{7} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{9} } func (x *InfrastructureNodeDeleteRequest) GetNodeId() string { @@ -859,7 +947,7 @@ type InfrastructureNodeDeleteResponse struct { func (x *InfrastructureNodeDeleteResponse) Reset() { *x = InfrastructureNodeDeleteResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[8] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -871,7 +959,7 @@ func (x *InfrastructureNodeDeleteResponse) String() string { func (*InfrastructureNodeDeleteResponse) ProtoMessage() {} func (x *InfrastructureNodeDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[8] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -884,7 +972,7 @@ func (x *InfrastructureNodeDeleteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InfrastructureNodeDeleteResponse.ProtoReflect.Descriptor instead. func (*InfrastructureNodeDeleteResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{8} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{10} } type InventoryNode struct { @@ -905,7 +993,7 @@ type InventoryNode struct { func (x *InventoryNode) Reset() { *x = InventoryNode{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[9] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -917,7 +1005,7 @@ func (x *InventoryNode) String() string { func (*InventoryNode) ProtoMessage() {} func (x *InventoryNode) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[9] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -930,7 +1018,7 @@ func (x *InventoryNode) ProtoReflect() protoreflect.Message { // Deprecated: Use InventoryNode.ProtoReflect.Descriptor instead. func (*InventoryNode) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{9} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{11} } func (x *InventoryNode) GetName() string { @@ -1012,7 +1100,7 @@ type UsageRequest struct { func (x *UsageRequest) Reset() { *x = UsageRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[10] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1024,7 +1112,7 @@ func (x *UsageRequest) String() string { func (*UsageRequest) ProtoMessage() {} func (x *UsageRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[10] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1037,7 +1125,7 @@ func (x *UsageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UsageRequest.ProtoReflect.Descriptor instead. func (*UsageRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{10} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{12} } func (x *UsageRequest) GetStartTime() *timestamppb.Timestamp { @@ -1056,7 +1144,7 @@ type UsageResponse struct { func (x *UsageResponse) Reset() { *x = UsageResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[11] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1068,7 +1156,7 @@ func (x *UsageResponse) String() string { func (*UsageResponse) ProtoMessage() {} func (x *UsageResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[11] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1081,7 +1169,7 @@ func (x *UsageResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UsageResponse.ProtoReflect.Descriptor instead. func (*UsageResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{11} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{13} } func (x *UsageResponse) GetNodes() []*NodeUsage { @@ -1104,7 +1192,7 @@ type NodeUsage struct { func (x *NodeUsage) Reset() { *x = NodeUsage{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[12] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1116,7 +1204,7 @@ func (x *NodeUsage) String() string { func (*NodeUsage) ProtoMessage() {} func (x *NodeUsage) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[12] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1129,7 +1217,7 @@ func (x *NodeUsage) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeUsage.ProtoReflect.Descriptor instead. func (*NodeUsage) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{12} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{14} } func (x *NodeUsage) GetId() string { @@ -1176,7 +1264,7 @@ type GenerateAdminTokenRequest struct { func (x *GenerateAdminTokenRequest) Reset() { *x = GenerateAdminTokenRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[13] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1188,7 +1276,7 @@ func (x *GenerateAdminTokenRequest) String() string { func (*GenerateAdminTokenRequest) ProtoMessage() {} func (x *GenerateAdminTokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[13] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1201,7 +1289,7 @@ func (x *GenerateAdminTokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAdminTokenRequest.ProtoReflect.Descriptor instead. func (*GenerateAdminTokenRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{13} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{15} } func (x *GenerateAdminTokenRequest) GetName() string { @@ -1221,7 +1309,7 @@ type GenerateAdminTokenResponse struct { func (x *GenerateAdminTokenResponse) Reset() { *x = GenerateAdminTokenResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[14] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1233,7 +1321,7 @@ func (x *GenerateAdminTokenResponse) String() string { func (*GenerateAdminTokenResponse) ProtoMessage() {} func (x *GenerateAdminTokenResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[14] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1246,7 +1334,7 @@ func (x *GenerateAdminTokenResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GenerateAdminTokenResponse.ProtoReflect.Descriptor instead. func (*GenerateAdminTokenResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{14} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{16} } func (x *GenerateAdminTokenResponse) GetTokenValue() string { @@ -1273,7 +1361,7 @@ type NewDeploymentRequest struct { func (x *NewDeploymentRequest) Reset() { *x = NewDeploymentRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[15] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1285,7 +1373,7 @@ func (x *NewDeploymentRequest) String() string { func (*NewDeploymentRequest) ProtoMessage() {} func (x *NewDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[15] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1298,7 +1386,7 @@ func (x *NewDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NewDeploymentRequest.ProtoReflect.Descriptor instead. func (*NewDeploymentRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{15} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{17} } func (x *NewDeploymentRequest) GetConfig() *deployment.AutomateConfig { @@ -1324,7 +1412,7 @@ type ConfigureDeploymentRequest struct { func (x *ConfigureDeploymentRequest) Reset() { *x = ConfigureDeploymentRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[16] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1336,7 +1424,7 @@ func (x *ConfigureDeploymentRequest) String() string { func (*ConfigureDeploymentRequest) ProtoMessage() {} func (x *ConfigureDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[16] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1349,7 +1437,7 @@ func (x *ConfigureDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureDeploymentRequest.ProtoReflect.Descriptor instead. func (*ConfigureDeploymentRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{16} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{18} } func (x *ConfigureDeploymentRequest) GetConfig() *deployment.AutomateConfig { @@ -1369,7 +1457,7 @@ type ConfigureDeploymentResponse struct { func (x *ConfigureDeploymentResponse) Reset() { *x = ConfigureDeploymentResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[17] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1381,7 +1469,7 @@ func (x *ConfigureDeploymentResponse) String() string { func (*ConfigureDeploymentResponse) ProtoMessage() {} func (x *ConfigureDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[17] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1394,7 +1482,7 @@ func (x *ConfigureDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureDeploymentResponse.ProtoReflect.Descriptor instead. func (*ConfigureDeploymentResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{17} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{19} } func (x *ConfigureDeploymentResponse) GetDeploymentId() *DeploymentID { @@ -1421,7 +1509,7 @@ type DeployRequest struct { func (x *DeployRequest) Reset() { *x = DeployRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[18] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1433,7 +1521,7 @@ func (x *DeployRequest) String() string { func (*DeployRequest) ProtoMessage() {} func (x *DeployRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[18] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1446,7 +1534,7 @@ func (x *DeployRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployRequest.ProtoReflect.Descriptor instead. func (*DeployRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{18} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{20} } func (x *DeployRequest) GetServices() []string { @@ -1472,7 +1560,7 @@ type DeployResponse struct { func (x *DeployResponse) Reset() { *x = DeployResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[19] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1484,7 +1572,7 @@ func (x *DeployResponse) String() string { func (*DeployResponse) ProtoMessage() {} func (x *DeployResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[19] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1497,7 +1585,7 @@ func (x *DeployResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployResponse.ProtoReflect.Descriptor instead. func (*DeployResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{19} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{21} } func (x *DeployResponse) GetTaskId() string { @@ -1517,7 +1605,7 @@ type DeployStatusRequest struct { func (x *DeployStatusRequest) Reset() { *x = DeployStatusRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[20] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1529,7 +1617,7 @@ func (x *DeployStatusRequest) String() string { func (*DeployStatusRequest) ProtoMessage() {} func (x *DeployStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[20] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1542,7 +1630,7 @@ func (x *DeployStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployStatusRequest.ProtoReflect.Descriptor instead. func (*DeployStatusRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{20} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{22} } func (x *DeployStatusRequest) GetDeploymentId() *DeploymentID { @@ -1568,7 +1656,7 @@ type RemoveRequest struct { func (x *RemoveRequest) Reset() { *x = RemoveRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[21] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1580,7 +1668,7 @@ func (x *RemoveRequest) String() string { func (*RemoveRequest) ProtoMessage() {} func (x *RemoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[21] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1593,7 +1681,7 @@ func (x *RemoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRequest.ProtoReflect.Descriptor instead. func (*RemoveRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{21} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{23} } func (x *RemoveRequest) GetServices() []string { @@ -1611,7 +1699,7 @@ type ManifestVersionRequest struct { func (x *ManifestVersionRequest) Reset() { *x = ManifestVersionRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[22] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1623,7 +1711,7 @@ func (x *ManifestVersionRequest) String() string { func (*ManifestVersionRequest) ProtoMessage() {} func (x *ManifestVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[22] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1636,7 +1724,7 @@ func (x *ManifestVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ManifestVersionRequest.ProtoReflect.Descriptor instead. func (*ManifestVersionRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{22} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{24} } type PingRequest struct { @@ -1647,7 +1735,7 @@ type PingRequest struct { func (x *PingRequest) Reset() { *x = PingRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[23] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1659,7 +1747,7 @@ func (x *PingRequest) String() string { func (*PingRequest) ProtoMessage() {} func (x *PingRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[23] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1672,7 +1760,7 @@ func (x *PingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PingRequest.ProtoReflect.Descriptor instead. func (*PingRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{23} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{25} } type PingResponse struct { @@ -1683,7 +1771,7 @@ type PingResponse struct { func (x *PingResponse) Reset() { *x = PingResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[24] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1695,7 +1783,7 @@ func (x *PingResponse) String() string { func (*PingResponse) ProtoMessage() {} func (x *PingResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[24] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1708,7 +1796,7 @@ func (x *PingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PingResponse.ProtoReflect.Descriptor instead. func (*PingResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{24} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{26} } type DeployIDRequest struct { @@ -1719,7 +1807,7 @@ type DeployIDRequest struct { func (x *DeployIDRequest) Reset() { *x = DeployIDRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[25] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1731,7 +1819,7 @@ func (x *DeployIDRequest) String() string { func (*DeployIDRequest) ProtoMessage() {} func (x *DeployIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[25] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1744,7 +1832,7 @@ func (x *DeployIDRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployIDRequest.ProtoReflect.Descriptor instead. func (*DeployIDRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{25} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{27} } type RemoveResponse struct { @@ -1755,7 +1843,7 @@ type RemoveResponse struct { func (x *RemoveResponse) Reset() { *x = RemoveResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[26] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1767,7 +1855,7 @@ func (x *RemoveResponse) String() string { func (*RemoveResponse) ProtoMessage() {} func (x *RemoveResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[26] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1780,7 +1868,7 @@ func (x *RemoveResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead. func (*RemoveResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{26} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{28} } type StopRequest struct { @@ -1791,7 +1879,7 @@ type StopRequest struct { func (x *StopRequest) Reset() { *x = StopRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[27] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1803,7 +1891,7 @@ func (x *StopRequest) String() string { func (*StopRequest) ProtoMessage() {} func (x *StopRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[27] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1816,7 +1904,7 @@ func (x *StopRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopRequest.ProtoReflect.Descriptor instead. func (*StopRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{27} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{29} } type StopResponse struct { @@ -1827,7 +1915,7 @@ type StopResponse struct { func (x *StopResponse) Reset() { *x = StopResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[28] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1839,7 +1927,7 @@ func (x *StopResponse) String() string { func (*StopResponse) ProtoMessage() {} func (x *StopResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[28] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1852,7 +1940,7 @@ func (x *StopResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StopResponse.ProtoReflect.Descriptor instead. func (*StopResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{28} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{30} } type StopConvergeRequest struct { @@ -1863,7 +1951,7 @@ type StopConvergeRequest struct { func (x *StopConvergeRequest) Reset() { *x = StopConvergeRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[29] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1875,7 +1963,7 @@ func (x *StopConvergeRequest) String() string { func (*StopConvergeRequest) ProtoMessage() {} func (x *StopConvergeRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[29] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1888,7 +1976,7 @@ func (x *StopConvergeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopConvergeRequest.ProtoReflect.Descriptor instead. func (*StopConvergeRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{29} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{31} } type StopConvergeResponse struct { @@ -1899,7 +1987,7 @@ type StopConvergeResponse struct { func (x *StopConvergeResponse) Reset() { *x = StopConvergeResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[30] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1911,7 +1999,7 @@ func (x *StopConvergeResponse) String() string { func (*StopConvergeResponse) ProtoMessage() {} func (x *StopConvergeResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[30] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1924,7 +2012,7 @@ func (x *StopConvergeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StopConvergeResponse.ProtoReflect.Descriptor instead. func (*StopConvergeResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{30} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{32} } type StartConvergeRequest struct { @@ -1935,7 +2023,7 @@ type StartConvergeRequest struct { func (x *StartConvergeRequest) Reset() { *x = StartConvergeRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[31] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1947,7 +2035,7 @@ func (x *StartConvergeRequest) String() string { func (*StartConvergeRequest) ProtoMessage() {} func (x *StartConvergeRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[31] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1960,7 +2048,7 @@ func (x *StartConvergeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartConvergeRequest.ProtoReflect.Descriptor instead. func (*StartConvergeRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{31} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{33} } type StartConvergeResponse struct { @@ -1971,7 +2059,7 @@ type StartConvergeResponse struct { func (x *StartConvergeResponse) Reset() { *x = StartConvergeResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[32] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1983,7 +2071,7 @@ func (x *StartConvergeResponse) String() string { func (*StartConvergeResponse) ProtoMessage() {} func (x *StartConvergeResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[32] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1996,7 +2084,7 @@ func (x *StartConvergeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StartConvergeResponse.ProtoReflect.Descriptor instead. func (*StartConvergeResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{32} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{34} } type ServiceVersionsRequest struct { @@ -2007,7 +2095,7 @@ type ServiceVersionsRequest struct { func (x *ServiceVersionsRequest) Reset() { *x = ServiceVersionsRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[33] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2019,7 +2107,7 @@ func (x *ServiceVersionsRequest) String() string { func (*ServiceVersionsRequest) ProtoMessage() {} func (x *ServiceVersionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[33] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2032,7 +2120,7 @@ func (x *ServiceVersionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceVersionsRequest.ProtoReflect.Descriptor instead. func (*ServiceVersionsRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{33} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{35} } type SystemLogsRequest struct { @@ -2043,7 +2131,7 @@ type SystemLogsRequest struct { func (x *SystemLogsRequest) Reset() { *x = SystemLogsRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[34] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2055,7 +2143,7 @@ func (x *SystemLogsRequest) String() string { func (*SystemLogsRequest) ProtoMessage() {} func (x *SystemLogsRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[34] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2068,7 +2156,7 @@ func (x *SystemLogsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SystemLogsRequest.ProtoReflect.Descriptor instead. func (*SystemLogsRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{34} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{36} } type UpgradeStatusRequest struct { @@ -2080,7 +2168,7 @@ type UpgradeStatusRequest struct { func (x *UpgradeStatusRequest) Reset() { *x = UpgradeStatusRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[35] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2092,7 +2180,7 @@ func (x *UpgradeStatusRequest) String() string { func (*UpgradeStatusRequest) ProtoMessage() {} func (x *UpgradeStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[35] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2105,7 +2193,7 @@ func (x *UpgradeStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradeStatusRequest.ProtoReflect.Descriptor instead. func (*UpgradeStatusRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{35} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{37} } func (x *UpgradeStatusRequest) GetVersionsPath() string { @@ -2144,7 +2232,7 @@ type UpgradeStatusResponse struct { func (x *UpgradeStatusResponse) Reset() { *x = UpgradeStatusResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[36] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2156,7 +2244,7 @@ func (x *UpgradeStatusResponse) String() string { func (*UpgradeStatusResponse) ProtoMessage() {} func (x *UpgradeStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[36] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2169,7 +2257,7 @@ func (x *UpgradeStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradeStatusResponse.ProtoReflect.Descriptor instead. func (*UpgradeStatusResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{36} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{38} } func (x *UpgradeStatusResponse) GetState() UpgradeStatusResponse_UpgradeState { @@ -2236,7 +2324,7 @@ type SetLogLevelRequest struct { func (x *SetLogLevelRequest) Reset() { *x = SetLogLevelRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[37] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2248,7 +2336,7 @@ func (x *SetLogLevelRequest) String() string { func (*SetLogLevelRequest) ProtoMessage() {} func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[37] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2261,7 +2349,7 @@ func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLogLevelRequest.ProtoReflect.Descriptor instead. func (*SetLogLevelRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{37} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{39} } type SetLogLevelResponse struct { @@ -2272,7 +2360,7 @@ type SetLogLevelResponse struct { func (x *SetLogLevelResponse) Reset() { *x = SetLogLevelResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[38] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2284,7 +2372,7 @@ func (x *SetLogLevelResponse) String() string { func (*SetLogLevelResponse) ProtoMessage() {} func (x *SetLogLevelResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[38] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2297,7 +2385,7 @@ func (x *SetLogLevelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLogLevelResponse.ProtoReflect.Descriptor instead. func (*SetLogLevelResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{38} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{40} } type UpgradingService struct { @@ -2310,7 +2398,7 @@ type UpgradingService struct { func (x *UpgradingService) Reset() { *x = UpgradingService{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[39] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2322,7 +2410,7 @@ func (x *UpgradingService) String() string { func (*UpgradingService) ProtoMessage() {} func (x *UpgradingService) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[39] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2335,7 +2423,7 @@ func (x *UpgradingService) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradingService.ProtoReflect.Descriptor instead. func (*UpgradingService) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{39} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{41} } func (x *UpgradingService) GetTarget() *ServiceVersion { @@ -2362,7 +2450,7 @@ type PackageOptions struct { func (x *PackageOptions) Reset() { *x = PackageOptions{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[40] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2374,7 +2462,7 @@ func (x *PackageOptions) String() string { func (*PackageOptions) ProtoMessage() {} func (x *PackageOptions) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[40] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2387,7 +2475,7 @@ func (x *PackageOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use PackageOptions.ProtoReflect.Descriptor instead. func (*PackageOptions) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{40} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{42} } func (x *PackageOptions) GetOverrideOrigin() string { @@ -2414,7 +2502,7 @@ type ConfigureRequest struct { func (x *ConfigureRequest) Reset() { *x = ConfigureRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[41] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2426,7 +2514,7 @@ func (x *ConfigureRequest) String() string { func (*ConfigureRequest) ProtoMessage() {} func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[41] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2439,7 +2527,7 @@ func (x *ConfigureRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfigureRequest.ProtoReflect.Descriptor instead. func (*ConfigureRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{41} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{43} } func (x *ConfigureRequest) GetServiceName() string { @@ -2467,7 +2555,7 @@ type DeploymentID struct { func (x *DeploymentID) Reset() { *x = DeploymentID{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[42] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2479,7 +2567,7 @@ func (x *DeploymentID) String() string { func (*DeploymentID) ProtoMessage() {} func (x *DeploymentID) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[42] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2492,7 +2580,7 @@ func (x *DeploymentID) ProtoReflect() protoreflect.Message { // Deprecated: Use DeploymentID.ProtoReflect.Descriptor instead. func (*DeploymentID) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{42} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44} } func (x *DeploymentID) GetId() string { @@ -2525,7 +2613,7 @@ type DeploymentStatus struct { func (x *DeploymentStatus) Reset() { *x = DeploymentStatus{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[43] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2537,7 +2625,7 @@ func (x *DeploymentStatus) String() string { func (*DeploymentStatus) ProtoMessage() {} func (x *DeploymentStatus) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[43] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2550,7 +2638,7 @@ func (x *DeploymentStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use DeploymentStatus.ProtoReflect.Descriptor instead. func (*DeploymentStatus) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{43} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{45} } func (x *DeploymentStatus) GetMsg() string { @@ -2579,7 +2667,7 @@ type DeployEvent struct { func (x *DeployEvent) Reset() { *x = DeployEvent{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[44] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2591,7 +2679,7 @@ func (x *DeployEvent) String() string { func (*DeployEvent) ProtoMessage() {} func (x *DeployEvent) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[44] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2604,7 +2692,7 @@ func (x *DeployEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent.ProtoReflect.Descriptor instead. func (*DeployEvent) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46} } func (x *DeployEvent) GetSequence() uint64 { @@ -2723,7 +2811,7 @@ type LogLine struct { func (x *LogLine) Reset() { *x = LogLine{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[45] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2735,7 +2823,7 @@ func (x *LogLine) String() string { func (*LogLine) ProtoMessage() {} func (x *LogLine) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[45] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2748,7 +2836,7 @@ func (x *LogLine) ProtoReflect() protoreflect.Message { // Deprecated: Use LogLine.ProtoReflect.Descriptor instead. func (*LogLine) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{45} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{47} } func (x *LogLine) GetLine() string { @@ -2767,7 +2855,7 @@ type SupportBundleConfig struct { func (x *SupportBundleConfig) Reset() { *x = SupportBundleConfig{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[46] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2779,7 +2867,7 @@ func (x *SupportBundleConfig) String() string { func (*SupportBundleConfig) ProtoMessage() {} func (x *SupportBundleConfig) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[46] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2792,7 +2880,7 @@ func (x *SupportBundleConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use SupportBundleConfig.ProtoReflect.Descriptor instead. func (*SupportBundleConfig) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{48} } func (x *SupportBundleConfig) GetStagingDir() string { @@ -2810,7 +2898,7 @@ type StatusRequest struct { func (x *StatusRequest) Reset() { *x = StatusRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[47] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2822,7 +2910,7 @@ func (x *StatusRequest) String() string { func (*StatusRequest) ProtoMessage() {} func (x *StatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[47] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2835,7 +2923,7 @@ func (x *StatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead. func (*StatusRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{47} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{49} } type StatusResponse struct { @@ -2848,7 +2936,7 @@ type StatusResponse struct { func (x *StatusResponse) Reset() { *x = StatusResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[48] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2860,7 +2948,7 @@ func (x *StatusResponse) String() string { func (*StatusResponse) ProtoMessage() {} func (x *StatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[48] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2873,7 +2961,7 @@ func (x *StatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead. func (*StatusResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{48} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{50} } func (x *StatusResponse) GetServiceStatus() *ServiceStatus { @@ -2899,7 +2987,7 @@ type ServiceVersionsResponse struct { func (x *ServiceVersionsResponse) Reset() { *x = ServiceVersionsResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[49] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2911,7 +2999,7 @@ func (x *ServiceVersionsResponse) String() string { func (*ServiceVersionsResponse) ProtoMessage() {} func (x *ServiceVersionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[49] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2924,7 +3012,7 @@ func (x *ServiceVersionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceVersionsResponse.ProtoReflect.Descriptor instead. func (*ServiceVersionsResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{49} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{51} } func (x *ServiceVersionsResponse) GetServices() []*ServiceVersion { @@ -2946,7 +3034,7 @@ type ServiceVersion struct { func (x *ServiceVersion) Reset() { *x = ServiceVersion{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[50] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2958,7 +3046,7 @@ func (x *ServiceVersion) String() string { func (*ServiceVersion) ProtoMessage() {} func (x *ServiceVersion) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[50] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2971,7 +3059,7 @@ func (x *ServiceVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceVersion.ProtoReflect.Descriptor instead. func (*ServiceVersion) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{50} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{52} } func (x *ServiceVersion) GetName() string { @@ -3010,7 +3098,7 @@ type LicenseStatusRequest struct { func (x *LicenseStatusRequest) Reset() { *x = LicenseStatusRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[51] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3022,7 +3110,7 @@ func (x *LicenseStatusRequest) String() string { func (*LicenseStatusRequest) ProtoMessage() {} func (x *LicenseStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[51] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3035,7 +3123,7 @@ func (x *LicenseStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseStatusRequest.ProtoReflect.Descriptor instead. func (*LicenseStatusRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{51} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{53} } type LicenseStatusResponse struct { @@ -3055,7 +3143,7 @@ type LicenseStatusResponse struct { func (x *LicenseStatusResponse) Reset() { *x = LicenseStatusResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[52] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3067,7 +3155,7 @@ func (x *LicenseStatusResponse) String() string { func (*LicenseStatusResponse) ProtoMessage() {} func (x *LicenseStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[52] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3080,7 +3168,7 @@ func (x *LicenseStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseStatusResponse.ProtoReflect.Descriptor instead. func (*LicenseStatusResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{52} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{54} } func (x *LicenseStatusResponse) GetSet() bool { @@ -3156,7 +3244,7 @@ type LicenseApplyRequest struct { func (x *LicenseApplyRequest) Reset() { *x = LicenseApplyRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[53] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3168,7 +3256,7 @@ func (x *LicenseApplyRequest) String() string { func (*LicenseApplyRequest) ProtoMessage() {} func (x *LicenseApplyRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[53] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3181,7 +3269,7 @@ func (x *LicenseApplyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseApplyRequest.ProtoReflect.Descriptor instead. func (*LicenseApplyRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{53} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{55} } func (x *LicenseApplyRequest) GetLicense() string { @@ -3209,7 +3297,7 @@ type LicenseApplyResponse struct { func (x *LicenseApplyResponse) Reset() { *x = LicenseApplyResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[54] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3221,7 +3309,7 @@ func (x *LicenseApplyResponse) String() string { func (*LicenseApplyResponse) ProtoMessage() {} func (x *LicenseApplyResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[54] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3322,7 @@ func (x *LicenseApplyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseApplyResponse.ProtoReflect.Descriptor instead. func (*LicenseApplyResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{54} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{56} } func (x *LicenseApplyResponse) GetUpdated() bool { @@ -3267,7 +3355,7 @@ type ServiceStatus struct { func (x *ServiceStatus) Reset() { *x = ServiceStatus{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[55] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3279,7 +3367,7 @@ func (x *ServiceStatus) String() string { func (*ServiceStatus) ProtoMessage() {} func (x *ServiceStatus) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[55] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3292,7 +3380,7 @@ func (x *ServiceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceStatus.ProtoReflect.Descriptor instead. func (*ServiceStatus) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{55} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{57} } func (x *ServiceStatus) GetServices() []*ServiceState { @@ -3314,7 +3402,7 @@ type ServiceState struct { func (x *ServiceState) Reset() { *x = ServiceState{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[56] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3326,7 +3414,7 @@ func (x *ServiceState) String() string { func (*ServiceState) ProtoMessage() {} func (x *ServiceState) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[56] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3339,7 +3427,7 @@ func (x *ServiceState) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceState.ProtoReflect.Descriptor instead. func (*ServiceState) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{56} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{58} } func (x *ServiceState) GetName() string { @@ -3382,7 +3470,7 @@ type GatherLogsRequest struct { func (x *GatherLogsRequest) Reset() { *x = GatherLogsRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[57] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3394,7 +3482,7 @@ func (x *GatherLogsRequest) String() string { func (*GatherLogsRequest) ProtoMessage() {} func (x *GatherLogsRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[57] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3407,7 +3495,7 @@ func (x *GatherLogsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GatherLogsRequest.ProtoReflect.Descriptor instead. func (*GatherLogsRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{57} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{59} } func (x *GatherLogsRequest) GetLogLines() uint64 { @@ -3428,7 +3516,7 @@ type GatherLogsResponse struct { func (x *GatherLogsResponse) Reset() { *x = GatherLogsResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[58] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3440,7 +3528,7 @@ func (x *GatherLogsResponse) String() string { func (*GatherLogsResponse) ProtoMessage() {} func (x *GatherLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[58] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3453,7 +3541,7 @@ func (x *GatherLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GatherLogsResponse.ProtoReflect.Descriptor instead. func (*GatherLogsResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{58} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{60} } func (x *GatherLogsResponse) GetBundleName() string { @@ -3486,7 +3574,7 @@ type GatherLogsDownloadRequest struct { func (x *GatherLogsDownloadRequest) Reset() { *x = GatherLogsDownloadRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[59] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3498,7 +3586,7 @@ func (x *GatherLogsDownloadRequest) String() string { func (*GatherLogsDownloadRequest) ProtoMessage() {} func (x *GatherLogsDownloadRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[59] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3511,7 +3599,7 @@ func (x *GatherLogsDownloadRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GatherLogsDownloadRequest.ProtoReflect.Descriptor instead. func (*GatherLogsDownloadRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{59} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{61} } func (x *GatherLogsDownloadRequest) GetBundleName() string { @@ -3530,7 +3618,7 @@ type GatherLogsDownloadResponse struct { func (x *GatherLogsDownloadResponse) Reset() { *x = GatherLogsDownloadResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[60] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3542,7 +3630,7 @@ func (x *GatherLogsDownloadResponse) String() string { func (*GatherLogsDownloadResponse) ProtoMessage() {} func (x *GatherLogsDownloadResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[60] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3555,7 +3643,7 @@ func (x *GatherLogsDownloadResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GatherLogsDownloadResponse.ProtoReflect.Descriptor instead. func (*GatherLogsDownloadResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{60} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{62} } func (x *GatherLogsDownloadResponse) GetData() []byte { @@ -3573,7 +3661,7 @@ type RestartServicesRequest struct { func (x *RestartServicesRequest) Reset() { *x = RestartServicesRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[61] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3585,7 +3673,7 @@ func (x *RestartServicesRequest) String() string { func (*RestartServicesRequest) ProtoMessage() {} func (x *RestartServicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[61] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3598,7 +3686,7 @@ func (x *RestartServicesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestartServicesRequest.ProtoReflect.Descriptor instead. func (*RestartServicesRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{61} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{63} } type RestartServicesResponse struct { @@ -3610,7 +3698,7 @@ type RestartServicesResponse struct { func (x *RestartServicesResponse) Reset() { *x = RestartServicesResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[62] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3622,7 +3710,7 @@ func (x *RestartServicesResponse) String() string { func (*RestartServicesResponse) ProtoMessage() {} func (x *RestartServicesResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[62] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3635,7 +3723,7 @@ func (x *RestartServicesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestartServicesResponse.ProtoReflect.Descriptor instead. func (*RestartServicesResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{62} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{64} } func (x *RestartServicesResponse) GetTaskId() string { @@ -3654,7 +3742,7 @@ type GetAutomateConfigRequest struct { func (x *GetAutomateConfigRequest) Reset() { *x = GetAutomateConfigRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[63] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3666,7 +3754,7 @@ func (x *GetAutomateConfigRequest) String() string { func (*GetAutomateConfigRequest) ProtoMessage() {} func (x *GetAutomateConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[63] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3679,7 +3767,7 @@ func (x *GetAutomateConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAutomateConfigRequest.ProtoReflect.Descriptor instead. func (*GetAutomateConfigRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{63} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{65} } type GetAutomateConfigResponse struct { @@ -3692,7 +3780,7 @@ type GetAutomateConfigResponse struct { func (x *GetAutomateConfigResponse) Reset() { *x = GetAutomateConfigResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[64] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3704,7 +3792,7 @@ func (x *GetAutomateConfigResponse) String() string { func (*GetAutomateConfigResponse) ProtoMessage() {} func (x *GetAutomateConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[64] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3717,7 +3805,7 @@ func (x *GetAutomateConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAutomateConfigResponse.ProtoReflect.Descriptor instead. func (*GetAutomateConfigResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{64} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{66} } func (x *GetAutomateConfigResponse) GetConfig() *deployment.AutomateConfig { @@ -3744,7 +3832,7 @@ type PatchAutomateConfigRequest struct { func (x *PatchAutomateConfigRequest) Reset() { *x = PatchAutomateConfigRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[65] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3756,7 +3844,7 @@ func (x *PatchAutomateConfigRequest) String() string { func (*PatchAutomateConfigRequest) ProtoMessage() {} func (x *PatchAutomateConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[65] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3769,7 +3857,7 @@ func (x *PatchAutomateConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchAutomateConfigRequest.ProtoReflect.Descriptor instead. func (*PatchAutomateConfigRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{65} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{67} } func (x *PatchAutomateConfigRequest) GetConfig() *deployment.AutomateConfig { @@ -3795,7 +3883,7 @@ type PatchAutomateConfigResponse struct { func (x *PatchAutomateConfigResponse) Reset() { *x = PatchAutomateConfigResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[66] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3807,7 +3895,7 @@ func (x *PatchAutomateConfigResponse) String() string { func (*PatchAutomateConfigResponse) ProtoMessage() {} func (x *PatchAutomateConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[66] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3820,7 +3908,7 @@ func (x *PatchAutomateConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchAutomateConfigResponse.ProtoReflect.Descriptor instead. func (*PatchAutomateConfigResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{66} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{68} } func (x *PatchAutomateConfigResponse) GetTaskId() string { @@ -3839,7 +3927,7 @@ type SetAutomateConfigRequest struct { func (x *SetAutomateConfigRequest) Reset() { *x = SetAutomateConfigRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[67] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3851,7 +3939,7 @@ func (x *SetAutomateConfigRequest) String() string { func (*SetAutomateConfigRequest) ProtoMessage() {} func (x *SetAutomateConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[67] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3864,7 +3952,7 @@ func (x *SetAutomateConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetAutomateConfigRequest.ProtoReflect.Descriptor instead. func (*SetAutomateConfigRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{67} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{69} } func (x *SetAutomateConfigRequest) GetConfig() *deployment.AutomateConfig { @@ -3883,7 +3971,7 @@ type SetAutomateConfigResponse struct { func (x *SetAutomateConfigResponse) Reset() { *x = SetAutomateConfigResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[68] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3895,7 +3983,7 @@ func (x *SetAutomateConfigResponse) String() string { func (*SetAutomateConfigResponse) ProtoMessage() {} func (x *SetAutomateConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[68] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3908,7 +3996,7 @@ func (x *SetAutomateConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetAutomateConfigResponse.ProtoReflect.Descriptor instead. func (*SetAutomateConfigResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{68} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{70} } func (x *SetAutomateConfigResponse) GetTaskId() string { @@ -3926,7 +4014,7 @@ type DumpDBRequest struct { func (x *DumpDBRequest) Reset() { *x = DumpDBRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[69] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3938,7 +4026,7 @@ func (x *DumpDBRequest) String() string { func (*DumpDBRequest) ProtoMessage() {} func (x *DumpDBRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[69] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3951,7 +4039,7 @@ func (x *DumpDBRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DumpDBRequest.ProtoReflect.Descriptor instead. func (*DumpDBRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{69} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{71} } type DumpDBResponse struct { @@ -3963,7 +4051,7 @@ type DumpDBResponse struct { func (x *DumpDBResponse) Reset() { *x = DumpDBResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[70] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3975,7 +4063,7 @@ func (x *DumpDBResponse) String() string { func (*DumpDBResponse) ProtoMessage() {} func (x *DumpDBResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[70] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3988,7 +4076,7 @@ func (x *DumpDBResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DumpDBResponse.ProtoReflect.Descriptor instead. func (*DumpDBResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{70} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{72} } func (x *DumpDBResponse) GetData() []byte { @@ -4009,7 +4097,7 @@ type ManifestVersionResponse struct { func (x *ManifestVersionResponse) Reset() { *x = ManifestVersionResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[71] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4021,7 +4109,7 @@ func (x *ManifestVersionResponse) String() string { func (*ManifestVersionResponse) ProtoMessage() {} func (x *ManifestVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[71] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4034,7 +4122,7 @@ func (x *ManifestVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ManifestVersionResponse.ProtoReflect.Descriptor instead. func (*ManifestVersionResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{71} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{73} } func (x *ManifestVersionResponse) GetBuildTimestamp() string { @@ -4067,7 +4155,7 @@ type DeployIDResponse struct { func (x *DeployIDResponse) Reset() { *x = DeployIDResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[72] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4079,7 +4167,7 @@ func (x *DeployIDResponse) String() string { func (*DeployIDResponse) ProtoMessage() {} func (x *DeployIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[72] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4092,7 +4180,7 @@ func (x *DeployIDResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployIDResponse.ProtoReflect.Descriptor instead. func (*DeployIDResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{72} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{74} } func (x *DeployIDResponse) GetDeploymentId() string { @@ -4113,7 +4201,7 @@ type BackupTask struct { func (x *BackupTask) Reset() { *x = BackupTask{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[73] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4125,7 +4213,7 @@ func (x *BackupTask) String() string { func (*BackupTask) ProtoMessage() {} func (x *BackupTask) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[73] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4138,7 +4226,7 @@ func (x *BackupTask) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupTask.ProtoReflect.Descriptor instead. func (*BackupTask) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{73} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{75} } func (x *BackupTask) GetId() *timestamppb.Timestamp { @@ -4167,7 +4255,7 @@ type BackupDescription struct { func (x *BackupDescription) Reset() { *x = BackupDescription{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[74] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4179,7 +4267,7 @@ func (x *BackupDescription) String() string { func (*BackupDescription) ProtoMessage() {} func (x *BackupDescription) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[74] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4192,7 +4280,7 @@ func (x *BackupDescription) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupDescription.ProtoReflect.Descriptor instead. func (*BackupDescription) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{74} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{76} } func (x *BackupDescription) GetId() string { @@ -4237,7 +4325,7 @@ type S3BackupLocation struct { func (x *S3BackupLocation) Reset() { *x = S3BackupLocation{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[75] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4249,7 +4337,7 @@ func (x *S3BackupLocation) String() string { func (*S3BackupLocation) ProtoMessage() {} func (x *S3BackupLocation) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[75] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4262,7 +4350,7 @@ func (x *S3BackupLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use S3BackupLocation.ProtoReflect.Descriptor instead. func (*S3BackupLocation) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{75} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{77} } func (x *S3BackupLocation) GetBucketName() string { @@ -4318,7 +4406,7 @@ type GCSBackupLocation struct { func (x *GCSBackupLocation) Reset() { *x = GCSBackupLocation{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[76] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4330,7 +4418,7 @@ func (x *GCSBackupLocation) String() string { func (*GCSBackupLocation) ProtoMessage() {} func (x *GCSBackupLocation) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[76] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4343,7 +4431,7 @@ func (x *GCSBackupLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use GCSBackupLocation.ProtoReflect.Descriptor instead. func (*GCSBackupLocation) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{76} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{78} } func (x *GCSBackupLocation) GetBucketName() string { @@ -4398,7 +4486,7 @@ type BackupRestoreTask struct { func (x *BackupRestoreTask) Reset() { *x = BackupRestoreTask{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[77] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4410,7 +4498,7 @@ func (x *BackupRestoreTask) String() string { func (*BackupRestoreTask) ProtoMessage() {} func (x *BackupRestoreTask) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[77] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4423,7 +4511,7 @@ func (x *BackupRestoreTask) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupRestoreTask.ProtoReflect.Descriptor instead. func (*BackupRestoreTask) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{77} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{79} } func (x *BackupRestoreTask) GetId() *timestamppb.Timestamp { @@ -4534,7 +4622,7 @@ type BackupDeleteTask struct { func (x *BackupDeleteTask) Reset() { *x = BackupDeleteTask{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[78] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4546,7 +4634,7 @@ func (x *BackupDeleteTask) String() string { func (*BackupDeleteTask) ProtoMessage() {} func (x *BackupDeleteTask) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[78] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4559,7 +4647,7 @@ func (x *BackupDeleteTask) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupDeleteTask.ProtoReflect.Descriptor instead. func (*BackupDeleteTask) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{78} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{80} } func (x *BackupDeleteTask) GetId() *timestamppb.Timestamp { @@ -4584,7 +4672,7 @@ type CreateBackupRequest struct { func (x *CreateBackupRequest) Reset() { *x = CreateBackupRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[79] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4596,7 +4684,7 @@ func (x *CreateBackupRequest) String() string { func (*CreateBackupRequest) ProtoMessage() {} func (x *CreateBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[79] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4609,7 +4697,7 @@ func (x *CreateBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBackupRequest.ProtoReflect.Descriptor instead. func (*CreateBackupRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{79} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{81} } type CreateBackupResponse struct { @@ -4621,7 +4709,7 @@ type CreateBackupResponse struct { func (x *CreateBackupResponse) Reset() { *x = CreateBackupResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[80] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4633,7 +4721,7 @@ func (x *CreateBackupResponse) String() string { func (*CreateBackupResponse) ProtoMessage() {} func (x *CreateBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[80] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4646,7 +4734,7 @@ func (x *CreateBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateBackupResponse.ProtoReflect.Descriptor instead. func (*CreateBackupResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{80} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{82} } func (x *CreateBackupResponse) GetBackup() *BackupTask { @@ -4664,7 +4752,7 @@ type ListBackupsRequest struct { func (x *ListBackupsRequest) Reset() { *x = ListBackupsRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[81] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4676,7 +4764,7 @@ func (x *ListBackupsRequest) String() string { func (*ListBackupsRequest) ProtoMessage() {} func (x *ListBackupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[81] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4689,7 +4777,7 @@ func (x *ListBackupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBackupsRequest.ProtoReflect.Descriptor instead. func (*ListBackupsRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{81} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{83} } type ListBackupsResponse struct { @@ -4701,7 +4789,7 @@ type ListBackupsResponse struct { func (x *ListBackupsResponse) Reset() { *x = ListBackupsResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[82] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4713,7 +4801,7 @@ func (x *ListBackupsResponse) String() string { func (*ListBackupsResponse) ProtoMessage() {} func (x *ListBackupsResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[82] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4726,7 +4814,7 @@ func (x *ListBackupsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBackupsResponse.ProtoReflect.Descriptor instead. func (*ListBackupsResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{82} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{84} } func (x *ListBackupsResponse) GetBackups() []*BackupTask { @@ -4745,7 +4833,7 @@ type ShowBackupRequest struct { func (x *ShowBackupRequest) Reset() { *x = ShowBackupRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[83] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4757,7 +4845,7 @@ func (x *ShowBackupRequest) String() string { func (*ShowBackupRequest) ProtoMessage() {} func (x *ShowBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[83] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4770,7 +4858,7 @@ func (x *ShowBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowBackupRequest.ProtoReflect.Descriptor instead. func (*ShowBackupRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{83} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{85} } func (x *ShowBackupRequest) GetBackup() *BackupTask { @@ -4791,7 +4879,7 @@ type ShowBackupResponse struct { func (x *ShowBackupResponse) Reset() { *x = ShowBackupResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[84] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4803,7 +4891,7 @@ func (x *ShowBackupResponse) String() string { func (*ShowBackupResponse) ProtoMessage() {} func (x *ShowBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[84] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4816,7 +4904,7 @@ func (x *ShowBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ShowBackupResponse.ProtoReflect.Descriptor instead. func (*ShowBackupResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{84} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{86} } func (x *ShowBackupResponse) GetData() string { @@ -4849,7 +4937,7 @@ type DeleteBackupsRequest struct { func (x *DeleteBackupsRequest) Reset() { *x = DeleteBackupsRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[85] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4861,7 +4949,7 @@ func (x *DeleteBackupsRequest) String() string { func (*DeleteBackupsRequest) ProtoMessage() {} func (x *DeleteBackupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[85] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4874,7 +4962,7 @@ func (x *DeleteBackupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBackupsRequest.ProtoReflect.Descriptor instead. func (*DeleteBackupsRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{85} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{87} } func (x *DeleteBackupsRequest) GetBackups() []*BackupTask { @@ -4893,7 +4981,7 @@ type DeleteBackupsResponse struct { func (x *DeleteBackupsResponse) Reset() { *x = DeleteBackupsResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[86] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4905,7 +4993,7 @@ func (x *DeleteBackupsResponse) String() string { func (*DeleteBackupsResponse) ProtoMessage() {} func (x *DeleteBackupsResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[86] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4918,7 +5006,7 @@ func (x *DeleteBackupsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBackupsResponse.ProtoReflect.Descriptor instead. func (*DeleteBackupsResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{86} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{88} } func (x *DeleteBackupsResponse) GetDelete() *BackupDeleteTask { @@ -4936,7 +5024,7 @@ type BackupIntegrityShowRequest struct { func (x *BackupIntegrityShowRequest) Reset() { *x = BackupIntegrityShowRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[87] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4948,7 +5036,7 @@ func (x *BackupIntegrityShowRequest) String() string { func (*BackupIntegrityShowRequest) ProtoMessage() {} func (x *BackupIntegrityShowRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[87] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4961,7 +5049,7 @@ func (x *BackupIntegrityShowRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupIntegrityShowRequest.ProtoReflect.Descriptor instead. func (*BackupIntegrityShowRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{87} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{89} } type BackupIntegrityShowResponse struct { @@ -4973,7 +5061,7 @@ type BackupIntegrityShowResponse struct { func (x *BackupIntegrityShowResponse) Reset() { *x = BackupIntegrityShowResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[88] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4985,7 +5073,7 @@ func (x *BackupIntegrityShowResponse) String() string { func (*BackupIntegrityShowResponse) ProtoMessage() {} func (x *BackupIntegrityShowResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[88] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4998,7 +5086,7 @@ func (x *BackupIntegrityShowResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupIntegrityShowResponse.ProtoReflect.Descriptor instead. func (*BackupIntegrityShowResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{88} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{90} } func (x *BackupIntegrityShowResponse) GetSnapshots() []*SnapshotIntegrity { @@ -5020,7 +5108,7 @@ type SnapshotIntegrity struct { func (x *SnapshotIntegrity) Reset() { *x = SnapshotIntegrity{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[89] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5032,7 +5120,7 @@ func (x *SnapshotIntegrity) String() string { func (*SnapshotIntegrity) ProtoMessage() {} func (x *SnapshotIntegrity) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[89] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5045,7 +5133,7 @@ func (x *SnapshotIntegrity) ProtoReflect() protoreflect.Message { // Deprecated: Use SnapshotIntegrity.ProtoReflect.Descriptor instead. func (*SnapshotIntegrity) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{89} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{91} } func (x *SnapshotIntegrity) GetId() *timestamppb.Timestamp { @@ -5085,7 +5173,7 @@ type ValidateBackupIntegrityRequest struct { func (x *ValidateBackupIntegrityRequest) Reset() { *x = ValidateBackupIntegrityRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[90] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5097,7 +5185,7 @@ func (x *ValidateBackupIntegrityRequest) String() string { func (*ValidateBackupIntegrityRequest) ProtoMessage() {} func (x *ValidateBackupIntegrityRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[90] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5110,7 +5198,7 @@ func (x *ValidateBackupIntegrityRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateBackupIntegrityRequest.ProtoReflect.Descriptor instead. func (*ValidateBackupIntegrityRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{90} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{92} } func (x *ValidateBackupIntegrityRequest) GetBackups() []*BackupTask { @@ -5129,7 +5217,7 @@ type ValidateBackupIntegrityResponse struct { func (x *ValidateBackupIntegrityResponse) Reset() { *x = ValidateBackupIntegrityResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[91] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5141,7 +5229,7 @@ func (x *ValidateBackupIntegrityResponse) String() string { func (*ValidateBackupIntegrityResponse) ProtoMessage() {} func (x *ValidateBackupIntegrityResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[91] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5154,7 +5242,7 @@ func (x *ValidateBackupIntegrityResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateBackupIntegrityResponse.ProtoReflect.Descriptor instead. func (*ValidateBackupIntegrityResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{91} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{93} } func (x *ValidateBackupIntegrityResponse) GetSnapshots() []*SnapshotIntegrity { @@ -5173,7 +5261,7 @@ type RestoreBackupRequest struct { func (x *RestoreBackupRequest) Reset() { *x = RestoreBackupRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[92] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5185,7 +5273,7 @@ func (x *RestoreBackupRequest) String() string { func (*RestoreBackupRequest) ProtoMessage() {} func (x *RestoreBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[92] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5198,7 +5286,7 @@ func (x *RestoreBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreBackupRequest.ProtoReflect.Descriptor instead. func (*RestoreBackupRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{92} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{94} } func (x *RestoreBackupRequest) GetRestore() *BackupRestoreTask { @@ -5217,7 +5305,7 @@ type RestoreBackupResponse struct { func (x *RestoreBackupResponse) Reset() { *x = RestoreBackupResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[93] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5229,7 +5317,7 @@ func (x *RestoreBackupResponse) String() string { func (*RestoreBackupResponse) ProtoMessage() {} func (x *RestoreBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[93] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5242,7 +5330,7 @@ func (x *RestoreBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreBackupResponse.ProtoReflect.Descriptor instead. func (*RestoreBackupResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{93} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{95} } func (x *RestoreBackupResponse) GetRestore() *BackupRestoreTask { @@ -5260,7 +5348,7 @@ type BackupStatusRequest struct { func (x *BackupStatusRequest) Reset() { *x = BackupStatusRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[94] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5272,7 +5360,7 @@ func (x *BackupStatusRequest) String() string { func (*BackupStatusRequest) ProtoMessage() {} func (x *BackupStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[94] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5285,7 +5373,7 @@ func (x *BackupStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupStatusRequest.ProtoReflect.Descriptor instead. func (*BackupStatusRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{94} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{96} } type BackupStatusResponse struct { @@ -5298,7 +5386,7 @@ type BackupStatusResponse struct { func (x *BackupStatusResponse) Reset() { *x = BackupStatusResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[95] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5310,7 +5398,7 @@ func (x *BackupStatusResponse) String() string { func (*BackupStatusResponse) ProtoMessage() {} func (x *BackupStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[95] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5323,7 +5411,7 @@ func (x *BackupStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupStatusResponse.ProtoReflect.Descriptor instead. func (*BackupStatusResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{95} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{97} } func (x *BackupStatusResponse) GetOpType() BackupStatusResponse_OperationType { @@ -5348,7 +5436,7 @@ type CancelBackupRequest struct { func (x *CancelBackupRequest) Reset() { *x = CancelBackupRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[96] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5360,7 +5448,7 @@ func (x *CancelBackupRequest) String() string { func (*CancelBackupRequest) ProtoMessage() {} func (x *CancelBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[96] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5373,7 +5461,7 @@ func (x *CancelBackupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelBackupRequest.ProtoReflect.Descriptor instead. func (*CancelBackupRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{96} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{98} } type CancelBackupResponse struct { @@ -5384,7 +5472,7 @@ type CancelBackupResponse struct { func (x *CancelBackupResponse) Reset() { *x = CancelBackupResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[97] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5396,7 +5484,7 @@ func (x *CancelBackupResponse) String() string { func (*CancelBackupResponse) ProtoMessage() {} func (x *CancelBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[97] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5409,7 +5497,7 @@ func (x *CancelBackupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelBackupResponse.ProtoReflect.Descriptor instead. func (*CancelBackupResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{97} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{99} } type UpgradeRequest struct { @@ -5423,7 +5511,7 @@ type UpgradeRequest struct { func (x *UpgradeRequest) Reset() { *x = UpgradeRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[98] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5435,7 +5523,7 @@ func (x *UpgradeRequest) String() string { func (*UpgradeRequest) ProtoMessage() {} func (x *UpgradeRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[98] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5448,7 +5536,7 @@ func (x *UpgradeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradeRequest.ProtoReflect.Descriptor instead. func (*UpgradeRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{98} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{100} } func (x *UpgradeRequest) GetVersion() string { @@ -5483,7 +5571,7 @@ type UpgradeResponse struct { func (x *UpgradeResponse) Reset() { *x = UpgradeResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[99] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5495,7 +5583,7 @@ func (x *UpgradeResponse) String() string { func (*UpgradeResponse) ProtoMessage() {} func (x *UpgradeResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[99] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5508,7 +5596,7 @@ func (x *UpgradeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpgradeResponse.ProtoReflect.Descriptor instead. func (*UpgradeResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{99} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{101} } func (x *UpgradeResponse) GetPreviousVersion() string { @@ -5543,7 +5631,7 @@ type ValidatedUpgradeResponse struct { func (x *ValidatedUpgradeResponse) Reset() { *x = ValidatedUpgradeResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[100] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5555,7 +5643,7 @@ func (x *ValidatedUpgradeResponse) String() string { func (*ValidatedUpgradeResponse) ProtoMessage() {} func (x *ValidatedUpgradeResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[100] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5568,7 +5656,7 @@ func (x *ValidatedUpgradeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidatedUpgradeResponse.ProtoReflect.Descriptor instead. func (*ValidatedUpgradeResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{100} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{102} } func (x *ValidatedUpgradeResponse) GetCurrentVersion() string { @@ -5600,7 +5688,7 @@ type CurrentReleaseManifestRequest struct { func (x *CurrentReleaseManifestRequest) Reset() { *x = CurrentReleaseManifestRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[101] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5612,7 +5700,7 @@ func (x *CurrentReleaseManifestRequest) String() string { func (*CurrentReleaseManifestRequest) ProtoMessage() {} func (x *CurrentReleaseManifestRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[101] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5625,7 +5713,7 @@ func (x *CurrentReleaseManifestRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CurrentReleaseManifestRequest.ProtoReflect.Descriptor instead. func (*CurrentReleaseManifestRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{101} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{103} } type ReleaseManifest struct { @@ -5637,7 +5725,7 @@ type ReleaseManifest struct { func (x *ReleaseManifest) Reset() { *x = ReleaseManifest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[102] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5649,7 +5737,7 @@ func (x *ReleaseManifest) String() string { func (*ReleaseManifest) ProtoMessage() {} func (x *ReleaseManifest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[102] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5662,7 +5750,7 @@ func (x *ReleaseManifest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReleaseManifest.ProtoReflect.Descriptor instead. func (*ReleaseManifest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{102} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{104} } func (x *ReleaseManifest) GetJson() []byte { @@ -5680,7 +5768,7 @@ type A1UpgradeStatusRequest struct { func (x *A1UpgradeStatusRequest) Reset() { *x = A1UpgradeStatusRequest{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[103] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5692,7 +5780,7 @@ func (x *A1UpgradeStatusRequest) String() string { func (*A1UpgradeStatusRequest) ProtoMessage() {} func (x *A1UpgradeStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[103] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5705,7 +5793,7 @@ func (x *A1UpgradeStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use A1UpgradeStatusRequest.ProtoReflect.Descriptor instead. func (*A1UpgradeStatusRequest) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{103} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{105} } type A1UpgradeStatusResponse struct { @@ -5718,7 +5806,7 @@ type A1UpgradeStatusResponse struct { func (x *A1UpgradeStatusResponse) Reset() { *x = A1UpgradeStatusResponse{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[104] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5730,7 +5818,7 @@ func (x *A1UpgradeStatusResponse) String() string { func (*A1UpgradeStatusResponse) ProtoMessage() {} func (x *A1UpgradeStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[104] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5743,7 +5831,7 @@ func (x *A1UpgradeStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use A1UpgradeStatusResponse.ProtoReflect.Descriptor instead. func (*A1UpgradeStatusResponse) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{104} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{106} } func (x *A1UpgradeStatusResponse) GetOverallStatus() A1UpgradeStatusResponse_MigrationStatus { @@ -5769,7 +5857,7 @@ type DeployEvent_Deploy struct { func (x *DeployEvent_Deploy) Reset() { *x = DeployEvent_Deploy{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[106] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5781,7 +5869,7 @@ func (x *DeployEvent_Deploy) String() string { func (*DeployEvent_Deploy) ProtoMessage() {} func (x *DeployEvent_Deploy) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[106] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5794,7 +5882,7 @@ func (x *DeployEvent_Deploy) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent_Deploy.ProtoReflect.Descriptor instead. func (*DeployEvent_Deploy) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 0} } func (x *DeployEvent_Deploy) GetStatus() DeployEvent_Status { @@ -5814,7 +5902,7 @@ type DeployEvent_Phase struct { func (x *DeployEvent_Phase) Reset() { *x = DeployEvent_Phase{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[107] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5826,7 +5914,7 @@ func (x *DeployEvent_Phase) String() string { func (*DeployEvent_Phase) ProtoMessage() {} func (x *DeployEvent_Phase) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[107] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5839,7 +5927,7 @@ func (x *DeployEvent_Phase) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent_Phase.ProtoReflect.Descriptor instead. func (*DeployEvent_Phase) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 1} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 1} } func (x *DeployEvent_Phase) GetPhaseId() DeployEvent_PhaseID { @@ -5869,7 +5957,7 @@ type DeployEvent_PhaseStep struct { func (x *DeployEvent_PhaseStep) Reset() { *x = DeployEvent_PhaseStep{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[108] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5881,7 +5969,7 @@ func (x *DeployEvent_PhaseStep) String() string { func (*DeployEvent_PhaseStep) ProtoMessage() {} func (x *DeployEvent_PhaseStep) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[108] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5894,7 +5982,7 @@ func (x *DeployEvent_PhaseStep) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent_PhaseStep.ProtoReflect.Descriptor instead. func (*DeployEvent_PhaseStep) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 2} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 2} } func (x *DeployEvent_PhaseStep) GetPhaseId() DeployEvent_PhaseID { @@ -5936,7 +6024,7 @@ type DeployEvent_Backup struct { func (x *DeployEvent_Backup) Reset() { *x = DeployEvent_Backup{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[109] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5948,7 +6036,7 @@ func (x *DeployEvent_Backup) String() string { func (*DeployEvent_Backup) ProtoMessage() {} func (x *DeployEvent_Backup) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[109] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5961,7 +6049,7 @@ func (x *DeployEvent_Backup) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent_Backup.ProtoReflect.Descriptor instead. func (*DeployEvent_Backup) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 3} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 3} } func (x *DeployEvent_Backup) GetStatus() DeployEvent_Status { @@ -5995,7 +6083,7 @@ type DeployEvent_TaskComplete struct { func (x *DeployEvent_TaskComplete) Reset() { *x = DeployEvent_TaskComplete{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[110] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6007,7 +6095,7 @@ func (x *DeployEvent_TaskComplete) String() string { func (*DeployEvent_TaskComplete) ProtoMessage() {} func (x *DeployEvent_TaskComplete) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[110] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6020,7 +6108,7 @@ func (x *DeployEvent_TaskComplete) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent_TaskComplete.ProtoReflect.Descriptor instead. func (*DeployEvent_TaskComplete) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 4} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 4} } type DeployEvent_Backup_Operation struct { @@ -6037,7 +6125,7 @@ type DeployEvent_Backup_Operation struct { func (x *DeployEvent_Backup_Operation) Reset() { *x = DeployEvent_Backup_Operation{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[111] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6049,7 +6137,7 @@ func (x *DeployEvent_Backup_Operation) String() string { func (*DeployEvent_Backup_Operation) ProtoMessage() {} func (x *DeployEvent_Backup_Operation) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[111] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6062,7 +6150,7 @@ func (x *DeployEvent_Backup_Operation) ProtoReflect() protoreflect.Message { // Deprecated: Use DeployEvent_Backup_Operation.ProtoReflect.Descriptor instead. func (*DeployEvent_Backup_Operation) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{44, 3, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{46, 3, 0} } func (x *DeployEvent_Backup_Operation) GetStatus() DeployEvent_Status { @@ -6123,7 +6211,7 @@ type A1UpgradeStatusResponse_ServiceMigrationStatus struct { func (x *A1UpgradeStatusResponse_ServiceMigrationStatus) Reset() { *x = A1UpgradeStatusResponse_ServiceMigrationStatus{} - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[112] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6135,7 +6223,7 @@ func (x *A1UpgradeStatusResponse_ServiceMigrationStatus) String() string { func (*A1UpgradeStatusResponse_ServiceMigrationStatus) ProtoMessage() {} func (x *A1UpgradeStatusResponse_ServiceMigrationStatus) ProtoReflect() protoreflect.Message { - mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[112] + mi := &file_interservice_deployment_automate_deployment_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6148,7 +6236,7 @@ func (x *A1UpgradeStatusResponse_ServiceMigrationStatus) ProtoReflect() protoref // Deprecated: Use A1UpgradeStatusResponse_ServiceMigrationStatus.ProtoReflect.Descriptor instead. func (*A1UpgradeStatusResponse_ServiceMigrationStatus) Descriptor() ([]byte, []int) { - return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{104, 0} + return file_interservice_deployment_automate_deployment_proto_rawDescGZIP(), []int{106, 0} } func (x *A1UpgradeStatusResponse_ServiceMigrationStatus) GetServiceName() string { @@ -6196,1188 +6284,1204 @@ var file_interservice_deployment_automate_deployment_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x18, 0x0a, 0x16, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2d, 0x0a, 0x17, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, 0x0a, 0x17, 0x47, 0x65, 0x74, - 0x43, 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x22, 0x48, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x5d, 0x0a, 0x15, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x6e, - 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x65, + 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x73, 0x6f, 0x6e, + 0x22, 0x38, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x21, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x42, 0x6f, 0x6f, 0x74, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x2d, 0x0a, 0x17, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x35, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x48, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x4c, + 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x16, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5d, 0x0a, 0x15, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x44, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x1f, 0x49, 0x6e, 0x66, 0x72, + 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, + 0x64, 0x65, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe4, 0x02, 0x0a, 0x0d, 0x49, 0x6e, 0x76, + 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d, + 0x69, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x65, + 0x63, 0x32, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x63, 0x32, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x63, 0x32, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x65, 0x63, 0x32, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x49, 0x0a, 0x0c, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x0d, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x76, - 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x22, 0x3a, 0x0a, 0x1f, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x22, 0x0a, - 0x20, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xe4, 0x02, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, - 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x12, 0x25, 0x0a, - 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x63, 0x32, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, - 0x63, 0x32, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, - 0x65, 0x63, 0x32, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x63, 0x32, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x49, 0x0a, 0x0c, 0x55, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x0d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x9a, 0x02, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, - 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x63, 0x72, 0x5f, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, - 0x73, 0x74, 0x43, 0x63, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, - 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x22, 0xb9, - 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x58, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x65, 0x0a, 0x1a, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0xba, 0x01, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5f, - 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x75, - 0x73, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x64, - 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, - 0x29, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x13, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x9a, 0x02, + 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x63, 0x63, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x63, 0x72, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x69, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, - 0x2b, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, - 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, - 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x74, - 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x74, 0x6f, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x6f, - 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x17, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x14, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, 0x9f, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x59, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, + 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a, 0x1a, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x77, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x12, 0x72, 0x65, - 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, - 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, - 0x69, 0x72, 0x67, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x69, 0x73, 0x41, 0x69, 0x72, 0x67, 0x61, 0x70, 0x70, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x69, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x67, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x69, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, - 0x0a, 0x09, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x1a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x4c, 0x6f, - 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, - 0x01, 0x10, 0x02, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x47, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0x65, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x75, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x75, 0x61, - 0x6c, 0x22, 0x62, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, - 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0f, - 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, 0x56, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x6f, 0x6d, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x6f, 0x6d, 0x6c, 0x22, 0x7a, 0x0a, - 0x0c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, - 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x24, 0x0a, 0x10, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x95, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, - 0x12, 0x4d, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, - 0x4a, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, - 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, - 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x70, - 0x68, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xba, 0x01, 0x0a, 0x1b, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, - 0x61, 0x73, 0x65, 0x53, 0x74, 0x65, 0x70, 0x48, 0x00, 0x52, 0x09, 0x70, 0x68, 0x61, 0x73, 0x65, - 0x53, 0x74, 0x65, 0x70, 0x12, 0x60, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x68, - 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x52, 0x0c, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, + 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5f, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x13, 0x75, 0x73, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x22, 0x29, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x22, 0x82, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0d, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x52, + 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x2b, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0d, 0x0a, + 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, + 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x0a, 0x0f, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x43, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x16, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x18, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x3b, 0x0a, 0x14, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, 0x9f, 0x04, 0x0a, + 0x15, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x60, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x11, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, + 0x0f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x69, 0x72, 0x67, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x69, 0x72, 0x67, 0x61, 0x70, 0x70, + 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, + 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x11, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x1a, + 0x0a, 0x12, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, + 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x48, 0x00, 0x52, 0x06, 0x62, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x55, 0x0a, 0x06, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, - 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, + 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xa5, 0x01, 0x0a, - 0x05, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x07, - 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x22, 0x62, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, 0x56, 0x0a, 0x10, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x6f, + 0x6d, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x54, 0x6f, 0x6d, 0x6c, 0x22, 0x7a, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x44, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x24, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x95, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x1a, 0xdc, 0x01, 0x0a, 0x09, 0x50, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, - 0x65, 0x70, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x07, 0x70, 0x68, 0x61, 0x73, - 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x65, 0x70, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x1a, 0xda, 0x04, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x4b, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, - 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5d, 0x0a, 0x0a, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x48, 0x00, 0x52, 0x06, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x70, 0x68, 0x61, + 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x65, 0x70, 0x48, 0x00, + 0x52, 0x09, 0x70, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x60, 0x0a, 0x0d, 0x74, + 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, + 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x4d, 0x0a, + 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x48, 0x00, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x1a, 0x55, 0x0a, 0x06, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x1a, 0xa5, 0x01, 0x0a, 0x05, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x08, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0xcd, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, + 0x61, 0x73, 0x65, 0x49, 0x44, 0x52, 0x07, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x4b, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x79, - 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x0d, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x56, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x42, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1f, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, - 0x1a, 0x0e, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x22, 0x7e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, - 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, - 0x5f, 0x4f, 0x4b, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, - 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x4c, 0x46, - 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, - 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, - 0x22, 0x9b, 0x01, 0x0a, 0x07, 0x50, 0x68, 0x61, 0x73, 0x65, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x0c, - 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, - 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, - 0x56, 0x49, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, - 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x10, 0x03, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x50, 0x4c, 0x59, - 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, - 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x06, 0x42, 0x07, - 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4c, 0x69, - 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x36, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x22, 0x0f, - 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0xc4, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x65, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0xdc, 0x01, 0x0a, 0x09, + 0x50, 0x68, 0x61, 0x73, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x4f, 0x0a, 0x08, 0x70, 0x68, 0x61, + 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x49, + 0x44, 0x52, 0x07, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, + 0x65, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x74, 0x65, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xda, 0x04, 0x0a, 0x06, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x5d, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xcd, 0x02, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x1f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, + 0x55, 0x50, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, + 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x1a, 0x0e, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x7e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x4b, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, + 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x4c, + 0x46, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0x9b, 0x01, 0x0a, 0x07, 0x50, 0x68, 0x61, 0x73, + 0x65, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x43, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, + 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, + 0x41, 0x52, 0x54, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, + 0x14, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x48, + 0x45, 0x41, 0x4c, 0x54, 0x48, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x12, 0x11, + 0x0a, 0x0d, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x10, + 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x43, 0x45, 0x10, 0x06, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1d, + 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x36, 0x0a, + 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, + 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x44, 0x69, 0x72, 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, + 0x17, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x70, - 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x22, 0x16, 0x0a, 0x14, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x87, 0x03, 0x0a, 0x15, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x03, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, - 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x22, 0x45, 0x0a, 0x13, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x68, 0x0a, 0x14, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x22, 0x5a, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, - 0xf0, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x4c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x87, 0x03, 0x0a, 0x15, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, + 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, 0x72, + 0x61, 0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x45, 0x0a, 0x13, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x22, 0x68, 0x0a, 0x14, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x5a, 0x0a, 0x0d, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x08, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, + 0x22, 0x57, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, + 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0c, + 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x22, 0x30, 0x0a, 0x11, 0x47, 0x61, 0x74, + 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x7f, 0x0a, 0x12, 0x47, + 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x3c, 0x0a, 0x19, + 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x1a, 0x47, 0x61, + 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x18, 0x0a, 0x16, + 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x32, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x70, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, - 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, - 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, - 0x43, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x05, 0x22, 0x30, 0x0a, 0x11, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, - 0x69, 0x6e, 0x65, 0x73, 0x22, 0x7f, 0x0a, 0x12, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x3c, 0x0a, 0x19, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, - 0x6f, 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x1a, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, - 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x32, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x22, 0x79, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x36, 0x0a, 0x1b, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, - 0x6b, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x78, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x79, 0x0a, 0x1a, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x6b, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x0f, + 0x0a, 0x0d, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x24, 0x0a, 0x0e, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, 0x01, 0x0a, 0x17, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, + 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x53, 0x68, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x5f, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, + 0x69, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x37, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x0a, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, + 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x47, 0x0a, 0x0b, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, + 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0x04, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, + 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, + 0x35, 0x36, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6c, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcf, 0x01, 0x0a, 0x10, 0x53, + 0x33, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, + 0x11, 0x47, 0x43, 0x53, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x44, 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, 0x90, 0x06, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x69, 0x72, 0x12, 0x27, 0x0a, 0x0f, + 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, + 0x63, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x69, 0x72, 0x67, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x61, 0x69, 0x72, 0x67, 0x61, 0x70, 0x12, 0x5f, 0x0a, 0x12, 0x73, 0x33, + 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x33, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x73, 0x33, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x12, 0x4c, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, - 0x68, 0x61, 0x73, 0x68, 0x22, 0x36, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x18, - 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x44, 0x75, 0x6d, 0x70, 0x44, - 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x24, 0x0a, 0x0e, 0x44, 0x75, 0x6d, 0x70, - 0x44, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x80, - 0x01, 0x0a, 0x17, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x68, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x68, 0x61, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x22, 0x37, 0x0a, 0x10, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x0a, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, 0x0a, 0x13, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x43, 0x53, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x63, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2a, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x73, 0x22, 0x1b, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0x5b, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x5c, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, + 0x58, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, - 0x6b, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x22, 0x47, 0x0a, 0x0b, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, - 0x53, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, - 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x22, 0x83, 0x01, - 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0xcf, 0x01, 0x0a, 0x10, 0x53, 0x33, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, - 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, - 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x47, 0x43, 0x53, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x62, 0x61, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x1e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x22, - 0x90, 0x06, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x43, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x44, 0x69, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x27, - 0x0a, 0x0f, 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, - 0x63, 0x74, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x69, 0x72, 0x67, 0x61, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x69, 0x72, - 0x67, 0x61, 0x70, 0x12, 0x5f, 0x0a, 0x12, 0x73, 0x33, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x53, 0x33, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x10, 0x73, 0x33, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x4c, 0x0a, 0x08, - 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x6b, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0xc3, 0x01, 0x0a, 0x12, 0x53, 0x68, + 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, - 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x5d, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x62, + 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x6f, 0x0a, 0x1b, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x50, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x09, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x62, - 0x0a, 0x13, 0x67, 0x63, 0x73, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, - 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x43, - 0x53, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x11, 0x67, 0x63, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x11, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x1b, 0x0a, 0x13, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x22, 0x5b, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x43, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x1e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, + 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x62, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x5c, 0x0a, 0x13, 0x4c, 0x69, - 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x58, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, - 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x22, 0xc3, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, - 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x06, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x12, 0x54, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x62, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x49, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, - 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6f, 0x0a, 0x1b, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, + 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x62, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x73, 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, - 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x22, 0xb8, 0x01, 0x0a, 0x11, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3f, 0x0a, 0x0d, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, - 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x72, 0x75, - 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x72, 0x72, - 0x75, 0x70, 0x74, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x1e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x73, - 0x0a, 0x1f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x50, 0x0a, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x73, 0x22, 0x64, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x65, 0x0a, 0x15, 0x52, 0x65, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x09, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x22, 0x64, 0x0a, 0x14, 0x52, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x22, 0x15, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x85, 0x02, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5c, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x43, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, - 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x22, 0x74, 0x0a, 0x0d, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x03, 0x12, - 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x48, 0x4f, - 0x57, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x06, 0x12, - 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, - 0x49, 0x46, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x49, 0x54, 0x59, 0x10, 0x08, 0x22, - 0x15, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, - 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, - 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x68, 0x22, 0x78, 0x0a, 0x0f, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, - 0x65, 0x78, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, - 0x6b, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, - 0x6a, 0x6f, 0x72, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x25, 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, - 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x41, - 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa1, 0x04, 0x0a, 0x17, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x63, 0x68, 0x65, 0x66, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x31, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x7a, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, - 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, 0xcd, - 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, - 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x49, - 0x0a, 0x0f, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, - 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, - 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, - 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x32, 0xb5, 0x30, 0x0a, 0x0a, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x69, 0x0a, 0x06, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x22, 0x65, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x85, + 0x02, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x43, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, + 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, + 0x22, 0x74, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, + 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, + 0x54, 0x4f, 0x52, 0x45, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x04, + 0x12, 0x08, 0x0a, 0x04, 0x53, 0x48, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, + 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x07, + 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x47, + 0x52, 0x49, 0x54, 0x59, 0x10, 0x08, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, + 0x14, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x0a, 0x0e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x75, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x4d, + 0x61, 0x6a, 0x6f, 0x72, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x68, + 0x22, 0x78, 0x0a, 0x0f, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, + 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x25, 0x0a, 0x0f, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x6a, 0x73, + 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa1, 0x04, 0x0a, + 0x17, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x48, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x7a, 0x0a, 0x10, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x65, 0x73, 0x1a, 0xcd, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x60, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x0f, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, + 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, + 0x54, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, + 0x32, 0xbf, 0x31, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x69, 0x0a, 0x06, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x6f, 0x6d, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0c, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x12, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x6f, 0x6d, 0x65, 0x12, + 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, - 0x6a, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x6f, 0x6d, 0x65, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x74, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x6a, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x6f, 0x6d, 0x65, + 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x77, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x14, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0d, 0x4e, 0x65, + 0x77, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x65, + 0x77, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, - 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x69, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x44, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, - 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x63, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x2c, 0x2e, 0x63, 0x68, 0x65, 0x66, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, - 0x6e, 0x65, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x0a, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, - 0x67, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x12, - 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x34, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70, + 0x12, 0x2c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7b, 0x0a, - 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x12, 0x34, 0x2e, + 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, + 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x65, 0x30, 0x01, 0x12, 0x75, 0x0a, 0x0a, 0x47, + 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x61, 0x74, 0x68, + 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x12, 0x35, 0x2e, 0x63, 0x68, - 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x12, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, + 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x61, 0x74, 0x68, + 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, + 0x67, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x7b, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, + 0x65, 0x72, 0x67, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x6f, + 0x70, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, + 0x67, 0x65, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x68, - 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x52, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x37, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, - 0x01, 0x0a, 0x13, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, + 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, + 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, + 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x06, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x42, 0x12, + 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x0f, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, - 0x0a, 0x06, 0x44, 0x75, 0x6d, 0x70, 0x44, 0x42, 0x12, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x44, - 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x44, - 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x0f, - 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x6e, 0x69, 0x66, - 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x78, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x33, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x75, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x0a, 0x53, 0x68, 0x6f, - 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x68, - 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x68, - 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7e, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x73, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7e, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, - 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x7b, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, - 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x34, 0x2e, - 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, - 0x6f, 0x77, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, - 0x79, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9c, 0x01, - 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x2e, 0x63, 0x68, 0x65, 0x66, - 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x07, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x74, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0e, 0x49, 0x73, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2f, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x4c, - 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, - 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, - 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, + 0x63, 0x6b, 0x75, 0x70, 0x12, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x90, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x08, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x44, 0x12, 0x30, - 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x17, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x3f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x16, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x3e, + 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x07, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, - 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7c, 0x0a, 0x0e, 0x49, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x2f, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x78, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, - 0x12, 0x86, 0x01, 0x0a, 0x0f, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x12, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x63, + 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x08, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x49, 0x44, 0x12, 0x30, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, 0x44, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x16, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4d, + 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x0f, 0x41, 0x31, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x31, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, - 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x41, 0x31, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7e, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x7e, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x18, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, - 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x05, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x4c, 0x49, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x4c, - 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x86, 0x01, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, + 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x9f, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x41, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x66, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x2e, 0x63, 0x68, + 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x43, 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, + 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x4c, 0x49, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x0f, 0x42, 0x6f, 0x6f, 0x74, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x6f, + 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x42, 0x2e, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x77, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x42, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -7393,7 +7497,7 @@ func file_interservice_deployment_automate_deployment_proto_rawDescGZIP() []byte } var file_interservice_deployment_automate_deployment_proto_enumTypes = make([]protoimpl.EnumInfo, 8) -var file_interservice_deployment_automate_deployment_proto_msgTypes = make([]protoimpl.MessageInfo, 113) +var file_interservice_deployment_automate_deployment_proto_msgTypes = make([]protoimpl.MessageInfo, 115) var file_interservice_deployment_automate_deployment_proto_goTypes = []any{ (UpgradeStatusResponse_UpgradeState)(0), // 0: chef.automate.domain.deployment.UpgradeStatusResponse.UpgradeState (DeployEvent_Status)(0), // 1: chef.automate.domain.deployment.DeployEvent.Status @@ -7403,295 +7507,299 @@ var file_interservice_deployment_automate_deployment_proto_goTypes = []any{ (BackupTask_BackupState)(0), // 5: chef.automate.domain.deployment.BackupTask.BackupState (BackupStatusResponse_OperationType)(0), // 6: chef.automate.domain.deployment.BackupStatusResponse.OperationType (A1UpgradeStatusResponse_MigrationStatus)(0), // 7: chef.automate.domain.deployment.A1UpgradeStatusResponse.MigrationStatus - (*ControlIndexUpgradeStatusResponse)(nil), // 8: chef.automate.domain.deployment.ControlIndexUpgradeStatusResponse - (*BootstrapBundleRequest)(nil), // 9: chef.automate.domain.deployment.BootstrapBundleRequest - (*BootstrapBundleResponse)(nil), // 10: chef.automate.domain.deployment.BootstrapBundleResponse - (*GetCLIExecutableRequest)(nil), // 11: chef.automate.domain.deployment.GetCLIExecutableRequest - (*GetCLIExecutableResponse)(nil), // 12: chef.automate.domain.deployment.GetCLIExecutableResponse - (*NodeInventoryRequest)(nil), // 13: chef.automate.domain.deployment.NodeInventoryRequest - (*NodeInventoryResponse)(nil), // 14: chef.automate.domain.deployment.NodeInventoryResponse - (*InfrastructureNodeDeleteRequest)(nil), // 15: chef.automate.domain.deployment.InfrastructureNodeDeleteRequest - (*InfrastructureNodeDeleteResponse)(nil), // 16: chef.automate.domain.deployment.InfrastructureNodeDeleteResponse - (*InventoryNode)(nil), // 17: chef.automate.domain.deployment.InventoryNode - (*UsageRequest)(nil), // 18: chef.automate.domain.deployment.UsageRequest - (*UsageResponse)(nil), // 19: chef.automate.domain.deployment.UsageResponse - (*NodeUsage)(nil), // 20: chef.automate.domain.deployment.NodeUsage - (*GenerateAdminTokenRequest)(nil), // 21: chef.automate.domain.deployment.GenerateAdminTokenRequest - (*GenerateAdminTokenResponse)(nil), // 22: chef.automate.domain.deployment.GenerateAdminTokenResponse - (*NewDeploymentRequest)(nil), // 23: chef.automate.domain.deployment.NewDeploymentRequest - (*ConfigureDeploymentRequest)(nil), // 24: chef.automate.domain.deployment.ConfigureDeploymentRequest - (*ConfigureDeploymentResponse)(nil), // 25: chef.automate.domain.deployment.ConfigureDeploymentResponse - (*DeployRequest)(nil), // 26: chef.automate.domain.deployment.DeployRequest - (*DeployResponse)(nil), // 27: chef.automate.domain.deployment.DeployResponse - (*DeployStatusRequest)(nil), // 28: chef.automate.domain.deployment.DeployStatusRequest - (*RemoveRequest)(nil), // 29: chef.automate.domain.deployment.RemoveRequest - (*ManifestVersionRequest)(nil), // 30: chef.automate.domain.deployment.ManifestVersionRequest - (*PingRequest)(nil), // 31: chef.automate.domain.deployment.PingRequest - (*PingResponse)(nil), // 32: chef.automate.domain.deployment.PingResponse - (*DeployIDRequest)(nil), // 33: chef.automate.domain.deployment.DeployIDRequest - (*RemoveResponse)(nil), // 34: chef.automate.domain.deployment.RemoveResponse - (*StopRequest)(nil), // 35: chef.automate.domain.deployment.StopRequest - (*StopResponse)(nil), // 36: chef.automate.domain.deployment.StopResponse - (*StopConvergeRequest)(nil), // 37: chef.automate.domain.deployment.StopConvergeRequest - (*StopConvergeResponse)(nil), // 38: chef.automate.domain.deployment.StopConvergeResponse - (*StartConvergeRequest)(nil), // 39: chef.automate.domain.deployment.StartConvergeRequest - (*StartConvergeResponse)(nil), // 40: chef.automate.domain.deployment.StartConvergeResponse - (*ServiceVersionsRequest)(nil), // 41: chef.automate.domain.deployment.ServiceVersionsRequest - (*SystemLogsRequest)(nil), // 42: chef.automate.domain.deployment.SystemLogsRequest - (*UpgradeStatusRequest)(nil), // 43: chef.automate.domain.deployment.UpgradeStatusRequest - (*UpgradeStatusResponse)(nil), // 44: chef.automate.domain.deployment.UpgradeStatusResponse - (*SetLogLevelRequest)(nil), // 45: chef.automate.domain.deployment.SetLogLevelRequest - (*SetLogLevelResponse)(nil), // 46: chef.automate.domain.deployment.SetLogLevelResponse - (*UpgradingService)(nil), // 47: chef.automate.domain.deployment.UpgradingService - (*PackageOptions)(nil), // 48: chef.automate.domain.deployment.PackageOptions - (*ConfigureRequest)(nil), // 49: chef.automate.domain.deployment.ConfigureRequest - (*DeploymentID)(nil), // 50: chef.automate.domain.deployment.DeploymentID - (*DeploymentStatus)(nil), // 51: chef.automate.domain.deployment.DeploymentStatus - (*DeployEvent)(nil), // 52: chef.automate.domain.deployment.DeployEvent - (*LogLine)(nil), // 53: chef.automate.domain.deployment.LogLine - (*SupportBundleConfig)(nil), // 54: chef.automate.domain.deployment.SupportBundleConfig - (*StatusRequest)(nil), // 55: chef.automate.domain.deployment.StatusRequest - (*StatusResponse)(nil), // 56: chef.automate.domain.deployment.StatusResponse - (*ServiceVersionsResponse)(nil), // 57: chef.automate.domain.deployment.ServiceVersionsResponse - (*ServiceVersion)(nil), // 58: chef.automate.domain.deployment.ServiceVersion - (*LicenseStatusRequest)(nil), // 59: chef.automate.domain.deployment.LicenseStatusRequest - (*LicenseStatusResponse)(nil), // 60: chef.automate.domain.deployment.LicenseStatusResponse - (*LicenseApplyRequest)(nil), // 61: chef.automate.domain.deployment.LicenseApplyRequest - (*LicenseApplyResponse)(nil), // 62: chef.automate.domain.deployment.LicenseApplyResponse - (*ServiceStatus)(nil), // 63: chef.automate.domain.deployment.ServiceStatus - (*ServiceState)(nil), // 64: chef.automate.domain.deployment.ServiceState - (*GatherLogsRequest)(nil), // 65: chef.automate.domain.deployment.GatherLogsRequest - (*GatherLogsResponse)(nil), // 66: chef.automate.domain.deployment.GatherLogsResponse - (*GatherLogsDownloadRequest)(nil), // 67: chef.automate.domain.deployment.GatherLogsDownloadRequest - (*GatherLogsDownloadResponse)(nil), // 68: chef.automate.domain.deployment.GatherLogsDownloadResponse - (*RestartServicesRequest)(nil), // 69: chef.automate.domain.deployment.RestartServicesRequest - (*RestartServicesResponse)(nil), // 70: chef.automate.domain.deployment.RestartServicesResponse - (*GetAutomateConfigRequest)(nil), // 71: chef.automate.domain.deployment.GetAutomateConfigRequest - (*GetAutomateConfigResponse)(nil), // 72: chef.automate.domain.deployment.GetAutomateConfigResponse - (*PatchAutomateConfigRequest)(nil), // 73: chef.automate.domain.deployment.PatchAutomateConfigRequest - (*PatchAutomateConfigResponse)(nil), // 74: chef.automate.domain.deployment.PatchAutomateConfigResponse - (*SetAutomateConfigRequest)(nil), // 75: chef.automate.domain.deployment.SetAutomateConfigRequest - (*SetAutomateConfigResponse)(nil), // 76: chef.automate.domain.deployment.SetAutomateConfigResponse - (*DumpDBRequest)(nil), // 77: chef.automate.domain.deployment.DumpDBRequest - (*DumpDBResponse)(nil), // 78: chef.automate.domain.deployment.DumpDBResponse - (*ManifestVersionResponse)(nil), // 79: chef.automate.domain.deployment.ManifestVersionResponse - (*DeployIDResponse)(nil), // 80: chef.automate.domain.deployment.DeployIDResponse - (*BackupTask)(nil), // 81: chef.automate.domain.deployment.BackupTask - (*BackupDescription)(nil), // 82: chef.automate.domain.deployment.BackupDescription - (*S3BackupLocation)(nil), // 83: chef.automate.domain.deployment.S3BackupLocation - (*GCSBackupLocation)(nil), // 84: chef.automate.domain.deployment.GCSBackupLocation - (*BackupRestoreTask)(nil), // 85: chef.automate.domain.deployment.BackupRestoreTask - (*BackupDeleteTask)(nil), // 86: chef.automate.domain.deployment.BackupDeleteTask - (*CreateBackupRequest)(nil), // 87: chef.automate.domain.deployment.CreateBackupRequest - (*CreateBackupResponse)(nil), // 88: chef.automate.domain.deployment.CreateBackupResponse - (*ListBackupsRequest)(nil), // 89: chef.automate.domain.deployment.ListBackupsRequest - (*ListBackupsResponse)(nil), // 90: chef.automate.domain.deployment.ListBackupsResponse - (*ShowBackupRequest)(nil), // 91: chef.automate.domain.deployment.ShowBackupRequest - (*ShowBackupResponse)(nil), // 92: chef.automate.domain.deployment.ShowBackupResponse - (*DeleteBackupsRequest)(nil), // 93: chef.automate.domain.deployment.DeleteBackupsRequest - (*DeleteBackupsResponse)(nil), // 94: chef.automate.domain.deployment.DeleteBackupsResponse - (*BackupIntegrityShowRequest)(nil), // 95: chef.automate.domain.deployment.BackupIntegrityShowRequest - (*BackupIntegrityShowResponse)(nil), // 96: chef.automate.domain.deployment.BackupIntegrityShowResponse - (*SnapshotIntegrity)(nil), // 97: chef.automate.domain.deployment.SnapshotIntegrity - (*ValidateBackupIntegrityRequest)(nil), // 98: chef.automate.domain.deployment.ValidateBackupIntegrityRequest - (*ValidateBackupIntegrityResponse)(nil), // 99: chef.automate.domain.deployment.ValidateBackupIntegrityResponse - (*RestoreBackupRequest)(nil), // 100: chef.automate.domain.deployment.RestoreBackupRequest - (*RestoreBackupResponse)(nil), // 101: chef.automate.domain.deployment.RestoreBackupResponse - (*BackupStatusRequest)(nil), // 102: chef.automate.domain.deployment.BackupStatusRequest - (*BackupStatusResponse)(nil), // 103: chef.automate.domain.deployment.BackupStatusResponse - (*CancelBackupRequest)(nil), // 104: chef.automate.domain.deployment.CancelBackupRequest - (*CancelBackupResponse)(nil), // 105: chef.automate.domain.deployment.CancelBackupResponse - (*UpgradeRequest)(nil), // 106: chef.automate.domain.deployment.UpgradeRequest - (*UpgradeResponse)(nil), // 107: chef.automate.domain.deployment.UpgradeResponse - (*ValidatedUpgradeResponse)(nil), // 108: chef.automate.domain.deployment.ValidatedUpgradeResponse - (*CurrentReleaseManifestRequest)(nil), // 109: chef.automate.domain.deployment.CurrentReleaseManifestRequest - (*ReleaseManifest)(nil), // 110: chef.automate.domain.deployment.ReleaseManifest - (*A1UpgradeStatusRequest)(nil), // 111: chef.automate.domain.deployment.A1UpgradeStatusRequest - (*A1UpgradeStatusResponse)(nil), // 112: chef.automate.domain.deployment.A1UpgradeStatusResponse - nil, // 113: chef.automate.domain.deployment.NodeUsage.MetadataEntry - (*DeployEvent_Deploy)(nil), // 114: chef.automate.domain.deployment.DeployEvent.Deploy - (*DeployEvent_Phase)(nil), // 115: chef.automate.domain.deployment.DeployEvent.Phase - (*DeployEvent_PhaseStep)(nil), // 116: chef.automate.domain.deployment.DeployEvent.PhaseStep - (*DeployEvent_Backup)(nil), // 117: chef.automate.domain.deployment.DeployEvent.Backup - (*DeployEvent_TaskComplete)(nil), // 118: chef.automate.domain.deployment.DeployEvent.TaskComplete - (*DeployEvent_Backup_Operation)(nil), // 119: chef.automate.domain.deployment.DeployEvent.Backup.Operation - (*A1UpgradeStatusResponse_ServiceMigrationStatus)(nil), // 120: chef.automate.domain.deployment.A1UpgradeStatusResponse.ServiceMigrationStatus - (*timestamppb.Timestamp)(nil), // 121: google.protobuf.Timestamp - (*deployment.AutomateConfig)(nil), // 122: chef.automate.domain.deployment.AutomateConfig - (*deployment.ConfigRequest)(nil), // 123: chef.automate.domain.deployment.ConfigRequest - (*emptypb.Empty)(nil), // 124: google.protobuf.Empty + (*GetReindexStatusResponse)(nil), // 8: chef.automate.domain.deployment.GetReindexStatusResponse + (*GetReindexStatusRequest)(nil), // 9: chef.automate.domain.deployment.GetReindexStatusRequest + (*ControlIndexUpgradeStatusResponse)(nil), // 10: chef.automate.domain.deployment.ControlIndexUpgradeStatusResponse + (*BootstrapBundleRequest)(nil), // 11: chef.automate.domain.deployment.BootstrapBundleRequest + (*BootstrapBundleResponse)(nil), // 12: chef.automate.domain.deployment.BootstrapBundleResponse + (*GetCLIExecutableRequest)(nil), // 13: chef.automate.domain.deployment.GetCLIExecutableRequest + (*GetCLIExecutableResponse)(nil), // 14: chef.automate.domain.deployment.GetCLIExecutableResponse + (*NodeInventoryRequest)(nil), // 15: chef.automate.domain.deployment.NodeInventoryRequest + (*NodeInventoryResponse)(nil), // 16: chef.automate.domain.deployment.NodeInventoryResponse + (*InfrastructureNodeDeleteRequest)(nil), // 17: chef.automate.domain.deployment.InfrastructureNodeDeleteRequest + (*InfrastructureNodeDeleteResponse)(nil), // 18: chef.automate.domain.deployment.InfrastructureNodeDeleteResponse + (*InventoryNode)(nil), // 19: chef.automate.domain.deployment.InventoryNode + (*UsageRequest)(nil), // 20: chef.automate.domain.deployment.UsageRequest + (*UsageResponse)(nil), // 21: chef.automate.domain.deployment.UsageResponse + (*NodeUsage)(nil), // 22: chef.automate.domain.deployment.NodeUsage + (*GenerateAdminTokenRequest)(nil), // 23: chef.automate.domain.deployment.GenerateAdminTokenRequest + (*GenerateAdminTokenResponse)(nil), // 24: chef.automate.domain.deployment.GenerateAdminTokenResponse + (*NewDeploymentRequest)(nil), // 25: chef.automate.domain.deployment.NewDeploymentRequest + (*ConfigureDeploymentRequest)(nil), // 26: chef.automate.domain.deployment.ConfigureDeploymentRequest + (*ConfigureDeploymentResponse)(nil), // 27: chef.automate.domain.deployment.ConfigureDeploymentResponse + (*DeployRequest)(nil), // 28: chef.automate.domain.deployment.DeployRequest + (*DeployResponse)(nil), // 29: chef.automate.domain.deployment.DeployResponse + (*DeployStatusRequest)(nil), // 30: chef.automate.domain.deployment.DeployStatusRequest + (*RemoveRequest)(nil), // 31: chef.automate.domain.deployment.RemoveRequest + (*ManifestVersionRequest)(nil), // 32: chef.automate.domain.deployment.ManifestVersionRequest + (*PingRequest)(nil), // 33: chef.automate.domain.deployment.PingRequest + (*PingResponse)(nil), // 34: chef.automate.domain.deployment.PingResponse + (*DeployIDRequest)(nil), // 35: chef.automate.domain.deployment.DeployIDRequest + (*RemoveResponse)(nil), // 36: chef.automate.domain.deployment.RemoveResponse + (*StopRequest)(nil), // 37: chef.automate.domain.deployment.StopRequest + (*StopResponse)(nil), // 38: chef.automate.domain.deployment.StopResponse + (*StopConvergeRequest)(nil), // 39: chef.automate.domain.deployment.StopConvergeRequest + (*StopConvergeResponse)(nil), // 40: chef.automate.domain.deployment.StopConvergeResponse + (*StartConvergeRequest)(nil), // 41: chef.automate.domain.deployment.StartConvergeRequest + (*StartConvergeResponse)(nil), // 42: chef.automate.domain.deployment.StartConvergeResponse + (*ServiceVersionsRequest)(nil), // 43: chef.automate.domain.deployment.ServiceVersionsRequest + (*SystemLogsRequest)(nil), // 44: chef.automate.domain.deployment.SystemLogsRequest + (*UpgradeStatusRequest)(nil), // 45: chef.automate.domain.deployment.UpgradeStatusRequest + (*UpgradeStatusResponse)(nil), // 46: chef.automate.domain.deployment.UpgradeStatusResponse + (*SetLogLevelRequest)(nil), // 47: chef.automate.domain.deployment.SetLogLevelRequest + (*SetLogLevelResponse)(nil), // 48: chef.automate.domain.deployment.SetLogLevelResponse + (*UpgradingService)(nil), // 49: chef.automate.domain.deployment.UpgradingService + (*PackageOptions)(nil), // 50: chef.automate.domain.deployment.PackageOptions + (*ConfigureRequest)(nil), // 51: chef.automate.domain.deployment.ConfigureRequest + (*DeploymentID)(nil), // 52: chef.automate.domain.deployment.DeploymentID + (*DeploymentStatus)(nil), // 53: chef.automate.domain.deployment.DeploymentStatus + (*DeployEvent)(nil), // 54: chef.automate.domain.deployment.DeployEvent + (*LogLine)(nil), // 55: chef.automate.domain.deployment.LogLine + (*SupportBundleConfig)(nil), // 56: chef.automate.domain.deployment.SupportBundleConfig + (*StatusRequest)(nil), // 57: chef.automate.domain.deployment.StatusRequest + (*StatusResponse)(nil), // 58: chef.automate.domain.deployment.StatusResponse + (*ServiceVersionsResponse)(nil), // 59: chef.automate.domain.deployment.ServiceVersionsResponse + (*ServiceVersion)(nil), // 60: chef.automate.domain.deployment.ServiceVersion + (*LicenseStatusRequest)(nil), // 61: chef.automate.domain.deployment.LicenseStatusRequest + (*LicenseStatusResponse)(nil), // 62: chef.automate.domain.deployment.LicenseStatusResponse + (*LicenseApplyRequest)(nil), // 63: chef.automate.domain.deployment.LicenseApplyRequest + (*LicenseApplyResponse)(nil), // 64: chef.automate.domain.deployment.LicenseApplyResponse + (*ServiceStatus)(nil), // 65: chef.automate.domain.deployment.ServiceStatus + (*ServiceState)(nil), // 66: chef.automate.domain.deployment.ServiceState + (*GatherLogsRequest)(nil), // 67: chef.automate.domain.deployment.GatherLogsRequest + (*GatherLogsResponse)(nil), // 68: chef.automate.domain.deployment.GatherLogsResponse + (*GatherLogsDownloadRequest)(nil), // 69: chef.automate.domain.deployment.GatherLogsDownloadRequest + (*GatherLogsDownloadResponse)(nil), // 70: chef.automate.domain.deployment.GatherLogsDownloadResponse + (*RestartServicesRequest)(nil), // 71: chef.automate.domain.deployment.RestartServicesRequest + (*RestartServicesResponse)(nil), // 72: chef.automate.domain.deployment.RestartServicesResponse + (*GetAutomateConfigRequest)(nil), // 73: chef.automate.domain.deployment.GetAutomateConfigRequest + (*GetAutomateConfigResponse)(nil), // 74: chef.automate.domain.deployment.GetAutomateConfigResponse + (*PatchAutomateConfigRequest)(nil), // 75: chef.automate.domain.deployment.PatchAutomateConfigRequest + (*PatchAutomateConfigResponse)(nil), // 76: chef.automate.domain.deployment.PatchAutomateConfigResponse + (*SetAutomateConfigRequest)(nil), // 77: chef.automate.domain.deployment.SetAutomateConfigRequest + (*SetAutomateConfigResponse)(nil), // 78: chef.automate.domain.deployment.SetAutomateConfigResponse + (*DumpDBRequest)(nil), // 79: chef.automate.domain.deployment.DumpDBRequest + (*DumpDBResponse)(nil), // 80: chef.automate.domain.deployment.DumpDBResponse + (*ManifestVersionResponse)(nil), // 81: chef.automate.domain.deployment.ManifestVersionResponse + (*DeployIDResponse)(nil), // 82: chef.automate.domain.deployment.DeployIDResponse + (*BackupTask)(nil), // 83: chef.automate.domain.deployment.BackupTask + (*BackupDescription)(nil), // 84: chef.automate.domain.deployment.BackupDescription + (*S3BackupLocation)(nil), // 85: chef.automate.domain.deployment.S3BackupLocation + (*GCSBackupLocation)(nil), // 86: chef.automate.domain.deployment.GCSBackupLocation + (*BackupRestoreTask)(nil), // 87: chef.automate.domain.deployment.BackupRestoreTask + (*BackupDeleteTask)(nil), // 88: chef.automate.domain.deployment.BackupDeleteTask + (*CreateBackupRequest)(nil), // 89: chef.automate.domain.deployment.CreateBackupRequest + (*CreateBackupResponse)(nil), // 90: chef.automate.domain.deployment.CreateBackupResponse + (*ListBackupsRequest)(nil), // 91: chef.automate.domain.deployment.ListBackupsRequest + (*ListBackupsResponse)(nil), // 92: chef.automate.domain.deployment.ListBackupsResponse + (*ShowBackupRequest)(nil), // 93: chef.automate.domain.deployment.ShowBackupRequest + (*ShowBackupResponse)(nil), // 94: chef.automate.domain.deployment.ShowBackupResponse + (*DeleteBackupsRequest)(nil), // 95: chef.automate.domain.deployment.DeleteBackupsRequest + (*DeleteBackupsResponse)(nil), // 96: chef.automate.domain.deployment.DeleteBackupsResponse + (*BackupIntegrityShowRequest)(nil), // 97: chef.automate.domain.deployment.BackupIntegrityShowRequest + (*BackupIntegrityShowResponse)(nil), // 98: chef.automate.domain.deployment.BackupIntegrityShowResponse + (*SnapshotIntegrity)(nil), // 99: chef.automate.domain.deployment.SnapshotIntegrity + (*ValidateBackupIntegrityRequest)(nil), // 100: chef.automate.domain.deployment.ValidateBackupIntegrityRequest + (*ValidateBackupIntegrityResponse)(nil), // 101: chef.automate.domain.deployment.ValidateBackupIntegrityResponse + (*RestoreBackupRequest)(nil), // 102: chef.automate.domain.deployment.RestoreBackupRequest + (*RestoreBackupResponse)(nil), // 103: chef.automate.domain.deployment.RestoreBackupResponse + (*BackupStatusRequest)(nil), // 104: chef.automate.domain.deployment.BackupStatusRequest + (*BackupStatusResponse)(nil), // 105: chef.automate.domain.deployment.BackupStatusResponse + (*CancelBackupRequest)(nil), // 106: chef.automate.domain.deployment.CancelBackupRequest + (*CancelBackupResponse)(nil), // 107: chef.automate.domain.deployment.CancelBackupResponse + (*UpgradeRequest)(nil), // 108: chef.automate.domain.deployment.UpgradeRequest + (*UpgradeResponse)(nil), // 109: chef.automate.domain.deployment.UpgradeResponse + (*ValidatedUpgradeResponse)(nil), // 110: chef.automate.domain.deployment.ValidatedUpgradeResponse + (*CurrentReleaseManifestRequest)(nil), // 111: chef.automate.domain.deployment.CurrentReleaseManifestRequest + (*ReleaseManifest)(nil), // 112: chef.automate.domain.deployment.ReleaseManifest + (*A1UpgradeStatusRequest)(nil), // 113: chef.automate.domain.deployment.A1UpgradeStatusRequest + (*A1UpgradeStatusResponse)(nil), // 114: chef.automate.domain.deployment.A1UpgradeStatusResponse + nil, // 115: chef.automate.domain.deployment.NodeUsage.MetadataEntry + (*DeployEvent_Deploy)(nil), // 116: chef.automate.domain.deployment.DeployEvent.Deploy + (*DeployEvent_Phase)(nil), // 117: chef.automate.domain.deployment.DeployEvent.Phase + (*DeployEvent_PhaseStep)(nil), // 118: chef.automate.domain.deployment.DeployEvent.PhaseStep + (*DeployEvent_Backup)(nil), // 119: chef.automate.domain.deployment.DeployEvent.Backup + (*DeployEvent_TaskComplete)(nil), // 120: chef.automate.domain.deployment.DeployEvent.TaskComplete + (*DeployEvent_Backup_Operation)(nil), // 121: chef.automate.domain.deployment.DeployEvent.Backup.Operation + (*A1UpgradeStatusResponse_ServiceMigrationStatus)(nil), // 122: chef.automate.domain.deployment.A1UpgradeStatusResponse.ServiceMigrationStatus + (*timestamppb.Timestamp)(nil), // 123: google.protobuf.Timestamp + (*deployment.AutomateConfig)(nil), // 124: chef.automate.domain.deployment.AutomateConfig + (*deployment.ConfigRequest)(nil), // 125: chef.automate.domain.deployment.ConfigRequest + (*emptypb.Empty)(nil), // 126: google.protobuf.Empty } var file_interservice_deployment_automate_deployment_proto_depIdxs = []int32{ - 17, // 0: chef.automate.domain.deployment.NodeInventoryResponse.nodes:type_name -> chef.automate.domain.deployment.InventoryNode - 121, // 1: chef.automate.domain.deployment.UsageRequest.start_time:type_name -> google.protobuf.Timestamp - 20, // 2: chef.automate.domain.deployment.UsageResponse.nodes:type_name -> chef.automate.domain.deployment.NodeUsage - 113, // 3: chef.automate.domain.deployment.NodeUsage.metadata:type_name -> chef.automate.domain.deployment.NodeUsage.MetadataEntry - 122, // 4: chef.automate.domain.deployment.NewDeploymentRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig - 48, // 5: chef.automate.domain.deployment.NewDeploymentRequest.package_options:type_name -> chef.automate.domain.deployment.PackageOptions - 122, // 6: chef.automate.domain.deployment.ConfigureDeploymentRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig - 50, // 7: chef.automate.domain.deployment.ConfigureDeploymentResponse.deployment_id:type_name -> chef.automate.domain.deployment.DeploymentID - 122, // 8: chef.automate.domain.deployment.ConfigureDeploymentResponse.config:type_name -> chef.automate.domain.deployment.AutomateConfig - 50, // 9: chef.automate.domain.deployment.DeployStatusRequest.deployment_id:type_name -> chef.automate.domain.deployment.DeploymentID + 19, // 0: chef.automate.domain.deployment.NodeInventoryResponse.nodes:type_name -> chef.automate.domain.deployment.InventoryNode + 123, // 1: chef.automate.domain.deployment.UsageRequest.start_time:type_name -> google.protobuf.Timestamp + 22, // 2: chef.automate.domain.deployment.UsageResponse.nodes:type_name -> chef.automate.domain.deployment.NodeUsage + 115, // 3: chef.automate.domain.deployment.NodeUsage.metadata:type_name -> chef.automate.domain.deployment.NodeUsage.MetadataEntry + 124, // 4: chef.automate.domain.deployment.NewDeploymentRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig + 50, // 5: chef.automate.domain.deployment.NewDeploymentRequest.package_options:type_name -> chef.automate.domain.deployment.PackageOptions + 124, // 6: chef.automate.domain.deployment.ConfigureDeploymentRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig + 52, // 7: chef.automate.domain.deployment.ConfigureDeploymentResponse.deployment_id:type_name -> chef.automate.domain.deployment.DeploymentID + 124, // 8: chef.automate.domain.deployment.ConfigureDeploymentResponse.config:type_name -> chef.automate.domain.deployment.AutomateConfig + 52, // 9: chef.automate.domain.deployment.DeployStatusRequest.deployment_id:type_name -> chef.automate.domain.deployment.DeploymentID 0, // 10: chef.automate.domain.deployment.UpgradeStatusResponse.state:type_name -> chef.automate.domain.deployment.UpgradeStatusResponse.UpgradeState - 47, // 11: chef.automate.domain.deployment.UpgradeStatusResponse.remaining_services:type_name -> chef.automate.domain.deployment.UpgradingService - 58, // 12: chef.automate.domain.deployment.UpgradingService.target:type_name -> chef.automate.domain.deployment.ServiceVersion - 58, // 13: chef.automate.domain.deployment.UpgradingService.actual:type_name -> chef.automate.domain.deployment.ServiceVersion - 121, // 14: chef.automate.domain.deployment.DeploymentID.created_at:type_name -> google.protobuf.Timestamp - 121, // 15: chef.automate.domain.deployment.DeployEvent.time:type_name -> google.protobuf.Timestamp - 114, // 16: chef.automate.domain.deployment.DeployEvent.deploy:type_name -> chef.automate.domain.deployment.DeployEvent.Deploy - 115, // 17: chef.automate.domain.deployment.DeployEvent.phase:type_name -> chef.automate.domain.deployment.DeployEvent.Phase - 116, // 18: chef.automate.domain.deployment.DeployEvent.phase_step:type_name -> chef.automate.domain.deployment.DeployEvent.PhaseStep - 118, // 19: chef.automate.domain.deployment.DeployEvent.task_complete:type_name -> chef.automate.domain.deployment.DeployEvent.TaskComplete - 117, // 20: chef.automate.domain.deployment.DeployEvent.backup:type_name -> chef.automate.domain.deployment.DeployEvent.Backup - 63, // 21: chef.automate.domain.deployment.StatusResponse.service_status:type_name -> chef.automate.domain.deployment.ServiceStatus - 123, // 22: chef.automate.domain.deployment.StatusResponse.deployment_config:type_name -> chef.automate.domain.deployment.ConfigRequest - 58, // 23: chef.automate.domain.deployment.ServiceVersionsResponse.services:type_name -> chef.automate.domain.deployment.ServiceVersion - 121, // 24: chef.automate.domain.deployment.LicenseStatusResponse.expiration_date:type_name -> google.protobuf.Timestamp - 121, // 25: chef.automate.domain.deployment.LicenseStatusResponse.deployment_at:type_name -> google.protobuf.Timestamp - 64, // 26: chef.automate.domain.deployment.ServiceStatus.services:type_name -> chef.automate.domain.deployment.ServiceState + 49, // 11: chef.automate.domain.deployment.UpgradeStatusResponse.remaining_services:type_name -> chef.automate.domain.deployment.UpgradingService + 60, // 12: chef.automate.domain.deployment.UpgradingService.target:type_name -> chef.automate.domain.deployment.ServiceVersion + 60, // 13: chef.automate.domain.deployment.UpgradingService.actual:type_name -> chef.automate.domain.deployment.ServiceVersion + 123, // 14: chef.automate.domain.deployment.DeploymentID.created_at:type_name -> google.protobuf.Timestamp + 123, // 15: chef.automate.domain.deployment.DeployEvent.time:type_name -> google.protobuf.Timestamp + 116, // 16: chef.automate.domain.deployment.DeployEvent.deploy:type_name -> chef.automate.domain.deployment.DeployEvent.Deploy + 117, // 17: chef.automate.domain.deployment.DeployEvent.phase:type_name -> chef.automate.domain.deployment.DeployEvent.Phase + 118, // 18: chef.automate.domain.deployment.DeployEvent.phase_step:type_name -> chef.automate.domain.deployment.DeployEvent.PhaseStep + 120, // 19: chef.automate.domain.deployment.DeployEvent.task_complete:type_name -> chef.automate.domain.deployment.DeployEvent.TaskComplete + 119, // 20: chef.automate.domain.deployment.DeployEvent.backup:type_name -> chef.automate.domain.deployment.DeployEvent.Backup + 65, // 21: chef.automate.domain.deployment.StatusResponse.service_status:type_name -> chef.automate.domain.deployment.ServiceStatus + 125, // 22: chef.automate.domain.deployment.StatusResponse.deployment_config:type_name -> chef.automate.domain.deployment.ConfigRequest + 60, // 23: chef.automate.domain.deployment.ServiceVersionsResponse.services:type_name -> chef.automate.domain.deployment.ServiceVersion + 123, // 24: chef.automate.domain.deployment.LicenseStatusResponse.expiration_date:type_name -> google.protobuf.Timestamp + 123, // 25: chef.automate.domain.deployment.LicenseStatusResponse.deployment_at:type_name -> google.protobuf.Timestamp + 66, // 26: chef.automate.domain.deployment.ServiceStatus.services:type_name -> chef.automate.domain.deployment.ServiceState 4, // 27: chef.automate.domain.deployment.ServiceState.state:type_name -> chef.automate.domain.deployment.ServiceState.State - 122, // 28: chef.automate.domain.deployment.GetAutomateConfigResponse.config:type_name -> chef.automate.domain.deployment.AutomateConfig - 122, // 29: chef.automate.domain.deployment.PatchAutomateConfigRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig - 122, // 30: chef.automate.domain.deployment.SetAutomateConfigRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig - 121, // 31: chef.automate.domain.deployment.BackupTask.id:type_name -> google.protobuf.Timestamp + 124, // 28: chef.automate.domain.deployment.GetAutomateConfigResponse.config:type_name -> chef.automate.domain.deployment.AutomateConfig + 124, // 29: chef.automate.domain.deployment.PatchAutomateConfigRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig + 124, // 30: chef.automate.domain.deployment.SetAutomateConfigRequest.config:type_name -> chef.automate.domain.deployment.AutomateConfig + 123, // 31: chef.automate.domain.deployment.BackupTask.id:type_name -> google.protobuf.Timestamp 5, // 32: chef.automate.domain.deployment.BackupTask.state:type_name -> chef.automate.domain.deployment.BackupTask.BackupState - 121, // 33: chef.automate.domain.deployment.BackupRestoreTask.id:type_name -> google.protobuf.Timestamp - 81, // 34: chef.automate.domain.deployment.BackupRestoreTask.backup:type_name -> chef.automate.domain.deployment.BackupTask - 83, // 35: chef.automate.domain.deployment.BackupRestoreTask.s3_backup_location:type_name -> chef.automate.domain.deployment.S3BackupLocation - 110, // 36: chef.automate.domain.deployment.BackupRestoreTask.manifest:type_name -> chef.automate.domain.deployment.ReleaseManifest - 122, // 37: chef.automate.domain.deployment.BackupRestoreTask.patch_config:type_name -> chef.automate.domain.deployment.AutomateConfig - 122, // 38: chef.automate.domain.deployment.BackupRestoreTask.set_config:type_name -> chef.automate.domain.deployment.AutomateConfig - 84, // 39: chef.automate.domain.deployment.BackupRestoreTask.gcs_backup_location:type_name -> chef.automate.domain.deployment.GCSBackupLocation - 121, // 40: chef.automate.domain.deployment.BackupDeleteTask.id:type_name -> google.protobuf.Timestamp - 81, // 41: chef.automate.domain.deployment.BackupDeleteTask.backups:type_name -> chef.automate.domain.deployment.BackupTask - 81, // 42: chef.automate.domain.deployment.CreateBackupResponse.backup:type_name -> chef.automate.domain.deployment.BackupTask - 81, // 43: chef.automate.domain.deployment.ListBackupsResponse.backups:type_name -> chef.automate.domain.deployment.BackupTask - 81, // 44: chef.automate.domain.deployment.ShowBackupRequest.backup:type_name -> chef.automate.domain.deployment.BackupTask - 81, // 45: chef.automate.domain.deployment.ShowBackupResponse.backup:type_name -> chef.automate.domain.deployment.BackupTask - 82, // 46: chef.automate.domain.deployment.ShowBackupResponse.description:type_name -> chef.automate.domain.deployment.BackupDescription - 81, // 47: chef.automate.domain.deployment.DeleteBackupsRequest.backups:type_name -> chef.automate.domain.deployment.BackupTask - 86, // 48: chef.automate.domain.deployment.DeleteBackupsResponse.delete:type_name -> chef.automate.domain.deployment.BackupDeleteTask - 97, // 49: chef.automate.domain.deployment.BackupIntegrityShowResponse.snapshots:type_name -> chef.automate.domain.deployment.SnapshotIntegrity - 121, // 50: chef.automate.domain.deployment.SnapshotIntegrity.id:type_name -> google.protobuf.Timestamp - 121, // 51: chef.automate.domain.deployment.SnapshotIntegrity.last_verified:type_name -> google.protobuf.Timestamp - 81, // 52: chef.automate.domain.deployment.ValidateBackupIntegrityRequest.backups:type_name -> chef.automate.domain.deployment.BackupTask - 97, // 53: chef.automate.domain.deployment.ValidateBackupIntegrityResponse.snapshots:type_name -> chef.automate.domain.deployment.SnapshotIntegrity - 85, // 54: chef.automate.domain.deployment.RestoreBackupRequest.restore:type_name -> chef.automate.domain.deployment.BackupRestoreTask - 85, // 55: chef.automate.domain.deployment.RestoreBackupResponse.restore:type_name -> chef.automate.domain.deployment.BackupRestoreTask + 123, // 33: chef.automate.domain.deployment.BackupRestoreTask.id:type_name -> google.protobuf.Timestamp + 83, // 34: chef.automate.domain.deployment.BackupRestoreTask.backup:type_name -> chef.automate.domain.deployment.BackupTask + 85, // 35: chef.automate.domain.deployment.BackupRestoreTask.s3_backup_location:type_name -> chef.automate.domain.deployment.S3BackupLocation + 112, // 36: chef.automate.domain.deployment.BackupRestoreTask.manifest:type_name -> chef.automate.domain.deployment.ReleaseManifest + 124, // 37: chef.automate.domain.deployment.BackupRestoreTask.patch_config:type_name -> chef.automate.domain.deployment.AutomateConfig + 124, // 38: chef.automate.domain.deployment.BackupRestoreTask.set_config:type_name -> chef.automate.domain.deployment.AutomateConfig + 86, // 39: chef.automate.domain.deployment.BackupRestoreTask.gcs_backup_location:type_name -> chef.automate.domain.deployment.GCSBackupLocation + 123, // 40: chef.automate.domain.deployment.BackupDeleteTask.id:type_name -> google.protobuf.Timestamp + 83, // 41: chef.automate.domain.deployment.BackupDeleteTask.backups:type_name -> chef.automate.domain.deployment.BackupTask + 83, // 42: chef.automate.domain.deployment.CreateBackupResponse.backup:type_name -> chef.automate.domain.deployment.BackupTask + 83, // 43: chef.automate.domain.deployment.ListBackupsResponse.backups:type_name -> chef.automate.domain.deployment.BackupTask + 83, // 44: chef.automate.domain.deployment.ShowBackupRequest.backup:type_name -> chef.automate.domain.deployment.BackupTask + 83, // 45: chef.automate.domain.deployment.ShowBackupResponse.backup:type_name -> chef.automate.domain.deployment.BackupTask + 84, // 46: chef.automate.domain.deployment.ShowBackupResponse.description:type_name -> chef.automate.domain.deployment.BackupDescription + 83, // 47: chef.automate.domain.deployment.DeleteBackupsRequest.backups:type_name -> chef.automate.domain.deployment.BackupTask + 88, // 48: chef.automate.domain.deployment.DeleteBackupsResponse.delete:type_name -> chef.automate.domain.deployment.BackupDeleteTask + 99, // 49: chef.automate.domain.deployment.BackupIntegrityShowResponse.snapshots:type_name -> chef.automate.domain.deployment.SnapshotIntegrity + 123, // 50: chef.automate.domain.deployment.SnapshotIntegrity.id:type_name -> google.protobuf.Timestamp + 123, // 51: chef.automate.domain.deployment.SnapshotIntegrity.last_verified:type_name -> google.protobuf.Timestamp + 83, // 52: chef.automate.domain.deployment.ValidateBackupIntegrityRequest.backups:type_name -> chef.automate.domain.deployment.BackupTask + 99, // 53: chef.automate.domain.deployment.ValidateBackupIntegrityResponse.snapshots:type_name -> chef.automate.domain.deployment.SnapshotIntegrity + 87, // 54: chef.automate.domain.deployment.RestoreBackupRequest.restore:type_name -> chef.automate.domain.deployment.BackupRestoreTask + 87, // 55: chef.automate.domain.deployment.RestoreBackupResponse.restore:type_name -> chef.automate.domain.deployment.BackupRestoreTask 6, // 56: chef.automate.domain.deployment.BackupStatusResponse.op_type:type_name -> chef.automate.domain.deployment.BackupStatusResponse.OperationType 7, // 57: chef.automate.domain.deployment.A1UpgradeStatusResponse.overall_status:type_name -> chef.automate.domain.deployment.A1UpgradeStatusResponse.MigrationStatus - 120, // 58: chef.automate.domain.deployment.A1UpgradeStatusResponse.service_statuses:type_name -> chef.automate.domain.deployment.A1UpgradeStatusResponse.ServiceMigrationStatus + 122, // 58: chef.automate.domain.deployment.A1UpgradeStatusResponse.service_statuses:type_name -> chef.automate.domain.deployment.A1UpgradeStatusResponse.ServiceMigrationStatus 1, // 59: chef.automate.domain.deployment.DeployEvent.Deploy.status:type_name -> chef.automate.domain.deployment.DeployEvent.Status 2, // 60: chef.automate.domain.deployment.DeployEvent.Phase.phase_id:type_name -> chef.automate.domain.deployment.DeployEvent.PhaseID 1, // 61: chef.automate.domain.deployment.DeployEvent.Phase.status:type_name -> chef.automate.domain.deployment.DeployEvent.Status 2, // 62: chef.automate.domain.deployment.DeployEvent.PhaseStep.phase_id:type_name -> chef.automate.domain.deployment.DeployEvent.PhaseID 1, // 63: chef.automate.domain.deployment.DeployEvent.PhaseStep.status:type_name -> chef.automate.domain.deployment.DeployEvent.Status 1, // 64: chef.automate.domain.deployment.DeployEvent.Backup.status:type_name -> chef.automate.domain.deployment.DeployEvent.Status - 119, // 65: chef.automate.domain.deployment.DeployEvent.Backup.operations:type_name -> chef.automate.domain.deployment.DeployEvent.Backup.Operation - 82, // 66: chef.automate.domain.deployment.DeployEvent.Backup.description:type_name -> chef.automate.domain.deployment.BackupDescription + 121, // 65: chef.automate.domain.deployment.DeployEvent.Backup.operations:type_name -> chef.automate.domain.deployment.DeployEvent.Backup.Operation + 84, // 66: chef.automate.domain.deployment.DeployEvent.Backup.description:type_name -> chef.automate.domain.deployment.BackupDescription 1, // 67: chef.automate.domain.deployment.DeployEvent.Backup.Operation.status:type_name -> chef.automate.domain.deployment.DeployEvent.Status 3, // 68: chef.automate.domain.deployment.DeployEvent.Backup.Operation.type:type_name -> chef.automate.domain.deployment.DeployEvent.Backup.Operation.Type 7, // 69: chef.automate.domain.deployment.A1UpgradeStatusResponse.ServiceMigrationStatus.status:type_name -> chef.automate.domain.deployment.A1UpgradeStatusResponse.MigrationStatus - 26, // 70: chef.automate.domain.deployment.Deployment.Deploy:input_type -> chef.automate.domain.deployment.DeployRequest - 26, // 71: chef.automate.domain.deployment.Deployment.DeployDataServices:input_type -> chef.automate.domain.deployment.DeployRequest - 26, // 72: chef.automate.domain.deployment.Deployment.DeploySome:input_type -> chef.automate.domain.deployment.DeployRequest - 28, // 73: chef.automate.domain.deployment.Deployment.DeployStatus:input_type -> chef.automate.domain.deployment.DeployStatusRequest - 26, // 74: chef.automate.domain.deployment.Deployment.Preload:input_type -> chef.automate.domain.deployment.DeployRequest - 29, // 75: chef.automate.domain.deployment.Deployment.RemoveSome:input_type -> chef.automate.domain.deployment.RemoveRequest - 26, // 76: chef.automate.domain.deployment.Deployment.StartNonDataServices:input_type -> chef.automate.domain.deployment.DeployRequest - 23, // 77: chef.automate.domain.deployment.Deployment.NewDeployment:input_type -> chef.automate.domain.deployment.NewDeploymentRequest - 24, // 78: chef.automate.domain.deployment.Deployment.ConfigureDeployment:input_type -> chef.automate.domain.deployment.ConfigureDeploymentRequest - 31, // 79: chef.automate.domain.deployment.Deployment.Ping:input_type -> chef.automate.domain.deployment.PingRequest - 55, // 80: chef.automate.domain.deployment.Deployment.Status:input_type -> chef.automate.domain.deployment.StatusRequest - 41, // 81: chef.automate.domain.deployment.Deployment.ServiceVersions:input_type -> chef.automate.domain.deployment.ServiceVersionsRequest - 59, // 82: chef.automate.domain.deployment.Deployment.LicenseStatus:input_type -> chef.automate.domain.deployment.LicenseStatusRequest - 61, // 83: chef.automate.domain.deployment.Deployment.LicenseApply:input_type -> chef.automate.domain.deployment.LicenseApplyRequest - 35, // 84: chef.automate.domain.deployment.Deployment.Stop:input_type -> chef.automate.domain.deployment.StopRequest - 42, // 85: chef.automate.domain.deployment.Deployment.SystemLogs:input_type -> chef.automate.domain.deployment.SystemLogsRequest - 65, // 86: chef.automate.domain.deployment.Deployment.GatherLogs:input_type -> chef.automate.domain.deployment.GatherLogsRequest - 67, // 87: chef.automate.domain.deployment.Deployment.GatherLogsDownload:input_type -> chef.automate.domain.deployment.GatherLogsDownloadRequest - 37, // 88: chef.automate.domain.deployment.Deployment.StopConverge:input_type -> chef.automate.domain.deployment.StopConvergeRequest - 39, // 89: chef.automate.domain.deployment.Deployment.StartConverge:input_type -> chef.automate.domain.deployment.StartConvergeRequest - 43, // 90: chef.automate.domain.deployment.Deployment.UpgradeStatus:input_type -> chef.automate.domain.deployment.UpgradeStatusRequest - 69, // 91: chef.automate.domain.deployment.Deployment.RestartServices:input_type -> chef.automate.domain.deployment.RestartServicesRequest - 71, // 92: chef.automate.domain.deployment.Deployment.GetAutomateConfig:input_type -> chef.automate.domain.deployment.GetAutomateConfigRequest - 73, // 93: chef.automate.domain.deployment.Deployment.PatchAutomateConfig:input_type -> chef.automate.domain.deployment.PatchAutomateConfigRequest - 75, // 94: chef.automate.domain.deployment.Deployment.SetAutomateConfig:input_type -> chef.automate.domain.deployment.SetAutomateConfigRequest - 77, // 95: chef.automate.domain.deployment.Deployment.DumpDB:input_type -> chef.automate.domain.deployment.DumpDBRequest - 30, // 96: chef.automate.domain.deployment.Deployment.ManifestVersion:input_type -> chef.automate.domain.deployment.ManifestVersionRequest - 87, // 97: chef.automate.domain.deployment.Deployment.CreateBackup:input_type -> chef.automate.domain.deployment.CreateBackupRequest - 89, // 98: chef.automate.domain.deployment.Deployment.ListBackups:input_type -> chef.automate.domain.deployment.ListBackupsRequest - 91, // 99: chef.automate.domain.deployment.Deployment.ShowBackup:input_type -> chef.automate.domain.deployment.ShowBackupRequest - 93, // 100: chef.automate.domain.deployment.Deployment.DeleteBackups:input_type -> chef.automate.domain.deployment.DeleteBackupsRequest - 100, // 101: chef.automate.domain.deployment.Deployment.RestoreBackup:input_type -> chef.automate.domain.deployment.RestoreBackupRequest - 102, // 102: chef.automate.domain.deployment.Deployment.BackupStatus:input_type -> chef.automate.domain.deployment.BackupStatusRequest - 104, // 103: chef.automate.domain.deployment.Deployment.CancelBackup:input_type -> chef.automate.domain.deployment.CancelBackupRequest - 95, // 104: chef.automate.domain.deployment.Deployment.BackupIntegrityShow:input_type -> chef.automate.domain.deployment.BackupIntegrityShowRequest - 98, // 105: chef.automate.domain.deployment.Deployment.ValidateBackupIntegrity:input_type -> chef.automate.domain.deployment.ValidateBackupIntegrityRequest - 106, // 106: chef.automate.domain.deployment.Deployment.Upgrade:input_type -> chef.automate.domain.deployment.UpgradeRequest - 106, // 107: chef.automate.domain.deployment.Deployment.IsValidUpgrade:input_type -> chef.automate.domain.deployment.UpgradeRequest - 45, // 108: chef.automate.domain.deployment.Deployment.SetLogLevel:input_type -> chef.automate.domain.deployment.SetLogLevelRequest - 21, // 109: chef.automate.domain.deployment.Deployment.GenerateAdminToken:input_type -> chef.automate.domain.deployment.GenerateAdminTokenRequest - 33, // 110: chef.automate.domain.deployment.Deployment.DeployID:input_type -> chef.automate.domain.deployment.DeployIDRequest - 109, // 111: chef.automate.domain.deployment.Deployment.CurrentReleaseManifest:input_type -> chef.automate.domain.deployment.CurrentReleaseManifestRequest - 111, // 112: chef.automate.domain.deployment.Deployment.A1UpgradeStatus:input_type -> chef.automate.domain.deployment.A1UpgradeStatusRequest - 13, // 113: chef.automate.domain.deployment.Deployment.NodeInventory:input_type -> chef.automate.domain.deployment.NodeInventoryRequest - 15, // 114: chef.automate.domain.deployment.Deployment.InfrastructureNodeDelete:input_type -> chef.automate.domain.deployment.InfrastructureNodeDeleteRequest - 18, // 115: chef.automate.domain.deployment.Deployment.Usage:input_type -> chef.automate.domain.deployment.UsageRequest - 11, // 116: chef.automate.domain.deployment.Deployment.GetCLIExecutable:input_type -> chef.automate.domain.deployment.GetCLIExecutableRequest - 9, // 117: chef.automate.domain.deployment.Deployment.BootstrapBundle:input_type -> chef.automate.domain.deployment.BootstrapBundleRequest - 124, // 118: chef.automate.domain.deployment.Deployment.ControlIndexUpgradeStatus:input_type -> google.protobuf.Empty - 27, // 119: chef.automate.domain.deployment.Deployment.Deploy:output_type -> chef.automate.domain.deployment.DeployResponse - 27, // 120: chef.automate.domain.deployment.Deployment.DeployDataServices:output_type -> chef.automate.domain.deployment.DeployResponse - 27, // 121: chef.automate.domain.deployment.Deployment.DeploySome:output_type -> chef.automate.domain.deployment.DeployResponse - 52, // 122: chef.automate.domain.deployment.Deployment.DeployStatus:output_type -> chef.automate.domain.deployment.DeployEvent - 27, // 123: chef.automate.domain.deployment.Deployment.Preload:output_type -> chef.automate.domain.deployment.DeployResponse - 34, // 124: chef.automate.domain.deployment.Deployment.RemoveSome:output_type -> chef.automate.domain.deployment.RemoveResponse - 27, // 125: chef.automate.domain.deployment.Deployment.StartNonDataServices:output_type -> chef.automate.domain.deployment.DeployResponse - 50, // 126: chef.automate.domain.deployment.Deployment.NewDeployment:output_type -> chef.automate.domain.deployment.DeploymentID - 25, // 127: chef.automate.domain.deployment.Deployment.ConfigureDeployment:output_type -> chef.automate.domain.deployment.ConfigureDeploymentResponse - 32, // 128: chef.automate.domain.deployment.Deployment.Ping:output_type -> chef.automate.domain.deployment.PingResponse - 56, // 129: chef.automate.domain.deployment.Deployment.Status:output_type -> chef.automate.domain.deployment.StatusResponse - 57, // 130: chef.automate.domain.deployment.Deployment.ServiceVersions:output_type -> chef.automate.domain.deployment.ServiceVersionsResponse - 60, // 131: chef.automate.domain.deployment.Deployment.LicenseStatus:output_type -> chef.automate.domain.deployment.LicenseStatusResponse - 62, // 132: chef.automate.domain.deployment.Deployment.LicenseApply:output_type -> chef.automate.domain.deployment.LicenseApplyResponse - 36, // 133: chef.automate.domain.deployment.Deployment.Stop:output_type -> chef.automate.domain.deployment.StopResponse - 53, // 134: chef.automate.domain.deployment.Deployment.SystemLogs:output_type -> chef.automate.domain.deployment.LogLine - 66, // 135: chef.automate.domain.deployment.Deployment.GatherLogs:output_type -> chef.automate.domain.deployment.GatherLogsResponse - 68, // 136: chef.automate.domain.deployment.Deployment.GatherLogsDownload:output_type -> chef.automate.domain.deployment.GatherLogsDownloadResponse - 38, // 137: chef.automate.domain.deployment.Deployment.StopConverge:output_type -> chef.automate.domain.deployment.StopConvergeResponse - 40, // 138: chef.automate.domain.deployment.Deployment.StartConverge:output_type -> chef.automate.domain.deployment.StartConvergeResponse - 44, // 139: chef.automate.domain.deployment.Deployment.UpgradeStatus:output_type -> chef.automate.domain.deployment.UpgradeStatusResponse - 70, // 140: chef.automate.domain.deployment.Deployment.RestartServices:output_type -> chef.automate.domain.deployment.RestartServicesResponse - 72, // 141: chef.automate.domain.deployment.Deployment.GetAutomateConfig:output_type -> chef.automate.domain.deployment.GetAutomateConfigResponse - 74, // 142: chef.automate.domain.deployment.Deployment.PatchAutomateConfig:output_type -> chef.automate.domain.deployment.PatchAutomateConfigResponse - 76, // 143: chef.automate.domain.deployment.Deployment.SetAutomateConfig:output_type -> chef.automate.domain.deployment.SetAutomateConfigResponse - 78, // 144: chef.automate.domain.deployment.Deployment.DumpDB:output_type -> chef.automate.domain.deployment.DumpDBResponse - 79, // 145: chef.automate.domain.deployment.Deployment.ManifestVersion:output_type -> chef.automate.domain.deployment.ManifestVersionResponse - 88, // 146: chef.automate.domain.deployment.Deployment.CreateBackup:output_type -> chef.automate.domain.deployment.CreateBackupResponse - 90, // 147: chef.automate.domain.deployment.Deployment.ListBackups:output_type -> chef.automate.domain.deployment.ListBackupsResponse - 92, // 148: chef.automate.domain.deployment.Deployment.ShowBackup:output_type -> chef.automate.domain.deployment.ShowBackupResponse - 94, // 149: chef.automate.domain.deployment.Deployment.DeleteBackups:output_type -> chef.automate.domain.deployment.DeleteBackupsResponse - 101, // 150: chef.automate.domain.deployment.Deployment.RestoreBackup:output_type -> chef.automate.domain.deployment.RestoreBackupResponse - 103, // 151: chef.automate.domain.deployment.Deployment.BackupStatus:output_type -> chef.automate.domain.deployment.BackupStatusResponse - 105, // 152: chef.automate.domain.deployment.Deployment.CancelBackup:output_type -> chef.automate.domain.deployment.CancelBackupResponse - 96, // 153: chef.automate.domain.deployment.Deployment.BackupIntegrityShow:output_type -> chef.automate.domain.deployment.BackupIntegrityShowResponse - 99, // 154: chef.automate.domain.deployment.Deployment.ValidateBackupIntegrity:output_type -> chef.automate.domain.deployment.ValidateBackupIntegrityResponse - 107, // 155: chef.automate.domain.deployment.Deployment.Upgrade:output_type -> chef.automate.domain.deployment.UpgradeResponse - 108, // 156: chef.automate.domain.deployment.Deployment.IsValidUpgrade:output_type -> chef.automate.domain.deployment.ValidatedUpgradeResponse - 46, // 157: chef.automate.domain.deployment.Deployment.SetLogLevel:output_type -> chef.automate.domain.deployment.SetLogLevelResponse - 22, // 158: chef.automate.domain.deployment.Deployment.GenerateAdminToken:output_type -> chef.automate.domain.deployment.GenerateAdminTokenResponse - 80, // 159: chef.automate.domain.deployment.Deployment.DeployID:output_type -> chef.automate.domain.deployment.DeployIDResponse - 110, // 160: chef.automate.domain.deployment.Deployment.CurrentReleaseManifest:output_type -> chef.automate.domain.deployment.ReleaseManifest - 112, // 161: chef.automate.domain.deployment.Deployment.A1UpgradeStatus:output_type -> chef.automate.domain.deployment.A1UpgradeStatusResponse - 14, // 162: chef.automate.domain.deployment.Deployment.NodeInventory:output_type -> chef.automate.domain.deployment.NodeInventoryResponse - 16, // 163: chef.automate.domain.deployment.Deployment.InfrastructureNodeDelete:output_type -> chef.automate.domain.deployment.InfrastructureNodeDeleteResponse - 19, // 164: chef.automate.domain.deployment.Deployment.Usage:output_type -> chef.automate.domain.deployment.UsageResponse - 12, // 165: chef.automate.domain.deployment.Deployment.GetCLIExecutable:output_type -> chef.automate.domain.deployment.GetCLIExecutableResponse - 10, // 166: chef.automate.domain.deployment.Deployment.BootstrapBundle:output_type -> chef.automate.domain.deployment.BootstrapBundleResponse - 8, // 167: chef.automate.domain.deployment.Deployment.ControlIndexUpgradeStatus:output_type -> chef.automate.domain.deployment.ControlIndexUpgradeStatusResponse - 119, // [119:168] is the sub-list for method output_type - 70, // [70:119] is the sub-list for method input_type + 28, // 70: chef.automate.domain.deployment.Deployment.Deploy:input_type -> chef.automate.domain.deployment.DeployRequest + 28, // 71: chef.automate.domain.deployment.Deployment.DeployDataServices:input_type -> chef.automate.domain.deployment.DeployRequest + 28, // 72: chef.automate.domain.deployment.Deployment.DeploySome:input_type -> chef.automate.domain.deployment.DeployRequest + 30, // 73: chef.automate.domain.deployment.Deployment.DeployStatus:input_type -> chef.automate.domain.deployment.DeployStatusRequest + 28, // 74: chef.automate.domain.deployment.Deployment.Preload:input_type -> chef.automate.domain.deployment.DeployRequest + 31, // 75: chef.automate.domain.deployment.Deployment.RemoveSome:input_type -> chef.automate.domain.deployment.RemoveRequest + 28, // 76: chef.automate.domain.deployment.Deployment.StartNonDataServices:input_type -> chef.automate.domain.deployment.DeployRequest + 25, // 77: chef.automate.domain.deployment.Deployment.NewDeployment:input_type -> chef.automate.domain.deployment.NewDeploymentRequest + 26, // 78: chef.automate.domain.deployment.Deployment.ConfigureDeployment:input_type -> chef.automate.domain.deployment.ConfigureDeploymentRequest + 33, // 79: chef.automate.domain.deployment.Deployment.Ping:input_type -> chef.automate.domain.deployment.PingRequest + 57, // 80: chef.automate.domain.deployment.Deployment.Status:input_type -> chef.automate.domain.deployment.StatusRequest + 43, // 81: chef.automate.domain.deployment.Deployment.ServiceVersions:input_type -> chef.automate.domain.deployment.ServiceVersionsRequest + 61, // 82: chef.automate.domain.deployment.Deployment.LicenseStatus:input_type -> chef.automate.domain.deployment.LicenseStatusRequest + 63, // 83: chef.automate.domain.deployment.Deployment.LicenseApply:input_type -> chef.automate.domain.deployment.LicenseApplyRequest + 37, // 84: chef.automate.domain.deployment.Deployment.Stop:input_type -> chef.automate.domain.deployment.StopRequest + 44, // 85: chef.automate.domain.deployment.Deployment.SystemLogs:input_type -> chef.automate.domain.deployment.SystemLogsRequest + 67, // 86: chef.automate.domain.deployment.Deployment.GatherLogs:input_type -> chef.automate.domain.deployment.GatherLogsRequest + 69, // 87: chef.automate.domain.deployment.Deployment.GatherLogsDownload:input_type -> chef.automate.domain.deployment.GatherLogsDownloadRequest + 39, // 88: chef.automate.domain.deployment.Deployment.StopConverge:input_type -> chef.automate.domain.deployment.StopConvergeRequest + 41, // 89: chef.automate.domain.deployment.Deployment.StartConverge:input_type -> chef.automate.domain.deployment.StartConvergeRequest + 45, // 90: chef.automate.domain.deployment.Deployment.UpgradeStatus:input_type -> chef.automate.domain.deployment.UpgradeStatusRequest + 71, // 91: chef.automate.domain.deployment.Deployment.RestartServices:input_type -> chef.automate.domain.deployment.RestartServicesRequest + 73, // 92: chef.automate.domain.deployment.Deployment.GetAutomateConfig:input_type -> chef.automate.domain.deployment.GetAutomateConfigRequest + 75, // 93: chef.automate.domain.deployment.Deployment.PatchAutomateConfig:input_type -> chef.automate.domain.deployment.PatchAutomateConfigRequest + 77, // 94: chef.automate.domain.deployment.Deployment.SetAutomateConfig:input_type -> chef.automate.domain.deployment.SetAutomateConfigRequest + 79, // 95: chef.automate.domain.deployment.Deployment.DumpDB:input_type -> chef.automate.domain.deployment.DumpDBRequest + 32, // 96: chef.automate.domain.deployment.Deployment.ManifestVersion:input_type -> chef.automate.domain.deployment.ManifestVersionRequest + 89, // 97: chef.automate.domain.deployment.Deployment.CreateBackup:input_type -> chef.automate.domain.deployment.CreateBackupRequest + 91, // 98: chef.automate.domain.deployment.Deployment.ListBackups:input_type -> chef.automate.domain.deployment.ListBackupsRequest + 93, // 99: chef.automate.domain.deployment.Deployment.ShowBackup:input_type -> chef.automate.domain.deployment.ShowBackupRequest + 95, // 100: chef.automate.domain.deployment.Deployment.DeleteBackups:input_type -> chef.automate.domain.deployment.DeleteBackupsRequest + 102, // 101: chef.automate.domain.deployment.Deployment.RestoreBackup:input_type -> chef.automate.domain.deployment.RestoreBackupRequest + 104, // 102: chef.automate.domain.deployment.Deployment.BackupStatus:input_type -> chef.automate.domain.deployment.BackupStatusRequest + 106, // 103: chef.automate.domain.deployment.Deployment.CancelBackup:input_type -> chef.automate.domain.deployment.CancelBackupRequest + 97, // 104: chef.automate.domain.deployment.Deployment.BackupIntegrityShow:input_type -> chef.automate.domain.deployment.BackupIntegrityShowRequest + 100, // 105: chef.automate.domain.deployment.Deployment.ValidateBackupIntegrity:input_type -> chef.automate.domain.deployment.ValidateBackupIntegrityRequest + 108, // 106: chef.automate.domain.deployment.Deployment.Upgrade:input_type -> chef.automate.domain.deployment.UpgradeRequest + 108, // 107: chef.automate.domain.deployment.Deployment.IsValidUpgrade:input_type -> chef.automate.domain.deployment.UpgradeRequest + 47, // 108: chef.automate.domain.deployment.Deployment.SetLogLevel:input_type -> chef.automate.domain.deployment.SetLogLevelRequest + 23, // 109: chef.automate.domain.deployment.Deployment.GenerateAdminToken:input_type -> chef.automate.domain.deployment.GenerateAdminTokenRequest + 35, // 110: chef.automate.domain.deployment.Deployment.DeployID:input_type -> chef.automate.domain.deployment.DeployIDRequest + 111, // 111: chef.automate.domain.deployment.Deployment.CurrentReleaseManifest:input_type -> chef.automate.domain.deployment.CurrentReleaseManifestRequest + 113, // 112: chef.automate.domain.deployment.Deployment.A1UpgradeStatus:input_type -> chef.automate.domain.deployment.A1UpgradeStatusRequest + 15, // 113: chef.automate.domain.deployment.Deployment.NodeInventory:input_type -> chef.automate.domain.deployment.NodeInventoryRequest + 17, // 114: chef.automate.domain.deployment.Deployment.InfrastructureNodeDelete:input_type -> chef.automate.domain.deployment.InfrastructureNodeDeleteRequest + 20, // 115: chef.automate.domain.deployment.Deployment.Usage:input_type -> chef.automate.domain.deployment.UsageRequest + 13, // 116: chef.automate.domain.deployment.Deployment.GetCLIExecutable:input_type -> chef.automate.domain.deployment.GetCLIExecutableRequest + 11, // 117: chef.automate.domain.deployment.Deployment.BootstrapBundle:input_type -> chef.automate.domain.deployment.BootstrapBundleRequest + 126, // 118: chef.automate.domain.deployment.Deployment.ControlIndexUpgradeStatus:input_type -> google.protobuf.Empty + 9, // 119: chef.automate.domain.deployment.Deployment.GetReindexStatus:input_type -> chef.automate.domain.deployment.GetReindexStatusRequest + 29, // 120: chef.automate.domain.deployment.Deployment.Deploy:output_type -> chef.automate.domain.deployment.DeployResponse + 29, // 121: chef.automate.domain.deployment.Deployment.DeployDataServices:output_type -> chef.automate.domain.deployment.DeployResponse + 29, // 122: chef.automate.domain.deployment.Deployment.DeploySome:output_type -> chef.automate.domain.deployment.DeployResponse + 54, // 123: chef.automate.domain.deployment.Deployment.DeployStatus:output_type -> chef.automate.domain.deployment.DeployEvent + 29, // 124: chef.automate.domain.deployment.Deployment.Preload:output_type -> chef.automate.domain.deployment.DeployResponse + 36, // 125: chef.automate.domain.deployment.Deployment.RemoveSome:output_type -> chef.automate.domain.deployment.RemoveResponse + 29, // 126: chef.automate.domain.deployment.Deployment.StartNonDataServices:output_type -> chef.automate.domain.deployment.DeployResponse + 52, // 127: chef.automate.domain.deployment.Deployment.NewDeployment:output_type -> chef.automate.domain.deployment.DeploymentID + 27, // 128: chef.automate.domain.deployment.Deployment.ConfigureDeployment:output_type -> chef.automate.domain.deployment.ConfigureDeploymentResponse + 34, // 129: chef.automate.domain.deployment.Deployment.Ping:output_type -> chef.automate.domain.deployment.PingResponse + 58, // 130: chef.automate.domain.deployment.Deployment.Status:output_type -> chef.automate.domain.deployment.StatusResponse + 59, // 131: chef.automate.domain.deployment.Deployment.ServiceVersions:output_type -> chef.automate.domain.deployment.ServiceVersionsResponse + 62, // 132: chef.automate.domain.deployment.Deployment.LicenseStatus:output_type -> chef.automate.domain.deployment.LicenseStatusResponse + 64, // 133: chef.automate.domain.deployment.Deployment.LicenseApply:output_type -> chef.automate.domain.deployment.LicenseApplyResponse + 38, // 134: chef.automate.domain.deployment.Deployment.Stop:output_type -> chef.automate.domain.deployment.StopResponse + 55, // 135: chef.automate.domain.deployment.Deployment.SystemLogs:output_type -> chef.automate.domain.deployment.LogLine + 68, // 136: chef.automate.domain.deployment.Deployment.GatherLogs:output_type -> chef.automate.domain.deployment.GatherLogsResponse + 70, // 137: chef.automate.domain.deployment.Deployment.GatherLogsDownload:output_type -> chef.automate.domain.deployment.GatherLogsDownloadResponse + 40, // 138: chef.automate.domain.deployment.Deployment.StopConverge:output_type -> chef.automate.domain.deployment.StopConvergeResponse + 42, // 139: chef.automate.domain.deployment.Deployment.StartConverge:output_type -> chef.automate.domain.deployment.StartConvergeResponse + 46, // 140: chef.automate.domain.deployment.Deployment.UpgradeStatus:output_type -> chef.automate.domain.deployment.UpgradeStatusResponse + 72, // 141: chef.automate.domain.deployment.Deployment.RestartServices:output_type -> chef.automate.domain.deployment.RestartServicesResponse + 74, // 142: chef.automate.domain.deployment.Deployment.GetAutomateConfig:output_type -> chef.automate.domain.deployment.GetAutomateConfigResponse + 76, // 143: chef.automate.domain.deployment.Deployment.PatchAutomateConfig:output_type -> chef.automate.domain.deployment.PatchAutomateConfigResponse + 78, // 144: chef.automate.domain.deployment.Deployment.SetAutomateConfig:output_type -> chef.automate.domain.deployment.SetAutomateConfigResponse + 80, // 145: chef.automate.domain.deployment.Deployment.DumpDB:output_type -> chef.automate.domain.deployment.DumpDBResponse + 81, // 146: chef.automate.domain.deployment.Deployment.ManifestVersion:output_type -> chef.automate.domain.deployment.ManifestVersionResponse + 90, // 147: chef.automate.domain.deployment.Deployment.CreateBackup:output_type -> chef.automate.domain.deployment.CreateBackupResponse + 92, // 148: chef.automate.domain.deployment.Deployment.ListBackups:output_type -> chef.automate.domain.deployment.ListBackupsResponse + 94, // 149: chef.automate.domain.deployment.Deployment.ShowBackup:output_type -> chef.automate.domain.deployment.ShowBackupResponse + 96, // 150: chef.automate.domain.deployment.Deployment.DeleteBackups:output_type -> chef.automate.domain.deployment.DeleteBackupsResponse + 103, // 151: chef.automate.domain.deployment.Deployment.RestoreBackup:output_type -> chef.automate.domain.deployment.RestoreBackupResponse + 105, // 152: chef.automate.domain.deployment.Deployment.BackupStatus:output_type -> chef.automate.domain.deployment.BackupStatusResponse + 107, // 153: chef.automate.domain.deployment.Deployment.CancelBackup:output_type -> chef.automate.domain.deployment.CancelBackupResponse + 98, // 154: chef.automate.domain.deployment.Deployment.BackupIntegrityShow:output_type -> chef.automate.domain.deployment.BackupIntegrityShowResponse + 101, // 155: chef.automate.domain.deployment.Deployment.ValidateBackupIntegrity:output_type -> chef.automate.domain.deployment.ValidateBackupIntegrityResponse + 109, // 156: chef.automate.domain.deployment.Deployment.Upgrade:output_type -> chef.automate.domain.deployment.UpgradeResponse + 110, // 157: chef.automate.domain.deployment.Deployment.IsValidUpgrade:output_type -> chef.automate.domain.deployment.ValidatedUpgradeResponse + 48, // 158: chef.automate.domain.deployment.Deployment.SetLogLevel:output_type -> chef.automate.domain.deployment.SetLogLevelResponse + 24, // 159: chef.automate.domain.deployment.Deployment.GenerateAdminToken:output_type -> chef.automate.domain.deployment.GenerateAdminTokenResponse + 82, // 160: chef.automate.domain.deployment.Deployment.DeployID:output_type -> chef.automate.domain.deployment.DeployIDResponse + 112, // 161: chef.automate.domain.deployment.Deployment.CurrentReleaseManifest:output_type -> chef.automate.domain.deployment.ReleaseManifest + 114, // 162: chef.automate.domain.deployment.Deployment.A1UpgradeStatus:output_type -> chef.automate.domain.deployment.A1UpgradeStatusResponse + 16, // 163: chef.automate.domain.deployment.Deployment.NodeInventory:output_type -> chef.automate.domain.deployment.NodeInventoryResponse + 18, // 164: chef.automate.domain.deployment.Deployment.InfrastructureNodeDelete:output_type -> chef.automate.domain.deployment.InfrastructureNodeDeleteResponse + 21, // 165: chef.automate.domain.deployment.Deployment.Usage:output_type -> chef.automate.domain.deployment.UsageResponse + 14, // 166: chef.automate.domain.deployment.Deployment.GetCLIExecutable:output_type -> chef.automate.domain.deployment.GetCLIExecutableResponse + 12, // 167: chef.automate.domain.deployment.Deployment.BootstrapBundle:output_type -> chef.automate.domain.deployment.BootstrapBundleResponse + 10, // 168: chef.automate.domain.deployment.Deployment.ControlIndexUpgradeStatus:output_type -> chef.automate.domain.deployment.ControlIndexUpgradeStatusResponse + 8, // 169: chef.automate.domain.deployment.Deployment.GetReindexStatus:output_type -> chef.automate.domain.deployment.GetReindexStatusResponse + 120, // [120:170] is the sub-list for method output_type + 70, // [70:120] is the sub-list for method input_type 70, // [70:70] is the sub-list for extension type_name 70, // [70:70] is the sub-list for extension extendee 0, // [0:70] is the sub-list for field type_name @@ -7702,7 +7810,7 @@ func file_interservice_deployment_automate_deployment_proto_init() { if File_interservice_deployment_automate_deployment_proto != nil { return } - file_interservice_deployment_automate_deployment_proto_msgTypes[44].OneofWrappers = []any{ + file_interservice_deployment_automate_deployment_proto_msgTypes[46].OneofWrappers = []any{ (*DeployEvent_Deploy_)(nil), (*DeployEvent_Phase_)(nil), (*DeployEvent_PhaseStep_)(nil), @@ -7715,7 +7823,7 @@ func file_interservice_deployment_automate_deployment_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_interservice_deployment_automate_deployment_proto_rawDesc, NumEnums: 8, - NumMessages: 113, + NumMessages: 115, NumExtensions: 0, NumServices: 1, }, @@ -7791,6 +7899,7 @@ type DeploymentClient interface { GetCLIExecutable(ctx context.Context, in *GetCLIExecutableRequest, opts ...grpc.CallOption) (Deployment_GetCLIExecutableClient, error) BootstrapBundle(ctx context.Context, in *BootstrapBundleRequest, opts ...grpc.CallOption) (Deployment_BootstrapBundleClient, error) ControlIndexUpgradeStatus(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ControlIndexUpgradeStatusResponse, error) + GetReindexStatus(ctx context.Context, in *GetReindexStatusRequest, opts ...grpc.CallOption) (*GetReindexStatusResponse, error) } type deploymentClient struct { @@ -8403,6 +8512,15 @@ func (c *deploymentClient) ControlIndexUpgradeStatus(ctx context.Context, in *em return out, nil } +func (c *deploymentClient) GetReindexStatus(ctx context.Context, in *GetReindexStatusRequest, opts ...grpc.CallOption) (*GetReindexStatusResponse, error) { + out := new(GetReindexStatusResponse) + err := c.cc.Invoke(ctx, "/chef.automate.domain.deployment.Deployment/GetReindexStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // DeploymentServer is the server API for Deployment service. type DeploymentServer interface { Deploy(context.Context, *DeployRequest) (*DeployResponse, error) @@ -8454,6 +8572,7 @@ type DeploymentServer interface { GetCLIExecutable(*GetCLIExecutableRequest, Deployment_GetCLIExecutableServer) error BootstrapBundle(*BootstrapBundleRequest, Deployment_BootstrapBundleServer) error ControlIndexUpgradeStatus(context.Context, *emptypb.Empty) (*ControlIndexUpgradeStatusResponse, error) + GetReindexStatus(context.Context, *GetReindexStatusRequest) (*GetReindexStatusResponse, error) } // UnimplementedDeploymentServer can be embedded to have forward compatible implementations. @@ -8607,6 +8726,9 @@ func (*UnimplementedDeploymentServer) BootstrapBundle(*BootstrapBundleRequest, D func (*UnimplementedDeploymentServer) ControlIndexUpgradeStatus(context.Context, *emptypb.Empty) (*ControlIndexUpgradeStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ControlIndexUpgradeStatus not implemented") } +func (*UnimplementedDeploymentServer) GetReindexStatus(context.Context, *GetReindexStatusRequest) (*GetReindexStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetReindexStatus not implemented") +} func RegisterDeploymentServer(s *grpc.Server, srv DeploymentServer) { s.RegisterService(&_Deployment_serviceDesc, srv) @@ -9515,6 +9637,24 @@ func _Deployment_ControlIndexUpgradeStatus_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _Deployment_GetReindexStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetReindexStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeploymentServer).GetReindexStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/chef.automate.domain.deployment.Deployment/GetReindexStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeploymentServer).GetReindexStatus(ctx, req.(*GetReindexStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Deployment_serviceDesc = grpc.ServiceDesc{ ServiceName: "chef.automate.domain.deployment.Deployment", HandlerType: (*DeploymentServer)(nil), @@ -9687,6 +9827,10 @@ var _Deployment_serviceDesc = grpc.ServiceDesc{ MethodName: "ControlIndexUpgradeStatus", Handler: _Deployment_ControlIndexUpgradeStatus_Handler, }, + { + MethodName: "GetReindexStatus", + Handler: _Deployment_GetReindexStatus_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/api/interservice/deployment/automate_deployment.proto b/api/interservice/deployment/automate_deployment.proto index 0ad4799bbe0..b265d9389fe 100644 --- a/api/interservice/deployment/automate_deployment.proto +++ b/api/interservice/deployment/automate_deployment.proto @@ -59,6 +59,15 @@ service Deployment { rpc GetCLIExecutable(GetCLIExecutableRequest) returns (stream GetCLIExecutableResponse); rpc BootstrapBundle (BootstrapBundleRequest) returns (stream BootstrapBundleResponse); rpc ControlIndexUpgradeStatus(google.protobuf.Empty) returns (ControlIndexUpgradeStatusResponse); + rpc GetReindexStatus (GetReindexStatusRequest) returns (GetReindexStatusResponse); +} + +message GetReindexStatusResponse { + string status_json = 1; +} + +message GetReindexStatusRequest { + int32 request_id = 1; } message ControlIndexUpgradeStatusResponse { diff --git a/api/interservice/ingest/chef.pb.client_mock.go b/api/interservice/ingest/chef.pb.client_mock.go index 7e84d49f2ae..8187fe4041b 100644 --- a/api/interservice/ingest/chef.pb.client_mock.go +++ b/api/interservice/ingest/chef.pb.client_mock.go @@ -38,14 +38,14 @@ func (m *MockChefIngesterServiceClient) EXPECT() *MockChefIngesterServiceClientM } // GetReindexStatus mocks base method. -func (m *MockChefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) { +func (m *MockChefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *GetReindexStatusRequest, opts ...grpc.CallOption) (*GetReindexStatusResponse, error) { m.ctrl.T.Helper() varargs := []interface{}{ctx, in} for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetReindexStatus", varargs...) - ret0, _ := ret[0].(*response.GetReindexStatusResponse) + ret0, _ := ret[0].(*GetReindexStatusResponse) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -201,10 +201,10 @@ func (m *MockChefIngesterServiceServer) EXPECT() *MockChefIngesterServiceServerM } // GetReindexStatus mocks base method. -func (m *MockChefIngesterServiceServer) GetReindexStatus(arg0 context.Context, arg1 *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { +func (m *MockChefIngesterServiceServer) GetReindexStatus(arg0 context.Context, arg1 *GetReindexStatusRequest) (*GetReindexStatusResponse, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetReindexStatus", arg0, arg1) - ret0, _ := ret[0].(*response.GetReindexStatusResponse) + ret0, _ := ret[0].(*GetReindexStatusResponse) ret1, _ := ret[1].(error) return ret0, ret1 } diff --git a/api/interservice/ingest/chef.pb.go b/api/interservice/ingest/chef.pb.go index 4f47d29b893..10be59fb082 100644 --- a/api/interservice/ingest/chef.pb.go +++ b/api/interservice/ingest/chef.pb.go @@ -138,6 +138,94 @@ func (*VersionRequest) Descriptor() ([]byte, []int) { return file_interservice_ingest_chef_proto_rawDescGZIP(), []int{1} } +type GetReindexStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + StatusJson string `protobuf:"bytes,1,opt,name=status_json,json=statusJson,proto3" json:"status_json,omitempty" toml:"status_json,omitempty" mapstructure:"status_json,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetReindexStatusResponse) Reset() { + *x = GetReindexStatusResponse{} + mi := &file_interservice_ingest_chef_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetReindexStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetReindexStatusResponse) ProtoMessage() {} + +func (x *GetReindexStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_interservice_ingest_chef_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetReindexStatusResponse.ProtoReflect.Descriptor instead. +func (*GetReindexStatusResponse) Descriptor() ([]byte, []int) { + return file_interservice_ingest_chef_proto_rawDescGZIP(), []int{2} +} + +func (x *GetReindexStatusResponse) GetStatusJson() string { + if x != nil { + return x.StatusJson + } + return "" +} + +type GetReindexStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + RequestId int32 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty" toml:"request_id,omitempty" mapstructure:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetReindexStatusRequest) Reset() { + *x = GetReindexStatusRequest{} + mi := &file_interservice_ingest_chef_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetReindexStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetReindexStatusRequest) ProtoMessage() {} + +func (x *GetReindexStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_interservice_ingest_chef_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetReindexStatusRequest.ProtoReflect.Descriptor instead. +func (*GetReindexStatusRequest) Descriptor() ([]byte, []int) { + return file_interservice_ingest_chef_proto_rawDescGZIP(), []int{3} +} + +func (x *GetReindexStatusRequest) GetRequestId() int32 { + if x != nil { + return x.RequestId + } + return 0 +} + var File_interservice_ingest_chef_proto protoreflect.FileDescriptor var file_interservice_ingest_chef_proto_rawDesc = []byte{ @@ -168,82 +256,89 @@ var file_interservice_ingest_chef_proto_rawDesc = []byte{ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x68, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x68, 0x61, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xfc, 0x08, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x66, 0x49, 0x6e, - 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x96, 0x01, - 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x52, 0x75, 0x6e, - 0x12, 0x25, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x1a, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x73, + 0x6f, 0x6e, 0x22, 0x38, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x32, 0xf1, 0x08, 0x0a, + 0x13, 0x43, 0x68, 0x65, 0x66, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x96, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x43, 0x68, 0x65, 0x66, 0x52, 0x75, 0x6e, 0x12, 0x25, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, - 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x68, - 0x65, 0x66, 0x2f, 0x72, 0x75, 0x6e, 0x12, 0xa2, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, - 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa6, 0x01, 0x0a, 0x13, - 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x50, - 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x1a, - 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x6e, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x6c, 0x69, 0x76, 0x65, - 0x6e, 0x65, 0x73, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x73, 0x74, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x1a, 0x39, + 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x52, 0x75, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x72, 0x75, 0x6e, 0x12, 0xa2, 0x01, + 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x44, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x2e, 0x63, - 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x3c, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x68, 0x65, 0x66, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0xa6, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, + 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x1a, 0x3a, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, - 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x63, 0x68, 0x65, 0x66, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x7f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, - 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x68, 0x65, - 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x30, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0xb1, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, - 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, 0x72, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x68, + 0x65, 0x66, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x1a, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x63, 0x68, 0x65, + 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, + 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xa6, 0x01, + 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, + 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x3c, 0x2e, + 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x68, 0x65, 0x66, 0x2f, 0x6e, 0x6f, 0x64, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x7f, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, + 0x73, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, + 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xa6, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34, 0x2e, 0x63, + 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x68, 0x65, 0x66, 0x2e, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x65, 0x2e, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x30, 0x2f, 0x69, 0x6e, 0x67, 0x65, 0x73, + 0x74, 0x2f, 0x72, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, + 0x68, 0x65, 0x66, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x69, 0x6e, + 0x67, 0x65, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -258,38 +353,38 @@ func file_interservice_ingest_chef_proto_rawDescGZIP() []byte { return file_interservice_ingest_chef_proto_rawDescData } -var file_interservice_ingest_chef_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_interservice_ingest_chef_proto_msgTypes = make([]protoimpl.MessageInfo, 4) var file_interservice_ingest_chef_proto_goTypes = []any{ (*Version)(nil), // 0: chef.automate.domain.ingest.Version (*VersionRequest)(nil), // 1: chef.automate.domain.ingest.VersionRequest - (*request.Run)(nil), // 2: chef.automate.api.ingest.request.Run - (*request.Action)(nil), // 3: chef.automate.api.ingest.request.Action - (*request.Liveness)(nil), // 4: chef.automate.api.ingest.request.Liveness - (*request.MultipleNodeDeleteRequest)(nil), // 5: chef.automate.api.ingest.request.MultipleNodeDeleteRequest - (*request.Delete)(nil), // 6: chef.automate.api.ingest.request.Delete - (*request.GetReindexStatusRequest)(nil), // 7: chef.automate.api.ingest.request.GetReindexStatusRequest - (*response.ProcessChefRunResponse)(nil), // 8: chef.automate.api.ingest.response.ProcessChefRunResponse - (*response.ProcessChefActionResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessChefActionResponse - (*response.ProcessLivenessResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessLivenessResponse - (*response.ProcessMultipleNodeDeleteResponse)(nil), // 11: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - (*response.ProcessNodeDeleteResponse)(nil), // 12: chef.automate.api.ingest.response.ProcessNodeDeleteResponse - (*response.GetReindexStatusResponse)(nil), // 13: chef.automate.api.ingest.response.GetReindexStatusResponse + (*GetReindexStatusResponse)(nil), // 2: chef.automate.domain.ingest.GetReindexStatusResponse + (*GetReindexStatusRequest)(nil), // 3: chef.automate.domain.ingest.GetReindexStatusRequest + (*request.Run)(nil), // 4: chef.automate.api.ingest.request.Run + (*request.Action)(nil), // 5: chef.automate.api.ingest.request.Action + (*request.Liveness)(nil), // 6: chef.automate.api.ingest.request.Liveness + (*request.MultipleNodeDeleteRequest)(nil), // 7: chef.automate.api.ingest.request.MultipleNodeDeleteRequest + (*request.Delete)(nil), // 8: chef.automate.api.ingest.request.Delete + (*response.ProcessChefRunResponse)(nil), // 9: chef.automate.api.ingest.response.ProcessChefRunResponse + (*response.ProcessChefActionResponse)(nil), // 10: chef.automate.api.ingest.response.ProcessChefActionResponse + (*response.ProcessLivenessResponse)(nil), // 11: chef.automate.api.ingest.response.ProcessLivenessResponse + (*response.ProcessMultipleNodeDeleteResponse)(nil), // 12: chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + (*response.ProcessNodeDeleteResponse)(nil), // 13: chef.automate.api.ingest.response.ProcessNodeDeleteResponse } var file_interservice_ingest_chef_proto_depIdxs = []int32{ - 2, // 0: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:input_type -> chef.automate.api.ingest.request.Run - 3, // 1: chef.automate.domain.ingest.ChefIngesterService.ProcessChefAction:input_type -> chef.automate.api.ingest.request.Action - 4, // 2: chef.automate.domain.ingest.ChefIngesterService.ProcessLivenessPing:input_type -> chef.automate.api.ingest.request.Liveness - 5, // 3: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:input_type -> chef.automate.api.ingest.request.MultipleNodeDeleteRequest - 6, // 4: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:input_type -> chef.automate.api.ingest.request.Delete + 4, // 0: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:input_type -> chef.automate.api.ingest.request.Run + 5, // 1: chef.automate.domain.ingest.ChefIngesterService.ProcessChefAction:input_type -> chef.automate.api.ingest.request.Action + 6, // 2: chef.automate.domain.ingest.ChefIngesterService.ProcessLivenessPing:input_type -> chef.automate.api.ingest.request.Liveness + 7, // 3: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:input_type -> chef.automate.api.ingest.request.MultipleNodeDeleteRequest + 8, // 4: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:input_type -> chef.automate.api.ingest.request.Delete 1, // 5: chef.automate.domain.ingest.ChefIngesterService.GetVersion:input_type -> chef.automate.domain.ingest.VersionRequest - 7, // 6: chef.automate.domain.ingest.ChefIngesterService.GetReindexStatus:input_type -> chef.automate.api.ingest.request.GetReindexStatusRequest - 8, // 7: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse - 9, // 8: chef.automate.domain.ingest.ChefIngesterService.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse - 10, // 9: chef.automate.domain.ingest.ChefIngesterService.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse - 11, // 10: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse - 12, // 11: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse + 3, // 6: chef.automate.domain.ingest.ChefIngesterService.GetReindexStatus:input_type -> chef.automate.domain.ingest.GetReindexStatusRequest + 9, // 7: chef.automate.domain.ingest.ChefIngesterService.ProcessChefRun:output_type -> chef.automate.api.ingest.response.ProcessChefRunResponse + 10, // 8: chef.automate.domain.ingest.ChefIngesterService.ProcessChefAction:output_type -> chef.automate.api.ingest.response.ProcessChefActionResponse + 11, // 9: chef.automate.domain.ingest.ChefIngesterService.ProcessLivenessPing:output_type -> chef.automate.api.ingest.response.ProcessLivenessResponse + 12, // 10: chef.automate.domain.ingest.ChefIngesterService.ProcessMultipleNodeDeletes:output_type -> chef.automate.api.ingest.response.ProcessMultipleNodeDeleteResponse + 13, // 11: chef.automate.domain.ingest.ChefIngesterService.ProcessNodeDelete:output_type -> chef.automate.api.ingest.response.ProcessNodeDeleteResponse 0, // 12: chef.automate.domain.ingest.ChefIngesterService.GetVersion:output_type -> chef.automate.domain.ingest.Version - 13, // 13: chef.automate.domain.ingest.ChefIngesterService.GetReindexStatus:output_type -> chef.automate.api.ingest.response.GetReindexStatusResponse + 2, // 13: chef.automate.domain.ingest.ChefIngesterService.GetReindexStatus:output_type -> chef.automate.domain.ingest.GetReindexStatusResponse 7, // [7:14] is the sub-list for method output_type 0, // [0:7] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name @@ -308,7 +403,7 @@ func file_interservice_ingest_chef_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_interservice_ingest_chef_proto_rawDesc, NumEnums: 0, - NumMessages: 2, + NumMessages: 4, NumExtensions: 0, NumServices: 1, }, @@ -340,7 +435,7 @@ type ChefIngesterServiceClient interface { ProcessMultipleNodeDeletes(ctx context.Context, in *request.MultipleNodeDeleteRequest, opts ...grpc.CallOption) (*response.ProcessMultipleNodeDeleteResponse, error) ProcessNodeDelete(ctx context.Context, in *request.Delete, opts ...grpc.CallOption) (*response.ProcessNodeDeleteResponse, error) GetVersion(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*Version, error) - GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) + GetReindexStatus(ctx context.Context, in *GetReindexStatusRequest, opts ...grpc.CallOption) (*GetReindexStatusResponse, error) } type chefIngesterServiceClient struct { @@ -405,8 +500,8 @@ func (c *chefIngesterServiceClient) GetVersion(ctx context.Context, in *VersionR return out, nil } -func (c *chefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *request.GetReindexStatusRequest, opts ...grpc.CallOption) (*response.GetReindexStatusResponse, error) { - out := new(response.GetReindexStatusResponse) +func (c *chefIngesterServiceClient) GetReindexStatus(ctx context.Context, in *GetReindexStatusRequest, opts ...grpc.CallOption) (*GetReindexStatusResponse, error) { + out := new(GetReindexStatusResponse) err := c.cc.Invoke(ctx, "/chef.automate.domain.ingest.ChefIngesterService/GetReindexStatus", in, out, opts...) if err != nil { return nil, err @@ -422,7 +517,7 @@ type ChefIngesterServiceServer interface { ProcessMultipleNodeDeletes(context.Context, *request.MultipleNodeDeleteRequest) (*response.ProcessMultipleNodeDeleteResponse, error) ProcessNodeDelete(context.Context, *request.Delete) (*response.ProcessNodeDeleteResponse, error) GetVersion(context.Context, *VersionRequest) (*Version, error) - GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) + GetReindexStatus(context.Context, *GetReindexStatusRequest) (*GetReindexStatusResponse, error) } // UnimplementedChefIngesterServiceServer can be embedded to have forward compatible implementations. @@ -447,7 +542,7 @@ func (*UnimplementedChefIngesterServiceServer) ProcessNodeDelete(context.Context func (*UnimplementedChefIngesterServiceServer) GetVersion(context.Context, *VersionRequest) (*Version, error) { return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") } -func (*UnimplementedChefIngesterServiceServer) GetReindexStatus(context.Context, *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { +func (*UnimplementedChefIngesterServiceServer) GetReindexStatus(context.Context, *GetReindexStatusRequest) (*GetReindexStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetReindexStatus not implemented") } @@ -564,7 +659,7 @@ func _ChefIngesterService_GetVersion_Handler(srv interface{}, ctx context.Contex } func _ChefIngesterService_GetReindexStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(request.GetReindexStatusRequest) + in := new(GetReindexStatusRequest) if err := dec(in); err != nil { return nil, err } @@ -576,7 +671,7 @@ func _ChefIngesterService_GetReindexStatus_Handler(srv interface{}, ctx context. FullMethod: "/chef.automate.domain.ingest.ChefIngesterService/GetReindexStatus", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, req.(*request.GetReindexStatusRequest)) + return srv.(ChefIngesterServiceServer).GetReindexStatus(ctx, req.(*GetReindexStatusRequest)) } return interceptor(ctx, in, info, handler) } diff --git a/api/interservice/ingest/chef.pb.gw.go b/api/interservice/ingest/chef.pb.gw.go index 9970a257907..4e0e3fed5c3 100644 --- a/api/interservice/ingest/chef.pb.gw.go +++ b/api/interservice/ingest/chef.pb.gw.go @@ -193,7 +193,7 @@ var ( ) func request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, client ChefIngesterServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq request.GetReindexStatusRequest + var protoReq GetReindexStatusRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { @@ -209,7 +209,7 @@ func request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshal } func local_request_ChefIngesterService_GetReindexStatus_0(ctx context.Context, marshaler runtime.Marshaler, server ChefIngesterServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq request.GetReindexStatusRequest + var protoReq GetReindexStatusRequest var metadata runtime.ServerMetadata if err := req.ParseForm(); err != nil { diff --git a/api/interservice/ingest/chef.proto b/api/interservice/ingest/chef.proto index 1edc53390e0..55d3919a7ba 100644 --- a/api/interservice/ingest/chef.proto +++ b/api/interservice/ingest/chef.proto @@ -29,6 +29,14 @@ message Version { message VersionRequest { } +message GetReindexStatusResponse { + string status_json = 1; +} + +message GetReindexStatusRequest { + int32 request_id = 1; +} + service ChefIngesterService { rpc ProcessChefRun (api.ingest.request.Run) returns (api.ingest.response.ProcessChefRunResponse) { option (google.api.http) = { @@ -58,7 +66,7 @@ service ChefIngesterService { rpc GetVersion (VersionRequest) returns (Version) { option (google.api.http).get = "/api/v0/ingest/version"; }; - rpc GetReindexStatus (api.ingest.request.GetReindexStatusRequest) returns (api.ingest.response.GetReindexStatusResponse) { + rpc GetReindexStatus (GetReindexStatusRequest) returns (GetReindexStatusResponse) { option (google.api.http).get = "/api/v0/ingest/reindex/status"; }; diff --git a/api/interservice/ingest/chef.swagger.json b/api/interservice/ingest/chef.swagger.json index 33b8878d824..c5481dfd71f 100644 --- a/api/interservice/ingest/chef.swagger.json +++ b/api/interservice/ingest/chef.swagger.json @@ -146,7 +146,7 @@ "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/chef.automate.api.ingest.response.GetReindexStatusResponse" + "$ref": "#/definitions/chef.automate.domain.ingest.GetReindexStatusResponse" } }, "default": { @@ -544,14 +544,6 @@ } } }, - "chef.automate.api.ingest.response.GetReindexStatusResponse": { - "type": "object", - "properties": { - "status_json": { - "type": "string" - } - } - }, "chef.automate.api.ingest.response.ProcessChefActionResponse": { "type": "object" }, @@ -567,6 +559,14 @@ "chef.automate.api.ingest.response.ProcessNodeDeleteResponse": { "type": "object" }, + "chef.automate.domain.ingest.GetReindexStatusResponse": { + "type": "object", + "properties": { + "status_json": { + "type": "string" + } + } + }, "chef.automate.domain.ingest.Version": { "type": "object", "properties": { diff --git a/components/automate-cli/cmd/chef-automate/reindex.go b/components/automate-cli/cmd/chef-automate/reindex.go index beb81e65872..eeccc47a7b2 100644 --- a/components/automate-cli/cmd/chef-automate/reindex.go +++ b/components/automate-cli/cmd/chef-automate/reindex.go @@ -4,12 +4,12 @@ import ( "context" "encoding/json" "fmt" - "log" "os" - "github.com/chef/automate/api/external/ingest" - "github.com/chef/automate/api/external/ingest/request" + api "github.com/chef/automate/api/interservice/deployment" "github.com/chef/automate/components/automate-cli/pkg/status" + "github.com/chef/automate/components/automate-deployment/pkg/cli" + "github.com/chef/automate/components/automate-deployment/pkg/client" "github.com/spf13/cobra" "google.golang.org/grpc" ) @@ -28,29 +28,52 @@ var reindexStatusCmd = &cobra.Command{ PersistentPreRunE: preReindexCmd, } -// runReindexStatusCmd connects to ingest-service and fetches reindex status +// ReindexDSClient defines the required RPC methods for deployment-service +type ReindexDSClient interface { + GetReindexStatus(ctx context.Context, in *api.GetReindexStatusRequest, opts ...grpc.CallOption) (*api.GetReindexStatusResponse, error) + Close() error +} + +// ReindexFlow manages the CLI flow for reindexing +type ReindexFlow struct { + DsClient ReindexDSClient + Writer *cli.Writer +} + +// runReindexStatusCmd connects to deployment-service and fetches reindex status func runReindexStatusCmd(cmd *cobra.Command, args []string) error { - // Connect to ingest-service - conn, err := grpc.Dial("localhost:10122", grpc.WithInsecure()) + rf, err := NewReindexFlow(writer) + if err != nil { + return err + } + return rf.GetReindexStatus() +} + +// NewReindexFlow establishes a connection to deployment-service +func NewReindexFlow(writer *cli.Writer) (*ReindexFlow, error) { + connection, err := client.Connection(client.DefaultClientTimeout) if err != nil { - log.Fatalf("Failed to connect to ingest service: %v", err) + return nil, err } - defer conn.Close() + return &ReindexFlow{DsClient: connection, Writer: writer}, nil +} + +// GetReindexStatus fetches and prints the reindexing status +func (rf *ReindexFlow) GetReindexStatus() error { + defer rf.DsClient.Close() - client := ingest.NewChefIngesterServiceClient(conn) + req := &api.GetReindexStatusRequest{RequestId: 1} // Adjust as needed - // Create request with a hardcoded RequestId for now - req := &request.GetReindexStatusRequest{RequestId: 1} - resp, err := client.GetReindexStatus(context.Background(), req) + resp, err := rf.DsClient.GetReindexStatus(context.Background(), req) if err != nil { - log.Fatalf("Failed to get reindex status: %v", err) + return status.Wrap(err, status.DeploymentServiceCallError, "Failed to get reindex status") } // Parse and print the response var statusData map[string]interface{} err = json.Unmarshal([]byte(resp.StatusJson), &statusData) if err != nil { - log.Fatalf("Failed to parse JSON response: %v", err) + return fmt.Errorf("failed to parse JSON response: %w", err) } fmt.Println("Reindex Status:") diff --git a/components/automate-deployment/pkg/server/reindex.go b/components/automate-deployment/pkg/server/reindex.go new file mode 100644 index 00000000000..630c31f5153 --- /dev/null +++ b/components/automate-deployment/pkg/server/reindex.go @@ -0,0 +1,45 @@ +package server + +import ( + "context" + + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + api "github.com/chef/automate/api/interservice/deployment" + ingest "github.com/chef/automate/api/interservice/ingest" +) + +// GetReindexStatus forwards the request to the ingest-service +func (s *server) GetReindexStatus(ctx context.Context, req *api.GetReindexStatusRequest) (*api.GetReindexStatusResponse, error) { + // Get address of ingest-service + ingestAddr := s.AddressForService("ingest-service") + ingestConnection, err := s.connFactory.DialContext( + ctx, + "ingest-service", + ingestAddr, + grpc.WithBlock(), + ) + if err != nil { + return nil, status.Errorf(codes.Unavailable, "error connecting to ingest-service: %s", err.Error()) + } + defer ingestConnection.Close() // Close connection after function execution + + // Create ingest-service client + ingestClient := ingest.NewChefIngesterServiceClient(ingestConnection) + + // Forward request to ingest-service + ingestReq := &ingest.GetReindexStatusRequest{ + RequestId: req.RequestId, + } + ingestResp, err := ingestClient.GetReindexStatus(ctx, ingestReq) + if err != nil { + return nil, status.Errorf(codes.Unavailable, "error fetching reindex status from ingest-service: %s", err.Error()) + } + + // Return the response from ingest-service + return &api.GetReindexStatusResponse{ + StatusJson: ingestResp.StatusJson, + }, nil +} diff --git a/components/automate-gateway/api/chef.pb.swagger.go b/components/automate-gateway/api/chef.pb.swagger.go index d5409d1f60c..747298df248 100644 --- a/components/automate-gateway/api/chef.pb.swagger.go +++ b/components/automate-gateway/api/chef.pb.swagger.go @@ -174,37 +174,6 @@ func init() { ] } }, - "/api/v0/ingest/reindex/status": { - "get": { - "operationId": "ChefIngesterService_GetReindexStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/chef.automate.api.ingest.response.GetReindexStatusResponse" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/grpc.gateway.runtime.Error" - } - } - }, - "parameters": [ - { - "name": "request_id", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - } - ], - "tags": [ - "ChefIngesterService" - ] - } - }, "/api/v0/ingest/version": { "get": { "operationId": "ChefIngester_GetVersion", @@ -607,14 +576,6 @@ func init() { } } }, - "chef.automate.api.ingest.response.GetReindexStatusResponse": { - "type": "object", - "properties": { - "status_json": { - "type": "string" - } - } - }, "chef.automate.api.ingest.response.ProcessChefActionResponse": { "type": "object" }, diff --git a/components/ingest-service/server/chef.go b/components/ingest-service/server/chef.go index b3a619b21a4..d2e8b2ac59e 100644 --- a/components/ingest-service/server/chef.go +++ b/components/ingest-service/server/chef.go @@ -9,7 +9,6 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" - "github.com/chef/automate/api/external/ingest/request" chef "github.com/chef/automate/api/external/ingest/request" "github.com/chef/automate/api/external/ingest/response" "github.com/chef/automate/api/interservice/authz" @@ -239,19 +238,18 @@ func (s *ChefIngestServer) ProcessNodeDelete(ctx context.Context, return &response.ProcessNodeDeleteResponse{}, nil } -func (s *ChefIngestServer) GetReindexStatus(ctx context.Context, req *request.GetReindexStatusRequest) (*response.GetReindexStatusResponse, error) { +func (s *ChefIngestServer) GetReindexStatus(ctx context.Context, req *ingest.GetReindexStatusRequest) (*ingest.GetReindexStatusResponse, error) { if s.db == nil { return nil, fmt.Errorf("database connection is not initialized") } - // Call DB function properly on the DB instance + // Fetch reindex status from the database _, _, statusJSON, err := s.db.GetReindexStatus(int(req.RequestId)) if err != nil { return nil, fmt.Errorf("failed to fetch reindex status: %w", err) - } - return &response.GetReindexStatusResponse{ + return &ingest.GetReindexStatusResponse{ StatusJson: statusJSON, }, nil } From 8187b96b940d3f1977c303d28d48aa6251a7e5a4 Mon Sep 17 00:00:00 2001 From: Aishwarya2001 Date: Mon, 10 Mar 2025 10:29:01 +0530 Subject: [PATCH 5/5] changes in chef.go Signed-off-by: Aishwarya2001 --- components/ingest-service/server/chef.go | 20 +- components/ingest-service/storage/db_test.go | 343 ------------------- 2 files changed, 17 insertions(+), 346 deletions(-) delete mode 100644 components/ingest-service/storage/db_test.go diff --git a/components/ingest-service/server/chef.go b/components/ingest-service/server/chef.go index d2e8b2ac59e..cc9b837ea49 100644 --- a/components/ingest-service/server/chef.go +++ b/components/ingest-service/server/chef.go @@ -2,7 +2,6 @@ package server import ( "context" - "fmt" "time" log "github.com/sirupsen/logrus" @@ -238,17 +237,32 @@ func (s *ChefIngestServer) ProcessNodeDelete(ctx context.Context, return &response.ProcessNodeDeleteResponse{}, nil } + func (s *ChefIngestServer) GetReindexStatus(ctx context.Context, req *ingest.GetReindexStatusRequest) (*ingest.GetReindexStatusResponse, error) { + log.WithFields(log.Fields{"func": "GetReindexStatus"}).Debug("RPC call received") + + // Validate request + if req == nil || req.RequestId == 0 { + errMsg := "Invalid request: RequestId is required" + log.WithFields(log.Fields{"error": errMsg}).Error("Validation failed") + return nil, status.Errorf(codes.InvalidArgument, errMsg) + } + if s.db == nil { - return nil, fmt.Errorf("database connection is not initialized") + errMsg := "database connection is not initialized" + log.WithFields(log.Fields{"error": errMsg}).Error("DB error") + return nil, status.Errorf(codes.Internal, errMsg) } // Fetch reindex status from the database _, _, statusJSON, err := s.db.GetReindexStatus(int(req.RequestId)) if err != nil { - return nil, fmt.Errorf("failed to fetch reindex status: %w", err) + log.WithFields(log.Fields{"error": err.Error()}).Error("Failed to fetch reindex status") + return nil, status.Errorf(codes.Internal, "failed to fetch reindex status: %v", err) } + log.WithFields(log.Fields{"status": statusJSON}).Debug("Reindex status fetched successfully") + return &ingest.GetReindexStatusResponse{ StatusJson: statusJSON, }, nil diff --git a/components/ingest-service/storage/db_test.go b/components/ingest-service/storage/db_test.go deleted file mode 100644 index 1fded427fb9..00000000000 --- a/components/ingest-service/storage/db_test.go +++ /dev/null @@ -1,343 +0,0 @@ -package storage_test - -import ( - "fmt" - "testing" - "time" - - "github.com/DATA-DOG/go-sqlmock" - "github.com/chef/automate/components/ingest-service/storage" - "github.com/go-gorp/gorp" - "github.com/stretchr/testify/assert" -) - -func TestInsertReindexRequestSuccess(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - createdAt := time.Now() - - query := `INSERT INTO reindex_requests(request_id, status, created_at, last_updated) VALUES ($1, $2, $3, $4);` - mock.ExpectExec(query).WithArgs(1, "running", createdAt, createdAt).WillReturnResult(sqlmock.NewResult(1, 1)) - - err = db.InsertReindexRequest(1, "running", createdAt) - assert.NoError(t, err) -} - -func TestInsertReindexRequestFailure(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - createdAt := time.Now() - - query := `INSERT INTO reindex_requests(request_id, status, created_at, last_updated) VALUES ($1, $2, $3, $4);` - mock.ExpectExec(query).WithArgs(1, "running", createdAt, createdAt).WillReturnError(fmt.Errorf("insert error")) - - err = db.InsertReindexRequest(1, "running", createdAt) - assert.Equal(t, "insert error", err.Error()) -} - -func TestUpdateReindexRequestSuccess(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - updatedAt := time.Now() - - query := `UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` - mock.ExpectExec(query).WithArgs("completed", updatedAt, 1).WillReturnResult(sqlmock.NewResult(1, 1)) - - err = db.UpdateReindexRequest(1, "completed", updatedAt) - assert.NoError(t, err) -} - -func TestUpdateReindexRequestFailure(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - updatedAt := time.Now() - - query := `UPDATE reindex_requests SET status = $1, last_updated = $2 WHERE request_id = $3;` - mock.ExpectExec(query).WithArgs("completed", updatedAt, 1).WillReturnError(fmt.Errorf("update error")) - - err = db.UpdateReindexRequest(1, "completed", updatedAt) - assert.Equal(t, "update error", err.Error()) -} - -func TestInsertReindexRequestDetailedSuccess(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - detail := storage.ReindexRequestDetailed{ - RequestID: 1, - Index: "index1", - FromVersion: "1.0", - ToVersion: "2.0", - Stage: "running", - OsTaskID: "task1", - Heartbeat: time.Now(), - HavingAlias: true, - AliasList: "alias1,alias2", - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - } - - query := `INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` - mock.ExpectExec(query).WithArgs(detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, sqlmock.AnyArg(), detail.HavingAlias, detail.AliasList, sqlmock.AnyArg(), sqlmock.AnyArg()).WillReturnResult(sqlmock.NewResult(1, 1)) - - err = db.InsertReindexRequestDetailed(detail, detail.CreatedAt) - assert.NoError(t, err) -} - -func TestInsertReindexRequestDetailedFailure(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - detail := storage.ReindexRequestDetailed{ - RequestID: 1, - Index: "index1", - FromVersion: "1.0", - ToVersion: "2.0", - Stage: "running", - OsTaskID: "task1", - Heartbeat: time.Now(), - HavingAlias: true, - AliasList: "alias1,alias2", - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - } - - query := `INSERT INTO reindex_request_detailed(request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);` - mock.ExpectExec(query).WithArgs(detail.RequestID, detail.Index, detail.FromVersion, detail.ToVersion, detail.Stage, detail.OsTaskID, sqlmock.AnyArg(), detail.HavingAlias, detail.AliasList, sqlmock.AnyArg(), sqlmock.AnyArg()).WillReturnError(fmt.Errorf("insert error")) - - err = db.InsertReindexRequestDetailed(detail, detail.CreatedAt) - assert.Equal(t, "insert error", err.Error()) -} - -func TestDeleteReindexRequestSuccess(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - query := `DELETE FROM reindex_requests WHERE request_id = $1;` - mock.ExpectExec(query).WithArgs(1).WillReturnResult(sqlmock.NewResult(1, 1)) - - err = db.DeleteReindexRequest(1) - assert.NoError(t, err) -} - -func TestDeleteReindexRequestFailure(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - query := `DELETE FROM reindex_requests WHERE request_id = $1;` - mock.ExpectExec(query).WithArgs(1).WillReturnError(fmt.Errorf("delete error")) - - err = db.DeleteReindexRequest(1) - assert.Equal(t, "delete error", err.Error()) -} - -func TestDeleteReindexRequestDetailSuccess(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - query := `DELETE FROM reindex_request_detailed WHERE id = $1;` - mock.ExpectExec(query).WithArgs(1).WillReturnResult(sqlmock.NewResult(1, 1)) - - err = db.DeleteReindexRequestDetail(1) - assert.NoError(t, err) -} - -func TestDeleteReindexRequestDetailFailure(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - query := `DELETE FROM reindex_request_detailed WHERE id = $1;` - mock.ExpectExec(query).WithArgs(1).WillReturnError(fmt.Errorf("delete error")) - - err = db.DeleteReindexRequestDetail(1) - assert.Equal(t, "delete error", err.Error()) -} - -func TestGetReindexStatusSuccess(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - requestID := 1 - createdAt := time.Now() - updatedAt := time.Now() - heartbeat := time.Now() - - // Mock the reindex_requests table query - requestQuery := `SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1 ORDER BY last_updated DESC LIMIT 1;` - requestColumns := []string{"request_id", "status", "created_at", "last_updated"} - mock.ExpectQuery(requestQuery).WithArgs(requestID). - WillReturnRows(sqlmock.NewRows(requestColumns).AddRow(requestID, "completed", createdAt, updatedAt)) - - // Mock the reindex_request_detailed table query - detailQuery := `SELECT DISTINCT ON (index) id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1 ORDER BY index, updated_at DESC;` - detailColumns := []string{"id", "request_id", "index", "from_version", "to_version", "stage", "os_task_id", "heartbeat", "having_alias", "alias_list", "created_at", "updated_at"} - mock.ExpectQuery(detailQuery).WithArgs(requestID). - WillReturnRows(sqlmock.NewRows(detailColumns). - AddRow(1, requestID, "index1", "1.0", "2.0", "running", "task1", heartbeat, true, "alias1,alias2", createdAt, updatedAt). - AddRow(2, requestID, "index2", "2.0", "3.0", "completed", "task2", heartbeat, false, "", createdAt, updatedAt)) - - // Call the function - requests, details, statusJSON, err := db.GetReindexStatus(requestID) - - // Assertions - assert.NoError(t, err) - assert.Equal(t, 1, len(requests)) - assert.Equal(t, 2, len(details)) - - // Verify the reindex request - assert.Equal(t, requestID, requests[0].RequestID) - assert.Equal(t, "completed", requests[0].Status) - assert.Equal(t, createdAt, requests[0].CreatedAt) - assert.Equal(t, updatedAt, requests[0].LastUpdated) - - // Verify the reindex request details - assert.Equal(t, 1, details[0].ID) - assert.Equal(t, requestID, details[0].RequestID) - assert.Equal(t, "index1", details[0].Index) - assert.Equal(t, "1.0", details[0].FromVersion) - assert.Equal(t, "2.0", details[0].ToVersion) - assert.Equal(t, "running", details[0].Stage) - assert.Equal(t, "task1", details[0].OsTaskID) - assert.Equal(t, heartbeat, details[0].Heartbeat) - assert.Equal(t, true, details[0].HavingAlias) - assert.Equal(t, "alias1,alias2", details[0].AliasList) - assert.Equal(t, createdAt, details[0].CreatedAt) - assert.Equal(t, updatedAt, details[0].UpdatedAt) - - assert.Equal(t, 2, details[1].ID) - assert.Equal(t, requestID, details[1].RequestID) - assert.Equal(t, "index2", details[1].Index) - assert.Equal(t, "2.0", details[1].FromVersion) - assert.Equal(t, "3.0", details[1].ToVersion) - assert.Equal(t, "completed", details[1].Stage) - assert.Equal(t, "task2", details[1].OsTaskID) - assert.Equal(t, heartbeat, details[1].Heartbeat) - assert.Equal(t, false, details[1].HavingAlias) - assert.Equal(t, "", details[1].AliasList) - assert.Equal(t, createdAt, details[1].CreatedAt) - assert.Equal(t, updatedAt, details[1].UpdatedAt) - - // Verify the JSON response - expectedJSON := `{"indexes":[{"index":"index1","stage":"running"},{"index":"index2","stage":"completed"}],"overall_status":"completed"}` - assert.JSONEq(t, expectedJSON, statusJSON) -} - -func TestGetReindexStatusFailure(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - requestID := 1 - - // Mock the reindex_requests table query to return an error - requestQuery := `SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1 ORDER BY last_updated DESC LIMIT 1;` - mock.ExpectQuery(requestQuery).WithArgs(requestID).WillReturnError(fmt.Errorf("query error")) - - // Call the function - _, _, _, err = db.GetReindexStatus(requestID) - - // Assertions - assert.Error(t, err) - assert.Equal(t, "error fetching reindex request status from db: query error", err.Error()) -} - -func TestGetReindexStatusNoDetails(t *testing.T) { - dbConn, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherEqual)) - assert.NoError(t, err) - defer dbConn.Close() - - db := &storage.DB{ - DbMap: &gorp.DbMap{Db: dbConn, Dialect: gorp.PostgresDialect{}}, - } - - requestID := 1 - createdAt := time.Now() - updatedAt := time.Now() - - // Mock the reindex_requests table query - requestQuery := `SELECT request_id, status, created_at, last_updated FROM reindex_requests WHERE request_id = $1 ORDER BY last_updated DESC LIMIT 1;` - requestColumns := []string{"request_id", "status", "created_at", "last_updated"} - mock.ExpectQuery(requestQuery).WithArgs(requestID). - WillReturnRows(sqlmock.NewRows(requestColumns).AddRow(requestID, "completed", createdAt, updatedAt)) - - // Mock the reindex_request_detailed table query to return no rows - detailQuery := `SELECT DISTINCT ON (index) id, request_id, index, from_version, to_version, stage, os_task_id, heartbeat, having_alias, alias_list, created_at, updated_at FROM reindex_request_detailed WHERE request_id = $1 ORDER BY index, updated_at DESC;` - detailColumns := []string{"id", "request_id", "index", "from_version", "to_version", "stage", "os_task_id", "heartbeat", "having_alias", "alias_list", "created_at", "updated_at"} - mock.ExpectQuery(detailQuery).WithArgs(requestID). - WillReturnRows(sqlmock.NewRows(detailColumns)) - - // Call the function - requests, details, statusJSON, err := db.GetReindexStatus(requestID) - - // Assertions - assert.NoError(t, err) - assert.Equal(t, 1, len(requests)) - assert.Equal(t, 0, len(details)) - - // Verify the JSON response - expectedJSON := `{"indexes":[],"overall_status":"completed"}` - assert.JSONEq(t, expectedJSON, statusJSON) -}