| // Copyright 2023 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/data_quality.proto |
| |
| package dataplexpb |
| |
| import ( |
| reflect "reflect" |
| sync "sync" |
| |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| ) |
| |
| 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) |
| ) |
| |
| // Execution state for the exporting. |
| type DataQualityResult_PostScanActionsResult_BigQueryExportResult_State int32 |
| |
| const ( |
| // The exporting state is unspecified. |
| DataQualityResult_PostScanActionsResult_BigQueryExportResult_STATE_UNSPECIFIED DataQualityResult_PostScanActionsResult_BigQueryExportResult_State = 0 |
| // The exporting completed successfully. |
| DataQualityResult_PostScanActionsResult_BigQueryExportResult_SUCCEEDED DataQualityResult_PostScanActionsResult_BigQueryExportResult_State = 1 |
| // The exporting is no longer running due to an error. |
| DataQualityResult_PostScanActionsResult_BigQueryExportResult_FAILED DataQualityResult_PostScanActionsResult_BigQueryExportResult_State = 2 |
| // The exporting is skipped due to no valid scan result to export |
| // (usually caused by scan failed). |
| DataQualityResult_PostScanActionsResult_BigQueryExportResult_SKIPPED DataQualityResult_PostScanActionsResult_BigQueryExportResult_State = 3 |
| ) |
| |
| // Enum value maps for DataQualityResult_PostScanActionsResult_BigQueryExportResult_State. |
| var ( |
| DataQualityResult_PostScanActionsResult_BigQueryExportResult_State_name = map[int32]string{ |
| 0: "STATE_UNSPECIFIED", |
| 1: "SUCCEEDED", |
| 2: "FAILED", |
| 3: "SKIPPED", |
| } |
| DataQualityResult_PostScanActionsResult_BigQueryExportResult_State_value = map[string]int32{ |
| "STATE_UNSPECIFIED": 0, |
| "SUCCEEDED": 1, |
| "FAILED": 2, |
| "SKIPPED": 3, |
| } |
| ) |
| |
| func (x DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) Enum() *DataQualityResult_PostScanActionsResult_BigQueryExportResult_State { |
| p := new(DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) |
| *p = x |
| return p |
| } |
| |
| func (x DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dataplex_v1_data_quality_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) Type() protoreflect.EnumType { |
| return &file_google_cloud_dataplex_v1_data_quality_proto_enumTypes[0] |
| } |
| |
| func (x DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use DataQualityResult_PostScanActionsResult_BigQueryExportResult_State.Descriptor instead. |
| func (DataQualityResult_PostScanActionsResult_BigQueryExportResult_State) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{1, 0, 0, 0} |
| } |
| |
| // The list of aggregate metrics a rule can be evaluated against. |
| type DataQualityRule_StatisticRangeExpectation_ColumnStatistic int32 |
| |
| const ( |
| // Unspecified statistic type |
| DataQualityRule_StatisticRangeExpectation_STATISTIC_UNDEFINED DataQualityRule_StatisticRangeExpectation_ColumnStatistic = 0 |
| // Evaluate the column mean |
| DataQualityRule_StatisticRangeExpectation_MEAN DataQualityRule_StatisticRangeExpectation_ColumnStatistic = 1 |
| // Evaluate the column min |
| DataQualityRule_StatisticRangeExpectation_MIN DataQualityRule_StatisticRangeExpectation_ColumnStatistic = 2 |
| // Evaluate the column max |
| DataQualityRule_StatisticRangeExpectation_MAX DataQualityRule_StatisticRangeExpectation_ColumnStatistic = 3 |
| ) |
| |
| // Enum value maps for DataQualityRule_StatisticRangeExpectation_ColumnStatistic. |
| var ( |
| DataQualityRule_StatisticRangeExpectation_ColumnStatistic_name = map[int32]string{ |
| 0: "STATISTIC_UNDEFINED", |
| 1: "MEAN", |
| 2: "MIN", |
| 3: "MAX", |
| } |
| DataQualityRule_StatisticRangeExpectation_ColumnStatistic_value = map[string]int32{ |
| "STATISTIC_UNDEFINED": 0, |
| "MEAN": 1, |
| "MIN": 2, |
| "MAX": 3, |
| } |
| ) |
| |
| func (x DataQualityRule_StatisticRangeExpectation_ColumnStatistic) Enum() *DataQualityRule_StatisticRangeExpectation_ColumnStatistic { |
| p := new(DataQualityRule_StatisticRangeExpectation_ColumnStatistic) |
| *p = x |
| return p |
| } |
| |
| func (x DataQualityRule_StatisticRangeExpectation_ColumnStatistic) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (DataQualityRule_StatisticRangeExpectation_ColumnStatistic) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_dataplex_v1_data_quality_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (DataQualityRule_StatisticRangeExpectation_ColumnStatistic) Type() protoreflect.EnumType { |
| return &file_google_cloud_dataplex_v1_data_quality_proto_enumTypes[1] |
| } |
| |
| func (x DataQualityRule_StatisticRangeExpectation_ColumnStatistic) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_StatisticRangeExpectation_ColumnStatistic.Descriptor instead. |
| func (DataQualityRule_StatisticRangeExpectation_ColumnStatistic) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 5, 0} |
| } |
| |
| // DataQualityScan related setting. |
| type DataQualitySpec struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The list of rules to evaluate against a data source. At least one |
| // rule is required. |
| Rules []*DataQualityRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` |
| // Optional. The percentage of the records to be selected from the dataset for |
| // DataScan. |
| // |
| // * Value can range between 0.0 and 100.0 with up to 3 significant decimal |
| // digits. |
| // * Sampling is not applied if `sampling_percent` is not specified, 0 or |
| // 100. |
| SamplingPercent float32 `protobuf:"fixed32,4,opt,name=sampling_percent,json=samplingPercent,proto3" json:"sampling_percent,omitempty"` |
| // Optional. A filter applied to all rows in a single DataScan job. |
| // The filter needs to be a valid SQL expression for a WHERE clause in |
| // BigQuery standard SQL syntax. |
| // Example: col1 >= 0 AND col2 < 10 |
| RowFilter string `protobuf:"bytes,5,opt,name=row_filter,json=rowFilter,proto3" json:"row_filter,omitempty"` |
| // Optional. Actions to take upon job completion. |
| PostScanActions *DataQualitySpec_PostScanActions `protobuf:"bytes,6,opt,name=post_scan_actions,json=postScanActions,proto3" json:"post_scan_actions,omitempty"` |
| } |
| |
| func (x *DataQualitySpec) Reset() { |
| *x = DataQualitySpec{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec) ProtoMessage() {} |
| |
| func (x *DataQualitySpec) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *DataQualitySpec) GetRules() []*DataQualityRule { |
| if x != nil { |
| return x.Rules |
| } |
| return nil |
| } |
| |
| func (x *DataQualitySpec) GetSamplingPercent() float32 { |
| if x != nil { |
| return x.SamplingPercent |
| } |
| return 0 |
| } |
| |
| func (x *DataQualitySpec) GetRowFilter() string { |
| if x != nil { |
| return x.RowFilter |
| } |
| return "" |
| } |
| |
| func (x *DataQualitySpec) GetPostScanActions() *DataQualitySpec_PostScanActions { |
| if x != nil { |
| return x.PostScanActions |
| } |
| return nil |
| } |
| |
| // The output of a DataQualityScan. |
| type DataQualityResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Overall data quality result -- `true` if all rules passed. |
| Passed bool `protobuf:"varint,5,opt,name=passed,proto3" json:"passed,omitempty"` |
| // Output only. The overall data quality score. |
| // |
| // The score ranges between [0, 100] (up to two decimal points). |
| Score *float32 `protobuf:"fixed32,9,opt,name=score,proto3,oneof" json:"score,omitempty"` |
| // A list of results at the dimension level. |
| // |
| // A dimension will have a corresponding `DataQualityDimensionResult` if and |
| // only if there is at least one rule with the 'dimension' field set to it. |
| Dimensions []*DataQualityDimensionResult `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| // Output only. A list of results at the column level. |
| // |
| // A column will have a corresponding `DataQualityColumnResult` if and only if |
| // there is at least one rule with the 'column' field set to it. |
| Columns []*DataQualityColumnResult `protobuf:"bytes,10,rep,name=columns,proto3" json:"columns,omitempty"` |
| // A list of all the rules in a job, and their results. |
| Rules []*DataQualityRuleResult `protobuf:"bytes,3,rep,name=rules,proto3" json:"rules,omitempty"` |
| // The count of rows processed. |
| RowCount int64 `protobuf:"varint,4,opt,name=row_count,json=rowCount,proto3" json:"row_count,omitempty"` |
| // The data scanned for this result. |
| ScannedData *ScannedData `protobuf:"bytes,7,opt,name=scanned_data,json=scannedData,proto3" json:"scanned_data,omitempty"` |
| // Output only. The result of post scan actions. |
| PostScanActionsResult *DataQualityResult_PostScanActionsResult `protobuf:"bytes,8,opt,name=post_scan_actions_result,json=postScanActionsResult,proto3" json:"post_scan_actions_result,omitempty"` |
| } |
| |
| func (x *DataQualityResult) Reset() { |
| *x = DataQualityResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityResult) ProtoMessage() {} |
| |
| func (x *DataQualityResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityResult.ProtoReflect.Descriptor instead. |
| func (*DataQualityResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *DataQualityResult) GetPassed() bool { |
| if x != nil { |
| return x.Passed |
| } |
| return false |
| } |
| |
| func (x *DataQualityResult) GetScore() float32 { |
| if x != nil && x.Score != nil { |
| return *x.Score |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityResult) GetDimensions() []*DataQualityDimensionResult { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *DataQualityResult) GetColumns() []*DataQualityColumnResult { |
| if x != nil { |
| return x.Columns |
| } |
| return nil |
| } |
| |
| func (x *DataQualityResult) GetRules() []*DataQualityRuleResult { |
| if x != nil { |
| return x.Rules |
| } |
| return nil |
| } |
| |
| func (x *DataQualityResult) GetRowCount() int64 { |
| if x != nil { |
| return x.RowCount |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityResult) GetScannedData() *ScannedData { |
| if x != nil { |
| return x.ScannedData |
| } |
| return nil |
| } |
| |
| func (x *DataQualityResult) GetPostScanActionsResult() *DataQualityResult_PostScanActionsResult { |
| if x != nil { |
| return x.PostScanActionsResult |
| } |
| return nil |
| } |
| |
| // DataQualityRuleResult provides a more detailed, per-rule view of the results. |
| type DataQualityRuleResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The rule specified in the DataQualitySpec, as is. |
| Rule *DataQualityRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` |
| // Whether the rule passed or failed. |
| Passed bool `protobuf:"varint,7,opt,name=passed,proto3" json:"passed,omitempty"` |
| // The number of rows a rule was evaluated against. |
| // |
| // This field is only valid for row-level type rules. |
| // |
| // # Evaluated count can be configured to either |
| // |
| // * include all rows (default) - with `null` rows automatically failing rule |
| // evaluation, or |
| // * exclude `null` rows from the `evaluated_count`, by setting |
| // `ignore_nulls = true`. |
| EvaluatedCount int64 `protobuf:"varint,9,opt,name=evaluated_count,json=evaluatedCount,proto3" json:"evaluated_count,omitempty"` |
| // The number of rows which passed a rule evaluation. |
| // |
| // This field is only valid for row-level type rules. |
| PassedCount int64 `protobuf:"varint,8,opt,name=passed_count,json=passedCount,proto3" json:"passed_count,omitempty"` |
| // The number of rows with null values in the specified column. |
| NullCount int64 `protobuf:"varint,5,opt,name=null_count,json=nullCount,proto3" json:"null_count,omitempty"` |
| // The ratio of **passed_count / evaluated_count**. |
| // |
| // This field is only valid for row-level type rules. |
| PassRatio float64 `protobuf:"fixed64,6,opt,name=pass_ratio,json=passRatio,proto3" json:"pass_ratio,omitempty"` |
| // The query to find rows that did not pass this rule. |
| // |
| // This field is only valid for row-level type rules. |
| FailingRowsQuery string `protobuf:"bytes,10,opt,name=failing_rows_query,json=failingRowsQuery,proto3" json:"failing_rows_query,omitempty"` |
| // Output only. The number of rows returned by the sql statement in the |
| // SqlAssertion rule. |
| // |
| // This field is only valid for SqlAssertion rules. |
| AssertionRowCount int64 `protobuf:"varint,11,opt,name=assertion_row_count,json=assertionRowCount,proto3" json:"assertion_row_count,omitempty"` |
| } |
| |
| func (x *DataQualityRuleResult) Reset() { |
| *x = DataQualityRuleResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRuleResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRuleResult) ProtoMessage() {} |
| |
| func (x *DataQualityRuleResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityRuleResult.ProtoReflect.Descriptor instead. |
| func (*DataQualityRuleResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *DataQualityRuleResult) GetRule() *DataQualityRule { |
| if x != nil { |
| return x.Rule |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRuleResult) GetPassed() bool { |
| if x != nil { |
| return x.Passed |
| } |
| return false |
| } |
| |
| func (x *DataQualityRuleResult) GetEvaluatedCount() int64 { |
| if x != nil { |
| return x.EvaluatedCount |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityRuleResult) GetPassedCount() int64 { |
| if x != nil { |
| return x.PassedCount |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityRuleResult) GetNullCount() int64 { |
| if x != nil { |
| return x.NullCount |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityRuleResult) GetPassRatio() float64 { |
| if x != nil { |
| return x.PassRatio |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityRuleResult) GetFailingRowsQuery() string { |
| if x != nil { |
| return x.FailingRowsQuery |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRuleResult) GetAssertionRowCount() int64 { |
| if x != nil { |
| return x.AssertionRowCount |
| } |
| return 0 |
| } |
| |
| // DataQualityDimensionResult provides a more detailed, per-dimension view of |
| // the results. |
| type DataQualityDimensionResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The dimension config specified in the DataQualitySpec, as is. |
| Dimension *DataQualityDimension `protobuf:"bytes,1,opt,name=dimension,proto3" json:"dimension,omitempty"` |
| // Whether the dimension passed or failed. |
| Passed bool `protobuf:"varint,3,opt,name=passed,proto3" json:"passed,omitempty"` |
| // Output only. The dimension-level data quality score for this data scan job |
| // if and only if the 'dimension' field is set. |
| // |
| // The score ranges between [0, 100] (up to two decimal |
| // points). |
| Score *float32 `protobuf:"fixed32,4,opt,name=score,proto3,oneof" json:"score,omitempty"` |
| } |
| |
| func (x *DataQualityDimensionResult) Reset() { |
| *x = DataQualityDimensionResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityDimensionResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityDimensionResult) ProtoMessage() {} |
| |
| func (x *DataQualityDimensionResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityDimensionResult.ProtoReflect.Descriptor instead. |
| func (*DataQualityDimensionResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *DataQualityDimensionResult) GetDimension() *DataQualityDimension { |
| if x != nil { |
| return x.Dimension |
| } |
| return nil |
| } |
| |
| func (x *DataQualityDimensionResult) GetPassed() bool { |
| if x != nil { |
| return x.Passed |
| } |
| return false |
| } |
| |
| func (x *DataQualityDimensionResult) GetScore() float32 { |
| if x != nil && x.Score != nil { |
| return *x.Score |
| } |
| return 0 |
| } |
| |
| // A dimension captures data quality intent about a defined subset of the rules |
| // specified. |
| type DataQualityDimension struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The dimension name a rule belongs to. Supported dimensions are |
| // ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", |
| // "INTEGRITY"] |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *DataQualityDimension) Reset() { |
| *x = DataQualityDimension{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityDimension) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityDimension) ProtoMessage() {} |
| |
| func (x *DataQualityDimension) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityDimension.ProtoReflect.Descriptor instead. |
| func (*DataQualityDimension) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *DataQualityDimension) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // A rule captures data quality intent about a data source. |
| type DataQualityRule struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The rule-specific configuration. |
| // |
| // Types that are assignable to RuleType: |
| // |
| // *DataQualityRule_RangeExpectation_ |
| // *DataQualityRule_NonNullExpectation_ |
| // *DataQualityRule_SetExpectation_ |
| // *DataQualityRule_RegexExpectation_ |
| // *DataQualityRule_UniquenessExpectation_ |
| // *DataQualityRule_StatisticRangeExpectation_ |
| // *DataQualityRule_RowConditionExpectation_ |
| // *DataQualityRule_TableConditionExpectation_ |
| // *DataQualityRule_SqlAssertion_ |
| RuleType isDataQualityRule_RuleType `protobuf_oneof:"rule_type"` |
| // Optional. The unnested column which this rule is evaluated against. |
| Column string `protobuf:"bytes,500,opt,name=column,proto3" json:"column,omitempty"` |
| // Optional. Rows with `null` values will automatically fail a rule, unless |
| // `ignore_null` is `true`. In that case, such `null` rows are trivially |
| // considered passing. |
| // |
| // This field is only valid for the following type of rules: |
| // |
| // * RangeExpectation |
| // * RegexExpectation |
| // * SetExpectation |
| // * UniquenessExpectation |
| IgnoreNull bool `protobuf:"varint,501,opt,name=ignore_null,json=ignoreNull,proto3" json:"ignore_null,omitempty"` |
| // Required. The dimension a rule belongs to. Results are also aggregated at |
| // the dimension level. Supported dimensions are **["COMPLETENESS", |
| // "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "INTEGRITY"]** |
| Dimension string `protobuf:"bytes,502,opt,name=dimension,proto3" json:"dimension,omitempty"` |
| // Optional. The minimum ratio of **passing_rows / total_rows** required to |
| // pass this rule, with a range of [0.0, 1.0]. |
| // |
| // 0 indicates default value (i.e. 1.0). |
| // |
| // This field is only valid for row-level type rules. |
| Threshold float64 `protobuf:"fixed64,503,opt,name=threshold,proto3" json:"threshold,omitempty"` |
| // Optional. A mutable name for the rule. |
| // |
| // * The name must contain only letters (a-z, A-Z), numbers (0-9), or |
| // hyphens (-). |
| // * The maximum length is 63 characters. |
| // * Must start with a letter. |
| // * Must end with a number or a letter. |
| Name string `protobuf:"bytes,504,opt,name=name,proto3" json:"name,omitempty"` |
| // Optional. Description of the rule. |
| // |
| // * The maximum length is 1,024 characters. |
| Description string `protobuf:"bytes,505,opt,name=description,proto3" json:"description,omitempty"` |
| } |
| |
| func (x *DataQualityRule) Reset() { |
| *x = DataQualityRule{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule) ProtoMessage() {} |
| |
| func (x *DataQualityRule) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityRule.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (m *DataQualityRule) GetRuleType() isDataQualityRule_RuleType { |
| if m != nil { |
| return m.RuleType |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetRangeExpectation() *DataQualityRule_RangeExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_RangeExpectation_); ok { |
| return x.RangeExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetNonNullExpectation() *DataQualityRule_NonNullExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_NonNullExpectation_); ok { |
| return x.NonNullExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetSetExpectation() *DataQualityRule_SetExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_SetExpectation_); ok { |
| return x.SetExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetRegexExpectation() *DataQualityRule_RegexExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_RegexExpectation_); ok { |
| return x.RegexExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetUniquenessExpectation() *DataQualityRule_UniquenessExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_UniquenessExpectation_); ok { |
| return x.UniquenessExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetStatisticRangeExpectation() *DataQualityRule_StatisticRangeExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_StatisticRangeExpectation_); ok { |
| return x.StatisticRangeExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetRowConditionExpectation() *DataQualityRule_RowConditionExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_RowConditionExpectation_); ok { |
| return x.RowConditionExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetTableConditionExpectation() *DataQualityRule_TableConditionExpectation { |
| if x, ok := x.GetRuleType().(*DataQualityRule_TableConditionExpectation_); ok { |
| return x.TableConditionExpectation |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetSqlAssertion() *DataQualityRule_SqlAssertion { |
| if x, ok := x.GetRuleType().(*DataQualityRule_SqlAssertion_); ok { |
| return x.SqlAssertion |
| } |
| return nil |
| } |
| |
| func (x *DataQualityRule) GetColumn() string { |
| if x != nil { |
| return x.Column |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule) GetIgnoreNull() bool { |
| if x != nil { |
| return x.IgnoreNull |
| } |
| return false |
| } |
| |
| func (x *DataQualityRule) GetDimension() string { |
| if x != nil { |
| return x.Dimension |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule) GetThreshold() float64 { |
| if x != nil { |
| return x.Threshold |
| } |
| return 0 |
| } |
| |
| func (x *DataQualityRule) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| type isDataQualityRule_RuleType interface { |
| isDataQualityRule_RuleType() |
| } |
| |
| type DataQualityRule_RangeExpectation_ struct { |
| // Row-level rule which evaluates whether each column value lies between a |
| // specified range. |
| RangeExpectation *DataQualityRule_RangeExpectation `protobuf:"bytes,1,opt,name=range_expectation,json=rangeExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_NonNullExpectation_ struct { |
| // Row-level rule which evaluates whether each column value is null. |
| NonNullExpectation *DataQualityRule_NonNullExpectation `protobuf:"bytes,2,opt,name=non_null_expectation,json=nonNullExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_SetExpectation_ struct { |
| // Row-level rule which evaluates whether each column value is contained by |
| // a specified set. |
| SetExpectation *DataQualityRule_SetExpectation `protobuf:"bytes,3,opt,name=set_expectation,json=setExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_RegexExpectation_ struct { |
| // Row-level rule which evaluates whether each column value matches a |
| // specified regex. |
| RegexExpectation *DataQualityRule_RegexExpectation `protobuf:"bytes,4,opt,name=regex_expectation,json=regexExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_UniquenessExpectation_ struct { |
| // Row-level rule which evaluates whether each column value is unique. |
| UniquenessExpectation *DataQualityRule_UniquenessExpectation `protobuf:"bytes,100,opt,name=uniqueness_expectation,json=uniquenessExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_StatisticRangeExpectation_ struct { |
| // Aggregate rule which evaluates whether the column aggregate |
| // statistic lies between a specified range. |
| StatisticRangeExpectation *DataQualityRule_StatisticRangeExpectation `protobuf:"bytes,101,opt,name=statistic_range_expectation,json=statisticRangeExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_RowConditionExpectation_ struct { |
| // Row-level rule which evaluates whether each row in a table passes the |
| // specified condition. |
| RowConditionExpectation *DataQualityRule_RowConditionExpectation `protobuf:"bytes,200,opt,name=row_condition_expectation,json=rowConditionExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_TableConditionExpectation_ struct { |
| // Aggregate rule which evaluates whether the provided expression is true |
| // for a table. |
| TableConditionExpectation *DataQualityRule_TableConditionExpectation `protobuf:"bytes,201,opt,name=table_condition_expectation,json=tableConditionExpectation,proto3,oneof"` |
| } |
| |
| type DataQualityRule_SqlAssertion_ struct { |
| // Aggregate rule which evaluates the number of rows returned for the |
| // provided statement. |
| SqlAssertion *DataQualityRule_SqlAssertion `protobuf:"bytes,202,opt,name=sql_assertion,json=sqlAssertion,proto3,oneof"` |
| } |
| |
| func (*DataQualityRule_RangeExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_NonNullExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_SetExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_RegexExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_UniquenessExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_StatisticRangeExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_RowConditionExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_TableConditionExpectation_) isDataQualityRule_RuleType() {} |
| |
| func (*DataQualityRule_SqlAssertion_) isDataQualityRule_RuleType() {} |
| |
| // DataQualityColumnResult provides a more detailed, per-column view of |
| // the results. |
| type DataQualityColumnResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The column specified in the DataQualityRule. |
| Column string `protobuf:"bytes,1,opt,name=column,proto3" json:"column,omitempty"` |
| // Output only. The column-level data quality score for this data scan job if |
| // and only if the 'column' field is set. |
| // |
| // The score ranges between between [0, 100] (up to two decimal |
| // points). |
| Score *float32 `protobuf:"fixed32,2,opt,name=score,proto3,oneof" json:"score,omitempty"` |
| } |
| |
| func (x *DataQualityColumnResult) Reset() { |
| *x = DataQualityColumnResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityColumnResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityColumnResult) ProtoMessage() {} |
| |
| func (x *DataQualityColumnResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityColumnResult.ProtoReflect.Descriptor instead. |
| func (*DataQualityColumnResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *DataQualityColumnResult) GetColumn() string { |
| if x != nil { |
| return x.Column |
| } |
| return "" |
| } |
| |
| func (x *DataQualityColumnResult) GetScore() float32 { |
| if x != nil && x.Score != nil { |
| return *x.Score |
| } |
| return 0 |
| } |
| |
| // The configuration of post scan actions of DataQualityScan. |
| type DataQualitySpec_PostScanActions struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. If set, results will be exported to the provided BigQuery |
| // table. |
| BigqueryExport *DataQualitySpec_PostScanActions_BigQueryExport `protobuf:"bytes,1,opt,name=bigquery_export,json=bigqueryExport,proto3" json:"bigquery_export,omitempty"` |
| // Optional. If set, results will be sent to the provided notification |
| // receipts upon triggers. |
| NotificationReport *DataQualitySpec_PostScanActions_NotificationReport `protobuf:"bytes,2,opt,name=notification_report,json=notificationReport,proto3" json:"notification_report,omitempty"` |
| } |
| |
| func (x *DataQualitySpec_PostScanActions) Reset() { |
| *x = DataQualitySpec_PostScanActions{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0} |
| } |
| |
| func (x *DataQualitySpec_PostScanActions) GetBigqueryExport() *DataQualitySpec_PostScanActions_BigQueryExport { |
| if x != nil { |
| return x.BigqueryExport |
| } |
| return nil |
| } |
| |
| func (x *DataQualitySpec_PostScanActions) GetNotificationReport() *DataQualitySpec_PostScanActions_NotificationReport { |
| if x != nil { |
| return x.NotificationReport |
| } |
| return nil |
| } |
| |
| // The configuration of BigQuery export post scan action. |
| type DataQualitySpec_PostScanActions_BigQueryExport struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The BigQuery table to export DataQualityScan results to. |
| // Format: |
| // //bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID |
| ResultsTable string `protobuf:"bytes,1,opt,name=results_table,json=resultsTable,proto3" json:"results_table,omitempty"` |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_BigQueryExport) Reset() { |
| *x = DataQualitySpec_PostScanActions_BigQueryExport{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_BigQueryExport) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions_BigQueryExport) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions_BigQueryExport) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions_BigQueryExport.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions_BigQueryExport) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0, 0} |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_BigQueryExport) GetResultsTable() string { |
| if x != nil { |
| return x.ResultsTable |
| } |
| return "" |
| } |
| |
| // The individuals or groups who are designated to receive notifications |
| // upon triggers. |
| type DataQualitySpec_PostScanActions_Recipients struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The email recipients who will receive the DataQualityScan |
| // results report. |
| Emails []string `protobuf:"bytes,1,rep,name=emails,proto3" json:"emails,omitempty"` |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_Recipients) Reset() { |
| *x = DataQualitySpec_PostScanActions_Recipients{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_Recipients) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions_Recipients) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions_Recipients) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions_Recipients.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions_Recipients) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0, 1} |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_Recipients) GetEmails() []string { |
| if x != nil { |
| return x.Emails |
| } |
| return nil |
| } |
| |
| // This trigger is triggered when the DQ score in the job result is less |
| // than a specified input score. |
| type DataQualitySpec_PostScanActions_ScoreThresholdTrigger struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The score range is in [0,100]. |
| ScoreThreshold float32 `protobuf:"fixed32,2,opt,name=score_threshold,json=scoreThreshold,proto3" json:"score_threshold,omitempty"` |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_ScoreThresholdTrigger) Reset() { |
| *x = DataQualitySpec_PostScanActions_ScoreThresholdTrigger{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_ScoreThresholdTrigger) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions_ScoreThresholdTrigger) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions_ScoreThresholdTrigger) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions_ScoreThresholdTrigger.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions_ScoreThresholdTrigger) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0, 2} |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_ScoreThresholdTrigger) GetScoreThreshold() float32 { |
| if x != nil { |
| return x.ScoreThreshold |
| } |
| return 0 |
| } |
| |
| // This trigger is triggered when the scan job itself fails, regardless of |
| // the result. |
| type DataQualitySpec_PostScanActions_JobFailureTrigger struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_JobFailureTrigger) Reset() { |
| *x = DataQualitySpec_PostScanActions_JobFailureTrigger{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_JobFailureTrigger) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions_JobFailureTrigger) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions_JobFailureTrigger) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions_JobFailureTrigger.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions_JobFailureTrigger) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0, 3} |
| } |
| |
| // This trigger is triggered whenever a scan job run ends, regardless |
| // of the result. |
| type DataQualitySpec_PostScanActions_JobEndTrigger struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_JobEndTrigger) Reset() { |
| *x = DataQualitySpec_PostScanActions_JobEndTrigger{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_JobEndTrigger) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions_JobEndTrigger) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions_JobEndTrigger) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions_JobEndTrigger.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions_JobEndTrigger) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0, 4} |
| } |
| |
| // The configuration of notification report post scan action. |
| type DataQualitySpec_PostScanActions_NotificationReport struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The recipients who will receive the notification report. |
| Recipients *DataQualitySpec_PostScanActions_Recipients `protobuf:"bytes,1,opt,name=recipients,proto3" json:"recipients,omitempty"` |
| // Optional. If set, report will be sent when score threshold is met. |
| ScoreThresholdTrigger *DataQualitySpec_PostScanActions_ScoreThresholdTrigger `protobuf:"bytes,2,opt,name=score_threshold_trigger,json=scoreThresholdTrigger,proto3" json:"score_threshold_trigger,omitempty"` |
| // Optional. If set, report will be sent when a scan job fails. |
| JobFailureTrigger *DataQualitySpec_PostScanActions_JobFailureTrigger `protobuf:"bytes,4,opt,name=job_failure_trigger,json=jobFailureTrigger,proto3" json:"job_failure_trigger,omitempty"` |
| // Optional. If set, report will be sent when a scan job ends. |
| JobEndTrigger *DataQualitySpec_PostScanActions_JobEndTrigger `protobuf:"bytes,5,opt,name=job_end_trigger,json=jobEndTrigger,proto3" json:"job_end_trigger,omitempty"` |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) Reset() { |
| *x = DataQualitySpec_PostScanActions_NotificationReport{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualitySpec_PostScanActions_NotificationReport) ProtoMessage() {} |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualitySpec_PostScanActions_NotificationReport.ProtoReflect.Descriptor instead. |
| func (*DataQualitySpec_PostScanActions_NotificationReport) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{0, 0, 5} |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) GetRecipients() *DataQualitySpec_PostScanActions_Recipients { |
| if x != nil { |
| return x.Recipients |
| } |
| return nil |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) GetScoreThresholdTrigger() *DataQualitySpec_PostScanActions_ScoreThresholdTrigger { |
| if x != nil { |
| return x.ScoreThresholdTrigger |
| } |
| return nil |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) GetJobFailureTrigger() *DataQualitySpec_PostScanActions_JobFailureTrigger { |
| if x != nil { |
| return x.JobFailureTrigger |
| } |
| return nil |
| } |
| |
| func (x *DataQualitySpec_PostScanActions_NotificationReport) GetJobEndTrigger() *DataQualitySpec_PostScanActions_JobEndTrigger { |
| if x != nil { |
| return x.JobEndTrigger |
| } |
| return nil |
| } |
| |
| // The result of post scan actions of DataQualityScan job. |
| type DataQualityResult_PostScanActionsResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. The result of BigQuery export post scan action. |
| BigqueryExportResult *DataQualityResult_PostScanActionsResult_BigQueryExportResult `protobuf:"bytes,1,opt,name=bigquery_export_result,json=bigqueryExportResult,proto3" json:"bigquery_export_result,omitempty"` |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult) Reset() { |
| *x = DataQualityResult_PostScanActionsResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityResult_PostScanActionsResult) ProtoMessage() {} |
| |
| func (x *DataQualityResult_PostScanActionsResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityResult_PostScanActionsResult.ProtoReflect.Descriptor instead. |
| func (*DataQualityResult_PostScanActionsResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{1, 0} |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult) GetBigqueryExportResult() *DataQualityResult_PostScanActionsResult_BigQueryExportResult { |
| if x != nil { |
| return x.BigqueryExportResult |
| } |
| return nil |
| } |
| |
| // The result of BigQuery export post scan action. |
| type DataQualityResult_PostScanActionsResult_BigQueryExportResult struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Output only. Execution state for the BigQuery exporting. |
| State DataQualityResult_PostScanActionsResult_BigQueryExportResult_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.dataplex.v1.DataQualityResult_PostScanActionsResult_BigQueryExportResult_State" json:"state,omitempty"` |
| // Output only. Additional information about the BigQuery exporting. |
| Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult_BigQueryExportResult) Reset() { |
| *x = DataQualityResult_PostScanActionsResult_BigQueryExportResult{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult_BigQueryExportResult) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityResult_PostScanActionsResult_BigQueryExportResult) ProtoMessage() {} |
| |
| func (x *DataQualityResult_PostScanActionsResult_BigQueryExportResult) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityResult_PostScanActionsResult_BigQueryExportResult.ProtoReflect.Descriptor instead. |
| func (*DataQualityResult_PostScanActionsResult_BigQueryExportResult) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{1, 0, 0} |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult_BigQueryExportResult) GetState() DataQualityResult_PostScanActionsResult_BigQueryExportResult_State { |
| if x != nil { |
| return x.State |
| } |
| return DataQualityResult_PostScanActionsResult_BigQueryExportResult_STATE_UNSPECIFIED |
| } |
| |
| func (x *DataQualityResult_PostScanActionsResult_BigQueryExportResult) GetMessage() string { |
| if x != nil { |
| return x.Message |
| } |
| return "" |
| } |
| |
| // Evaluates whether each column value lies between a specified range. |
| type DataQualityRule_RangeExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The minimum column value allowed for a row to pass this |
| // validation. At least one of `min_value` and `max_value` need to be |
| // provided. |
| MinValue string `protobuf:"bytes,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` |
| // Optional. The maximum column value allowed for a row to pass this |
| // validation. At least one of `min_value` and `max_value` need to be |
| // provided. |
| MaxValue string `protobuf:"bytes,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` |
| // Optional. Whether each value needs to be strictly greater than ('>') the |
| // minimum, or if equality is allowed. |
| // |
| // Only relevant if a `min_value` has been defined. Default = false. |
| StrictMinEnabled bool `protobuf:"varint,3,opt,name=strict_min_enabled,json=strictMinEnabled,proto3" json:"strict_min_enabled,omitempty"` |
| // Optional. Whether each value needs to be strictly lesser than ('<') the |
| // maximum, or if equality is allowed. |
| // |
| // Only relevant if a `max_value` has been defined. Default = false. |
| StrictMaxEnabled bool `protobuf:"varint,4,opt,name=strict_max_enabled,json=strictMaxEnabled,proto3" json:"strict_max_enabled,omitempty"` |
| } |
| |
| func (x *DataQualityRule_RangeExpectation) Reset() { |
| *x = DataQualityRule_RangeExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_RangeExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_RangeExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_RangeExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_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 DataQualityRule_RangeExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_RangeExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 0} |
| } |
| |
| func (x *DataQualityRule_RangeExpectation) GetMinValue() string { |
| if x != nil { |
| return x.MinValue |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule_RangeExpectation) GetMaxValue() string { |
| if x != nil { |
| return x.MaxValue |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule_RangeExpectation) GetStrictMinEnabled() bool { |
| if x != nil { |
| return x.StrictMinEnabled |
| } |
| return false |
| } |
| |
| func (x *DataQualityRule_RangeExpectation) GetStrictMaxEnabled() bool { |
| if x != nil { |
| return x.StrictMaxEnabled |
| } |
| return false |
| } |
| |
| // Evaluates whether each column value is null. |
| type DataQualityRule_NonNullExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *DataQualityRule_NonNullExpectation) Reset() { |
| *x = DataQualityRule_NonNullExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_NonNullExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_NonNullExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_NonNullExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[17] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_NonNullExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_NonNullExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 1} |
| } |
| |
| // Evaluates whether each column value is contained by a specified set. |
| type DataQualityRule_SetExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. Expected values for the column value. |
| Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` |
| } |
| |
| func (x *DataQualityRule_SetExpectation) Reset() { |
| *x = DataQualityRule_SetExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_SetExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_SetExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_SetExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[18] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_SetExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_SetExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 2} |
| } |
| |
| func (x *DataQualityRule_SetExpectation) GetValues() []string { |
| if x != nil { |
| return x.Values |
| } |
| return nil |
| } |
| |
| // Evaluates whether each column value matches a specified regex. |
| type DataQualityRule_RegexExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. A regular expression the column value is expected to match. |
| Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"` |
| } |
| |
| func (x *DataQualityRule_RegexExpectation) Reset() { |
| *x = DataQualityRule_RegexExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_RegexExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_RegexExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_RegexExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[19] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_RegexExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_RegexExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 3} |
| } |
| |
| func (x *DataQualityRule_RegexExpectation) GetRegex() string { |
| if x != nil { |
| return x.Regex |
| } |
| return "" |
| } |
| |
| // Evaluates whether the column has duplicates. |
| type DataQualityRule_UniquenessExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *DataQualityRule_UniquenessExpectation) Reset() { |
| *x = DataQualityRule_UniquenessExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_UniquenessExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_UniquenessExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_UniquenessExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[20] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_UniquenessExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_UniquenessExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 4} |
| } |
| |
| // Evaluates whether the column aggregate statistic lies between a specified |
| // range. |
| type DataQualityRule_StatisticRangeExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The aggregate metric to evaluate. |
| Statistic DataQualityRule_StatisticRangeExpectation_ColumnStatistic `protobuf:"varint,1,opt,name=statistic,proto3,enum=google.cloud.dataplex.v1.DataQualityRule_StatisticRangeExpectation_ColumnStatistic" json:"statistic,omitempty"` |
| // Optional. The minimum column statistic value allowed for a row to pass |
| // this validation. |
| // |
| // At least one of `min_value` and `max_value` need to be provided. |
| MinValue string `protobuf:"bytes,2,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` |
| // Optional. The maximum column statistic value allowed for a row to pass |
| // this validation. |
| // |
| // At least one of `min_value` and `max_value` need to be provided. |
| MaxValue string `protobuf:"bytes,3,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` |
| // Optional. Whether column statistic needs to be strictly greater than |
| // ('>') the minimum, or if equality is allowed. |
| // |
| // Only relevant if a `min_value` has been defined. Default = false. |
| StrictMinEnabled bool `protobuf:"varint,4,opt,name=strict_min_enabled,json=strictMinEnabled,proto3" json:"strict_min_enabled,omitempty"` |
| // Optional. Whether column statistic needs to be strictly lesser than ('<') |
| // the maximum, or if equality is allowed. |
| // |
| // Only relevant if a `max_value` has been defined. Default = false. |
| StrictMaxEnabled bool `protobuf:"varint,5,opt,name=strict_max_enabled,json=strictMaxEnabled,proto3" json:"strict_max_enabled,omitempty"` |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) Reset() { |
| *x = DataQualityRule_StatisticRangeExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_StatisticRangeExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[21] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_StatisticRangeExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_StatisticRangeExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 5} |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) GetStatistic() DataQualityRule_StatisticRangeExpectation_ColumnStatistic { |
| if x != nil { |
| return x.Statistic |
| } |
| return DataQualityRule_StatisticRangeExpectation_STATISTIC_UNDEFINED |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) GetMinValue() string { |
| if x != nil { |
| return x.MinValue |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) GetMaxValue() string { |
| if x != nil { |
| return x.MaxValue |
| } |
| return "" |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) GetStrictMinEnabled() bool { |
| if x != nil { |
| return x.StrictMinEnabled |
| } |
| return false |
| } |
| |
| func (x *DataQualityRule_StatisticRangeExpectation) GetStrictMaxEnabled() bool { |
| if x != nil { |
| return x.StrictMaxEnabled |
| } |
| return false |
| } |
| |
| // Evaluates whether each row passes the specified condition. |
| // |
| // The SQL expression needs to use BigQuery standard SQL syntax and should |
| // produce a boolean value per row as the result. |
| // |
| // Example: col1 >= 0 AND col2 < 10 |
| type DataQualityRule_RowConditionExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The SQL expression. |
| SqlExpression string `protobuf:"bytes,1,opt,name=sql_expression,json=sqlExpression,proto3" json:"sql_expression,omitempty"` |
| } |
| |
| func (x *DataQualityRule_RowConditionExpectation) Reset() { |
| *x = DataQualityRule_RowConditionExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_RowConditionExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_RowConditionExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_RowConditionExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[22] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_RowConditionExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_RowConditionExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 6} |
| } |
| |
| func (x *DataQualityRule_RowConditionExpectation) GetSqlExpression() string { |
| if x != nil { |
| return x.SqlExpression |
| } |
| return "" |
| } |
| |
| // Evaluates whether the provided expression is true. |
| // |
| // The SQL expression needs to use BigQuery standard SQL syntax and should |
| // produce a scalar boolean result. |
| // |
| // Example: MIN(col1) >= 0 |
| type DataQualityRule_TableConditionExpectation struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The SQL expression. |
| SqlExpression string `protobuf:"bytes,1,opt,name=sql_expression,json=sqlExpression,proto3" json:"sql_expression,omitempty"` |
| } |
| |
| func (x *DataQualityRule_TableConditionExpectation) Reset() { |
| *x = DataQualityRule_TableConditionExpectation{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[23] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_TableConditionExpectation) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_TableConditionExpectation) ProtoMessage() {} |
| |
| func (x *DataQualityRule_TableConditionExpectation) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[23] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_TableConditionExpectation.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_TableConditionExpectation) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 7} |
| } |
| |
| func (x *DataQualityRule_TableConditionExpectation) GetSqlExpression() string { |
| if x != nil { |
| return x.SqlExpression |
| } |
| return "" |
| } |
| |
| // Queries for rows returned by the provided SQL statement. If any rows are |
| // are returned, this rule fails. |
| // |
| // The SQL statement needs to use BigQuery standard SQL syntax, and must not |
| // contain any semicolons. |
| // |
| // ${data()} can be used to reference the rows being evaluated, i.e. the table |
| // after all additional filters (row filters, incremental data filters, |
| // sampling) are applied. |
| // |
| // Example: SELECT * FROM ${data()} WHERE price < 0 |
| type DataQualityRule_SqlAssertion struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The SQL statement. |
| SqlStatement string `protobuf:"bytes,1,opt,name=sql_statement,json=sqlStatement,proto3" json:"sql_statement,omitempty"` |
| } |
| |
| func (x *DataQualityRule_SqlAssertion) Reset() { |
| *x = DataQualityRule_SqlAssertion{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[24] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DataQualityRule_SqlAssertion) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DataQualityRule_SqlAssertion) ProtoMessage() {} |
| |
| func (x *DataQualityRule_SqlAssertion) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[24] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DataQualityRule_SqlAssertion.ProtoReflect.Descriptor instead. |
| func (*DataQualityRule_SqlAssertion) Descriptor() ([]byte, []int) { |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP(), []int{5, 8} |
| } |
| |
| func (x *DataQualityRule_SqlAssertion) GetSqlStatement() string { |
| if x != nil { |
| return x.SqlStatement |
| } |
| return "" |
| } |
| |
| var File_google_cloud_dataplex_v1_data_quality_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_dataplex_v1_data_quality_proto_rawDesc = []byte{ |
| 0x0a, 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, 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, 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, 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, 0x22, 0x86, |
| 0x0a, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, |
| 0x65, 0x63, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 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, 0x42, 0x03, 0xe0, 0x41, |
| 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x61, 0x6d, 0x70, |
| 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, |
| 0x67, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, |
| 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, |
| 0x01, 0x52, 0x09, 0x72, 0x6f, 0x77, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x6a, 0x0a, 0x11, |
| 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, |
| 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 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, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x70, |
| 0x65, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, |
| 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, |
| 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xec, 0x07, 0x0a, 0x0f, 0x50, 0x6f, 0x73, |
| 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, 0x0f, |
| 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 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, |
| 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, |
| 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, |
| 0x70, 0x6f, 0x72, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x4c, 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, 0x2e, 0x50, 0x6f, |
| 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x6f, |
| 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, |
| 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x3a, 0x0a, 0x0e, 0x42, 0x69, 0x67, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x72, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, |
| 0x54, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x29, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, |
| 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, |
| 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, |
| 0x1a, 0x45, 0x0a, 0x15, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, |
| 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x63, 0x6f, |
| 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x68, |
| 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x1a, 0x13, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x46, 0x61, |
| 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x1a, 0x0f, 0x0a, 0x0d, |
| 0x4a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x1a, 0x87, 0x04, |
| 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, |
| 0x70, 0x6f, 0x72, 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, |
| 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 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, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x03, |
| 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, |
| 0x8c, 0x01, 0x0a, 0x17, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, |
| 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x4f, 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, 0x2e, 0x50, 0x6f, 0x73, |
| 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x6f, |
| 0x72, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, |
| 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x15, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x54, 0x68, |
| 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x80, |
| 0x01, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x74, |
| 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 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, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, |
| 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x46, 0x61, 0x69, 0x6c, 0x75, |
| 0x72, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, |
| 0x6a, 0x6f, 0x62, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, |
| 0x72, 0x12, 0x74, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x69, |
| 0x67, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 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, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, |
| 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x67, |
| 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, |
| 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0xd3, 0x07, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, |
| 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, |
| 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, |
| 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, |
| 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, |
| 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 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, |
| 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, |
| 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x07, 0x63, |
| 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, |
| 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x45, 0x0a, |
| 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 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, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, |
| 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x05, 0x72, |
| 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, |
| 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, |
| 0x61, 0x18, 0x07, 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, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, |
| 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x7f, 0x0a, 0x18, 0x70, |
| 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, |
| 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, |
| 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xa4, 0x03, 0x0a, |
| 0x15, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, |
| 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x16, 0x62, 0x69, 0x67, 0x71, 0x75, |
| 0x65, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, |
| 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 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, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, |
| 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, |
| 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xf6, 0x01, 0x0a, 0x14, 0x42, |
| 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, |
| 0x75, 0x6c, 0x74, 0x12, 0x77, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x0e, 0x32, 0x5c, 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, 0x2e, |
| 0x50, 0x6f, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, |
| 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x46, 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, 0x0d, 0x0a, 0x09, 0x53, |
| 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, |
| 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, |
| 0x44, 0x10, 0x03, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0xdb, 0x02, |
| 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, |
| 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, |
| 0x01, 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, 0x52, 0x75, 0x6c, 0x65, |
| 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, |
| 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x27, |
| 0x0a, 0x0f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, |
| 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, |
| 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x65, |
| 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, |
| 0x61, 0x73, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x75, |
| 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, |
| 0x6e, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, |
| 0x73, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x70, |
| 0x61, 0x73, 0x73, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, |
| 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x77, |
| 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x33, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, |
| 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, |
| 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, |
| 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb1, 0x01, 0x0a, 0x1a, |
| 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x6d, 0x65, 0x6e, |
| 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, 0x09, 0x64, 0x69, |
| 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 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, 0x51, 0x75, 0x61, |
| 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, |
| 0x41, 0x03, 0x52, 0x09, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, |
| 0x06, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, |
| 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, |
| 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, |
| 0x2a, 0x0a, 0x14, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, |
| 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x11, 0x0a, 0x0f, |
| 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, |
| 0x69, 0x0a, 0x11, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, |
| 0x79, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, |
| 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x70, 0x0a, 0x14, 0x6e, 0x6f, |
| 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 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, 0x2e, 0x4e, 0x6f, 0x6e, 0x4e, 0x75, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x6e, 0x4e, 0x75, 0x6c, |
| 0x6c, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x0f, |
| 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 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, |
| 0x2e, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, |
| 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x12, 0x69, 0x0a, 0x11, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 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, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, |
| 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x45, 0x78, 0x70, |
| 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x67, 0x65, |
| 0x78, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x16, |
| 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 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, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, |
| 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6e, 0x65, |
| 0x73, 0x73, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, |
| 0x15, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x45, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, |
| 0x73, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 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, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, |
| 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x48, 0x00, 0x52, 0x19, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x61, |
| 0x6e, 0x67, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x80, |
| 0x01, 0x0a, 0x19, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, |
| 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc8, 0x01, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x41, 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, 0x2e, 0x52, |
| 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, |
| 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x72, 0x6f, 0x77, 0x43, 0x6f, 0x6e, |
| 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, |
| 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 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, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, |
| 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, |
| 0x19, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, |
| 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0d, 0x73, 0x71, |
| 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xca, 0x01, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x36, 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, 0x2e, 0x53, 0x71, |
| 0x6c, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x71, |
| 0x6c, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x06, 0x63, 0x6f, |
| 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0xf4, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, |
| 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, |
| 0x72, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0xf5, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, |
| 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x12, |
| 0x22, 0x0a, 0x09, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xf6, 0x03, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, |
| 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, |
| 0x18, 0xf7, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x68, |
| 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0xf8, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0x26, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, |
| 0x18, 0xf9, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, |
| 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xbc, 0x01, 0x0a, 0x10, 0x52, 0x61, |
| 0x6e, 0x67, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, |
| 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, |
| 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, |
| 0x75, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6d, 0x69, 0x6e, |
| 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, |
| 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x69, 0x6e, 0x45, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, |
| 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, |
| 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x61, |
| 0x78, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x14, 0x0a, 0x12, 0x4e, 0x6f, 0x6e, 0x4e, |
| 0x75, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2d, |
| 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x2d, 0x0a, |
| 0x10, 0x52, 0x65, 0x67, 0x65, 0x78, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x1a, 0x17, 0x0a, 0x15, |
| 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x85, 0x03, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, |
| 0x74, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x53, 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, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, |
| 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6c, 0x75, |
| 0x6d, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, |
| 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x6d, |
| 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, |
| 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, |
| 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, |
| 0x31, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, |
| 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x69, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, |
| 0x65, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x78, |
| 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, |
| 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x4d, 0x61, 0x78, 0x45, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x46, 0x0a, 0x0f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x53, |
| 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x41, 0x54, |
| 0x49, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, |
| 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d, |
| 0x49, 0x4e, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x58, 0x10, 0x03, 0x1a, 0x45, 0x0a, |
| 0x17, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, |
| 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x71, 0x6c, 0x5f, |
| 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x73, 0x71, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, |
| 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x47, 0x0a, 0x19, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, |
| 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x71, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, |
| 0x73, 0x71, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a, |
| 0x0c, 0x53, 0x71, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, |
| 0x0d, 0x73, 0x71, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x71, 0x6c, 0x53, 0x74, |
| 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, |
| 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x17, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, |
| 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, |
| 0x1b, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1e, 0x0a, 0x05, |
| 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x48, 0x00, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, |
| 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0xc4, 0x01, 0xea, 0x41, 0x55, 0x0a, 0x1d, 0x62, 0x69, |
| 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, |
| 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x70, 0x72, 0x6f, |
| 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, |
| 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, |
| 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x62, 0x6c, 0x65, |
| 0x7d, 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, |
| 0x10, 0x44, 0x61, 0x74, 0x61, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 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_data_quality_proto_rawDescOnce sync.Once |
| file_google_cloud_dataplex_v1_data_quality_proto_rawDescData = file_google_cloud_dataplex_v1_data_quality_proto_rawDesc |
| ) |
| |
| func file_google_cloud_dataplex_v1_data_quality_proto_rawDescGZIP() []byte { |
| file_google_cloud_dataplex_v1_data_quality_proto_rawDescOnce.Do(func() { |
| file_google_cloud_dataplex_v1_data_quality_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dataplex_v1_data_quality_proto_rawDescData) |
| }) |
| return file_google_cloud_dataplex_v1_data_quality_proto_rawDescData |
| } |
| |
| var file_google_cloud_dataplex_v1_data_quality_proto_enumTypes = make([]protoimpl.EnumInfo, 2) |
| var file_google_cloud_dataplex_v1_data_quality_proto_msgTypes = make([]protoimpl.MessageInfo, 25) |
| var file_google_cloud_dataplex_v1_data_quality_proto_goTypes = []interface{}{ |
| (DataQualityResult_PostScanActionsResult_BigQueryExportResult_State)(0), // 0: google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.State |
| (DataQualityRule_StatisticRangeExpectation_ColumnStatistic)(0), // 1: google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.ColumnStatistic |
| (*DataQualitySpec)(nil), // 2: google.cloud.dataplex.v1.DataQualitySpec |
| (*DataQualityResult)(nil), // 3: google.cloud.dataplex.v1.DataQualityResult |
| (*DataQualityRuleResult)(nil), // 4: google.cloud.dataplex.v1.DataQualityRuleResult |
| (*DataQualityDimensionResult)(nil), // 5: google.cloud.dataplex.v1.DataQualityDimensionResult |
| (*DataQualityDimension)(nil), // 6: google.cloud.dataplex.v1.DataQualityDimension |
| (*DataQualityRule)(nil), // 7: google.cloud.dataplex.v1.DataQualityRule |
| (*DataQualityColumnResult)(nil), // 8: google.cloud.dataplex.v1.DataQualityColumnResult |
| (*DataQualitySpec_PostScanActions)(nil), // 9: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions |
| (*DataQualitySpec_PostScanActions_BigQueryExport)(nil), // 10: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExport |
| (*DataQualitySpec_PostScanActions_Recipients)(nil), // 11: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.Recipients |
| (*DataQualitySpec_PostScanActions_ScoreThresholdTrigger)(nil), // 12: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.ScoreThresholdTrigger |
| (*DataQualitySpec_PostScanActions_JobFailureTrigger)(nil), // 13: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobFailureTrigger |
| (*DataQualitySpec_PostScanActions_JobEndTrigger)(nil), // 14: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobEndTrigger |
| (*DataQualitySpec_PostScanActions_NotificationReport)(nil), // 15: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport |
| (*DataQualityResult_PostScanActionsResult)(nil), // 16: google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult |
| (*DataQualityResult_PostScanActionsResult_BigQueryExportResult)(nil), // 17: google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult |
| (*DataQualityRule_RangeExpectation)(nil), // 18: google.cloud.dataplex.v1.DataQualityRule.RangeExpectation |
| (*DataQualityRule_NonNullExpectation)(nil), // 19: google.cloud.dataplex.v1.DataQualityRule.NonNullExpectation |
| (*DataQualityRule_SetExpectation)(nil), // 20: google.cloud.dataplex.v1.DataQualityRule.SetExpectation |
| (*DataQualityRule_RegexExpectation)(nil), // 21: google.cloud.dataplex.v1.DataQualityRule.RegexExpectation |
| (*DataQualityRule_UniquenessExpectation)(nil), // 22: google.cloud.dataplex.v1.DataQualityRule.UniquenessExpectation |
| (*DataQualityRule_StatisticRangeExpectation)(nil), // 23: google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation |
| (*DataQualityRule_RowConditionExpectation)(nil), // 24: google.cloud.dataplex.v1.DataQualityRule.RowConditionExpectation |
| (*DataQualityRule_TableConditionExpectation)(nil), // 25: google.cloud.dataplex.v1.DataQualityRule.TableConditionExpectation |
| (*DataQualityRule_SqlAssertion)(nil), // 26: google.cloud.dataplex.v1.DataQualityRule.SqlAssertion |
| (*ScannedData)(nil), // 27: google.cloud.dataplex.v1.ScannedData |
| } |
| var file_google_cloud_dataplex_v1_data_quality_proto_depIdxs = []int32{ |
| 7, // 0: google.cloud.dataplex.v1.DataQualitySpec.rules:type_name -> google.cloud.dataplex.v1.DataQualityRule |
| 9, // 1: google.cloud.dataplex.v1.DataQualitySpec.post_scan_actions:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions |
| 5, // 2: google.cloud.dataplex.v1.DataQualityResult.dimensions:type_name -> google.cloud.dataplex.v1.DataQualityDimensionResult |
| 8, // 3: google.cloud.dataplex.v1.DataQualityResult.columns:type_name -> google.cloud.dataplex.v1.DataQualityColumnResult |
| 4, // 4: google.cloud.dataplex.v1.DataQualityResult.rules:type_name -> google.cloud.dataplex.v1.DataQualityRuleResult |
| 27, // 5: google.cloud.dataplex.v1.DataQualityResult.scanned_data:type_name -> google.cloud.dataplex.v1.ScannedData |
| 16, // 6: google.cloud.dataplex.v1.DataQualityResult.post_scan_actions_result:type_name -> google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult |
| 7, // 7: google.cloud.dataplex.v1.DataQualityRuleResult.rule:type_name -> google.cloud.dataplex.v1.DataQualityRule |
| 6, // 8: google.cloud.dataplex.v1.DataQualityDimensionResult.dimension:type_name -> google.cloud.dataplex.v1.DataQualityDimension |
| 18, // 9: google.cloud.dataplex.v1.DataQualityRule.range_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.RangeExpectation |
| 19, // 10: google.cloud.dataplex.v1.DataQualityRule.non_null_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.NonNullExpectation |
| 20, // 11: google.cloud.dataplex.v1.DataQualityRule.set_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.SetExpectation |
| 21, // 12: google.cloud.dataplex.v1.DataQualityRule.regex_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.RegexExpectation |
| 22, // 13: google.cloud.dataplex.v1.DataQualityRule.uniqueness_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.UniquenessExpectation |
| 23, // 14: google.cloud.dataplex.v1.DataQualityRule.statistic_range_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation |
| 24, // 15: google.cloud.dataplex.v1.DataQualityRule.row_condition_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.RowConditionExpectation |
| 25, // 16: google.cloud.dataplex.v1.DataQualityRule.table_condition_expectation:type_name -> google.cloud.dataplex.v1.DataQualityRule.TableConditionExpectation |
| 26, // 17: google.cloud.dataplex.v1.DataQualityRule.sql_assertion:type_name -> google.cloud.dataplex.v1.DataQualityRule.SqlAssertion |
| 10, // 18: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.bigquery_export:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExport |
| 15, // 19: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.notification_report:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport |
| 11, // 20: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport.recipients:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.Recipients |
| 12, // 21: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport.score_threshold_trigger:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.ScoreThresholdTrigger |
| 13, // 22: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport.job_failure_trigger:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobFailureTrigger |
| 14, // 23: google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport.job_end_trigger:type_name -> google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobEndTrigger |
| 17, // 24: google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.bigquery_export_result:type_name -> google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult |
| 0, // 25: google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.state:type_name -> google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.State |
| 1, // 26: google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.statistic:type_name -> google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.ColumnStatistic |
| 27, // [27:27] is the sub-list for method output_type |
| 27, // [27:27] is the sub-list for method input_type |
| 27, // [27:27] is the sub-list for extension type_name |
| 27, // [27:27] is the sub-list for extension extendee |
| 0, // [0:27] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_dataplex_v1_data_quality_proto_init() } |
| func file_google_cloud_dataplex_v1_data_quality_proto_init() { |
| if File_google_cloud_dataplex_v1_data_quality_proto != nil { |
| return |
| } |
| file_google_cloud_dataplex_v1_processing_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRuleResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityDimensionResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityDimension); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityColumnResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions_BigQueryExport); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions_Recipients); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions_ScoreThresholdTrigger); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions_JobFailureTrigger); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions_JobEndTrigger); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualitySpec_PostScanActions_NotificationReport); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityResult_PostScanActionsResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityResult_PostScanActionsResult_BigQueryExportResult); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_RangeExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_NonNullExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_SetExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_RegexExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_UniquenessExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_StatisticRangeExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_RowConditionExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_TableConditionExpectation); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DataQualityRule_SqlAssertion); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[1].OneofWrappers = []interface{}{} |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[3].OneofWrappers = []interface{}{} |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[5].OneofWrappers = []interface{}{ |
| (*DataQualityRule_RangeExpectation_)(nil), |
| (*DataQualityRule_NonNullExpectation_)(nil), |
| (*DataQualityRule_SetExpectation_)(nil), |
| (*DataQualityRule_RegexExpectation_)(nil), |
| (*DataQualityRule_UniquenessExpectation_)(nil), |
| (*DataQualityRule_StatisticRangeExpectation_)(nil), |
| (*DataQualityRule_RowConditionExpectation_)(nil), |
| (*DataQualityRule_TableConditionExpectation_)(nil), |
| (*DataQualityRule_SqlAssertion_)(nil), |
| } |
| file_google_cloud_dataplex_v1_data_quality_proto_msgTypes[6].OneofWrappers = []interface{}{} |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_cloud_dataplex_v1_data_quality_proto_rawDesc, |
| NumEnums: 2, |
| NumMessages: 25, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_google_cloud_dataplex_v1_data_quality_proto_goTypes, |
| DependencyIndexes: file_google_cloud_dataplex_v1_data_quality_proto_depIdxs, |
| EnumInfos: file_google_cloud_dataplex_v1_data_quality_proto_enumTypes, |
| MessageInfos: file_google_cloud_dataplex_v1_data_quality_proto_msgTypes, |
| }.Build() |
| File_google_cloud_dataplex_v1_data_quality_proto = out.File |
| file_google_cloud_dataplex_v1_data_quality_proto_rawDesc = nil |
| file_google_cloud_dataplex_v1_data_quality_proto_goTypes = nil |
| file_google_cloud_dataplex_v1_data_quality_proto_depIdxs = nil |
| } |