blob: 8e585ae250d0c311877c67dee1153baf239afe9d [file] [edit]
// 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
}