| // Copyright 2024 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.33.0 |
| // protoc v4.25.3 |
| // source: google/cloud/dataplex/v1/datascans.proto |
| |
| package dataplexpb |
| |
| import ( |
| context "context" |
| reflect "reflect" |
| sync "sync" |
| |
| longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| grpc "google.golang.org/grpc" |
| codes "google.golang.org/grpc/codes" |
| status "google.golang.org/grpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| _ "google.golang.org/protobuf/types/known/emptypb" |
| fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" |
| 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) |
| ) |
| |
| // The type of DataScan. |
| type DataScanType int32 |
| |
| const ( |
| // The DataScan type is unspecified. |
| DataScanType_DATA_SCAN_TYPE_UNSPECIFIED DataScanType = 0 |
| // Data Quality scan. |
| DataScanType_DATA_QUALITY DataScanType = 1 |
| // Data Profile scan. |
| DataScanType_DATA_PROFILE DataScanType = 2 |
| ) |
| |
| // Enum value maps for DataScanType. |
| var ( |
| DataScanType_name = map[int32]string{ |
| 0: "DATA_SCAN_TYPE_UNSPECIFIED", |
| 1: "DATA_QUALITY", |
| 2: "DATA_PROFILE", |
| } |
| DataScanType_value = map[string]int32{ |
| "DATA_SCAN_TYPE_UNSPECIFIED": 0, |
| "DATA_QUALITY": 1, |
| "DATA_PROFILE": 2, |
| } |
| ) |
| |
| func (x DataScanType) Enum() *DataScanType { |
| p := new(DataScanType) |
| *p = x |
| return p |
| } |
| |
| func (x DataScanType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (DataScanType) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dataplex_v1_datascans_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (DataScanType) Type() protoreflect.EnumType { |
| return &file_google_cloud_dataplex_v1_datascans_proto_enumTypes[0] |
| } |
| |
| func (x DataScanType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use DataScanType.Descriptor instead. |
| func (DataScanType) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // DataScan view options. |
| type GetDataScanRequest_DataScanView int32 |
| |
| const ( |
| // The API will default to the `BASIC` view. |
| GetDataScanRequest_DATA_SCAN_VIEW_UNSPECIFIED GetDataScanRequest_DataScanView = 0 |
| // Basic view that does not include *spec* and *result*. |
| GetDataScanRequest_BASIC GetDataScanRequest_DataScanView = 1 |
| // Include everything. |
| GetDataScanRequest_FULL GetDataScanRequest_DataScanView = 10 |
| ) |
| |
| // Enum value maps for GetDataScanRequest_DataScanView. |
| var ( |
| GetDataScanRequest_DataScanView_name = map[int32]string{ |
| 0: "DATA_SCAN_VIEW_UNSPECIFIED", |
| 1: "BASIC", |
| 10: "FULL", |
| } |
| GetDataScanRequest_DataScanView_value = map[string]int32{ |
| "DATA_SCAN_VIEW_UNSPECIFIED": 0, |
| "BASIC": 1, |
| "FULL": 10, |
| } |
| ) |
| |
| func (x GetDataScanRequest_DataScanView) Enum() *GetDataScanRequest_DataScanView { |
| p := new(GetDataScanRequest_DataScanView) |
| *p = x |
| return p |
| } |
| |
| func (x GetDataScanRequest_DataScanView) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (GetDataScanRequest_DataScanView) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dataplex_v1_datascans_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (GetDataScanRequest_DataScanView) Type() protoreflect.EnumType { |
| return &file_google_cloud_dataplex_v1_datascans_proto_enumTypes[1] |
| } |
| |
| func (x GetDataScanRequest_DataScanView) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use GetDataScanRequest_DataScanView.Descriptor instead. |
| func (GetDataScanRequest_DataScanView) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{3, 0} |
| } |
| |
| // DataScanJob view options. |
| type GetDataScanJobRequest_DataScanJobView int32 |
| |
| const ( |
| // The API will default to the `BASIC` view. |
| GetDataScanJobRequest_DATA_SCAN_JOB_VIEW_UNSPECIFIED GetDataScanJobRequest_DataScanJobView = 0 |
| // Basic view that does not include *spec* and *result*. |
| GetDataScanJobRequest_BASIC GetDataScanJobRequest_DataScanJobView = 1 |
| // Include everything. |
| GetDataScanJobRequest_FULL GetDataScanJobRequest_DataScanJobView = 10 |
| ) |
| |
| // Enum value maps for GetDataScanJobRequest_DataScanJobView. |
| var ( |
| GetDataScanJobRequest_DataScanJobView_name = map[int32]string{ |
| 0: "DATA_SCAN_JOB_VIEW_UNSPECIFIED", |
| 1: "BASIC", |
| 10: "FULL", |
| } |
| GetDataScanJobRequest_DataScanJobView_value = map[string]int32{ |
| "DATA_SCAN_JOB_VIEW_UNSPECIFIED": 0, |
| "BASIC": 1, |
| "FULL": 10, |
| } |
| ) |
| |
| func (x GetDataScanJobRequest_DataScanJobView) Enum() *GetDataScanJobRequest_DataScanJobView { |
| p := new(GetDataScanJobRequest_DataScanJobView) |
| *p = x |
| return p |
| } |
| |
| func (x GetDataScanJobRequest_DataScanJobView) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (GetDataScanJobRequest_DataScanJobView) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dataplex_v1_datascans_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (GetDataScanJobRequest_DataScanJobView) Type() protoreflect.EnumType { |
| return &file_google_cloud_dataplex_v1_datascans_proto_enumTypes[2] |
| } |
| |
| func (x GetDataScanJobRequest_DataScanJobView) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use GetDataScanJobRequest_DataScanJobView.Descriptor instead. |
| func (GetDataScanJobRequest_DataScanJobView) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{8, 0} |
| } |
| |
| // Execution state for the DataScanJob. |
| type DataScanJob_State int32 |
| |
| const ( |
| // The DataScanJob state is unspecified. |
| DataScanJob_STATE_UNSPECIFIED DataScanJob_State = 0 |
| // The DataScanJob is running. |
| DataScanJob_RUNNING DataScanJob_State = 1 |
| // The DataScanJob is canceling. |
| DataScanJob_CANCELING DataScanJob_State = 2 |
| // The DataScanJob cancellation was successful. |
| DataScanJob_CANCELLED DataScanJob_State = 3 |
| // The DataScanJob completed successfully. |
| DataScanJob_SUCCEEDED DataScanJob_State = 4 |
| // The DataScanJob is no longer running due to an error. |
| DataScanJob_FAILED DataScanJob_State = 5 |
| // The DataScanJob has been created but not started to run yet. |
| DataScanJob_PENDING DataScanJob_State = 7 |
| ) |
| |
| // Enum value maps for DataScanJob_State. |
| var ( |
| DataScanJob_State_name = map[int32]string{ |
| 0: "STATE_UNSPECIFIED", |
| 1: "RUNNING", |
| 2: "CANCELING", |
| 3: "CANCELLED", |
| 4: "SUCCEEDED", |
| 5: "FAILED", |
| 7: "PENDING", |
| } |
| DataScanJob_State_value = map[string]int32{ |
| "STATE_UNSPECIFIED": 0, |
| "RUNNING": 1, |
| "CANCELING": 2, |
| "CANCELLED": 3, |
| "SUCCEEDED": 4, |
| "FAILED": 5, |
| "PENDING": 7, |
| } |
| ) |
| |
| func (x DataScanJob_State) Enum() *DataScanJob_State { |
| p := new(DataScanJob_State) |
| *p = x |
| return p |
| } |
| |
| func (x DataScanJob_State) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (DataScanJob_State) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dataplex_v1_datascans_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (DataScanJob_State) Type() protoreflect.EnumType { |
| return &file_google_cloud_dataplex_v1_datascans_proto_enumTypes[3] |
| } |
| |
| func (x DataScanJob_State) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use DataScanJob_State.Descriptor instead. |
| func (DataScanJob_State) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{14, 0} |
| } |
| |
| // Create dataScan request. |
| type CreateDataScanRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the parent location: |
| // `projects/{project}/locations/{location_id}` |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Required. DataScan resource. |
| DataScan *DataScan `protobuf:"bytes,2,opt,name=data_scan,json=dataScan,proto3" json:"data_scan,omitempty"` |
| // Required. DataScan identifier. |
| // |
| // * Must contain only lowercase letters, numbers and hyphens. |
| // * Must start with a letter. |
| // * Must end with a number or a letter. |
| // * Must be between 1-63 characters. |
| // * Must be unique within the customer project / location. |
| DataScanId string `protobuf:"bytes,3,opt,name=data_scan_id,json=dataScanId,proto3" json:"data_scan_id,omitempty"` |
| // Optional. Only validate the request, but do not perform mutations. |
| // The default is `false`. |
| ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| } |
| |
| func (x *CreateDataScanRequest) Reset() { |
| *x = CreateDataScanRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CreateDataScanRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CreateDataScanRequest) ProtoMessage() {} |
| |
| func (x *CreateDataScanRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 CreateDataScanRequest.ProtoReflect.Descriptor instead. |
| func (*CreateDataScanRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *CreateDataScanRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *CreateDataScanRequest) GetDataScan() *DataScan { |
| if x != nil { |
| return x.DataScan |
| } |
| return nil |
| } |
| |
| func (x *CreateDataScanRequest) GetDataScanId() string { |
| if x != nil { |
| return x.DataScanId |
| } |
| return "" |
| } |
| |
| func (x *CreateDataScanRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| // Update dataScan request. |
| type UpdateDataScanRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. DataScan resource to be updated. |
| // |
| // Only fields specified in `update_mask` are updated. |
| DataScan *DataScan `protobuf:"bytes,1,opt,name=data_scan,json=dataScan,proto3" json:"data_scan,omitempty"` |
| // Required. Mask of fields to update. |
| UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` |
| // Optional. Only validate the request, but do not perform mutations. |
| // The default is `false`. |
| ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` |
| } |
| |
| func (x *UpdateDataScanRequest) Reset() { |
| *x = UpdateDataScanRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *UpdateDataScanRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*UpdateDataScanRequest) ProtoMessage() {} |
| |
| func (x *UpdateDataScanRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 UpdateDataScanRequest.ProtoReflect.Descriptor instead. |
| func (*UpdateDataScanRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *UpdateDataScanRequest) GetDataScan() *DataScan { |
| if x != nil { |
| return x.DataScan |
| } |
| return nil |
| } |
| |
| func (x *UpdateDataScanRequest) GetUpdateMask() *fieldmaskpb.FieldMask { |
| if x != nil { |
| return x.UpdateMask |
| } |
| return nil |
| } |
| |
| func (x *UpdateDataScanRequest) GetValidateOnly() bool { |
| if x != nil { |
| return x.ValidateOnly |
| } |
| return false |
| } |
| |
| // Delete dataScan request. |
| type DeleteDataScanRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the dataScan: |
| // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}` |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *DeleteDataScanRequest) Reset() { |
| *x = DeleteDataScanRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteDataScanRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteDataScanRequest) ProtoMessage() {} |
| |
| func (x *DeleteDataScanRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 DeleteDataScanRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteDataScanRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *DeleteDataScanRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Get dataScan request. |
| type GetDataScanRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the dataScan: |
| // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}` |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. Select the DataScan view to return. Defaults to `BASIC`. |
| View GetDataScanRequest_DataScanView `protobuf:"varint,2,opt,name=view,proto3,enum=google.cloud.dataplex.v1.GetDataScanRequest_DataScanView" json:"view,omitempty"` |
| } |
| |
| func (x *GetDataScanRequest) Reset() { |
| *x = GetDataScanRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetDataScanRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetDataScanRequest) ProtoMessage() {} |
| |
| func (x *GetDataScanRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 GetDataScanRequest.ProtoReflect.Descriptor instead. |
| func (*GetDataScanRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *GetDataScanRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *GetDataScanRequest) GetView() GetDataScanRequest_DataScanView { |
| if x != nil { |
| return x.View |
| } |
| return GetDataScanRequest_DATA_SCAN_VIEW_UNSPECIFIED |
| } |
| |
| // List dataScans request. |
| type ListDataScansRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the parent location: |
| // `projects/{project}/locations/{location_id}` |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Optional. Maximum number of dataScans to return. The service may return |
| // fewer than this value. If unspecified, at most 500 scans will be returned. |
| // The maximum value is 1000; values above 1000 will be coerced to 1000. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional. Page token received from a previous `ListDataScans` call. Provide |
| // this to retrieve the subsequent page. When paginating, all other parameters |
| // provided to `ListDataScans` must match the call that provided the |
| // page token. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Optional. Filter request. |
| Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` |
| // Optional. Order by fields (`name` or `create_time`) for the result. |
| // If not specified, the ordering is undefined. |
| OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` |
| } |
| |
| func (x *ListDataScansRequest) Reset() { |
| *x = ListDataScansRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListDataScansRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListDataScansRequest) ProtoMessage() {} |
| |
| func (x *ListDataScansRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 ListDataScansRequest.ProtoReflect.Descriptor instead. |
| func (*ListDataScansRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *ListDataScansRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListDataScansRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListDataScansRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListDataScansRequest) GetFilter() string { |
| if x != nil { |
| return x.Filter |
| } |
| return "" |
| } |
| |
| func (x *ListDataScansRequest) GetOrderBy() string { |
| if x != nil { |
| return x.OrderBy |
| } |
| return "" |
| } |
| |
| // List dataScans response. |
| type ListDataScansResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // DataScans (`BASIC` view only) under the given parent location. |
| DataScans []*DataScan `protobuf:"bytes,1,rep,name=data_scans,json=dataScans,proto3" json:"data_scans,omitempty"` |
| // Token to retrieve the next page of results, or empty if there are no more |
| // results in the list. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| // Locations that could not be reached. |
| Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` |
| } |
| |
| func (x *ListDataScansResponse) Reset() { |
| *x = ListDataScansResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListDataScansResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListDataScansResponse) ProtoMessage() {} |
| |
| func (x *ListDataScansResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 ListDataScansResponse.ProtoReflect.Descriptor instead. |
| func (*ListDataScansResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *ListDataScansResponse) GetDataScans() []*DataScan { |
| if x != nil { |
| return x.DataScans |
| } |
| return nil |
| } |
| |
| func (x *ListDataScansResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| func (x *ListDataScansResponse) GetUnreachable() []string { |
| if x != nil { |
| return x.Unreachable |
| } |
| return nil |
| } |
| |
| // Run DataScan Request |
| type RunDataScanRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the DataScan: |
| // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}`. |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| // |
| // Only **OnDemand** data scans are allowed. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *RunDataScanRequest) Reset() { |
| *x = RunDataScanRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RunDataScanRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RunDataScanRequest) ProtoMessage() {} |
| |
| func (x *RunDataScanRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 RunDataScanRequest.ProtoReflect.Descriptor instead. |
| func (*RunDataScanRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *RunDataScanRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Run DataScan Response. |
| type RunDataScanResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // DataScanJob created by RunDataScan request. |
| Job *DataScanJob `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` |
| } |
| |
| func (x *RunDataScanResponse) Reset() { |
| *x = RunDataScanResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RunDataScanResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RunDataScanResponse) ProtoMessage() {} |
| |
| func (x *RunDataScanResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 RunDataScanResponse.ProtoReflect.Descriptor instead. |
| func (*RunDataScanResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *RunDataScanResponse) GetJob() *DataScanJob { |
| if x != nil { |
| return x.Job |
| } |
| return nil |
| } |
| |
| // Get DataScanJob request. |
| type GetDataScanJobRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the DataScanJob: |
| // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}/jobs/{data_scan_job_id}` |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. Select the DataScanJob view to return. Defaults to `BASIC`. |
| View GetDataScanJobRequest_DataScanJobView `protobuf:"varint,2,opt,name=view,proto3,enum=google.cloud.dataplex.v1.GetDataScanJobRequest_DataScanJobView" json:"view,omitempty"` |
| } |
| |
| func (x *GetDataScanJobRequest) Reset() { |
| *x = GetDataScanJobRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetDataScanJobRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetDataScanJobRequest) ProtoMessage() {} |
| |
| func (x *GetDataScanJobRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 GetDataScanJobRequest.ProtoReflect.Descriptor instead. |
| func (*GetDataScanJobRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *GetDataScanJobRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *GetDataScanJobRequest) GetView() GetDataScanJobRequest_DataScanJobView { |
| if x != nil { |
| return x.View |
| } |
| return GetDataScanJobRequest_DATA_SCAN_JOB_VIEW_UNSPECIFIED |
| } |
| |
| // List DataScanJobs request. |
| type ListDataScanJobsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The resource name of the parent environment: |
| // `projects/{project}/locations/{location_id}/dataScans/{data_scan_id}` |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` |
| // Optional. Maximum number of DataScanJobs to return. The service may return |
| // fewer than this value. If unspecified, at most 10 DataScanJobs will be |
| // returned. The maximum value is 1000; values above 1000 will be coerced to |
| // 1000. |
| PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` |
| // Optional. Page token received from a previous `ListDataScanJobs` call. |
| // Provide this to retrieve the subsequent page. When paginating, all other |
| // parameters provided to `ListDataScanJobs` must match the call that provided |
| // the page token. |
| PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` |
| // Optional. An expression for filtering the results of the ListDataScanJobs |
| // request. |
| // |
| // If unspecified, all datascan jobs will be returned. Multiple filters can be |
| // applied (with `AND`, `OR` logical operators). Filters are case-sensitive. |
| // |
| // Allowed fields are: |
| // |
| // - `start_time` |
| // - `end_time` |
| // |
| // `start_time` and `end_time` expect RFC-3339 formatted strings (e.g. |
| // 2018-10-08T18:30:00-07:00). |
| // |
| // For instance, 'start_time > 2018-10-08T00:00:00.123456789Z AND end_time < |
| // 2018-10-09T00:00:00.123456789Z' limits results to DataScanJobs between |
| // specified start and end times. |
| Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` |
| } |
| |
| func (x *ListDataScanJobsRequest) Reset() { |
| *x = ListDataScanJobsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListDataScanJobsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListDataScanJobsRequest) ProtoMessage() {} |
| |
| func (x *ListDataScanJobsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 ListDataScanJobsRequest.ProtoReflect.Descriptor instead. |
| func (*ListDataScanJobsRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *ListDataScanJobsRequest) GetParent() string { |
| if x != nil { |
| return x.Parent |
| } |
| return "" |
| } |
| |
| func (x *ListDataScanJobsRequest) GetPageSize() int32 { |
| if x != nil { |
| return x.PageSize |
| } |
| return 0 |
| } |
| |
| func (x *ListDataScanJobsRequest) GetPageToken() string { |
| if x != nil { |
| return x.PageToken |
| } |
| return "" |
| } |
| |
| func (x *ListDataScanJobsRequest) GetFilter() string { |
| if x != nil { |
| return x.Filter |
| } |
| return "" |
| } |
| |
| // List DataScanJobs response. |
| type ListDataScanJobsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // DataScanJobs (`BASIC` view only) under a given dataScan. |
| DataScanJobs []*DataScanJob `protobuf:"bytes,1,rep,name=data_scan_jobs,json=dataScanJobs,proto3" json:"data_scan_jobs,omitempty"` |
| // Token to retrieve the next page of results, or empty if there are no more |
| // results in the list. |
| NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` |
| } |
| |
| func (x *ListDataScanJobsResponse) Reset() { |
| *x = ListDataScanJobsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ListDataScanJobsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ListDataScanJobsResponse) ProtoMessage() {} |
| |
| func (x *ListDataScanJobsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 ListDataScanJobsResponse.ProtoReflect.Descriptor instead. |
| func (*ListDataScanJobsResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *ListDataScanJobsResponse) GetDataScanJobs() []*DataScanJob { |
| if x != nil { |
| return x.DataScanJobs |
| } |
| return nil |
| } |
| |
| func (x *ListDataScanJobsResponse) GetNextPageToken() string { |
| if x != nil { |
| return x.NextPageToken |
| } |
| return "" |
| } |
| |
| // Generate recommended DataQualityRules request. |
| type GenerateDataQualityRulesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The name should be either |
| // * the name of a datascan with at least one successful completed data |
| // profiling job, or |
| // * the name of a successful completed data profiling datascan job. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *GenerateDataQualityRulesRequest) Reset() { |
| *x = GenerateDataQualityRulesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GenerateDataQualityRulesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GenerateDataQualityRulesRequest) ProtoMessage() {} |
| |
| func (x *GenerateDataQualityRulesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 GenerateDataQualityRulesRequest.ProtoReflect.Descriptor instead. |
| func (*GenerateDataQualityRulesRequest) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *GenerateDataQualityRulesRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // Generate recommended DataQualityRules response. |
| type GenerateDataQualityRulesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Generated recommended {@link DataQualityRule}s. |
| Rule []*DataQualityRule `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"` |
| } |
| |
| func (x *GenerateDataQualityRulesResponse) Reset() { |
| *x = GenerateDataQualityRulesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GenerateDataQualityRulesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GenerateDataQualityRulesResponse) ProtoMessage() {} |
| |
| func (x *GenerateDataQualityRulesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 GenerateDataQualityRulesResponse.ProtoReflect.Descriptor instead. |
| func (*GenerateDataQualityRulesResponse) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *GenerateDataQualityRulesResponse) GetRule() []*DataQualityRule { |
| if x != nil { |
| return x.Rule |
| } |
| return nil |
| } |
| |
| // Represents a user-visible job which provides the insights for the related |
| // data source. |
| // |
| // For example: |
| // |
| // - Data Quality: generates queries based on the rules and runs against the |
| // data to get data quality check results. |
| // - Data Profile: analyzes the data in table(s) and generates insights about |
| // the structure, content and relationships (such as null percent, |
| // cardinality, min/max/mean, etc). |
| type DataScan struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The relative resource name of the scan, of the form: |
| // `projects/{project}/locations/{location_id}/dataScans/{datascan_id}`, |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. System generated globally unique ID for the scan. This ID will |
| // be different if the scan is deleted and re-created with the same name. |
| Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` |
| // Optional. Description of the scan. |
| // |
| // * Must be between 1-1024 characters. |
| Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` |
| // Optional. User friendly display name. |
| // |
| // * Must be between 1-256 characters. |
| DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Optional. User-defined labels for the scan. |
| Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // Output only. Current state of the DataScan. |
| State State `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.dataplex.v1.State" json:"state,omitempty"` |
| // Output only. The time when the scan was created. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. The time when the scan was last updated. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // Required. The data source for DataScan. |
| Data *DataSource `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"` |
| // Optional. DataScan execution settings. |
| // |
| // If not specified, the fields in it will use their default values. |
| ExecutionSpec *DataScan_ExecutionSpec `protobuf:"bytes,10,opt,name=execution_spec,json=executionSpec,proto3" json:"execution_spec,omitempty"` |
| // Output only. Status of the data scan execution. |
| ExecutionStatus *DataScan_ExecutionStatus `protobuf:"bytes,11,opt,name=execution_status,json=executionStatus,proto3" json:"execution_status,omitempty"` |
| // Output only. The type of DataScan. |
| Type DataScanType `protobuf:"varint,12,opt,name=type,proto3,enum=google.cloud.dataplex.v1.DataScanType" json:"type,omitempty"` |
| // Data Scan related setting. |
| // It is required and immutable which means once data_quality_spec is set, it |
| // cannot be changed to data_profile_spec. |
| // |
| // Types that are assignable to Spec: |
| // |
| // *DataScan_DataQualitySpec |
| // *DataScan_DataProfileSpec |
| Spec isDataScan_Spec `protobuf_oneof:"spec"` |
| // The result of the data scan. |
| // |
| // Types that are assignable to Result: |
| // |
| // *DataScan_DataQualityResult |
| // *DataScan_DataProfileResult |
| Result isDataScan_Result `protobuf_oneof:"result"` |
| } |
| |
| func (x *DataScan) Reset() { |
| *x = DataScan{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataScan) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataScan) ProtoMessage() {} |
| |
| func (x *DataScan) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 DataScan.ProtoReflect.Descriptor instead. |
| func (*DataScan) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *DataScan) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DataScan) GetUid() string { |
| if x != nil { |
| return x.Uid |
| } |
| return "" |
| } |
| |
| func (x *DataScan) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| func (x *DataScan) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *DataScan) GetLabels() map[string]string { |
| if x != nil { |
| return x.Labels |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetState() State { |
| if x != nil { |
| return x.State |
| } |
| return State_STATE_UNSPECIFIED |
| } |
| |
| func (x *DataScan) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetData() *DataSource { |
| if x != nil { |
| return x.Data |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetExecutionSpec() *DataScan_ExecutionSpec { |
| if x != nil { |
| return x.ExecutionSpec |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetExecutionStatus() *DataScan_ExecutionStatus { |
| if x != nil { |
| return x.ExecutionStatus |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetType() DataScanType { |
| if x != nil { |
| return x.Type |
| } |
| return DataScanType_DATA_SCAN_TYPE_UNSPECIFIED |
| } |
| |
| func (m *DataScan) GetSpec() isDataScan_Spec { |
| if m != nil { |
| return m.Spec |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetDataQualitySpec() *DataQualitySpec { |
| if x, ok := x.GetSpec().(*DataScan_DataQualitySpec); ok { |
| return x.DataQualitySpec |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetDataProfileSpec() *DataProfileSpec { |
| if x, ok := x.GetSpec().(*DataScan_DataProfileSpec); ok { |
| return x.DataProfileSpec |
| } |
| return nil |
| } |
| |
| func (m *DataScan) GetResult() isDataScan_Result { |
| if m != nil { |
| return m.Result |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetDataQualityResult() *DataQualityResult { |
| if x, ok := x.GetResult().(*DataScan_DataQualityResult); ok { |
| return x.DataQualityResult |
| } |
| return nil |
| } |
| |
| func (x *DataScan) GetDataProfileResult() *DataProfileResult { |
| if x, ok := x.GetResult().(*DataScan_DataProfileResult); ok { |
| return x.DataProfileResult |
| } |
| return nil |
| } |
| |
| type isDataScan_Spec interface { |
| isDataScan_Spec() |
| } |
| |
| type DataScan_DataQualitySpec struct { |
| // DataQualityScan related setting. |
| DataQualitySpec *DataQualitySpec `protobuf:"bytes,100,opt,name=data_quality_spec,json=dataQualitySpec,proto3,oneof"` |
| } |
| |
| type DataScan_DataProfileSpec struct { |
| // DataProfileScan related setting. |
| DataProfileSpec *DataProfileSpec `protobuf:"bytes,101,opt,name=data_profile_spec,json=dataProfileSpec,proto3,oneof"` |
| } |
| |
| func (*DataScan_DataQualitySpec) isDataScan_Spec() {} |
| |
| func (*DataScan_DataProfileSpec) isDataScan_Spec() {} |
| |
| type isDataScan_Result interface { |
| isDataScan_Result() |
| } |
| |
| type DataScan_DataQualityResult struct { |
| // Output only. The result of the data quality scan. |
| DataQualityResult *DataQualityResult `protobuf:"bytes,200,opt,name=data_quality_result,json=dataQualityResult,proto3,oneof"` |
| } |
| |
| type DataScan_DataProfileResult struct { |
| // Output only. The result of the data profile scan. |
| DataProfileResult *DataProfileResult `protobuf:"bytes,201,opt,name=data_profile_result,json=dataProfileResult,proto3,oneof"` |
| } |
| |
| func (*DataScan_DataQualityResult) isDataScan_Result() {} |
| |
| func (*DataScan_DataProfileResult) isDataScan_Result() {} |
| |
| // A DataScanJob represents an instance of DataScan execution. |
| type DataScanJob struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The relative resource name of the DataScanJob, of the form: |
| // `projects/{project}/locations/{location_id}/dataScans/{datascan_id}/jobs/{job_id}`, |
| // where `project` refers to a *project_id* or *project_number* and |
| // `location_id` refers to a GCP region. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Output only. System generated globally unique ID for the DataScanJob. |
| Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` |
| // Output only. The time when the DataScanJob was started. |
| StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` |
| // Output only. The time when the DataScanJob ended. |
| EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` |
| // Output only. Execution state for the DataScanJob. |
| State DataScanJob_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.dataplex.v1.DataScanJob_State" json:"state,omitempty"` |
| // Output only. Additional information about the current state. |
| Message string `protobuf:"bytes,6,opt,name=message,proto3" json:"message,omitempty"` |
| // Output only. The type of the parent DataScan. |
| Type DataScanType `protobuf:"varint,7,opt,name=type,proto3,enum=google.cloud.dataplex.v1.DataScanType" json:"type,omitempty"` |
| // Data Scan related setting. |
| // |
| // Types that are assignable to Spec: |
| // |
| // *DataScanJob_DataQualitySpec |
| // *DataScanJob_DataProfileSpec |
| Spec isDataScanJob_Spec `protobuf_oneof:"spec"` |
| // The result of the data scan. |
| // |
| // Types that are assignable to Result: |
| // |
| // *DataScanJob_DataQualityResult |
| // *DataScanJob_DataProfileResult |
| Result isDataScanJob_Result `protobuf_oneof:"result"` |
| } |
| |
| func (x *DataScanJob) Reset() { |
| *x = DataScanJob{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataScanJob) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataScanJob) ProtoMessage() {} |
| |
| func (x *DataScanJob) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 DataScanJob.ProtoReflect.Descriptor instead. |
| func (*DataScanJob) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *DataScanJob) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DataScanJob) GetUid() string { |
| if x != nil { |
| return x.Uid |
| } |
| return "" |
| } |
| |
| func (x *DataScanJob) GetStartTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.StartTime |
| } |
| return nil |
| } |
| |
| func (x *DataScanJob) GetEndTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.EndTime |
| } |
| return nil |
| } |
| |
| func (x *DataScanJob) GetState() DataScanJob_State { |
| if x != nil { |
| return x.State |
| } |
| return DataScanJob_STATE_UNSPECIFIED |
| } |
| |
| func (x *DataScanJob) GetMessage() string { |
| if x != nil { |
| return x.Message |
| } |
| return "" |
| } |
| |
| func (x *DataScanJob) GetType() DataScanType { |
| if x != nil { |
| return x.Type |
| } |
| return DataScanType_DATA_SCAN_TYPE_UNSPECIFIED |
| } |
| |
| func (m *DataScanJob) GetSpec() isDataScanJob_Spec { |
| if m != nil { |
| return m.Spec |
| } |
| return nil |
| } |
| |
| func (x *DataScanJob) GetDataQualitySpec() *DataQualitySpec { |
| if x, ok := x.GetSpec().(*DataScanJob_DataQualitySpec); ok { |
| return x.DataQualitySpec |
| } |
| return nil |
| } |
| |
| func (x *DataScanJob) GetDataProfileSpec() *DataProfileSpec { |
| if x, ok := x.GetSpec().(*DataScanJob_DataProfileSpec); ok { |
| return x.DataProfileSpec |
| } |
| return nil |
| } |
| |
| func (m *DataScanJob) GetResult() isDataScanJob_Result { |
| if m != nil { |
| return m.Result |
| } |
| return nil |
| } |
| |
| func (x *DataScanJob) GetDataQualityResult() *DataQualityResult { |
| if x, ok := x.GetResult().(*DataScanJob_DataQualityResult); ok { |
| return x.DataQualityResult |
| } |
| return nil |
| } |
| |
| func (x *DataScanJob) GetDataProfileResult() *DataProfileResult { |
| if x, ok := x.GetResult().(*DataScanJob_DataProfileResult); ok { |
| return x.DataProfileResult |
| } |
| return nil |
| } |
| |
| type isDataScanJob_Spec interface { |
| isDataScanJob_Spec() |
| } |
| |
| type DataScanJob_DataQualitySpec struct { |
| // Output only. DataQualityScan related setting. |
| DataQualitySpec *DataQualitySpec `protobuf:"bytes,100,opt,name=data_quality_spec,json=dataQualitySpec,proto3,oneof"` |
| } |
| |
| type DataScanJob_DataProfileSpec struct { |
| // Output only. DataProfileScan related setting. |
| DataProfileSpec *DataProfileSpec `protobuf:"bytes,101,opt,name=data_profile_spec,json=dataProfileSpec,proto3,oneof"` |
| } |
| |
| func (*DataScanJob_DataQualitySpec) isDataScanJob_Spec() {} |
| |
| func (*DataScanJob_DataProfileSpec) isDataScanJob_Spec() {} |
| |
| type isDataScanJob_Result interface { |
| isDataScanJob_Result() |
| } |
| |
| type DataScanJob_DataQualityResult struct { |
| // Output only. The result of the data quality scan. |
| DataQualityResult *DataQualityResult `protobuf:"bytes,200,opt,name=data_quality_result,json=dataQualityResult,proto3,oneof"` |
| } |
| |
| type DataScanJob_DataProfileResult struct { |
| // Output only. The result of the data profile scan. |
| DataProfileResult *DataProfileResult `protobuf:"bytes,201,opt,name=data_profile_result,json=dataProfileResult,proto3,oneof"` |
| } |
| |
| func (*DataScanJob_DataQualityResult) isDataScanJob_Result() {} |
| |
| func (*DataScanJob_DataProfileResult) isDataScanJob_Result() {} |
| |
| // DataScan execution settings. |
| type DataScan_ExecutionSpec struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. Spec related to how often and when a scan should be triggered. |
| // |
| // If not specified, the default is `OnDemand`, which means the scan will |
| // not run until the user calls `RunDataScan` API. |
| Trigger *Trigger `protobuf:"bytes,1,opt,name=trigger,proto3" json:"trigger,omitempty"` |
| // Spec related to incremental scan of the data |
| // |
| // When an option is selected for incremental scan, it cannot be unset or |
| // changed. If not specified, a data scan will run for all data in the |
| // table. |
| // |
| // Types that are assignable to Incremental: |
| // |
| // *DataScan_ExecutionSpec_Field |
| Incremental isDataScan_ExecutionSpec_Incremental `protobuf_oneof:"incremental"` |
| } |
| |
| func (x *DataScan_ExecutionSpec) Reset() { |
| *x = DataScan_ExecutionSpec{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataScan_ExecutionSpec) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataScan_ExecutionSpec) ProtoMessage() {} |
| |
| func (x *DataScan_ExecutionSpec) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 DataScan_ExecutionSpec.ProtoReflect.Descriptor instead. |
| func (*DataScan_ExecutionSpec) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{13, 0} |
| } |
| |
| func (x *DataScan_ExecutionSpec) GetTrigger() *Trigger { |
| if x != nil { |
| return x.Trigger |
| } |
| return nil |
| } |
| |
| func (m *DataScan_ExecutionSpec) GetIncremental() isDataScan_ExecutionSpec_Incremental { |
| if m != nil { |
| return m.Incremental |
| } |
| return nil |
| } |
| |
| func (x *DataScan_ExecutionSpec) GetField() string { |
| if x, ok := x.GetIncremental().(*DataScan_ExecutionSpec_Field); ok { |
| return x.Field |
| } |
| return "" |
| } |
| |
| type isDataScan_ExecutionSpec_Incremental interface { |
| isDataScan_ExecutionSpec_Incremental() |
| } |
| |
| type DataScan_ExecutionSpec_Field struct { |
| // Immutable. The unnested field (of type *Date* or *Timestamp*) that |
| // contains values which monotonically increase over time. |
| // |
| // If not specified, a data scan will run for all data in the table. |
| Field string `protobuf:"bytes,100,opt,name=field,proto3,oneof"` |
| } |
| |
| func (*DataScan_ExecutionSpec_Field) isDataScan_ExecutionSpec_Incremental() {} |
| |
| // Status of the data scan execution. |
| type DataScan_ExecutionStatus struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The time when the latest DataScanJob started. |
| LatestJobStartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=latest_job_start_time,json=latestJobStartTime,proto3" json:"latest_job_start_time,omitempty"` |
| // The time when the latest DataScanJob ended. |
| LatestJobEndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=latest_job_end_time,json=latestJobEndTime,proto3" json:"latest_job_end_time,omitempty"` |
| } |
| |
| func (x *DataScan_ExecutionStatus) Reset() { |
| *x = DataScan_ExecutionStatus{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_datascans_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataScan_ExecutionStatus) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataScan_ExecutionStatus) ProtoMessage() {} |
| |
| func (x *DataScan_ExecutionStatus) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_datascans_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 DataScan_ExecutionStatus.ProtoReflect.Descriptor instead. |
| func (*DataScan_ExecutionStatus) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP(), []int{13, 1} |
| } |
| |
| func (x *DataScan_ExecutionStatus) GetLatestJobStartTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.LatestJobStartTime |
| } |
| return nil |
| } |
| |
| func (x *DataScan_ExecutionStatus) GetLatestJobEndTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.LatestJobEndTime |
| } |
| return nil |
| } |
| |
| var File_google_cloud_dataplex_v1_datascans_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_dataplex_v1_datascans_proto_rawDesc = []byte{ |
| 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, |
| 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, |
| 0x63, 0x61, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, |
| 0x78, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, |
| 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, |
| 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, |
| 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x76, |
| 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, |
| 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x76, 0x31, 0x2f, 0x64, |
| 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, |
| 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x63, |
| 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, |
| 0x6c, 0x65, 0x78, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x76, 0x31, |
| 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, |
| 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, |
| 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, |
| 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, |
| 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x12, 0x44, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, |
| 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, |
| 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, |
| 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, |
| 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a, |
| 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, |
| 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, |
| 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, |
| 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, |
| 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, |
| 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, |
| 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, |
| 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, |
| 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, |
| 0x6e, 0x6c, 0x79, 0x22, 0x55, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, |
| 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, |
| 0x41, 0x22, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x47, |
| 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, |
| 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, |
| 0x52, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, |
| 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x76, |
| 0x69, 0x65, 0x77, 0x22, 0x43, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x56, |
| 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x43, 0x41, 0x4e, |
| 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, |
| 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, |
| 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x0a, 0x22, 0xdc, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, |
| 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, |
| 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, |
| 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, |
| 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, |
| 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, |
| 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, |
| 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, |
| 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xa4, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x73, 0x18, |
| 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, |
| 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, |
| 0x63, 0x61, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, |
| 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, |
| 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, |
| 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, |
| 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x52, |
| 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, |
| 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, |
| 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, |
| 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, |
| 0x6e, 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, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, |
| 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, |
| 0x6f, 0x62, 0x22, 0xfe, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, |
| 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, |
| 0x41, 0x25, 0x0a, 0x23, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, |
| 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, |
| 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, |
| 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, |
| 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x42, 0x03, 0xe0, 0x41, |
| 0x01, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x4a, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x53, |
| 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x56, 0x69, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x41, |
| 0x54, 0x41, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x56, 0x49, 0x45, 0x57, |
| 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, |
| 0x0a, 0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, |
| 0x4c, 0x10, 0x0a, 0x22, 0xbe, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, |
| 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, |
| 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, |
| 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, |
| 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, |
| 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, |
| 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, |
| 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x6a, |
| 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, |
| 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, |
| 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, |
| 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, |
| 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3a, 0x0a, 0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, |
| 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, |
| 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, |
| 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, |
| 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, |
| 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, |
| 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0xb3, 0x0c, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, |
| 0x61, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, |
| 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, |
| 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, |
| 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, |
| 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, |
| 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, |
| 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, |
| 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, |
| 0x61, 0x53, 0x63, 0x61, 0x6e, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, |
| 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3a, |
| 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, |
| 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, |
| 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, |
| 0x65, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, |
| 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, |
| 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, |
| 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, |
| 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5c, 0x0a, |
| 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, |
| 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, |
| 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, |
| 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x65, 0x78, |
| 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x62, 0x0a, 0x10, 0x65, |
| 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, |
| 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, |
| 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, |
| 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, |
| 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, |
| 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, |
| 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, |
| 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, |
| 0x12, 0x57, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, |
| 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, |
| 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, |
| 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x51, 0x75, |
| 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x57, 0x0a, 0x11, 0x64, 0x61, 0x74, |
| 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x65, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, |
| 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, |
| 0x00, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x70, |
| 0x65, 0x63, 0x12, 0x63, 0x0a, 0x13, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, |
| 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, |
| 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, |
| 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x48, 0x01, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, |
| 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x63, 0x0a, 0x13, 0x64, 0x61, 0x74, 0x61, 0x5f, |
| 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0xc9, |
| 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, |
| 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, |
| 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x50, |
| 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x7d, 0x0a, 0x0d, |
| 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x40, 0x0a, |
| 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, |
| 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, |
| 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, |
| 0x1b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, |
| 0xe0, 0x41, 0x05, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0d, 0x0a, 0x0b, |
| 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x1a, 0xab, 0x01, 0x0a, 0x0f, |
| 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, |
| 0x4d, 0x0a, 0x15, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, |
| 0x61, 0x72, 0x74, 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, 0x12, 0x6c, 0x61, 0x74, 0x65, |
| 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x49, |
| 0x0a, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, |
| 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, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4a, |
| 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, |
| 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, |
| 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, |
| 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x63, 0xea, 0x41, 0x60, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x70, |
| 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, |
| 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x3c, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, |
| 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x2f, 0x7b, |
| 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x7d, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x70, 0x65, |
| 0x63, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xdf, 0x07, 0x0a, 0x0b, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x73, |
| 0x74, 0x61, 0x72, 0x74, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, |
| 0x6e, 0x64, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, |
| 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, |
| 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, |
| 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, |
| 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, |
| 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3f, |
| 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, |
| 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, |
| 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, |
| 0x5c, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, |
| 0x73, 0x70, 0x65, 0x63, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, |
| 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, |
| 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, |
| 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5c, 0x0a, |
| 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x70, |
| 0x65, 0x63, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, |
| 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, |
| 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, |
| 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x63, 0x0a, 0x13, 0x64, |
| 0x61, 0x74, 0x61, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, |
| 0x6c, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, |
| 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, |
| 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x01, 0x52, 0x11, 0x64, |
| 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x12, 0x63, 0x0a, 0x13, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, |
| 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, |
| 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, |
| 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x48, 0x01, 0x52, 0x11, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x71, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, |
| 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, |
| 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, |
| 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x49, 0x4e, 0x47, 0x10, |
| 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x03, |
| 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x12, |
| 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x50, |
| 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x3a, 0x71, 0xea, 0x41, 0x6e, 0x0a, 0x23, 0x64, |
| 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, |
| 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, |
| 0x6f, 0x62, 0x12, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x7d, |
| 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x7d, 0x42, 0x06, 0x0a, 0x04, 0x73, |
| 0x70, 0x65, 0x63, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2a, 0x52, 0x0a, |
| 0x0c, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, |
| 0x1a, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, |
| 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, |
| 0x0c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, |
| 0x10, 0x0a, 0x0c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, |
| 0x02, 0x32, 0xb6, 0x0f, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe3, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, |
| 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, |
| 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, |
| 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x1d, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x2c, 0x64, |
| 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, |
| 0x3a, 0x3a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x22, 0x2d, 0x2f, 0x76, |
| 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, |
| 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x0e, |
| 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x2f, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, |
| 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, |
| 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, |
| 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, |
| 0x01, 0xca, 0x41, 0x1d, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x11, |
| 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, |
| 0x61, 0xda, 0x41, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x2c, 0x75, 0x70, |
| 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, |
| 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x32, 0x37, 0x2f, 0x76, 0x31, 0x2f, |
| 0x7b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, |
| 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, |
| 0x2f, 0x2a, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, |
| 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, |
| 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, |
| 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, |
| 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x2f, 0x2a, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, |
| 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, |
| 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, |
| 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, |
| 0x63, 0x61, 0x6e, 0x22, 0x3c, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, |
| 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, |
| 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x2f, 0x2a, |
| 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, |
| 0x61, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4c, |
| 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, |
| 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4c, |
| 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, |
| 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, |
| 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, |
| 0x63, 0x61, 0x6e, 0x73, 0x12, 0xaf, 0x01, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, |
| 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, |
| 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x22, 0x43, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, |
| 0x3a, 0x01, 0x2a, 0x22, 0x31, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, |
| 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x2f, |
| 0x2a, 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x12, 0xad, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, |
| 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, |
| 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, |
| 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, |
| 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, |
| 0x62, 0x22, 0x43, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, |
| 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, |
| 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, |
| 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x44, |
| 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, |
| 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, |
| 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, |
| 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, |
| 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x22, 0x45, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, |
| 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, |
| 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0xc1, 0x02, 0x0a, 0x18, 0x47, 0x65, |
| 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, |
| 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, |
| 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, |
| 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, |
| 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, |
| 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, |
| 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9f, 0x01, 0x3a, 0x01, |
| 0x2a, 0x5a, 0x52, 0x3a, 0x01, 0x2a, 0x22, 0x4d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, |
| 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, |
| 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, |
| 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, |
| 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x46, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, |
| 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x61, 0x6e, |
| 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, |
| 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x4b, 0xca, |
| 0x41, 0x17, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, |
| 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, |
| 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6a, 0x0a, 0x1c, 0x63, 0x6f, |
| 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, |
| 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x44, 0x61, 0x74, 0x61, |
| 0x53, 0x63, 0x61, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, |
| 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, |
| 0x2f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x65, 0x78, 0x70, 0x62, 0x3b, 0x64, 0x61, 0x74, 0x61, |
| 0x70, 0x6c, 0x65, 0x78, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_cloud_dataplex_v1_datascans_proto_rawDescOnce sync.Once |
| file_google_cloud_dataplex_v1_datascans_proto_rawDescData = file_google_cloud_dataplex_v1_datascans_proto_rawDesc |
| ) |
| |
| func file_google_cloud_dataplex_v1_datascans_proto_rawDescGZIP() []byte { |
| file_google_cloud_dataplex_v1_datascans_proto_rawDescOnce.Do(func() { |
| file_google_cloud_dataplex_v1_datascans_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dataplex_v1_datascans_proto_rawDescData) |
| }) |
| return file_google_cloud_dataplex_v1_datascans_proto_rawDescData |
| } |
| |
| var file_google_cloud_dataplex_v1_datascans_proto_enumTypes = make([]protoimpl.EnumInfo, 4) |
| var file_google_cloud_dataplex_v1_datascans_proto_msgTypes = make([]protoimpl.MessageInfo, 18) |
| var file_google_cloud_dataplex_v1_datascans_proto_goTypes = []interface{}{ |
| (DataScanType)(0), // 0: google.cloud.dataplex.v1.DataScanType |
| (GetDataScanRequest_DataScanView)(0), // 1: google.cloud.dataplex.v1.GetDataScanRequest.DataScanView |
| (GetDataScanJobRequest_DataScanJobView)(0), // 2: google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobView |
| (DataScanJob_State)(0), // 3: google.cloud.dataplex.v1.DataScanJob.State |
| (*CreateDataScanRequest)(nil), // 4: google.cloud.dataplex.v1.CreateDataScanRequest |
| (*UpdateDataScanRequest)(nil), // 5: google.cloud.dataplex.v1.UpdateDataScanRequest |
| (*DeleteDataScanRequest)(nil), // 6: google.cloud.dataplex.v1.DeleteDataScanRequest |
| (*GetDataScanRequest)(nil), // 7: google.cloud.dataplex.v1.GetDataScanRequest |
| (*ListDataScansRequest)(nil), // 8: google.cloud.dataplex.v1.ListDataScansRequest |
| (*ListDataScansResponse)(nil), // 9: google.cloud.dataplex.v1.ListDataScansResponse |
| (*RunDataScanRequest)(nil), // 10: google.cloud.dataplex.v1.RunDataScanRequest |
| (*RunDataScanResponse)(nil), // 11: google.cloud.dataplex.v1.RunDataScanResponse |
| (*GetDataScanJobRequest)(nil), // 12: google.cloud.dataplex.v1.GetDataScanJobRequest |
| (*ListDataScanJobsRequest)(nil), // 13: google.cloud.dataplex.v1.ListDataScanJobsRequest |
| (*ListDataScanJobsResponse)(nil), // 14: google.cloud.dataplex.v1.ListDataScanJobsResponse |
| (*GenerateDataQualityRulesRequest)(nil), // 15: google.cloud.dataplex.v1.GenerateDataQualityRulesRequest |
| (*GenerateDataQualityRulesResponse)(nil), // 16: google.cloud.dataplex.v1.GenerateDataQualityRulesResponse |
| (*DataScan)(nil), // 17: google.cloud.dataplex.v1.DataScan |
| (*DataScanJob)(nil), // 18: google.cloud.dataplex.v1.DataScanJob |
| (*DataScan_ExecutionSpec)(nil), // 19: google.cloud.dataplex.v1.DataScan.ExecutionSpec |
| (*DataScan_ExecutionStatus)(nil), // 20: google.cloud.dataplex.v1.DataScan.ExecutionStatus |
| nil, // 21: google.cloud.dataplex.v1.DataScan.LabelsEntry |
| (*fieldmaskpb.FieldMask)(nil), // 22: google.protobuf.FieldMask |
| (*DataQualityRule)(nil), // 23: google.cloud.dataplex.v1.DataQualityRule |
| (State)(0), // 24: google.cloud.dataplex.v1.State |
| (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp |
| (*DataSource)(nil), // 26: google.cloud.dataplex.v1.DataSource |
| (*DataQualitySpec)(nil), // 27: google.cloud.dataplex.v1.DataQualitySpec |
| (*DataProfileSpec)(nil), // 28: google.cloud.dataplex.v1.DataProfileSpec |
| (*DataQualityResult)(nil), // 29: google.cloud.dataplex.v1.DataQualityResult |
| (*DataProfileResult)(nil), // 30: google.cloud.dataplex.v1.DataProfileResult |
| (*Trigger)(nil), // 31: google.cloud.dataplex.v1.Trigger |
| (*longrunningpb.Operation)(nil), // 32: google.longrunning.Operation |
| } |
| var file_google_cloud_dataplex_v1_datascans_proto_depIdxs = []int32{ |
| 17, // 0: google.cloud.dataplex.v1.CreateDataScanRequest.data_scan:type_name -> google.cloud.dataplex.v1.DataScan |
| 17, // 1: google.cloud.dataplex.v1.UpdateDataScanRequest.data_scan:type_name -> google.cloud.dataplex.v1.DataScan |
| 22, // 2: google.cloud.dataplex.v1.UpdateDataScanRequest.update_mask:type_name -> google.protobuf.FieldMask |
| 1, // 3: google.cloud.dataplex.v1.GetDataScanRequest.view:type_name -> google.cloud.dataplex.v1.GetDataScanRequest.DataScanView |
| 17, // 4: google.cloud.dataplex.v1.ListDataScansResponse.data_scans:type_name -> google.cloud.dataplex.v1.DataScan |
| 18, // 5: google.cloud.dataplex.v1.RunDataScanResponse.job:type_name -> google.cloud.dataplex.v1.DataScanJob |
| 2, // 6: google.cloud.dataplex.v1.GetDataScanJobRequest.view:type_name -> google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobView |
| 18, // 7: google.cloud.dataplex.v1.ListDataScanJobsResponse.data_scan_jobs:type_name -> google.cloud.dataplex.v1.DataScanJob |
| 23, // 8: google.cloud.dataplex.v1.GenerateDataQualityRulesResponse.rule:type_name -> google.cloud.dataplex.v1.DataQualityRule |
| 21, // 9: google.cloud.dataplex.v1.DataScan.labels:type_name -> google.cloud.dataplex.v1.DataScan.LabelsEntry |
| 24, // 10: google.cloud.dataplex.v1.DataScan.state:type_name -> google.cloud.dataplex.v1.State |
| 25, // 11: google.cloud.dataplex.v1.DataScan.create_time:type_name -> google.protobuf.Timestamp |
| 25, // 12: google.cloud.dataplex.v1.DataScan.update_time:type_name -> google.protobuf.Timestamp |
| 26, // 13: google.cloud.dataplex.v1.DataScan.data:type_name -> google.cloud.dataplex.v1.DataSource |
| 19, // 14: google.cloud.dataplex.v1.DataScan.execution_spec:type_name -> google.cloud.dataplex.v1.DataScan.ExecutionSpec |
| 20, // 15: google.cloud.dataplex.v1.DataScan.execution_status:type_name -> google.cloud.dataplex.v1.DataScan.ExecutionStatus |
| 0, // 16: google.cloud.dataplex.v1.DataScan.type:type_name -> google.cloud.dataplex.v1.DataScanType |
| 27, // 17: google.cloud.dataplex.v1.DataScan.data_quality_spec:type_name -> google.cloud.dataplex.v1.DataQualitySpec |
| 28, // 18: google.cloud.dataplex.v1.DataScan.data_profile_spec:type_name -> google.cloud.dataplex.v1.DataProfileSpec |
| 29, // 19: google.cloud.dataplex.v1.DataScan.data_quality_result:type_name -> google.cloud.dataplex.v1.DataQualityResult |
| 30, // 20: google.cloud.dataplex.v1.DataScan.data_profile_result:type_name -> google.cloud.dataplex.v1.DataProfileResult |
| 25, // 21: google.cloud.dataplex.v1.DataScanJob.start_time:type_name -> google.protobuf.Timestamp |
| 25, // 22: google.cloud.dataplex.v1.DataScanJob.end_time:type_name -> google.protobuf.Timestamp |
| 3, // 23: google.cloud.dataplex.v1.DataScanJob.state:type_name -> google.cloud.dataplex.v1.DataScanJob.State |
| 0, // 24: google.cloud.dataplex.v1.DataScanJob.type:type_name -> google.cloud.dataplex.v1.DataScanType |
| 27, // 25: google.cloud.dataplex.v1.DataScanJob.data_quality_spec:type_name -> google.cloud.dataplex.v1.DataQualitySpec |
| 28, // 26: google.cloud.dataplex.v1.DataScanJob.data_profile_spec:type_name -> google.cloud.dataplex.v1.DataProfileSpec |
| 29, // 27: google.cloud.dataplex.v1.DataScanJob.data_quality_result:type_name -> google.cloud.dataplex.v1.DataQualityResult |
| 30, // 28: google.cloud.dataplex.v1.DataScanJob.data_profile_result:type_name -> google.cloud.dataplex.v1.DataProfileResult |
| 31, // 29: google.cloud.dataplex.v1.DataScan.ExecutionSpec.trigger:type_name -> google.cloud.dataplex.v1.Trigger |
| 25, // 30: google.cloud.dataplex.v1.DataScan.ExecutionStatus.latest_job_start_time:type_name -> google.protobuf.Timestamp |
| 25, // 31: google.cloud.dataplex.v1.DataScan.ExecutionStatus.latest_job_end_time:type_name -> google.protobuf.Timestamp |
| 4, // 32: google.cloud.dataplex.v1.DataScanService.CreateDataScan:input_type -> google.cloud.dataplex.v1.CreateDataScanRequest |
| 5, // 33: google.cloud.dataplex.v1.DataScanService.UpdateDataScan:input_type -> google.cloud.dataplex.v1.UpdateDataScanRequest |
| 6, // 34: google.cloud.dataplex.v1.DataScanService.DeleteDataScan:input_type -> google.cloud.dataplex.v1.DeleteDataScanRequest |
| 7, // 35: google.cloud.dataplex.v1.DataScanService.GetDataScan:input_type -> google.cloud.dataplex.v1.GetDataScanRequest |
| 8, // 36: google.cloud.dataplex.v1.DataScanService.ListDataScans:input_type -> google.cloud.dataplex.v1.ListDataScansRequest |
| 10, // 37: google.cloud.dataplex.v1.DataScanService.RunDataScan:input_type -> google.cloud.dataplex.v1.RunDataScanRequest |
| 12, // 38: google.cloud.dataplex.v1.DataScanService.GetDataScanJob:input_type -> google.cloud.dataplex.v1.GetDataScanJobRequest |
| 13, // 39: google.cloud.dataplex.v1.DataScanService.ListDataScanJobs:input_type -> google.cloud.dataplex.v1.ListDataScanJobsRequest |
| 15, // 40: google.cloud.dataplex.v1.DataScanService.GenerateDataQualityRules:input_type -> google.cloud.dataplex.v1.GenerateDataQualityRulesRequest |
| 32, // 41: google.cloud.dataplex.v1.DataScanService.CreateDataScan:output_type -> google.longrunning.Operation |
| 32, // 42: google.cloud.dataplex.v1.DataScanService.UpdateDataScan:output_type -> google.longrunning.Operation |
| 32, // 43: google.cloud.dataplex.v1.DataScanService.DeleteDataScan:output_type -> google.longrunning.Operation |
| 17, // 44: google.cloud.dataplex.v1.DataScanService.GetDataScan:output_type -> google.cloud.dataplex.v1.DataScan |
| 9, // 45: google.cloud.dataplex.v1.DataScanService.ListDataScans:output_type -> google.cloud.dataplex.v1.ListDataScansResponse |
| 11, // 46: google.cloud.dataplex.v1.DataScanService.RunDataScan:output_type -> google.cloud.dataplex.v1.RunDataScanResponse |
| 18, // 47: google.cloud.dataplex.v1.DataScanService.GetDataScanJob:output_type -> google.cloud.dataplex.v1.DataScanJob |
| 14, // 48: google.cloud.dataplex.v1.DataScanService.ListDataScanJobs:output_type -> google.cloud.dataplex.v1.ListDataScanJobsResponse |
| 16, // 49: google.cloud.dataplex.v1.DataScanService.GenerateDataQualityRules:output_type -> google.cloud.dataplex.v1.GenerateDataQualityRulesResponse |
| 41, // [41:50] is the sub-list for method output_type |
| 32, // [32:41] is the sub-list for method input_type |
| 32, // [32:32] is the sub-list for extension type_name |
| 32, // [32:32] is the sub-list for extension extendee |
| 0, // [0:32] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_dataplex_v1_datascans_proto_init() } |
| func file_google_cloud_dataplex_v1_datascans_proto_init() { |
| if File_google_cloud_dataplex_v1_datascans_proto != nil { |
| return |
| } |
| file_google_cloud_dataplex_v1_data_profile_proto_init() |
| file_google_cloud_dataplex_v1_data_quality_proto_init() |
| file_google_cloud_dataplex_v1_processing_proto_init() |
| file_google_cloud_dataplex_v1_resources_proto_init() |
| file_google_cloud_dataplex_v1_service_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CreateDataScanRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*UpdateDataScanRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteDataScanRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetDataScanRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListDataScansRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListDataScansResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RunDataScanRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RunDataScanResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetDataScanJobRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListDataScanJobsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ListDataScanJobsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GenerateDataQualityRulesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GenerateDataQualityRulesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataScan); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataScanJob); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataScan_ExecutionSpec); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataScan_ExecutionStatus); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[13].OneofWrappers = []interface{}{ |
| (*DataScan_DataQualitySpec)(nil), |
| (*DataScan_DataProfileSpec)(nil), |
| (*DataScan_DataQualityResult)(nil), |
| (*DataScan_DataProfileResult)(nil), |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[14].OneofWrappers = []interface{}{ |
| (*DataScanJob_DataQualitySpec)(nil), |
| (*DataScanJob_DataProfileSpec)(nil), |
| (*DataScanJob_DataQualityResult)(nil), |
| (*DataScanJob_DataProfileResult)(nil), |
| } |
| file_google_cloud_dataplex_v1_datascans_proto_msgTypes[15].OneofWrappers = []interface{}{ |
| (*DataScan_ExecutionSpec_Field)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_cloud_dataplex_v1_datascans_proto_rawDesc, |
| NumEnums: 4, |
| NumMessages: 18, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_google_cloud_dataplex_v1_datascans_proto_goTypes, |
| DependencyIndexes: file_google_cloud_dataplex_v1_datascans_proto_depIdxs, |
| EnumInfos: file_google_cloud_dataplex_v1_datascans_proto_enumTypes, |
| MessageInfos: file_google_cloud_dataplex_v1_datascans_proto_msgTypes, |
| }.Build() |
| File_google_cloud_dataplex_v1_datascans_proto = out.File |
| file_google_cloud_dataplex_v1_datascans_proto_rawDesc = nil |
| file_google_cloud_dataplex_v1_datascans_proto_goTypes = nil |
| file_google_cloud_dataplex_v1_datascans_proto_depIdxs = nil |
| } |
| |
| // Reference imports to suppress errors if they are not otherwise used. |
| var _ context.Context |
| var _ grpc.ClientConnInterface |
| |
| // This is a compile-time assertion to ensure that this generated file |
| // is compatible with the grpc package it is being compiled against. |
| const _ = grpc.SupportPackageIsVersion6 |
| |
| // DataScanServiceClient is the client API for DataScanService service. |
| // |
| // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. |
| type DataScanServiceClient interface { |
| // Creates a DataScan resource. |
| CreateDataScan(ctx context.Context, in *CreateDataScanRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) |
| // Updates a DataScan resource. |
| UpdateDataScan(ctx context.Context, in *UpdateDataScanRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) |
| // Deletes a DataScan resource. |
| DeleteDataScan(ctx context.Context, in *DeleteDataScanRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) |
| // Gets a DataScan resource. |
| GetDataScan(ctx context.Context, in *GetDataScanRequest, opts ...grpc.CallOption) (*DataScan, error) |
| // Lists DataScans. |
| ListDataScans(ctx context.Context, in *ListDataScansRequest, opts ...grpc.CallOption) (*ListDataScansResponse, error) |
| // Runs an on-demand execution of a DataScan |
| RunDataScan(ctx context.Context, in *RunDataScanRequest, opts ...grpc.CallOption) (*RunDataScanResponse, error) |
| // Gets a DataScanJob resource. |
| GetDataScanJob(ctx context.Context, in *GetDataScanJobRequest, opts ...grpc.CallOption) (*DataScanJob, error) |
| // Lists DataScanJobs under the given DataScan. |
| ListDataScanJobs(ctx context.Context, in *ListDataScanJobsRequest, opts ...grpc.CallOption) (*ListDataScanJobsResponse, error) |
| // Generates recommended DataQualityRule from a data profiling DataScan. |
| GenerateDataQualityRules(ctx context.Context, in *GenerateDataQualityRulesRequest, opts ...grpc.CallOption) (*GenerateDataQualityRulesResponse, error) |
| } |
| |
| type dataScanServiceClient struct { |
| cc grpc.ClientConnInterface |
| } |
| |
| func NewDataScanServiceClient(cc grpc.ClientConnInterface) DataScanServiceClient { |
| return &dataScanServiceClient{cc} |
| } |
| |
| func (c *dataScanServiceClient) CreateDataScan(ctx context.Context, in *CreateDataScanRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { |
| out := new(longrunningpb.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/CreateDataScan", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) UpdateDataScan(ctx context.Context, in *UpdateDataScanRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { |
| out := new(longrunningpb.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/UpdateDataScan", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) DeleteDataScan(ctx context.Context, in *DeleteDataScanRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error) { |
| out := new(longrunningpb.Operation) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/DeleteDataScan", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) GetDataScan(ctx context.Context, in *GetDataScanRequest, opts ...grpc.CallOption) (*DataScan, error) { |
| out := new(DataScan) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/GetDataScan", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) ListDataScans(ctx context.Context, in *ListDataScansRequest, opts ...grpc.CallOption) (*ListDataScansResponse, error) { |
| out := new(ListDataScansResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/ListDataScans", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) RunDataScan(ctx context.Context, in *RunDataScanRequest, opts ...grpc.CallOption) (*RunDataScanResponse, error) { |
| out := new(RunDataScanResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/RunDataScan", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) GetDataScanJob(ctx context.Context, in *GetDataScanJobRequest, opts ...grpc.CallOption) (*DataScanJob, error) { |
| out := new(DataScanJob) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/GetDataScanJob", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) ListDataScanJobs(ctx context.Context, in *ListDataScanJobsRequest, opts ...grpc.CallOption) (*ListDataScanJobsResponse, error) { |
| out := new(ListDataScanJobsResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/ListDataScanJobs", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| func (c *dataScanServiceClient) GenerateDataQualityRules(ctx context.Context, in *GenerateDataQualityRulesRequest, opts ...grpc.CallOption) (*GenerateDataQualityRulesResponse, error) { |
| out := new(GenerateDataQualityRulesResponse) |
| err := c.cc.Invoke(ctx, "/google.cloud.dataplex.v1.DataScanService/GenerateDataQualityRules", in, out, opts...) |
| if err != nil { |
| return nil, err |
| } |
| return out, nil |
| } |
| |
| // DataScanServiceServer is the server API for DataScanService service. |
| type DataScanServiceServer interface { |
| // Creates a DataScan resource. |
| CreateDataScan(context.Context, *CreateDataScanRequest) (*longrunningpb.Operation, error) |
| // Updates a DataScan resource. |
| UpdateDataScan(context.Context, *UpdateDataScanRequest) (*longrunningpb.Operation, error) |
| // Deletes a DataScan resource. |
| DeleteDataScan(context.Context, *DeleteDataScanRequest) (*longrunningpb.Operation, error) |
| // Gets a DataScan resource. |
| GetDataScan(context.Context, *GetDataScanRequest) (*DataScan, error) |
| // Lists DataScans. |
| ListDataScans(context.Context, *ListDataScansRequest) (*ListDataScansResponse, error) |
| // Runs an on-demand execution of a DataScan |
| RunDataScan(context.Context, *RunDataScanRequest) (*RunDataScanResponse, error) |
| // Gets a DataScanJob resource. |
| GetDataScanJob(context.Context, *GetDataScanJobRequest) (*DataScanJob, error) |
| // Lists DataScanJobs under the given DataScan. |
| ListDataScanJobs(context.Context, *ListDataScanJobsRequest) (*ListDataScanJobsResponse, error) |
| // Generates recommended DataQualityRule from a data profiling DataScan. |
| GenerateDataQualityRules(context.Context, *GenerateDataQualityRulesRequest) (*GenerateDataQualityRulesResponse, error) |
| } |
| |
| // UnimplementedDataScanServiceServer can be embedded to have forward compatible implementations. |
| type UnimplementedDataScanServiceServer struct { |
| } |
| |
| func (*UnimplementedDataScanServiceServer) CreateDataScan(context.Context, *CreateDataScanRequest) (*longrunningpb.Operation, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method CreateDataScan not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) UpdateDataScan(context.Context, *UpdateDataScanRequest) (*longrunningpb.Operation, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method UpdateDataScan not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) DeleteDataScan(context.Context, *DeleteDataScanRequest) (*longrunningpb.Operation, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method DeleteDataScan not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) GetDataScan(context.Context, *GetDataScanRequest) (*DataScan, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetDataScan not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) ListDataScans(context.Context, *ListDataScansRequest) (*ListDataScansResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method ListDataScans not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) RunDataScan(context.Context, *RunDataScanRequest) (*RunDataScanResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method RunDataScan not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) GetDataScanJob(context.Context, *GetDataScanJobRequest) (*DataScanJob, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GetDataScanJob not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) ListDataScanJobs(context.Context, *ListDataScanJobsRequest) (*ListDataScanJobsResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method ListDataScanJobs not implemented") |
| } |
| func (*UnimplementedDataScanServiceServer) GenerateDataQualityRules(context.Context, *GenerateDataQualityRulesRequest) (*GenerateDataQualityRulesResponse, error) { |
| return nil, status.Errorf(codes.Unimplemented, "method GenerateDataQualityRules not implemented") |
| } |
| |
| func RegisterDataScanServiceServer(s *grpc.Server, srv DataScanServiceServer) { |
| s.RegisterService(&_DataScanService_serviceDesc, srv) |
| } |
| |
| func _DataScanService_CreateDataScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(CreateDataScanRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).CreateDataScan(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/CreateDataScan", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).CreateDataScan(ctx, req.(*CreateDataScanRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_UpdateDataScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(UpdateDataScanRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).UpdateDataScan(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/UpdateDataScan", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).UpdateDataScan(ctx, req.(*UpdateDataScanRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_DeleteDataScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(DeleteDataScanRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).DeleteDataScan(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/DeleteDataScan", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).DeleteDataScan(ctx, req.(*DeleteDataScanRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_GetDataScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetDataScanRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).GetDataScan(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/GetDataScan", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).GetDataScan(ctx, req.(*GetDataScanRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_ListDataScans_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListDataScansRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).ListDataScans(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/ListDataScans", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).ListDataScans(ctx, req.(*ListDataScansRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_RunDataScan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(RunDataScanRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).RunDataScan(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/RunDataScan", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).RunDataScan(ctx, req.(*RunDataScanRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_GetDataScanJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GetDataScanJobRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).GetDataScanJob(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/GetDataScanJob", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).GetDataScanJob(ctx, req.(*GetDataScanJobRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_ListDataScanJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(ListDataScanJobsRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).ListDataScanJobs(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/ListDataScanJobs", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).ListDataScanJobs(ctx, req.(*ListDataScanJobsRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| func _DataScanService_GenerateDataQualityRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
| in := new(GenerateDataQualityRulesRequest) |
| if err := dec(in); err != nil { |
| return nil, err |
| } |
| if interceptor == nil { |
| return srv.(DataScanServiceServer).GenerateDataQualityRules(ctx, in) |
| } |
| info := &grpc.UnaryServerInfo{ |
| Server: srv, |
| FullMethod: "/google.cloud.dataplex.v1.DataScanService/GenerateDataQualityRules", |
| } |
| handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
| return srv.(DataScanServiceServer).GenerateDataQualityRules(ctx, req.(*GenerateDataQualityRulesRequest)) |
| } |
| return interceptor(ctx, in, info, handler) |
| } |
| |
| var _DataScanService_serviceDesc = grpc.ServiceDesc{ |
| ServiceName: "google.cloud.dataplex.v1.DataScanService", |
| HandlerType: (*DataScanServiceServer)(nil), |
| Methods: []grpc.MethodDesc{ |
| { |
| MethodName: "CreateDataScan", |
| Handler: _DataScanService_CreateDataScan_Handler, |
| }, |
| { |
| MethodName: "UpdateDataScan", |
| Handler: _DataScanService_UpdateDataScan_Handler, |
| }, |
| { |
| MethodName: "DeleteDataScan", |
| Handler: _DataScanService_DeleteDataScan_Handler, |
| }, |
| { |
| MethodName: "GetDataScan", |
| Handler: _DataScanService_GetDataScan_Handler, |
| }, |
| { |
| MethodName: "ListDataScans", |
| Handler: _DataScanService_ListDataScans_Handler, |
| }, |
| { |
| MethodName: "RunDataScan", |
| Handler: _DataScanService_RunDataScan_Handler, |
| }, |
| { |
| MethodName: "GetDataScanJob", |
| Handler: _DataScanService_GetDataScanJob_Handler, |
| }, |
| { |
| MethodName: "ListDataScanJobs", |
| Handler: _DataScanService_ListDataScanJobs_Handler, |
| }, |
| { |
| MethodName: "GenerateDataQualityRules", |
| Handler: _DataScanService_GenerateDataQualityRules_Handler, |
| }, |
| }, |
| Streams: []grpc.StreamDesc{}, |
| Metadata: "google/cloud/dataplex/v1/datascans.proto", |
| } |