// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v3.12.2 // source: google/cloud/bigquery/logging/v1/audit_data.proto package logging import ( reflect "reflect" sync "sync" v1 "google.golang.org/genproto/googleapis/iam/v1" status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb" timestamppb "google.golang.org/protobuf/types/known/timestamppb" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // BigQuery request and response messages for audit log. // Note: `Table.schema` has been deprecated in favor of `Table.schemaJson`. // `Table.schema` may continue to be present in your logs during this // transition. type AuditData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Request data for each BigQuery method. // // Types that are assignable to Request: // *AuditData_TableInsertRequest // *AuditData_TableUpdateRequest // *AuditData_DatasetListRequest // *AuditData_DatasetInsertRequest // *AuditData_DatasetUpdateRequest // *AuditData_JobInsertRequest // *AuditData_JobQueryRequest // *AuditData_JobGetQueryResultsRequest // *AuditData_TableDataListRequest // *AuditData_SetIamPolicyRequest Request isAuditData_Request `protobuf_oneof:"request"` // Response data for each BigQuery method. // // Types that are assignable to Response: // *AuditData_TableInsertResponse // *AuditData_TableUpdateResponse // *AuditData_DatasetInsertResponse // *AuditData_DatasetUpdateResponse // *AuditData_JobInsertResponse // *AuditData_JobQueryResponse // *AuditData_JobGetQueryResultsResponse // *AuditData_JobQueryDoneResponse // *AuditData_PolicyResponse Response isAuditData_Response `protobuf_oneof:"response"` // A job completion event. JobCompletedEvent *JobCompletedEvent `protobuf:"bytes,17,opt,name=job_completed_event,json=jobCompletedEvent,proto3" json:"job_completed_event,omitempty"` // Information about the table access events. TableDataReadEvents []*TableDataReadEvent `protobuf:"bytes,19,rep,name=table_data_read_events,json=tableDataReadEvents,proto3" json:"table_data_read_events,omitempty"` } func (x *AuditData) Reset() { *x = AuditData{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AuditData) String() string { return protoimpl.X.MessageStringOf(x) } func (*AuditData) ProtoMessage() {} func (x *AuditData) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AuditData.ProtoReflect.Descriptor instead. func (*AuditData) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{0} } func (m *AuditData) GetRequest() isAuditData_Request { if m != nil { return m.Request } return nil } func (x *AuditData) GetTableInsertRequest() *TableInsertRequest { if x, ok := x.GetRequest().(*AuditData_TableInsertRequest); ok { return x.TableInsertRequest } return nil } func (x *AuditData) GetTableUpdateRequest() *TableUpdateRequest { if x, ok := x.GetRequest().(*AuditData_TableUpdateRequest); ok { return x.TableUpdateRequest } return nil } func (x *AuditData) GetDatasetListRequest() *DatasetListRequest { if x, ok := x.GetRequest().(*AuditData_DatasetListRequest); ok { return x.DatasetListRequest } return nil } func (x *AuditData) GetDatasetInsertRequest() *DatasetInsertRequest { if x, ok := x.GetRequest().(*AuditData_DatasetInsertRequest); ok { return x.DatasetInsertRequest } return nil } func (x *AuditData) GetDatasetUpdateRequest() *DatasetUpdateRequest { if x, ok := x.GetRequest().(*AuditData_DatasetUpdateRequest); ok { return x.DatasetUpdateRequest } return nil } func (x *AuditData) GetJobInsertRequest() *JobInsertRequest { if x, ok := x.GetRequest().(*AuditData_JobInsertRequest); ok { return x.JobInsertRequest } return nil } func (x *AuditData) GetJobQueryRequest() *JobQueryRequest { if x, ok := x.GetRequest().(*AuditData_JobQueryRequest); ok { return x.JobQueryRequest } return nil } func (x *AuditData) GetJobGetQueryResultsRequest() *JobGetQueryResultsRequest { if x, ok := x.GetRequest().(*AuditData_JobGetQueryResultsRequest); ok { return x.JobGetQueryResultsRequest } return nil } func (x *AuditData) GetTableDataListRequest() *TableDataListRequest { if x, ok := x.GetRequest().(*AuditData_TableDataListRequest); ok { return x.TableDataListRequest } return nil } func (x *AuditData) GetSetIamPolicyRequest() *v1.SetIamPolicyRequest { if x, ok := x.GetRequest().(*AuditData_SetIamPolicyRequest); ok { return x.SetIamPolicyRequest } return nil } func (m *AuditData) GetResponse() isAuditData_Response { if m != nil { return m.Response } return nil } func (x *AuditData) GetTableInsertResponse() *TableInsertResponse { if x, ok := x.GetResponse().(*AuditData_TableInsertResponse); ok { return x.TableInsertResponse } return nil } func (x *AuditData) GetTableUpdateResponse() *TableUpdateResponse { if x, ok := x.GetResponse().(*AuditData_TableUpdateResponse); ok { return x.TableUpdateResponse } return nil } func (x *AuditData) GetDatasetInsertResponse() *DatasetInsertResponse { if x, ok := x.GetResponse().(*AuditData_DatasetInsertResponse); ok { return x.DatasetInsertResponse } return nil } func (x *AuditData) GetDatasetUpdateResponse() *DatasetUpdateResponse { if x, ok := x.GetResponse().(*AuditData_DatasetUpdateResponse); ok { return x.DatasetUpdateResponse } return nil } func (x *AuditData) GetJobInsertResponse() *JobInsertResponse { if x, ok := x.GetResponse().(*AuditData_JobInsertResponse); ok { return x.JobInsertResponse } return nil } func (x *AuditData) GetJobQueryResponse() *JobQueryResponse { if x, ok := x.GetResponse().(*AuditData_JobQueryResponse); ok { return x.JobQueryResponse } return nil } func (x *AuditData) GetJobGetQueryResultsResponse() *JobGetQueryResultsResponse { if x, ok := x.GetResponse().(*AuditData_JobGetQueryResultsResponse); ok { return x.JobGetQueryResultsResponse } return nil } func (x *AuditData) GetJobQueryDoneResponse() *JobQueryDoneResponse { if x, ok := x.GetResponse().(*AuditData_JobQueryDoneResponse); ok { return x.JobQueryDoneResponse } return nil } func (x *AuditData) GetPolicyResponse() *v1.Policy { if x, ok := x.GetResponse().(*AuditData_PolicyResponse); ok { return x.PolicyResponse } return nil } func (x *AuditData) GetJobCompletedEvent() *JobCompletedEvent { if x != nil { return x.JobCompletedEvent } return nil } func (x *AuditData) GetTableDataReadEvents() []*TableDataReadEvent { if x != nil { return x.TableDataReadEvents } return nil } type isAuditData_Request interface { isAuditData_Request() } type AuditData_TableInsertRequest struct { // Table insert request. TableInsertRequest *TableInsertRequest `protobuf:"bytes,1,opt,name=table_insert_request,json=tableInsertRequest,proto3,oneof"` } type AuditData_TableUpdateRequest struct { // Table update request. TableUpdateRequest *TableUpdateRequest `protobuf:"bytes,16,opt,name=table_update_request,json=tableUpdateRequest,proto3,oneof"` } type AuditData_DatasetListRequest struct { // Dataset list request. DatasetListRequest *DatasetListRequest `protobuf:"bytes,2,opt,name=dataset_list_request,json=datasetListRequest,proto3,oneof"` } type AuditData_DatasetInsertRequest struct { // Dataset insert request. DatasetInsertRequest *DatasetInsertRequest `protobuf:"bytes,3,opt,name=dataset_insert_request,json=datasetInsertRequest,proto3,oneof"` } type AuditData_DatasetUpdateRequest struct { // Dataset update request. DatasetUpdateRequest *DatasetUpdateRequest `protobuf:"bytes,4,opt,name=dataset_update_request,json=datasetUpdateRequest,proto3,oneof"` } type AuditData_JobInsertRequest struct { // Job insert request. JobInsertRequest *JobInsertRequest `protobuf:"bytes,5,opt,name=job_insert_request,json=jobInsertRequest,proto3,oneof"` } type AuditData_JobQueryRequest struct { // Job query request. JobQueryRequest *JobQueryRequest `protobuf:"bytes,6,opt,name=job_query_request,json=jobQueryRequest,proto3,oneof"` } type AuditData_JobGetQueryResultsRequest struct { // Job get query results request. JobGetQueryResultsRequest *JobGetQueryResultsRequest `protobuf:"bytes,7,opt,name=job_get_query_results_request,json=jobGetQueryResultsRequest,proto3,oneof"` } type AuditData_TableDataListRequest struct { // Table data-list request. TableDataListRequest *TableDataListRequest `protobuf:"bytes,8,opt,name=table_data_list_request,json=tableDataListRequest,proto3,oneof"` } type AuditData_SetIamPolicyRequest struct { // Iam policy request. SetIamPolicyRequest *v1.SetIamPolicyRequest `protobuf:"bytes,20,opt,name=set_iam_policy_request,json=setIamPolicyRequest,proto3,oneof"` } func (*AuditData_TableInsertRequest) isAuditData_Request() {} func (*AuditData_TableUpdateRequest) isAuditData_Request() {} func (*AuditData_DatasetListRequest) isAuditData_Request() {} func (*AuditData_DatasetInsertRequest) isAuditData_Request() {} func (*AuditData_DatasetUpdateRequest) isAuditData_Request() {} func (*AuditData_JobInsertRequest) isAuditData_Request() {} func (*AuditData_JobQueryRequest) isAuditData_Request() {} func (*AuditData_JobGetQueryResultsRequest) isAuditData_Request() {} func (*AuditData_TableDataListRequest) isAuditData_Request() {} func (*AuditData_SetIamPolicyRequest) isAuditData_Request() {} type isAuditData_Response interface { isAuditData_Response() } type AuditData_TableInsertResponse struct { // Table insert response. TableInsertResponse *TableInsertResponse `protobuf:"bytes,9,opt,name=table_insert_response,json=tableInsertResponse,proto3,oneof"` } type AuditData_TableUpdateResponse struct { // Table update response. TableUpdateResponse *TableUpdateResponse `protobuf:"bytes,10,opt,name=table_update_response,json=tableUpdateResponse,proto3,oneof"` } type AuditData_DatasetInsertResponse struct { // Dataset insert response. DatasetInsertResponse *DatasetInsertResponse `protobuf:"bytes,11,opt,name=dataset_insert_response,json=datasetInsertResponse,proto3,oneof"` } type AuditData_DatasetUpdateResponse struct { // Dataset update response. DatasetUpdateResponse *DatasetUpdateResponse `protobuf:"bytes,12,opt,name=dataset_update_response,json=datasetUpdateResponse,proto3,oneof"` } type AuditData_JobInsertResponse struct { // Job insert response. JobInsertResponse *JobInsertResponse `protobuf:"bytes,18,opt,name=job_insert_response,json=jobInsertResponse,proto3,oneof"` } type AuditData_JobQueryResponse struct { // Job query response. JobQueryResponse *JobQueryResponse `protobuf:"bytes,13,opt,name=job_query_response,json=jobQueryResponse,proto3,oneof"` } type AuditData_JobGetQueryResultsResponse struct { // Job get query results response. JobGetQueryResultsResponse *JobGetQueryResultsResponse `protobuf:"bytes,14,opt,name=job_get_query_results_response,json=jobGetQueryResultsResponse,proto3,oneof"` } type AuditData_JobQueryDoneResponse struct { // Deprecated: Job query-done response. Use this information for usage // analysis. JobQueryDoneResponse *JobQueryDoneResponse `protobuf:"bytes,15,opt,name=job_query_done_response,json=jobQueryDoneResponse,proto3,oneof"` } type AuditData_PolicyResponse struct { // Iam Policy. PolicyResponse *v1.Policy `protobuf:"bytes,21,opt,name=policy_response,json=policyResponse,proto3,oneof"` } func (*AuditData_TableInsertResponse) isAuditData_Response() {} func (*AuditData_TableUpdateResponse) isAuditData_Response() {} func (*AuditData_DatasetInsertResponse) isAuditData_Response() {} func (*AuditData_DatasetUpdateResponse) isAuditData_Response() {} func (*AuditData_JobInsertResponse) isAuditData_Response() {} func (*AuditData_JobQueryResponse) isAuditData_Response() {} func (*AuditData_JobGetQueryResultsResponse) isAuditData_Response() {} func (*AuditData_JobQueryDoneResponse) isAuditData_Response() {} func (*AuditData_PolicyResponse) isAuditData_Response() {} // Table insert request. type TableInsertRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The new table. Resource *Table `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *TableInsertRequest) Reset() { *x = TableInsertRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableInsertRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableInsertRequest) ProtoMessage() {} func (x *TableInsertRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableInsertRequest.ProtoReflect.Descriptor instead. func (*TableInsertRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{1} } func (x *TableInsertRequest) GetResource() *Table { if x != nil { return x.Resource } return nil } // Table update request. type TableUpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The table to be updated. Resource *Table `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *TableUpdateRequest) Reset() { *x = TableUpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableUpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableUpdateRequest) ProtoMessage() {} func (x *TableUpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableUpdateRequest.ProtoReflect.Descriptor instead. func (*TableUpdateRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{2} } func (x *TableUpdateRequest) GetResource() *Table { if x != nil { return x.Resource } return nil } // Table insert response. type TableInsertResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Final state of the inserted table. Resource *Table `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *TableInsertResponse) Reset() { *x = TableInsertResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableInsertResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableInsertResponse) ProtoMessage() {} func (x *TableInsertResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableInsertResponse.ProtoReflect.Descriptor instead. func (*TableInsertResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{3} } func (x *TableInsertResponse) GetResource() *Table { if x != nil { return x.Resource } return nil } // Table update response. type TableUpdateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Final state of the updated table. Resource *Table `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *TableUpdateResponse) Reset() { *x = TableUpdateResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableUpdateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableUpdateResponse) ProtoMessage() {} func (x *TableUpdateResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableUpdateResponse.ProtoReflect.Descriptor instead. func (*TableUpdateResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{4} } func (x *TableUpdateResponse) GetResource() *Table { if x != nil { return x.Resource } return nil } // Dataset list request. type DatasetListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Whether to list all datasets, including hidden ones. ListAll bool `protobuf:"varint,1,opt,name=list_all,json=listAll,proto3" json:"list_all,omitempty"` } func (x *DatasetListRequest) Reset() { *x = DatasetListRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetListRequest) ProtoMessage() {} func (x *DatasetListRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetListRequest.ProtoReflect.Descriptor instead. func (*DatasetListRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{5} } func (x *DatasetListRequest) GetListAll() bool { if x != nil { return x.ListAll } return false } // Dataset insert request. type DatasetInsertRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The dataset to be inserted. Resource *Dataset `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *DatasetInsertRequest) Reset() { *x = DatasetInsertRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetInsertRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetInsertRequest) ProtoMessage() {} func (x *DatasetInsertRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetInsertRequest.ProtoReflect.Descriptor instead. func (*DatasetInsertRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{6} } func (x *DatasetInsertRequest) GetResource() *Dataset { if x != nil { return x.Resource } return nil } // Dataset insert response. type DatasetInsertResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Final state of the inserted dataset. Resource *Dataset `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *DatasetInsertResponse) Reset() { *x = DatasetInsertResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetInsertResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetInsertResponse) ProtoMessage() {} func (x *DatasetInsertResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetInsertResponse.ProtoReflect.Descriptor instead. func (*DatasetInsertResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{7} } func (x *DatasetInsertResponse) GetResource() *Dataset { if x != nil { return x.Resource } return nil } // Dataset update request. type DatasetUpdateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The dataset to be updated. Resource *Dataset `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *DatasetUpdateRequest) Reset() { *x = DatasetUpdateRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetUpdateRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetUpdateRequest) ProtoMessage() {} func (x *DatasetUpdateRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetUpdateRequest.ProtoReflect.Descriptor instead. func (*DatasetUpdateRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{8} } func (x *DatasetUpdateRequest) GetResource() *Dataset { if x != nil { return x.Resource } return nil } // Dataset update response. type DatasetUpdateResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Final state of the updated dataset. Resource *Dataset `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *DatasetUpdateResponse) Reset() { *x = DatasetUpdateResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetUpdateResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetUpdateResponse) ProtoMessage() {} func (x *DatasetUpdateResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetUpdateResponse.ProtoReflect.Descriptor instead. func (*DatasetUpdateResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{9} } func (x *DatasetUpdateResponse) GetResource() *Dataset { if x != nil { return x.Resource } return nil } // Job insert request. type JobInsertRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Job insert request. Resource *Job `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *JobInsertRequest) Reset() { *x = JobInsertRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobInsertRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobInsertRequest) ProtoMessage() {} func (x *JobInsertRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobInsertRequest.ProtoReflect.Descriptor instead. func (*JobInsertRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{10} } func (x *JobInsertRequest) GetResource() *Job { if x != nil { return x.Resource } return nil } // Job insert response. type JobInsertResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Job insert response. Resource *Job `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"` } func (x *JobInsertResponse) Reset() { *x = JobInsertResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobInsertResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobInsertResponse) ProtoMessage() {} func (x *JobInsertResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobInsertResponse.ProtoReflect.Descriptor instead. func (*JobInsertResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{11} } func (x *JobInsertResponse) GetResource() *Job { if x != nil { return x.Resource } return nil } // Job query request. type JobQueryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The query. Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` // The maximum number of results. MaxResults uint32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` // The default dataset for tables that do not have a dataset specified. DefaultDataset *DatasetName `protobuf:"bytes,3,opt,name=default_dataset,json=defaultDataset,proto3" json:"default_dataset,omitempty"` // Project that the query should be charged to. ProjectId string `protobuf:"bytes,4,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // If true, don't actually run the job. Just check that it would run. DryRun bool `protobuf:"varint,5,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"` } func (x *JobQueryRequest) Reset() { *x = JobQueryRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobQueryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobQueryRequest) ProtoMessage() {} func (x *JobQueryRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobQueryRequest.ProtoReflect.Descriptor instead. func (*JobQueryRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{12} } func (x *JobQueryRequest) GetQuery() string { if x != nil { return x.Query } return "" } func (x *JobQueryRequest) GetMaxResults() uint32 { if x != nil { return x.MaxResults } return 0 } func (x *JobQueryRequest) GetDefaultDataset() *DatasetName { if x != nil { return x.DefaultDataset } return nil } func (x *JobQueryRequest) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *JobQueryRequest) GetDryRun() bool { if x != nil { return x.DryRun } return false } // Job query response. type JobQueryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The total number of rows in the full query result set. TotalResults uint64 `protobuf:"varint,1,opt,name=total_results,json=totalResults,proto3" json:"total_results,omitempty"` // Information about the queried job. Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"` } func (x *JobQueryResponse) Reset() { *x = JobQueryResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobQueryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobQueryResponse) ProtoMessage() {} func (x *JobQueryResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobQueryResponse.ProtoReflect.Descriptor instead. func (*JobQueryResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{13} } func (x *JobQueryResponse) GetTotalResults() uint64 { if x != nil { return x.TotalResults } return 0 } func (x *JobQueryResponse) GetJob() *Job { if x != nil { return x.Job } return nil } // Job getQueryResults request. type JobGetQueryResultsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maximum number of results to return. MaxResults uint32 `protobuf:"varint,1,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` // Zero-based row number at which to start. StartRow uint64 `protobuf:"varint,2,opt,name=start_row,json=startRow,proto3" json:"start_row,omitempty"` } func (x *JobGetQueryResultsRequest) Reset() { *x = JobGetQueryResultsRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobGetQueryResultsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobGetQueryResultsRequest) ProtoMessage() {} func (x *JobGetQueryResultsRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobGetQueryResultsRequest.ProtoReflect.Descriptor instead. func (*JobGetQueryResultsRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{14} } func (x *JobGetQueryResultsRequest) GetMaxResults() uint32 { if x != nil { return x.MaxResults } return 0 } func (x *JobGetQueryResultsRequest) GetStartRow() uint64 { if x != nil { return x.StartRow } return 0 } // Job getQueryResults response. type JobGetQueryResultsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Total number of results in query results. TotalResults uint64 `protobuf:"varint,1,opt,name=total_results,json=totalResults,proto3" json:"total_results,omitempty"` // The job that was created to run the query. // It completed if `job.status.state` is `DONE`. // It failed if `job.status.errorResult` is also present. Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"` } func (x *JobGetQueryResultsResponse) Reset() { *x = JobGetQueryResultsResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobGetQueryResultsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobGetQueryResultsResponse) ProtoMessage() {} func (x *JobGetQueryResultsResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobGetQueryResultsResponse.ProtoReflect.Descriptor instead. func (*JobGetQueryResultsResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{15} } func (x *JobGetQueryResultsResponse) GetTotalResults() uint64 { if x != nil { return x.TotalResults } return 0 } func (x *JobGetQueryResultsResponse) GetJob() *Job { if x != nil { return x.Job } return nil } // Job getQueryDone response. type JobQueryDoneResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The job and status information. // The job completed if `job.status.state` is `DONE`. Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` } func (x *JobQueryDoneResponse) Reset() { *x = JobQueryDoneResponse{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobQueryDoneResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobQueryDoneResponse) ProtoMessage() {} func (x *JobQueryDoneResponse) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobQueryDoneResponse.ProtoReflect.Descriptor instead. func (*JobQueryDoneResponse) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{16} } func (x *JobQueryDoneResponse) GetJob() *Job { if x != nil { return x.Job } return nil } // Query job completed event. type JobCompletedEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the event. EventName string `protobuf:"bytes,1,opt,name=event_name,json=eventName,proto3" json:"event_name,omitempty"` // Job information. Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"` } func (x *JobCompletedEvent) Reset() { *x = JobCompletedEvent{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobCompletedEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobCompletedEvent) ProtoMessage() {} func (x *JobCompletedEvent) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobCompletedEvent.ProtoReflect.Descriptor instead. func (*JobCompletedEvent) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{17} } func (x *JobCompletedEvent) GetEventName() string { if x != nil { return x.EventName } return "" } func (x *JobCompletedEvent) GetJob() *Job { if x != nil { return x.Job } return nil } // Table data read event. Only present for tables, not views, and is only // included in the log record for the project that owns the table. type TableDataReadEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the accessed table. TableName *TableName `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` // A list of referenced fields. This information is not included by default. // To enable this in the logs, please contact BigQuery support or open a bug // in the BigQuery issue tracker. ReferencedFields []string `protobuf:"bytes,2,rep,name=referenced_fields,json=referencedFields,proto3" json:"referenced_fields,omitempty"` } func (x *TableDataReadEvent) Reset() { *x = TableDataReadEvent{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableDataReadEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableDataReadEvent) ProtoMessage() {} func (x *TableDataReadEvent) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableDataReadEvent.ProtoReflect.Descriptor instead. func (*TableDataReadEvent) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{18} } func (x *TableDataReadEvent) GetTableName() *TableName { if x != nil { return x.TableName } return nil } func (x *TableDataReadEvent) GetReferencedFields() []string { if x != nil { return x.ReferencedFields } return nil } // Table data-list request. type TableDataListRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Starting row offset. StartRow uint64 `protobuf:"varint,1,opt,name=start_row,json=startRow,proto3" json:"start_row,omitempty"` // Maximum number of results to return. MaxResults uint32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` } func (x *TableDataListRequest) Reset() { *x = TableDataListRequest{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableDataListRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableDataListRequest) ProtoMessage() {} func (x *TableDataListRequest) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableDataListRequest.ProtoReflect.Descriptor instead. func (*TableDataListRequest) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{19} } func (x *TableDataListRequest) GetStartRow() uint64 { if x != nil { return x.StartRow } return 0 } func (x *TableDataListRequest) GetMaxResults() uint32 { if x != nil { return x.MaxResults } return 0 } // Describes a BigQuery table. // See the [Table](/bigquery/docs/reference/v2/tables) API resource // for more details on individual fields. // Note: `Table.schema` has been deprecated in favor of `Table.schemaJson`. // `Table.schema` may continue to be present in your logs during this // transition. type Table struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the table. TableName *TableName `protobuf:"bytes,1,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` // User-provided metadata for the table. Info *TableInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` // A JSON representation of the table's schema. SchemaJson string `protobuf:"bytes,8,opt,name=schema_json,json=schemaJson,proto3" json:"schema_json,omitempty"` // If present, this is a virtual table defined by a SQL query. View *TableViewDefinition `protobuf:"bytes,4,opt,name=view,proto3" json:"view,omitempty"` // The expiration date for the table, after which the table // is deleted and the storage reclaimed. // If not present, the table persists indefinitely. ExpireTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` // The time the table was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // The time the table was last truncated // by an operation with a `writeDisposition` of `WRITE_TRUNCATE`. TruncateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=truncate_time,json=truncateTime,proto3" json:"truncate_time,omitempty"` // The time the table was last modified. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` // The table encryption information. Set when non-default encryption is used. Encryption *EncryptionInfo `protobuf:"bytes,10,opt,name=encryption,proto3" json:"encryption,omitempty"` } func (x *Table) Reset() { *x = Table{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Table) String() string { return protoimpl.X.MessageStringOf(x) } func (*Table) ProtoMessage() {} func (x *Table) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Table.ProtoReflect.Descriptor instead. func (*Table) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{20} } func (x *Table) GetTableName() *TableName { if x != nil { return x.TableName } return nil } func (x *Table) GetInfo() *TableInfo { if x != nil { return x.Info } return nil } func (x *Table) GetSchemaJson() string { if x != nil { return x.SchemaJson } return "" } func (x *Table) GetView() *TableViewDefinition { if x != nil { return x.View } return nil } func (x *Table) GetExpireTime() *timestamppb.Timestamp { if x != nil { return x.ExpireTime } return nil } func (x *Table) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } func (x *Table) GetTruncateTime() *timestamppb.Timestamp { if x != nil { return x.TruncateTime } return nil } func (x *Table) GetUpdateTime() *timestamppb.Timestamp { if x != nil { return x.UpdateTime } return nil } func (x *Table) GetEncryption() *EncryptionInfo { if x != nil { return x.Encryption } return nil } // User-provided metadata for a table. type TableInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A short name for the table, such as`"Analytics Data - Jan 2011"`. FriendlyName string `protobuf:"bytes,1,opt,name=friendly_name,json=friendlyName,proto3" json:"friendly_name,omitempty"` // A long description, perhaps several paragraphs, // describing the table contents in detail. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // Labels provided for the table. Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *TableInfo) Reset() { *x = TableInfo{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableInfo) ProtoMessage() {} func (x *TableInfo) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableInfo.ProtoReflect.Descriptor instead. func (*TableInfo) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{21} } func (x *TableInfo) GetFriendlyName() string { if x != nil { return x.FriendlyName } return "" } func (x *TableInfo) GetDescription() string { if x != nil { return x.Description } return "" } func (x *TableInfo) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } // Describes a virtual table defined by a SQL query. type TableViewDefinition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // SQL query defining the view. Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` } func (x *TableViewDefinition) Reset() { *x = TableViewDefinition{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableViewDefinition) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableViewDefinition) ProtoMessage() {} func (x *TableViewDefinition) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableViewDefinition.ProtoReflect.Descriptor instead. func (*TableViewDefinition) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{22} } func (x *TableViewDefinition) GetQuery() string { if x != nil { return x.Query } return "" } // BigQuery dataset information. // See the [Dataset](/bigquery/docs/reference/v2/datasets) API resource // for more details on individual fields. type Dataset struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name of the dataset. DatasetName *DatasetName `protobuf:"bytes,1,opt,name=dataset_name,json=datasetName,proto3" json:"dataset_name,omitempty"` // User-provided metadata for the dataset. Info *DatasetInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` // The time the dataset was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // The time the dataset was last modified. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` // The access control list for the dataset. Acl *BigQueryAcl `protobuf:"bytes,6,opt,name=acl,proto3" json:"acl,omitempty"` // If this field is present, each table that does not specify an // expiration time is assigned an expiration time by adding this // duration to the table's `createTime`. If this field is empty, // there is no default table expiration time. DefaultTableExpireDuration *durationpb.Duration `protobuf:"bytes,8,opt,name=default_table_expire_duration,json=defaultTableExpireDuration,proto3" json:"default_table_expire_duration,omitempty"` } func (x *Dataset) Reset() { *x = Dataset{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Dataset) String() string { return protoimpl.X.MessageStringOf(x) } func (*Dataset) ProtoMessage() {} func (x *Dataset) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Dataset.ProtoReflect.Descriptor instead. func (*Dataset) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{23} } func (x *Dataset) GetDatasetName() *DatasetName { if x != nil { return x.DatasetName } return nil } func (x *Dataset) GetInfo() *DatasetInfo { if x != nil { return x.Info } return nil } func (x *Dataset) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } func (x *Dataset) GetUpdateTime() *timestamppb.Timestamp { if x != nil { return x.UpdateTime } return nil } func (x *Dataset) GetAcl() *BigQueryAcl { if x != nil { return x.Acl } return nil } func (x *Dataset) GetDefaultTableExpireDuration() *durationpb.Duration { if x != nil { return x.DefaultTableExpireDuration } return nil } // User-provided metadata for a dataset. type DatasetInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // A short name for the dataset, such as`"Analytics Data 2011"`. FriendlyName string `protobuf:"bytes,1,opt,name=friendly_name,json=friendlyName,proto3" json:"friendly_name,omitempty"` // A long description, perhaps several paragraphs, // describing the dataset contents in detail. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // Labels provided for the dataset. Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *DatasetInfo) Reset() { *x = DatasetInfo{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetInfo) ProtoMessage() {} func (x *DatasetInfo) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetInfo.ProtoReflect.Descriptor instead. func (*DatasetInfo) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{24} } func (x *DatasetInfo) GetFriendlyName() string { if x != nil { return x.FriendlyName } return "" } func (x *DatasetInfo) GetDescription() string { if x != nil { return x.Description } return "" } func (x *DatasetInfo) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } // An access control list. type BigQueryAcl struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Access control entry list. Entries []*BigQueryAcl_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } func (x *BigQueryAcl) Reset() { *x = BigQueryAcl{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BigQueryAcl) String() string { return protoimpl.X.MessageStringOf(x) } func (*BigQueryAcl) ProtoMessage() {} func (x *BigQueryAcl) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BigQueryAcl.ProtoReflect.Descriptor instead. func (*BigQueryAcl) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{25} } func (x *BigQueryAcl) GetEntries() []*BigQueryAcl_Entry { if x != nil { return x.Entries } return nil } // Describes a job. type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Job name. JobName *JobName `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // Job configuration. JobConfiguration *JobConfiguration `protobuf:"bytes,2,opt,name=job_configuration,json=jobConfiguration,proto3" json:"job_configuration,omitempty"` // Job status. JobStatus *JobStatus `protobuf:"bytes,3,opt,name=job_status,json=jobStatus,proto3" json:"job_status,omitempty"` // Job statistics. JobStatistics *JobStatistics `protobuf:"bytes,4,opt,name=job_statistics,json=jobStatistics,proto3" json:"job_statistics,omitempty"` } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{26} } func (x *Job) GetJobName() *JobName { if x != nil { return x.JobName } return nil } func (x *Job) GetJobConfiguration() *JobConfiguration { if x != nil { return x.JobConfiguration } return nil } func (x *Job) GetJobStatus() *JobStatus { if x != nil { return x.JobStatus } return nil } func (x *Job) GetJobStatistics() *JobStatistics { if x != nil { return x.JobStatistics } return nil } // Job configuration information. // See the [Jobs](/bigquery/docs/reference/v2/jobs) API resource // for more details on individual fields. type JobConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Job configuration information. // // Types that are assignable to Configuration: // *JobConfiguration_Query_ // *JobConfiguration_Load_ // *JobConfiguration_Extract_ // *JobConfiguration_TableCopy_ Configuration isJobConfiguration_Configuration `protobuf_oneof:"configuration"` // If true, don't actually run the job. Just check that it would run. DryRun bool `protobuf:"varint,9,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"` // Labels provided for the job. Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *JobConfiguration) Reset() { *x = JobConfiguration{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobConfiguration) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobConfiguration) ProtoMessage() {} func (x *JobConfiguration) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobConfiguration.ProtoReflect.Descriptor instead. func (*JobConfiguration) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{27} } func (m *JobConfiguration) GetConfiguration() isJobConfiguration_Configuration { if m != nil { return m.Configuration } return nil } func (x *JobConfiguration) GetQuery() *JobConfiguration_Query { if x, ok := x.GetConfiguration().(*JobConfiguration_Query_); ok { return x.Query } return nil } func (x *JobConfiguration) GetLoad() *JobConfiguration_Load { if x, ok := x.GetConfiguration().(*JobConfiguration_Load_); ok { return x.Load } return nil } func (x *JobConfiguration) GetExtract() *JobConfiguration_Extract { if x, ok := x.GetConfiguration().(*JobConfiguration_Extract_); ok { return x.Extract } return nil } func (x *JobConfiguration) GetTableCopy() *JobConfiguration_TableCopy { if x, ok := x.GetConfiguration().(*JobConfiguration_TableCopy_); ok { return x.TableCopy } return nil } func (x *JobConfiguration) GetDryRun() bool { if x != nil { return x.DryRun } return false } func (x *JobConfiguration) GetLabels() map[string]string { if x != nil { return x.Labels } return nil } type isJobConfiguration_Configuration interface { isJobConfiguration_Configuration() } type JobConfiguration_Query_ struct { // Query job information. Query *JobConfiguration_Query `protobuf:"bytes,5,opt,name=query,proto3,oneof"` } type JobConfiguration_Load_ struct { // Load job information. Load *JobConfiguration_Load `protobuf:"bytes,6,opt,name=load,proto3,oneof"` } type JobConfiguration_Extract_ struct { // Extract job information. Extract *JobConfiguration_Extract `protobuf:"bytes,7,opt,name=extract,proto3,oneof"` } type JobConfiguration_TableCopy_ struct { // TableCopy job information. TableCopy *JobConfiguration_TableCopy `protobuf:"bytes,8,opt,name=table_copy,json=tableCopy,proto3,oneof"` } func (*JobConfiguration_Query_) isJobConfiguration_Configuration() {} func (*JobConfiguration_Load_) isJobConfiguration_Configuration() {} func (*JobConfiguration_Extract_) isJobConfiguration_Configuration() {} func (*JobConfiguration_TableCopy_) isJobConfiguration_Configuration() {} // Describes an external data source used in a query. type TableDefinition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Name of the table, used in queries. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Google Cloud Storage URIs for the data to be imported. SourceUris []string `protobuf:"bytes,2,rep,name=source_uris,json=sourceUris,proto3" json:"source_uris,omitempty"` } func (x *TableDefinition) Reset() { *x = TableDefinition{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableDefinition) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableDefinition) ProtoMessage() {} func (x *TableDefinition) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableDefinition.ProtoReflect.Descriptor instead. func (*TableDefinition) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{28} } func (x *TableDefinition) GetName() string { if x != nil { return x.Name } return "" } func (x *TableDefinition) GetSourceUris() []string { if x != nil { return x.SourceUris } return nil } // Running state of a job. type JobStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // State of a job: `PENDING`, `RUNNING`, or `DONE`. State string `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"` // If the job did not complete successfully, this field describes why. Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` // Errors encountered during the running of the job. Do not necessarily mean // that the job has completed or was unsuccessful. AdditionalErrors []*status.Status `protobuf:"bytes,3,rep,name=additional_errors,json=additionalErrors,proto3" json:"additional_errors,omitempty"` } func (x *JobStatus) Reset() { *x = JobStatus{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobStatus) ProtoMessage() {} func (x *JobStatus) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobStatus.ProtoReflect.Descriptor instead. func (*JobStatus) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{29} } func (x *JobStatus) GetState() string { if x != nil { return x.State } return "" } func (x *JobStatus) GetError() *status.Status { if x != nil { return x.Error } return nil } func (x *JobStatus) GetAdditionalErrors() []*status.Status { if x != nil { return x.AdditionalErrors } return nil } // Job statistics that may change after a job starts. type JobStatistics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Time when the job was created. CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` // Time when the job started. StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // Time when the job ended. EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // Total bytes processed for a job. TotalProcessedBytes int64 `protobuf:"varint,4,opt,name=total_processed_bytes,json=totalProcessedBytes,proto3" json:"total_processed_bytes,omitempty"` // Processed bytes, adjusted by the job's CPU usage. TotalBilledBytes int64 `protobuf:"varint,5,opt,name=total_billed_bytes,json=totalBilledBytes,proto3" json:"total_billed_bytes,omitempty"` // The tier assigned by CPU-based billing. BillingTier int32 `protobuf:"varint,7,opt,name=billing_tier,json=billingTier,proto3" json:"billing_tier,omitempty"` // The total number of slot-ms consumed by the query job. TotalSlotMs int64 `protobuf:"varint,8,opt,name=total_slot_ms,json=totalSlotMs,proto3" json:"total_slot_ms,omitempty"` // Reservation usage. ReservationUsage []*JobStatistics_ReservationResourceUsage `protobuf:"bytes,14,rep,name=reservation_usage,json=reservationUsage,proto3" json:"reservation_usage,omitempty"` // The first N tables accessed by the query job. Older queries that // reference a large number of tables may not have all of their // tables in this list. You can use the total_tables_processed count to // know how many total tables were read in the query. For new queries, // there is currently no limit. ReferencedTables []*TableName `protobuf:"bytes,9,rep,name=referenced_tables,json=referencedTables,proto3" json:"referenced_tables,omitempty"` // Total number of unique tables referenced in the query. TotalTablesProcessed int32 `protobuf:"varint,10,opt,name=total_tables_processed,json=totalTablesProcessed,proto3" json:"total_tables_processed,omitempty"` // The first N views accessed by the query job. Older queries that // reference a large number of views may not have all of their // views in this list. You can use the total_tables_processed count to // know how many total tables were read in the query. For new queries, // there is currently no limit. ReferencedViews []*TableName `protobuf:"bytes,11,rep,name=referenced_views,json=referencedViews,proto3" json:"referenced_views,omitempty"` // Total number of unique views referenced in the query. TotalViewsProcessed int32 `protobuf:"varint,12,opt,name=total_views_processed,json=totalViewsProcessed,proto3" json:"total_views_processed,omitempty"` // Number of output rows produced by the query job. QueryOutputRowCount int64 `protobuf:"varint,15,opt,name=query_output_row_count,json=queryOutputRowCount,proto3" json:"query_output_row_count,omitempty"` // Total bytes loaded for an import job. TotalLoadOutputBytes int64 `protobuf:"varint,13,opt,name=total_load_output_bytes,json=totalLoadOutputBytes,proto3" json:"total_load_output_bytes,omitempty"` } func (x *JobStatistics) Reset() { *x = JobStatistics{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobStatistics) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobStatistics) ProtoMessage() {} func (x *JobStatistics) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobStatistics.ProtoReflect.Descriptor instead. func (*JobStatistics) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{30} } func (x *JobStatistics) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } func (x *JobStatistics) GetStartTime() *timestamppb.Timestamp { if x != nil { return x.StartTime } return nil } func (x *JobStatistics) GetEndTime() *timestamppb.Timestamp { if x != nil { return x.EndTime } return nil } func (x *JobStatistics) GetTotalProcessedBytes() int64 { if x != nil { return x.TotalProcessedBytes } return 0 } func (x *JobStatistics) GetTotalBilledBytes() int64 { if x != nil { return x.TotalBilledBytes } return 0 } func (x *JobStatistics) GetBillingTier() int32 { if x != nil { return x.BillingTier } return 0 } func (x *JobStatistics) GetTotalSlotMs() int64 { if x != nil { return x.TotalSlotMs } return 0 } func (x *JobStatistics) GetReservationUsage() []*JobStatistics_ReservationResourceUsage { if x != nil { return x.ReservationUsage } return nil } func (x *JobStatistics) GetReferencedTables() []*TableName { if x != nil { return x.ReferencedTables } return nil } func (x *JobStatistics) GetTotalTablesProcessed() int32 { if x != nil { return x.TotalTablesProcessed } return 0 } func (x *JobStatistics) GetReferencedViews() []*TableName { if x != nil { return x.ReferencedViews } return nil } func (x *JobStatistics) GetTotalViewsProcessed() int32 { if x != nil { return x.TotalViewsProcessed } return 0 } func (x *JobStatistics) GetQueryOutputRowCount() int64 { if x != nil { return x.QueryOutputRowCount } return 0 } func (x *JobStatistics) GetTotalLoadOutputBytes() int64 { if x != nil { return x.TotalLoadOutputBytes } return 0 } // The fully-qualified name for a dataset. type DatasetName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The project ID. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // The dataset ID within the project. DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` } func (x *DatasetName) Reset() { *x = DatasetName{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DatasetName) String() string { return protoimpl.X.MessageStringOf(x) } func (*DatasetName) ProtoMessage() {} func (x *DatasetName) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DatasetName.ProtoReflect.Descriptor instead. func (*DatasetName) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{31} } func (x *DatasetName) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *DatasetName) GetDatasetId() string { if x != nil { return x.DatasetId } return "" } // The fully-qualified name for a table. type TableName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The project ID. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // The dataset ID within the project. DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` // The table ID of the table within the dataset. TableId string `protobuf:"bytes,3,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` } func (x *TableName) Reset() { *x = TableName{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TableName) String() string { return protoimpl.X.MessageStringOf(x) } func (*TableName) ProtoMessage() {} func (x *TableName) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TableName.ProtoReflect.Descriptor instead. func (*TableName) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{32} } func (x *TableName) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *TableName) GetDatasetId() string { if x != nil { return x.DatasetId } return "" } func (x *TableName) GetTableId() string { if x != nil { return x.TableId } return "" } // The fully-qualified name for a job. type JobName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The project ID. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // The job ID within the project. JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // The job location. Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` } func (x *JobName) Reset() { *x = JobName{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobName) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobName) ProtoMessage() {} func (x *JobName) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobName.ProtoReflect.Descriptor instead. func (*JobName) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{33} } func (x *JobName) GetProjectId() string { if x != nil { return x.ProjectId } return "" } func (x *JobName) GetJobId() string { if x != nil { return x.JobId } return "" } func (x *JobName) GetLocation() string { if x != nil { return x.Location } return "" } // Describes encryption properties for a table or a job type EncryptionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // unique identifier for cloud kms key KmsKeyName string `protobuf:"bytes,1,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` } func (x *EncryptionInfo) Reset() { *x = EncryptionInfo{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EncryptionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*EncryptionInfo) ProtoMessage() {} func (x *EncryptionInfo) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EncryptionInfo.ProtoReflect.Descriptor instead. func (*EncryptionInfo) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{34} } func (x *EncryptionInfo) GetKmsKeyName() string { if x != nil { return x.KmsKeyName } return "" } // Access control entry. type BigQueryAcl_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The granted role, which can be `READER`, `WRITER`, or `OWNER`. Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` // Grants access to a group identified by an email address. GroupEmail string `protobuf:"bytes,2,opt,name=group_email,json=groupEmail,proto3" json:"group_email,omitempty"` // Grants access to a user identified by an email address. UserEmail string `protobuf:"bytes,3,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` // Grants access to all members of a domain. Domain string `protobuf:"bytes,4,opt,name=domain,proto3" json:"domain,omitempty"` // Grants access to special groups. Valid groups are `PROJECT_OWNERS`, // `PROJECT_READERS`, `PROJECT_WRITERS` and `ALL_AUTHENTICATED_USERS`. SpecialGroup string `protobuf:"bytes,5,opt,name=special_group,json=specialGroup,proto3" json:"special_group,omitempty"` // Grants access to a BigQuery View. ViewName *TableName `protobuf:"bytes,6,opt,name=view_name,json=viewName,proto3" json:"view_name,omitempty"` } func (x *BigQueryAcl_Entry) Reset() { *x = BigQueryAcl_Entry{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BigQueryAcl_Entry) String() string { return protoimpl.X.MessageStringOf(x) } func (*BigQueryAcl_Entry) ProtoMessage() {} func (x *BigQueryAcl_Entry) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BigQueryAcl_Entry.ProtoReflect.Descriptor instead. func (*BigQueryAcl_Entry) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{25, 0} } func (x *BigQueryAcl_Entry) GetRole() string { if x != nil { return x.Role } return "" } func (x *BigQueryAcl_Entry) GetGroupEmail() string { if x != nil { return x.GroupEmail } return "" } func (x *BigQueryAcl_Entry) GetUserEmail() string { if x != nil { return x.UserEmail } return "" } func (x *BigQueryAcl_Entry) GetDomain() string { if x != nil { return x.Domain } return "" } func (x *BigQueryAcl_Entry) GetSpecialGroup() string { if x != nil { return x.SpecialGroup } return "" } func (x *BigQueryAcl_Entry) GetViewName() *TableName { if x != nil { return x.ViewName } return nil } // Describes a query job, which executes a SQL-like query. type JobConfiguration_Query struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The SQL query to run. Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` // The table where results are written. DestinationTable *TableName `protobuf:"bytes,2,opt,name=destination_table,json=destinationTable,proto3" json:"destination_table,omitempty"` // Describes when a job is allowed to create a table: // `CREATE_IF_NEEDED`, `CREATE_NEVER`. CreateDisposition string `protobuf:"bytes,3,opt,name=create_disposition,json=createDisposition,proto3" json:"create_disposition,omitempty"` // Describes how writes affect existing tables: // `WRITE_TRUNCATE`, `WRITE_APPEND`, `WRITE_EMPTY`. WriteDisposition string `protobuf:"bytes,4,opt,name=write_disposition,json=writeDisposition,proto3" json:"write_disposition,omitempty"` // If a table name is specified without a dataset in a query, // this dataset will be added to table name. DefaultDataset *DatasetName `protobuf:"bytes,5,opt,name=default_dataset,json=defaultDataset,proto3" json:"default_dataset,omitempty"` // Describes data sources outside BigQuery, if needed. TableDefinitions []*TableDefinition `protobuf:"bytes,6,rep,name=table_definitions,json=tableDefinitions,proto3" json:"table_definitions,omitempty"` // Describes the priority given to the query: // `QUERY_INTERACTIVE` or `QUERY_BATCH`. QueryPriority string `protobuf:"bytes,7,opt,name=query_priority,json=queryPriority,proto3" json:"query_priority,omitempty"` // Result table encryption information. Set when non-default encryption is // used. DestinationTableEncryption *EncryptionInfo `protobuf:"bytes,8,opt,name=destination_table_encryption,json=destinationTableEncryption,proto3" json:"destination_table_encryption,omitempty"` // Type of the statement (e.g. SELECT, INSERT, CREATE_TABLE, CREATE_MODEL..) StatementType string `protobuf:"bytes,9,opt,name=statement_type,json=statementType,proto3" json:"statement_type,omitempty"` } func (x *JobConfiguration_Query) Reset() { *x = JobConfiguration_Query{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobConfiguration_Query) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobConfiguration_Query) ProtoMessage() {} func (x *JobConfiguration_Query) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobConfiguration_Query.ProtoReflect.Descriptor instead. func (*JobConfiguration_Query) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{27, 0} } func (x *JobConfiguration_Query) GetQuery() string { if x != nil { return x.Query } return "" } func (x *JobConfiguration_Query) GetDestinationTable() *TableName { if x != nil { return x.DestinationTable } return nil } func (x *JobConfiguration_Query) GetCreateDisposition() string { if x != nil { return x.CreateDisposition } return "" } func (x *JobConfiguration_Query) GetWriteDisposition() string { if x != nil { return x.WriteDisposition } return "" } func (x *JobConfiguration_Query) GetDefaultDataset() *DatasetName { if x != nil { return x.DefaultDataset } return nil } func (x *JobConfiguration_Query) GetTableDefinitions() []*TableDefinition { if x != nil { return x.TableDefinitions } return nil } func (x *JobConfiguration_Query) GetQueryPriority() string { if x != nil { return x.QueryPriority } return "" } func (x *JobConfiguration_Query) GetDestinationTableEncryption() *EncryptionInfo { if x != nil { return x.DestinationTableEncryption } return nil } func (x *JobConfiguration_Query) GetStatementType() string { if x != nil { return x.StatementType } return "" } // Describes a load job, which loads data from an external source via // the import pipeline. type JobConfiguration_Load struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // URIs for the data to be imported. Only Google Cloud Storage URIs are // supported. SourceUris []string `protobuf:"bytes,1,rep,name=source_uris,json=sourceUris,proto3" json:"source_uris,omitempty"` // The table schema in JSON format representation of a TableSchema. SchemaJson string `protobuf:"bytes,6,opt,name=schema_json,json=schemaJson,proto3" json:"schema_json,omitempty"` // The table where the imported data is written. DestinationTable *TableName `protobuf:"bytes,3,opt,name=destination_table,json=destinationTable,proto3" json:"destination_table,omitempty"` // Describes when a job is allowed to create a table: // `CREATE_IF_NEEDED`, `CREATE_NEVER`. CreateDisposition string `protobuf:"bytes,4,opt,name=create_disposition,json=createDisposition,proto3" json:"create_disposition,omitempty"` // Describes how writes affect existing tables: // `WRITE_TRUNCATE`, `WRITE_APPEND`, `WRITE_EMPTY`. WriteDisposition string `protobuf:"bytes,5,opt,name=write_disposition,json=writeDisposition,proto3" json:"write_disposition,omitempty"` // Result table encryption information. Set when non-default encryption is // used. DestinationTableEncryption *EncryptionInfo `protobuf:"bytes,7,opt,name=destination_table_encryption,json=destinationTableEncryption,proto3" json:"destination_table_encryption,omitempty"` } func (x *JobConfiguration_Load) Reset() { *x = JobConfiguration_Load{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobConfiguration_Load) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobConfiguration_Load) ProtoMessage() {} func (x *JobConfiguration_Load) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobConfiguration_Load.ProtoReflect.Descriptor instead. func (*JobConfiguration_Load) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{27, 1} } func (x *JobConfiguration_Load) GetSourceUris() []string { if x != nil { return x.SourceUris } return nil } func (x *JobConfiguration_Load) GetSchemaJson() string { if x != nil { return x.SchemaJson } return "" } func (x *JobConfiguration_Load) GetDestinationTable() *TableName { if x != nil { return x.DestinationTable } return nil } func (x *JobConfiguration_Load) GetCreateDisposition() string { if x != nil { return x.CreateDisposition } return "" } func (x *JobConfiguration_Load) GetWriteDisposition() string { if x != nil { return x.WriteDisposition } return "" } func (x *JobConfiguration_Load) GetDestinationTableEncryption() *EncryptionInfo { if x != nil { return x.DestinationTableEncryption } return nil } // Describes an extract job, which exports data to an external source // via the export pipeline. type JobConfiguration_Extract struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Google Cloud Storage URIs where extracted data should be written. DestinationUris []string `protobuf:"bytes,1,rep,name=destination_uris,json=destinationUris,proto3" json:"destination_uris,omitempty"` // The source table. SourceTable *TableName `protobuf:"bytes,2,opt,name=source_table,json=sourceTable,proto3" json:"source_table,omitempty"` } func (x *JobConfiguration_Extract) Reset() { *x = JobConfiguration_Extract{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobConfiguration_Extract) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobConfiguration_Extract) ProtoMessage() {} func (x *JobConfiguration_Extract) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobConfiguration_Extract.ProtoReflect.Descriptor instead. func (*JobConfiguration_Extract) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{27, 2} } func (x *JobConfiguration_Extract) GetDestinationUris() []string { if x != nil { return x.DestinationUris } return nil } func (x *JobConfiguration_Extract) GetSourceTable() *TableName { if x != nil { return x.SourceTable } return nil } // Describes a copy job, which copies an existing table to another table. type JobConfiguration_TableCopy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Source tables. SourceTables []*TableName `protobuf:"bytes,1,rep,name=source_tables,json=sourceTables,proto3" json:"source_tables,omitempty"` // Destination table. DestinationTable *TableName `protobuf:"bytes,2,opt,name=destination_table,json=destinationTable,proto3" json:"destination_table,omitempty"` // Describes when a job is allowed to create a table: // `CREATE_IF_NEEDED`, `CREATE_NEVER`. CreateDisposition string `protobuf:"bytes,3,opt,name=create_disposition,json=createDisposition,proto3" json:"create_disposition,omitempty"` // Describes how writes affect existing tables: // `WRITE_TRUNCATE`, `WRITE_APPEND`, `WRITE_EMPTY`. WriteDisposition string `protobuf:"bytes,4,opt,name=write_disposition,json=writeDisposition,proto3" json:"write_disposition,omitempty"` // Result table encryption information. Set when non-default encryption is // used. DestinationTableEncryption *EncryptionInfo `protobuf:"bytes,5,opt,name=destination_table_encryption,json=destinationTableEncryption,proto3" json:"destination_table_encryption,omitempty"` } func (x *JobConfiguration_TableCopy) Reset() { *x = JobConfiguration_TableCopy{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobConfiguration_TableCopy) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobConfiguration_TableCopy) ProtoMessage() {} func (x *JobConfiguration_TableCopy) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobConfiguration_TableCopy.ProtoReflect.Descriptor instead. func (*JobConfiguration_TableCopy) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{27, 3} } func (x *JobConfiguration_TableCopy) GetSourceTables() []*TableName { if x != nil { return x.SourceTables } return nil } func (x *JobConfiguration_TableCopy) GetDestinationTable() *TableName { if x != nil { return x.DestinationTable } return nil } func (x *JobConfiguration_TableCopy) GetCreateDisposition() string { if x != nil { return x.CreateDisposition } return "" } func (x *JobConfiguration_TableCopy) GetWriteDisposition() string { if x != nil { return x.WriteDisposition } return "" } func (x *JobConfiguration_TableCopy) GetDestinationTableEncryption() *EncryptionInfo { if x != nil { return x.DestinationTableEncryption } return nil } // Job resource usage breakdown by reservation. type JobStatistics_ReservationResourceUsage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Reservation name or "unreserved" for on-demand resources usage. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Total slot milliseconds used by the reservation for a particular job. SlotMs int64 `protobuf:"varint,2,opt,name=slot_ms,json=slotMs,proto3" json:"slot_ms,omitempty"` } func (x *JobStatistics_ReservationResourceUsage) Reset() { *x = JobStatistics_ReservationResourceUsage{} if protoimpl.UnsafeEnabled { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobStatistics_ReservationResourceUsage) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobStatistics_ReservationResourceUsage) ProtoMessage() {} func (x *JobStatistics_ReservationResourceUsage) ProtoReflect() protoreflect.Message { mi := &file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobStatistics_ReservationResourceUsage.ProtoReflect.Descriptor instead. func (*JobStatistics_ReservationResourceUsage) Descriptor() ([]byte, []int) { return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP(), []int{30, 0} } func (x *JobStatistics_ReservationResourceUsage) GetName() string { if x != nil { return x.Name } return "" } func (x *JobStatistics_ReservationResourceUsage) GetSlotMs() int64 { if x != nil { return x.SlotMs } return 0 } var File_google_cloud_bigquery_logging_v1_audit_data_proto protoreflect.FileDescriptor var file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDesc = []byte{ 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x11, 0x0a, 0x09, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x68, 0x0a, 0x14, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x14, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a, 0x12, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7f, 0x0a, 0x1d, 0x6a, 0x6f, 0x62, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x6a, 0x6f, 0x62, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x16, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x61, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x15, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x15, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x17, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x11, 0x6a, 0x6f, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x1e, 0x6a, 0x6f, 0x62, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x1a, 0x6a, 0x6f, 0x62, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x17, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x01, 0x52, 0x14, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x0e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x69, 0x0a, 0x16, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x12, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x0a, 0x12, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2f, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x22, 0x5d, 0x0a, 0x14, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x14, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5e, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x70, 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x59, 0x0a, 0x19, 0x4a, 0x6f, 0x62, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x22, 0x7a, 0x0a, 0x1a, 0x4a, 0x6f, 0x62, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x4f, 0x0a, 0x14, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x6b, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x61, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x54, 0x0a, 0x14, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xca, 0x04, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3b, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2b, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x69, 0x65, 0x77, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xb7, 0x03, 0x0a, 0x07, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x50, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x5c, 0x0a, 0x1d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe2, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc1, 0x02, 0x0a, 0x0b, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x6c, 0x12, 0x4d, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x63, 0x6c, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xe2, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x48, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x02, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x44, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5f, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x56, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0xfd, 0x0f, 0x0a, 0x10, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4d, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x5d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0xcd, 0x04, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x58, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x5e, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x72, 0x0a, 0x1c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0xf2, 0x02, 0x0a, 0x04, 0x4c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x1c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x84, 0x01, 0x0a, 0x07, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x73, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x87, 0x03, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x77, 0x72, 0x69, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x1c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xaf, 0x07, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 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, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 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, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x4d, 0x73, 0x12, 0x75, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x56, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x61, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x47, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x4d, 0x73, 0x22, 0x4b, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x0e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x81, 0x01, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescOnce sync.Once file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescData = file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDesc ) func file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescGZIP() []byte { file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescOnce.Do(func() { file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescData) }) return file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDescData } var file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes = make([]protoimpl.MessageInfo, 44) var file_google_cloud_bigquery_logging_v1_audit_data_proto_goTypes = []interface{}{ (*AuditData)(nil), // 0: google.cloud.bigquery.logging.v1.AuditData (*TableInsertRequest)(nil), // 1: google.cloud.bigquery.logging.v1.TableInsertRequest (*TableUpdateRequest)(nil), // 2: google.cloud.bigquery.logging.v1.TableUpdateRequest (*TableInsertResponse)(nil), // 3: google.cloud.bigquery.logging.v1.TableInsertResponse (*TableUpdateResponse)(nil), // 4: google.cloud.bigquery.logging.v1.TableUpdateResponse (*DatasetListRequest)(nil), // 5: google.cloud.bigquery.logging.v1.DatasetListRequest (*DatasetInsertRequest)(nil), // 6: google.cloud.bigquery.logging.v1.DatasetInsertRequest (*DatasetInsertResponse)(nil), // 7: google.cloud.bigquery.logging.v1.DatasetInsertResponse (*DatasetUpdateRequest)(nil), // 8: google.cloud.bigquery.logging.v1.DatasetUpdateRequest (*DatasetUpdateResponse)(nil), // 9: google.cloud.bigquery.logging.v1.DatasetUpdateResponse (*JobInsertRequest)(nil), // 10: google.cloud.bigquery.logging.v1.JobInsertRequest (*JobInsertResponse)(nil), // 11: google.cloud.bigquery.logging.v1.JobInsertResponse (*JobQueryRequest)(nil), // 12: google.cloud.bigquery.logging.v1.JobQueryRequest (*JobQueryResponse)(nil), // 13: google.cloud.bigquery.logging.v1.JobQueryResponse (*JobGetQueryResultsRequest)(nil), // 14: google.cloud.bigquery.logging.v1.JobGetQueryResultsRequest (*JobGetQueryResultsResponse)(nil), // 15: google.cloud.bigquery.logging.v1.JobGetQueryResultsResponse (*JobQueryDoneResponse)(nil), // 16: google.cloud.bigquery.logging.v1.JobQueryDoneResponse (*JobCompletedEvent)(nil), // 17: google.cloud.bigquery.logging.v1.JobCompletedEvent (*TableDataReadEvent)(nil), // 18: google.cloud.bigquery.logging.v1.TableDataReadEvent (*TableDataListRequest)(nil), // 19: google.cloud.bigquery.logging.v1.TableDataListRequest (*Table)(nil), // 20: google.cloud.bigquery.logging.v1.Table (*TableInfo)(nil), // 21: google.cloud.bigquery.logging.v1.TableInfo (*TableViewDefinition)(nil), // 22: google.cloud.bigquery.logging.v1.TableViewDefinition (*Dataset)(nil), // 23: google.cloud.bigquery.logging.v1.Dataset (*DatasetInfo)(nil), // 24: google.cloud.bigquery.logging.v1.DatasetInfo (*BigQueryAcl)(nil), // 25: google.cloud.bigquery.logging.v1.BigQueryAcl (*Job)(nil), // 26: google.cloud.bigquery.logging.v1.Job (*JobConfiguration)(nil), // 27: google.cloud.bigquery.logging.v1.JobConfiguration (*TableDefinition)(nil), // 28: google.cloud.bigquery.logging.v1.TableDefinition (*JobStatus)(nil), // 29: google.cloud.bigquery.logging.v1.JobStatus (*JobStatistics)(nil), // 30: google.cloud.bigquery.logging.v1.JobStatistics (*DatasetName)(nil), // 31: google.cloud.bigquery.logging.v1.DatasetName (*TableName)(nil), // 32: google.cloud.bigquery.logging.v1.TableName (*JobName)(nil), // 33: google.cloud.bigquery.logging.v1.JobName (*EncryptionInfo)(nil), // 34: google.cloud.bigquery.logging.v1.EncryptionInfo nil, // 35: google.cloud.bigquery.logging.v1.TableInfo.LabelsEntry nil, // 36: google.cloud.bigquery.logging.v1.DatasetInfo.LabelsEntry (*BigQueryAcl_Entry)(nil), // 37: google.cloud.bigquery.logging.v1.BigQueryAcl.Entry (*JobConfiguration_Query)(nil), // 38: google.cloud.bigquery.logging.v1.JobConfiguration.Query (*JobConfiguration_Load)(nil), // 39: google.cloud.bigquery.logging.v1.JobConfiguration.Load (*JobConfiguration_Extract)(nil), // 40: google.cloud.bigquery.logging.v1.JobConfiguration.Extract (*JobConfiguration_TableCopy)(nil), // 41: google.cloud.bigquery.logging.v1.JobConfiguration.TableCopy nil, // 42: google.cloud.bigquery.logging.v1.JobConfiguration.LabelsEntry (*JobStatistics_ReservationResourceUsage)(nil), // 43: google.cloud.bigquery.logging.v1.JobStatistics.ReservationResourceUsage (*v1.SetIamPolicyRequest)(nil), // 44: google.iam.v1.SetIamPolicyRequest (*v1.Policy)(nil), // 45: google.iam.v1.Policy (*timestamppb.Timestamp)(nil), // 46: google.protobuf.Timestamp (*durationpb.Duration)(nil), // 47: google.protobuf.Duration (*status.Status)(nil), // 48: google.rpc.Status } var file_google_cloud_bigquery_logging_v1_audit_data_proto_depIdxs = []int32{ 1, // 0: google.cloud.bigquery.logging.v1.AuditData.table_insert_request:type_name -> google.cloud.bigquery.logging.v1.TableInsertRequest 2, // 1: google.cloud.bigquery.logging.v1.AuditData.table_update_request:type_name -> google.cloud.bigquery.logging.v1.TableUpdateRequest 5, // 2: google.cloud.bigquery.logging.v1.AuditData.dataset_list_request:type_name -> google.cloud.bigquery.logging.v1.DatasetListRequest 6, // 3: google.cloud.bigquery.logging.v1.AuditData.dataset_insert_request:type_name -> google.cloud.bigquery.logging.v1.DatasetInsertRequest 8, // 4: google.cloud.bigquery.logging.v1.AuditData.dataset_update_request:type_name -> google.cloud.bigquery.logging.v1.DatasetUpdateRequest 10, // 5: google.cloud.bigquery.logging.v1.AuditData.job_insert_request:type_name -> google.cloud.bigquery.logging.v1.JobInsertRequest 12, // 6: google.cloud.bigquery.logging.v1.AuditData.job_query_request:type_name -> google.cloud.bigquery.logging.v1.JobQueryRequest 14, // 7: google.cloud.bigquery.logging.v1.AuditData.job_get_query_results_request:type_name -> google.cloud.bigquery.logging.v1.JobGetQueryResultsRequest 19, // 8: google.cloud.bigquery.logging.v1.AuditData.table_data_list_request:type_name -> google.cloud.bigquery.logging.v1.TableDataListRequest 44, // 9: google.cloud.bigquery.logging.v1.AuditData.set_iam_policy_request:type_name -> google.iam.v1.SetIamPolicyRequest 3, // 10: google.cloud.bigquery.logging.v1.AuditData.table_insert_response:type_name -> google.cloud.bigquery.logging.v1.TableInsertResponse 4, // 11: google.cloud.bigquery.logging.v1.AuditData.table_update_response:type_name -> google.cloud.bigquery.logging.v1.TableUpdateResponse 7, // 12: google.cloud.bigquery.logging.v1.AuditData.dataset_insert_response:type_name -> google.cloud.bigquery.logging.v1.DatasetInsertResponse 9, // 13: google.cloud.bigquery.logging.v1.AuditData.dataset_update_response:type_name -> google.cloud.bigquery.logging.v1.DatasetUpdateResponse 11, // 14: google.cloud.bigquery.logging.v1.AuditData.job_insert_response:type_name -> google.cloud.bigquery.logging.v1.JobInsertResponse 13, // 15: google.cloud.bigquery.logging.v1.AuditData.job_query_response:type_name -> google.cloud.bigquery.logging.v1.JobQueryResponse 15, // 16: google.cloud.bigquery.logging.v1.AuditData.job_get_query_results_response:type_name -> google.cloud.bigquery.logging.v1.JobGetQueryResultsResponse 16, // 17: google.cloud.bigquery.logging.v1.AuditData.job_query_done_response:type_name -> google.cloud.bigquery.logging.v1.JobQueryDoneResponse 45, // 18: google.cloud.bigquery.logging.v1.AuditData.policy_response:type_name -> google.iam.v1.Policy 17, // 19: google.cloud.bigquery.logging.v1.AuditData.job_completed_event:type_name -> google.cloud.bigquery.logging.v1.JobCompletedEvent 18, // 20: google.cloud.bigquery.logging.v1.AuditData.table_data_read_events:type_name -> google.cloud.bigquery.logging.v1.TableDataReadEvent 20, // 21: google.cloud.bigquery.logging.v1.TableInsertRequest.resource:type_name -> google.cloud.bigquery.logging.v1.Table 20, // 22: google.cloud.bigquery.logging.v1.TableUpdateRequest.resource:type_name -> google.cloud.bigquery.logging.v1.Table 20, // 23: google.cloud.bigquery.logging.v1.TableInsertResponse.resource:type_name -> google.cloud.bigquery.logging.v1.Table 20, // 24: google.cloud.bigquery.logging.v1.TableUpdateResponse.resource:type_name -> google.cloud.bigquery.logging.v1.Table 23, // 25: google.cloud.bigquery.logging.v1.DatasetInsertRequest.resource:type_name -> google.cloud.bigquery.logging.v1.Dataset 23, // 26: google.cloud.bigquery.logging.v1.DatasetInsertResponse.resource:type_name -> google.cloud.bigquery.logging.v1.Dataset 23, // 27: google.cloud.bigquery.logging.v1.DatasetUpdateRequest.resource:type_name -> google.cloud.bigquery.logging.v1.Dataset 23, // 28: google.cloud.bigquery.logging.v1.DatasetUpdateResponse.resource:type_name -> google.cloud.bigquery.logging.v1.Dataset 26, // 29: google.cloud.bigquery.logging.v1.JobInsertRequest.resource:type_name -> google.cloud.bigquery.logging.v1.Job 26, // 30: google.cloud.bigquery.logging.v1.JobInsertResponse.resource:type_name -> google.cloud.bigquery.logging.v1.Job 31, // 31: google.cloud.bigquery.logging.v1.JobQueryRequest.default_dataset:type_name -> google.cloud.bigquery.logging.v1.DatasetName 26, // 32: google.cloud.bigquery.logging.v1.JobQueryResponse.job:type_name -> google.cloud.bigquery.logging.v1.Job 26, // 33: google.cloud.bigquery.logging.v1.JobGetQueryResultsResponse.job:type_name -> google.cloud.bigquery.logging.v1.Job 26, // 34: google.cloud.bigquery.logging.v1.JobQueryDoneResponse.job:type_name -> google.cloud.bigquery.logging.v1.Job 26, // 35: google.cloud.bigquery.logging.v1.JobCompletedEvent.job:type_name -> google.cloud.bigquery.logging.v1.Job 32, // 36: google.cloud.bigquery.logging.v1.TableDataReadEvent.table_name:type_name -> google.cloud.bigquery.logging.v1.TableName 32, // 37: google.cloud.bigquery.logging.v1.Table.table_name:type_name -> google.cloud.bigquery.logging.v1.TableName 21, // 38: google.cloud.bigquery.logging.v1.Table.info:type_name -> google.cloud.bigquery.logging.v1.TableInfo 22, // 39: google.cloud.bigquery.logging.v1.Table.view:type_name -> google.cloud.bigquery.logging.v1.TableViewDefinition 46, // 40: google.cloud.bigquery.logging.v1.Table.expire_time:type_name -> google.protobuf.Timestamp 46, // 41: google.cloud.bigquery.logging.v1.Table.create_time:type_name -> google.protobuf.Timestamp 46, // 42: google.cloud.bigquery.logging.v1.Table.truncate_time:type_name -> google.protobuf.Timestamp 46, // 43: google.cloud.bigquery.logging.v1.Table.update_time:type_name -> google.protobuf.Timestamp 34, // 44: google.cloud.bigquery.logging.v1.Table.encryption:type_name -> google.cloud.bigquery.logging.v1.EncryptionInfo 35, // 45: google.cloud.bigquery.logging.v1.TableInfo.labels:type_name -> google.cloud.bigquery.logging.v1.TableInfo.LabelsEntry 31, // 46: google.cloud.bigquery.logging.v1.Dataset.dataset_name:type_name -> google.cloud.bigquery.logging.v1.DatasetName 24, // 47: google.cloud.bigquery.logging.v1.Dataset.info:type_name -> google.cloud.bigquery.logging.v1.DatasetInfo 46, // 48: google.cloud.bigquery.logging.v1.Dataset.create_time:type_name -> google.protobuf.Timestamp 46, // 49: google.cloud.bigquery.logging.v1.Dataset.update_time:type_name -> google.protobuf.Timestamp 25, // 50: google.cloud.bigquery.logging.v1.Dataset.acl:type_name -> google.cloud.bigquery.logging.v1.BigQueryAcl 47, // 51: google.cloud.bigquery.logging.v1.Dataset.default_table_expire_duration:type_name -> google.protobuf.Duration 36, // 52: google.cloud.bigquery.logging.v1.DatasetInfo.labels:type_name -> google.cloud.bigquery.logging.v1.DatasetInfo.LabelsEntry 37, // 53: google.cloud.bigquery.logging.v1.BigQueryAcl.entries:type_name -> google.cloud.bigquery.logging.v1.BigQueryAcl.Entry 33, // 54: google.cloud.bigquery.logging.v1.Job.job_name:type_name -> google.cloud.bigquery.logging.v1.JobName 27, // 55: google.cloud.bigquery.logging.v1.Job.job_configuration:type_name -> google.cloud.bigquery.logging.v1.JobConfiguration 29, // 56: google.cloud.bigquery.logging.v1.Job.job_status:type_name -> google.cloud.bigquery.logging.v1.JobStatus 30, // 57: google.cloud.bigquery.logging.v1.Job.job_statistics:type_name -> google.cloud.bigquery.logging.v1.JobStatistics 38, // 58: google.cloud.bigquery.logging.v1.JobConfiguration.query:type_name -> google.cloud.bigquery.logging.v1.JobConfiguration.Query 39, // 59: google.cloud.bigquery.logging.v1.JobConfiguration.load:type_name -> google.cloud.bigquery.logging.v1.JobConfiguration.Load 40, // 60: google.cloud.bigquery.logging.v1.JobConfiguration.extract:type_name -> google.cloud.bigquery.logging.v1.JobConfiguration.Extract 41, // 61: google.cloud.bigquery.logging.v1.JobConfiguration.table_copy:type_name -> google.cloud.bigquery.logging.v1.JobConfiguration.TableCopy 42, // 62: google.cloud.bigquery.logging.v1.JobConfiguration.labels:type_name -> google.cloud.bigquery.logging.v1.JobConfiguration.LabelsEntry 48, // 63: google.cloud.bigquery.logging.v1.JobStatus.error:type_name -> google.rpc.Status 48, // 64: google.cloud.bigquery.logging.v1.JobStatus.additional_errors:type_name -> google.rpc.Status 46, // 65: google.cloud.bigquery.logging.v1.JobStatistics.create_time:type_name -> google.protobuf.Timestamp 46, // 66: google.cloud.bigquery.logging.v1.JobStatistics.start_time:type_name -> google.protobuf.Timestamp 46, // 67: google.cloud.bigquery.logging.v1.JobStatistics.end_time:type_name -> google.protobuf.Timestamp 43, // 68: google.cloud.bigquery.logging.v1.JobStatistics.reservation_usage:type_name -> google.cloud.bigquery.logging.v1.JobStatistics.ReservationResourceUsage 32, // 69: google.cloud.bigquery.logging.v1.JobStatistics.referenced_tables:type_name -> google.cloud.bigquery.logging.v1.TableName 32, // 70: google.cloud.bigquery.logging.v1.JobStatistics.referenced_views:type_name -> google.cloud.bigquery.logging.v1.TableName 32, // 71: google.cloud.bigquery.logging.v1.BigQueryAcl.Entry.view_name:type_name -> google.cloud.bigquery.logging.v1.TableName 32, // 72: google.cloud.bigquery.logging.v1.JobConfiguration.Query.destination_table:type_name -> google.cloud.bigquery.logging.v1.TableName 31, // 73: google.cloud.bigquery.logging.v1.JobConfiguration.Query.default_dataset:type_name -> google.cloud.bigquery.logging.v1.DatasetName 28, // 74: google.cloud.bigquery.logging.v1.JobConfiguration.Query.table_definitions:type_name -> google.cloud.bigquery.logging.v1.TableDefinition 34, // 75: google.cloud.bigquery.logging.v1.JobConfiguration.Query.destination_table_encryption:type_name -> google.cloud.bigquery.logging.v1.EncryptionInfo 32, // 76: google.cloud.bigquery.logging.v1.JobConfiguration.Load.destination_table:type_name -> google.cloud.bigquery.logging.v1.TableName 34, // 77: google.cloud.bigquery.logging.v1.JobConfiguration.Load.destination_table_encryption:type_name -> google.cloud.bigquery.logging.v1.EncryptionInfo 32, // 78: google.cloud.bigquery.logging.v1.JobConfiguration.Extract.source_table:type_name -> google.cloud.bigquery.logging.v1.TableName 32, // 79: google.cloud.bigquery.logging.v1.JobConfiguration.TableCopy.source_tables:type_name -> google.cloud.bigquery.logging.v1.TableName 32, // 80: google.cloud.bigquery.logging.v1.JobConfiguration.TableCopy.destination_table:type_name -> google.cloud.bigquery.logging.v1.TableName 34, // 81: google.cloud.bigquery.logging.v1.JobConfiguration.TableCopy.destination_table_encryption:type_name -> google.cloud.bigquery.logging.v1.EncryptionInfo 82, // [82:82] is the sub-list for method output_type 82, // [82:82] is the sub-list for method input_type 82, // [82:82] is the sub-list for extension type_name 82, // [82:82] is the sub-list for extension extendee 0, // [0:82] is the sub-list for field type_name } func init() { file_google_cloud_bigquery_logging_v1_audit_data_proto_init() } func file_google_cloud_bigquery_logging_v1_audit_data_proto_init() { if File_google_cloud_bigquery_logging_v1_audit_data_proto != nil { return } if !protoimpl.UnsafeEnabled { file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AuditData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableInsertRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableUpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableInsertResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableUpdateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetInsertRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetInsertResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetUpdateRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetUpdateResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobInsertRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobInsertResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobQueryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobQueryResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobGetQueryResultsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobGetQueryResultsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobQueryDoneResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobCompletedEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableDataReadEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableDataListRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Table); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableViewDefinition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Dataset); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BigQueryAcl); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobConfiguration); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableDefinition); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobStatistics); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DatasetName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobName); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EncryptionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BigQueryAcl_Entry); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobConfiguration_Query); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobConfiguration_Load); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobConfiguration_Extract); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobConfiguration_TableCopy); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobStatistics_ReservationResourceUsage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[0].OneofWrappers = []interface{}{ (*AuditData_TableInsertRequest)(nil), (*AuditData_TableUpdateRequest)(nil), (*AuditData_DatasetListRequest)(nil), (*AuditData_DatasetInsertRequest)(nil), (*AuditData_DatasetUpdateRequest)(nil), (*AuditData_JobInsertRequest)(nil), (*AuditData_JobQueryRequest)(nil), (*AuditData_JobGetQueryResultsRequest)(nil), (*AuditData_TableDataListRequest)(nil), (*AuditData_SetIamPolicyRequest)(nil), (*AuditData_TableInsertResponse)(nil), (*AuditData_TableUpdateResponse)(nil), (*AuditData_DatasetInsertResponse)(nil), (*AuditData_DatasetUpdateResponse)(nil), (*AuditData_JobInsertResponse)(nil), (*AuditData_JobQueryResponse)(nil), (*AuditData_JobGetQueryResultsResponse)(nil), (*AuditData_JobQueryDoneResponse)(nil), (*AuditData_PolicyResponse)(nil), } file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes[27].OneofWrappers = []interface{}{ (*JobConfiguration_Query_)(nil), (*JobConfiguration_Load_)(nil), (*JobConfiguration_Extract_)(nil), (*JobConfiguration_TableCopy_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDesc, NumEnums: 0, NumMessages: 44, NumExtensions: 0, NumServices: 0, }, GoTypes: file_google_cloud_bigquery_logging_v1_audit_data_proto_goTypes, DependencyIndexes: file_google_cloud_bigquery_logging_v1_audit_data_proto_depIdxs, MessageInfos: file_google_cloud_bigquery_logging_v1_audit_data_proto_msgTypes, }.Build() File_google_cloud_bigquery_logging_v1_audit_data_proto = out.File file_google_cloud_bigquery_logging_v1_audit_data_proto_rawDesc = nil file_google_cloud_bigquery_logging_v1_audit_data_proto_goTypes = nil file_google_cloud_bigquery_logging_v1_audit_data_proto_depIdxs = nil }