google-apis-dataplex_v1 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -896,6 +896,898 @@ module Google
|
|
896
896
|
end
|
897
897
|
end
|
898
898
|
|
899
|
+
# DataProfileResult defines the output of DataProfileScan. Each field of the
|
900
|
+
# table will have field type specific profile result.
|
901
|
+
class GoogleCloudDataplexV1DataProfileResult
|
902
|
+
include Google::Apis::Core::Hashable
|
903
|
+
|
904
|
+
# Profile information describing the structure and layout of the data and
|
905
|
+
# contains the profile info.
|
906
|
+
# Corresponds to the JSON property `profile`
|
907
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfile]
|
908
|
+
attr_accessor :profile
|
909
|
+
|
910
|
+
# The count of all rows in the sampled data. Return 0, if zero rows.
|
911
|
+
# Corresponds to the JSON property `rowCount`
|
912
|
+
# @return [Fixnum]
|
913
|
+
attr_accessor :row_count
|
914
|
+
|
915
|
+
# The data scanned during processing (e.g. in incremental DataScan)
|
916
|
+
# Corresponds to the JSON property `scannedData`
|
917
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ScannedData]
|
918
|
+
attr_accessor :scanned_data
|
919
|
+
|
920
|
+
def initialize(**args)
|
921
|
+
update!(**args)
|
922
|
+
end
|
923
|
+
|
924
|
+
# Update properties of this object
|
925
|
+
def update!(**args)
|
926
|
+
@profile = args[:profile] if args.key?(:profile)
|
927
|
+
@row_count = args[:row_count] if args.key?(:row_count)
|
928
|
+
@scanned_data = args[:scanned_data] if args.key?(:scanned_data)
|
929
|
+
end
|
930
|
+
end
|
931
|
+
|
932
|
+
# Profile information describing the structure and layout of the data and
|
933
|
+
# contains the profile info.
|
934
|
+
class GoogleCloudDataplexV1DataProfileResultProfile
|
935
|
+
include Google::Apis::Core::Hashable
|
936
|
+
|
937
|
+
# The sequence of fields describing data in table entities.
|
938
|
+
# Corresponds to the JSON property `fields`
|
939
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfileField>]
|
940
|
+
attr_accessor :fields
|
941
|
+
|
942
|
+
def initialize(**args)
|
943
|
+
update!(**args)
|
944
|
+
end
|
945
|
+
|
946
|
+
# Update properties of this object
|
947
|
+
def update!(**args)
|
948
|
+
@fields = args[:fields] if args.key?(:fields)
|
949
|
+
end
|
950
|
+
end
|
951
|
+
|
952
|
+
# Represents a column field within a table schema.
|
953
|
+
class GoogleCloudDataplexV1DataProfileResultProfileField
|
954
|
+
include Google::Apis::Core::Hashable
|
955
|
+
|
956
|
+
# The mode of the field. Its value will be: REQUIRED, if it is a required field.
|
957
|
+
# NULLABLE, if it is an optional field. REPEATED, if it is a repeated field.
|
958
|
+
# Corresponds to the JSON property `mode`
|
959
|
+
# @return [String]
|
960
|
+
attr_accessor :mode
|
961
|
+
|
962
|
+
# The name of the field.
|
963
|
+
# Corresponds to the JSON property `name`
|
964
|
+
# @return [String]
|
965
|
+
attr_accessor :name
|
966
|
+
|
967
|
+
# ProfileInfo defines the profile information for each schema field type.
|
968
|
+
# Corresponds to the JSON property `profile`
|
969
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo]
|
970
|
+
attr_accessor :profile
|
971
|
+
|
972
|
+
# The field data type. Possible values include: STRING BYTE INT64 INT32 INT16
|
973
|
+
# DOUBLE FLOAT DECIMAL BOOLEAN BINARY TIMESTAMP DATE TIME NULL RECORD
|
974
|
+
# Corresponds to the JSON property `type`
|
975
|
+
# @return [String]
|
976
|
+
attr_accessor :type
|
977
|
+
|
978
|
+
def initialize(**args)
|
979
|
+
update!(**args)
|
980
|
+
end
|
981
|
+
|
982
|
+
# Update properties of this object
|
983
|
+
def update!(**args)
|
984
|
+
@mode = args[:mode] if args.key?(:mode)
|
985
|
+
@name = args[:name] if args.key?(:name)
|
986
|
+
@profile = args[:profile] if args.key?(:profile)
|
987
|
+
@type = args[:type] if args.key?(:type)
|
988
|
+
end
|
989
|
+
end
|
990
|
+
|
991
|
+
# ProfileInfo defines the profile information for each schema field type.
|
992
|
+
class GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfo
|
993
|
+
include Google::Apis::Core::Hashable
|
994
|
+
|
995
|
+
# The ratio of rows that are distinct against the rows in the sampled data.
|
996
|
+
# Corresponds to the JSON property `distinctRatio`
|
997
|
+
# @return [Float]
|
998
|
+
attr_accessor :distinct_ratio
|
999
|
+
|
1000
|
+
# DoubleFieldInfo defines output for any double type field.
|
1001
|
+
# Corresponds to the JSON property `doubleProfile`
|
1002
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo]
|
1003
|
+
attr_accessor :double_profile
|
1004
|
+
|
1005
|
+
# IntegerFieldInfo defines output for any integer type field.
|
1006
|
+
# Corresponds to the JSON property `integerProfile`
|
1007
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo]
|
1008
|
+
attr_accessor :integer_profile
|
1009
|
+
|
1010
|
+
# The ratio of null rows against the rows in the sampled data.
|
1011
|
+
# Corresponds to the JSON property `nullRatio`
|
1012
|
+
# @return [Float]
|
1013
|
+
attr_accessor :null_ratio
|
1014
|
+
|
1015
|
+
# StringFieldInfo defines output info for any string type field.
|
1016
|
+
# Corresponds to the JSON property `stringProfile`
|
1017
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo]
|
1018
|
+
attr_accessor :string_profile
|
1019
|
+
|
1020
|
+
# The array of top N values of the field in the sampled data. Currently N is set
|
1021
|
+
# as 10 or equal to distinct values in the field, whichever is smaller. This
|
1022
|
+
# will be optional for complex non-groupable data-types such as JSON, ARRAY,
|
1023
|
+
# JSON, STRUCT.
|
1024
|
+
# Corresponds to the JSON property `topNValues`
|
1025
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue>]
|
1026
|
+
attr_accessor :top_n_values
|
1027
|
+
|
1028
|
+
def initialize(**args)
|
1029
|
+
update!(**args)
|
1030
|
+
end
|
1031
|
+
|
1032
|
+
# Update properties of this object
|
1033
|
+
def update!(**args)
|
1034
|
+
@distinct_ratio = args[:distinct_ratio] if args.key?(:distinct_ratio)
|
1035
|
+
@double_profile = args[:double_profile] if args.key?(:double_profile)
|
1036
|
+
@integer_profile = args[:integer_profile] if args.key?(:integer_profile)
|
1037
|
+
@null_ratio = args[:null_ratio] if args.key?(:null_ratio)
|
1038
|
+
@string_profile = args[:string_profile] if args.key?(:string_profile)
|
1039
|
+
@top_n_values = args[:top_n_values] if args.key?(:top_n_values)
|
1040
|
+
end
|
1041
|
+
end
|
1042
|
+
|
1043
|
+
# DoubleFieldInfo defines output for any double type field.
|
1044
|
+
class GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoDoubleFieldInfo
|
1045
|
+
include Google::Apis::Core::Hashable
|
1046
|
+
|
1047
|
+
# The average of non-null values of double field in the sampled data. Return NaN,
|
1048
|
+
# if the field has a NaN. Optional if zero non-null rows.
|
1049
|
+
# Corresponds to the JSON property `average`
|
1050
|
+
# @return [Float]
|
1051
|
+
attr_accessor :average
|
1052
|
+
|
1053
|
+
# The maximum value of a double field in the sampled data. Return NaN, if the
|
1054
|
+
# field has a NaN. Optional if zero non-null rows.
|
1055
|
+
# Corresponds to the JSON property `max`
|
1056
|
+
# @return [Float]
|
1057
|
+
attr_accessor :max
|
1058
|
+
|
1059
|
+
# The minimum value of a double field in the sampled data. Return NaN, if the
|
1060
|
+
# field has a NaN. Optional if zero non-null rows.
|
1061
|
+
# Corresponds to the JSON property `min`
|
1062
|
+
# @return [Float]
|
1063
|
+
attr_accessor :min
|
1064
|
+
|
1065
|
+
# A quartile divide the numebr of data points into four parts, or quarters, of
|
1066
|
+
# more-or-less equal size. Three main quartiles used are: The first quartile (Q1)
|
1067
|
+
# splits off the lowest 25% of data from the highest 75%. It is also known as
|
1068
|
+
# the lower or 25th empirical quartile, as 25% of the data is below this point.
|
1069
|
+
# The second quartile (Q2) is the median of a data set. So, 50% of the data lies
|
1070
|
+
# below this point. The third quartile (Q3) splits off the highest 25% of data
|
1071
|
+
# from the lowest 75%. It is known as the upper or 75th empirical quartile, as
|
1072
|
+
# 75% of the data lies below this point. So, here the quartiles is provided as
|
1073
|
+
# an ordered list of quartile values, occurring in order Q1, median, Q3.
|
1074
|
+
# Corresponds to the JSON property `quartiles`
|
1075
|
+
# @return [Array<Float>]
|
1076
|
+
attr_accessor :quartiles
|
1077
|
+
|
1078
|
+
# The standard deviation of non-null of double field in the sampled data. Return
|
1079
|
+
# NaN, if the field has a NaN. Optional if zero non-null rows.
|
1080
|
+
# Corresponds to the JSON property `standardDeviation`
|
1081
|
+
# @return [Float]
|
1082
|
+
attr_accessor :standard_deviation
|
1083
|
+
|
1084
|
+
def initialize(**args)
|
1085
|
+
update!(**args)
|
1086
|
+
end
|
1087
|
+
|
1088
|
+
# Update properties of this object
|
1089
|
+
def update!(**args)
|
1090
|
+
@average = args[:average] if args.key?(:average)
|
1091
|
+
@max = args[:max] if args.key?(:max)
|
1092
|
+
@min = args[:min] if args.key?(:min)
|
1093
|
+
@quartiles = args[:quartiles] if args.key?(:quartiles)
|
1094
|
+
@standard_deviation = args[:standard_deviation] if args.key?(:standard_deviation)
|
1095
|
+
end
|
1096
|
+
end
|
1097
|
+
|
1098
|
+
# IntegerFieldInfo defines output for any integer type field.
|
1099
|
+
class GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoIntegerFieldInfo
|
1100
|
+
include Google::Apis::Core::Hashable
|
1101
|
+
|
1102
|
+
# The average of non-null values of integer field in the sampled data. Return
|
1103
|
+
# NaN, if the field has a NaN. Optional if zero non-null rows.
|
1104
|
+
# Corresponds to the JSON property `average`
|
1105
|
+
# @return [Float]
|
1106
|
+
attr_accessor :average
|
1107
|
+
|
1108
|
+
# The maximum value of an integer field in the sampled data. Return NaN, if the
|
1109
|
+
# field has a NaN. Optional if zero non-null rows.
|
1110
|
+
# Corresponds to the JSON property `max`
|
1111
|
+
# @return [Fixnum]
|
1112
|
+
attr_accessor :max
|
1113
|
+
|
1114
|
+
# The minimum value of an integer field in the sampled data. Return NaN, if the
|
1115
|
+
# field has a NaN. Optional if zero non-null rows.
|
1116
|
+
# Corresponds to the JSON property `min`
|
1117
|
+
# @return [Fixnum]
|
1118
|
+
attr_accessor :min
|
1119
|
+
|
1120
|
+
# A quartile divide the number of data points into four parts, or quarters, of
|
1121
|
+
# more-or-less equal size. Three main quartiles used are: The first quartile (Q1)
|
1122
|
+
# splits off the lowest 25% of data from the highest 75%. It is also known as
|
1123
|
+
# the lower or 25th empirical quartile, as 25% of the data is below this point.
|
1124
|
+
# The second quartile (Q2) is the median of a data set. So, 50% of the data lies
|
1125
|
+
# below this point. The third quartile (Q3) splits off the highest 25% of data
|
1126
|
+
# from the lowest 75%. It is known as the upper or 75th empirical quartile, as
|
1127
|
+
# 75% of the data lies below this point. So, here the quartiles is provided as
|
1128
|
+
# an ordered list of quartile values, occurring in order Q1, median, Q3.
|
1129
|
+
# Corresponds to the JSON property `quartiles`
|
1130
|
+
# @return [Array<Fixnum>]
|
1131
|
+
attr_accessor :quartiles
|
1132
|
+
|
1133
|
+
# The standard deviation of non-null of integer field in the sampled data.
|
1134
|
+
# Return NaN, if the field has a NaN. Optional if zero non-null rows.
|
1135
|
+
# Corresponds to the JSON property `standardDeviation`
|
1136
|
+
# @return [Float]
|
1137
|
+
attr_accessor :standard_deviation
|
1138
|
+
|
1139
|
+
def initialize(**args)
|
1140
|
+
update!(**args)
|
1141
|
+
end
|
1142
|
+
|
1143
|
+
# Update properties of this object
|
1144
|
+
def update!(**args)
|
1145
|
+
@average = args[:average] if args.key?(:average)
|
1146
|
+
@max = args[:max] if args.key?(:max)
|
1147
|
+
@min = args[:min] if args.key?(:min)
|
1148
|
+
@quartiles = args[:quartiles] if args.key?(:quartiles)
|
1149
|
+
@standard_deviation = args[:standard_deviation] if args.key?(:standard_deviation)
|
1150
|
+
end
|
1151
|
+
end
|
1152
|
+
|
1153
|
+
# StringFieldInfo defines output info for any string type field.
|
1154
|
+
class GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoStringFieldInfo
|
1155
|
+
include Google::Apis::Core::Hashable
|
1156
|
+
|
1157
|
+
# The average length of a string field in the sampled data. Optional if zero non-
|
1158
|
+
# null rows.
|
1159
|
+
# Corresponds to the JSON property `averageLength`
|
1160
|
+
# @return [Float]
|
1161
|
+
attr_accessor :average_length
|
1162
|
+
|
1163
|
+
# The maximum length of a string field in the sampled data. Optional if zero non-
|
1164
|
+
# null rows.
|
1165
|
+
# Corresponds to the JSON property `maxLength`
|
1166
|
+
# @return [Fixnum]
|
1167
|
+
attr_accessor :max_length
|
1168
|
+
|
1169
|
+
# The minimum length of the string field in the sampled data. Optional if zero
|
1170
|
+
# non-null rows.
|
1171
|
+
# Corresponds to the JSON property `minLength`
|
1172
|
+
# @return [Fixnum]
|
1173
|
+
attr_accessor :min_length
|
1174
|
+
|
1175
|
+
def initialize(**args)
|
1176
|
+
update!(**args)
|
1177
|
+
end
|
1178
|
+
|
1179
|
+
# Update properties of this object
|
1180
|
+
def update!(**args)
|
1181
|
+
@average_length = args[:average_length] if args.key?(:average_length)
|
1182
|
+
@max_length = args[:max_length] if args.key?(:max_length)
|
1183
|
+
@min_length = args[:min_length] if args.key?(:min_length)
|
1184
|
+
end
|
1185
|
+
end
|
1186
|
+
|
1187
|
+
# The TopNValue defines the structure of output of top N values of a field.
|
1188
|
+
class GoogleCloudDataplexV1DataProfileResultProfileFieldProfileInfoTopNValue
|
1189
|
+
include Google::Apis::Core::Hashable
|
1190
|
+
|
1191
|
+
# The frequency count of the corresponding value in the field.
|
1192
|
+
# Corresponds to the JSON property `count`
|
1193
|
+
# @return [Fixnum]
|
1194
|
+
attr_accessor :count
|
1195
|
+
|
1196
|
+
# The value is the string value of the actual value from the field.
|
1197
|
+
# Corresponds to the JSON property `value`
|
1198
|
+
# @return [String]
|
1199
|
+
attr_accessor :value
|
1200
|
+
|
1201
|
+
def initialize(**args)
|
1202
|
+
update!(**args)
|
1203
|
+
end
|
1204
|
+
|
1205
|
+
# Update properties of this object
|
1206
|
+
def update!(**args)
|
1207
|
+
@count = args[:count] if args.key?(:count)
|
1208
|
+
@value = args[:value] if args.key?(:value)
|
1209
|
+
end
|
1210
|
+
end
|
1211
|
+
|
1212
|
+
# DataProfileScan related setting.
|
1213
|
+
class GoogleCloudDataplexV1DataProfileSpec
|
1214
|
+
include Google::Apis::Core::Hashable
|
1215
|
+
|
1216
|
+
def initialize(**args)
|
1217
|
+
update!(**args)
|
1218
|
+
end
|
1219
|
+
|
1220
|
+
# Update properties of this object
|
1221
|
+
def update!(**args)
|
1222
|
+
end
|
1223
|
+
end
|
1224
|
+
|
1225
|
+
# DataQualityDimensionResult provides a more detailed, per-dimension level view
|
1226
|
+
# of the results.
|
1227
|
+
class GoogleCloudDataplexV1DataQualityDimensionResult
|
1228
|
+
include Google::Apis::Core::Hashable
|
1229
|
+
|
1230
|
+
# Whether the dimension passed or failed.
|
1231
|
+
# Corresponds to the JSON property `passed`
|
1232
|
+
# @return [Boolean]
|
1233
|
+
attr_accessor :passed
|
1234
|
+
alias_method :passed?, :passed
|
1235
|
+
|
1236
|
+
def initialize(**args)
|
1237
|
+
update!(**args)
|
1238
|
+
end
|
1239
|
+
|
1240
|
+
# Update properties of this object
|
1241
|
+
def update!(**args)
|
1242
|
+
@passed = args[:passed] if args.key?(:passed)
|
1243
|
+
end
|
1244
|
+
end
|
1245
|
+
|
1246
|
+
# The output of a DataQualityScan.
|
1247
|
+
class GoogleCloudDataplexV1DataQualityResult
|
1248
|
+
include Google::Apis::Core::Hashable
|
1249
|
+
|
1250
|
+
# A list of results at the dimension-level.
|
1251
|
+
# Corresponds to the JSON property `dimensions`
|
1252
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityDimensionResult>]
|
1253
|
+
attr_accessor :dimensions
|
1254
|
+
|
1255
|
+
# Overall data quality result -- true if all rules passed.
|
1256
|
+
# Corresponds to the JSON property `passed`
|
1257
|
+
# @return [Boolean]
|
1258
|
+
attr_accessor :passed
|
1259
|
+
alias_method :passed?, :passed
|
1260
|
+
|
1261
|
+
# The count of rows processed.
|
1262
|
+
# Corresponds to the JSON property `rowCount`
|
1263
|
+
# @return [Fixnum]
|
1264
|
+
attr_accessor :row_count
|
1265
|
+
|
1266
|
+
# A list of all the rules in a job, and their results.
|
1267
|
+
# Corresponds to the JSON property `rules`
|
1268
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleResult>]
|
1269
|
+
attr_accessor :rules
|
1270
|
+
|
1271
|
+
# The data scanned during processing (e.g. in incremental DataScan)
|
1272
|
+
# Corresponds to the JSON property `scannedData`
|
1273
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ScannedData]
|
1274
|
+
attr_accessor :scanned_data
|
1275
|
+
|
1276
|
+
def initialize(**args)
|
1277
|
+
update!(**args)
|
1278
|
+
end
|
1279
|
+
|
1280
|
+
# Update properties of this object
|
1281
|
+
def update!(**args)
|
1282
|
+
@dimensions = args[:dimensions] if args.key?(:dimensions)
|
1283
|
+
@passed = args[:passed] if args.key?(:passed)
|
1284
|
+
@row_count = args[:row_count] if args.key?(:row_count)
|
1285
|
+
@rules = args[:rules] if args.key?(:rules)
|
1286
|
+
@scanned_data = args[:scanned_data] if args.key?(:scanned_data)
|
1287
|
+
end
|
1288
|
+
end
|
1289
|
+
|
1290
|
+
# A rule captures data quality intent about a data source.
|
1291
|
+
class GoogleCloudDataplexV1DataQualityRule
|
1292
|
+
include Google::Apis::Core::Hashable
|
1293
|
+
|
1294
|
+
# Optional. The unnested column which this rule is evaluated against.
|
1295
|
+
# Corresponds to the JSON property `column`
|
1296
|
+
# @return [String]
|
1297
|
+
attr_accessor :column
|
1298
|
+
|
1299
|
+
# Required. The dimension a rule belongs to. Results are also aggregated at the
|
1300
|
+
# dimension-level. Supported dimensions are "COMPLETENESS", "ACCURACY", "
|
1301
|
+
# CONSISTENCY", "VALIDITY", "UNIQUENESS", "INTEGRITY"
|
1302
|
+
# Corresponds to the JSON property `dimension`
|
1303
|
+
# @return [String]
|
1304
|
+
attr_accessor :dimension
|
1305
|
+
|
1306
|
+
# Optional. Rows with null values will automatically fail a rule, unless
|
1307
|
+
# ignore_null is true. In that case, such null rows are trivially considered
|
1308
|
+
# passing. Only applicable to ColumnMap rules.
|
1309
|
+
# Corresponds to the JSON property `ignoreNull`
|
1310
|
+
# @return [Boolean]
|
1311
|
+
attr_accessor :ignore_null
|
1312
|
+
alias_method :ignore_null?, :ignore_null
|
1313
|
+
|
1314
|
+
# Evaluates whether each column value is null.
|
1315
|
+
# Corresponds to the JSON property `nonNullExpectation`
|
1316
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleNonNullExpectation]
|
1317
|
+
attr_accessor :non_null_expectation
|
1318
|
+
|
1319
|
+
# Evaluates whether each column value lies between a specified range.
|
1320
|
+
# Corresponds to the JSON property `rangeExpectation`
|
1321
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRangeExpectation]
|
1322
|
+
attr_accessor :range_expectation
|
1323
|
+
|
1324
|
+
# Evaluates whether each column value matches a specified regex.
|
1325
|
+
# Corresponds to the JSON property `regexExpectation`
|
1326
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRegexExpectation]
|
1327
|
+
attr_accessor :regex_expectation
|
1328
|
+
|
1329
|
+
# Evaluates whether each row passes the specified condition. The SQL expression
|
1330
|
+
# needs to use BigQuery standard SQL syntax and should produce a boolean per row
|
1331
|
+
# as the result. Example: col1 >= 0 AND col2 < 10
|
1332
|
+
# Corresponds to the JSON property `rowConditionExpectation`
|
1333
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation]
|
1334
|
+
attr_accessor :row_condition_expectation
|
1335
|
+
|
1336
|
+
# Evaluates whether each column value is contained by a specified set.
|
1337
|
+
# Corresponds to the JSON property `setExpectation`
|
1338
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleSetExpectation]
|
1339
|
+
attr_accessor :set_expectation
|
1340
|
+
|
1341
|
+
# Evaluates whether the column aggregate statistic lies between a specified
|
1342
|
+
# range.
|
1343
|
+
# Corresponds to the JSON property `statisticRangeExpectation`
|
1344
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation]
|
1345
|
+
attr_accessor :statistic_range_expectation
|
1346
|
+
|
1347
|
+
# Evaluates whether the provided expression is true. The SQL expression needs to
|
1348
|
+
# use BigQuery standard SQL syntax and should produce a scalar boolean result.
|
1349
|
+
# Example: MIN(col1) >= 0
|
1350
|
+
# Corresponds to the JSON property `tableConditionExpectation`
|
1351
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation]
|
1352
|
+
attr_accessor :table_condition_expectation
|
1353
|
+
|
1354
|
+
# Optional. The minimum ratio of passing_rows / total_rows required to pass this
|
1355
|
+
# rule, with a range of 0.0, 1.00 indicates default value (i.e. 1.0)
|
1356
|
+
# Corresponds to the JSON property `threshold`
|
1357
|
+
# @return [Float]
|
1358
|
+
attr_accessor :threshold
|
1359
|
+
|
1360
|
+
# Evaluates whether the column has duplicates.
|
1361
|
+
# Corresponds to the JSON property `uniquenessExpectation`
|
1362
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation]
|
1363
|
+
attr_accessor :uniqueness_expectation
|
1364
|
+
|
1365
|
+
def initialize(**args)
|
1366
|
+
update!(**args)
|
1367
|
+
end
|
1368
|
+
|
1369
|
+
# Update properties of this object
|
1370
|
+
def update!(**args)
|
1371
|
+
@column = args[:column] if args.key?(:column)
|
1372
|
+
@dimension = args[:dimension] if args.key?(:dimension)
|
1373
|
+
@ignore_null = args[:ignore_null] if args.key?(:ignore_null)
|
1374
|
+
@non_null_expectation = args[:non_null_expectation] if args.key?(:non_null_expectation)
|
1375
|
+
@range_expectation = args[:range_expectation] if args.key?(:range_expectation)
|
1376
|
+
@regex_expectation = args[:regex_expectation] if args.key?(:regex_expectation)
|
1377
|
+
@row_condition_expectation = args[:row_condition_expectation] if args.key?(:row_condition_expectation)
|
1378
|
+
@set_expectation = args[:set_expectation] if args.key?(:set_expectation)
|
1379
|
+
@statistic_range_expectation = args[:statistic_range_expectation] if args.key?(:statistic_range_expectation)
|
1380
|
+
@table_condition_expectation = args[:table_condition_expectation] if args.key?(:table_condition_expectation)
|
1381
|
+
@threshold = args[:threshold] if args.key?(:threshold)
|
1382
|
+
@uniqueness_expectation = args[:uniqueness_expectation] if args.key?(:uniqueness_expectation)
|
1383
|
+
end
|
1384
|
+
end
|
1385
|
+
|
1386
|
+
# Evaluates whether each column value is null.
|
1387
|
+
class GoogleCloudDataplexV1DataQualityRuleNonNullExpectation
|
1388
|
+
include Google::Apis::Core::Hashable
|
1389
|
+
|
1390
|
+
def initialize(**args)
|
1391
|
+
update!(**args)
|
1392
|
+
end
|
1393
|
+
|
1394
|
+
# Update properties of this object
|
1395
|
+
def update!(**args)
|
1396
|
+
end
|
1397
|
+
end
|
1398
|
+
|
1399
|
+
# Evaluates whether each column value lies between a specified range.
|
1400
|
+
class GoogleCloudDataplexV1DataQualityRuleRangeExpectation
|
1401
|
+
include Google::Apis::Core::Hashable
|
1402
|
+
|
1403
|
+
# Optional. The maximum column value allowed for a row to pass this validation.
|
1404
|
+
# At least one of min_value and max_value need to be provided.
|
1405
|
+
# Corresponds to the JSON property `maxValue`
|
1406
|
+
# @return [String]
|
1407
|
+
attr_accessor :max_value
|
1408
|
+
|
1409
|
+
# Optional. The minimum column value allowed for a row to pass this validation.
|
1410
|
+
# At least one of min_value and max_value need to be provided.
|
1411
|
+
# Corresponds to the JSON property `minValue`
|
1412
|
+
# @return [String]
|
1413
|
+
attr_accessor :min_value
|
1414
|
+
|
1415
|
+
# Optional. Whether each value needs to be strictly lesser than ('<') the
|
1416
|
+
# maximum, or if equality is allowed. Only relevant if a max_value has been
|
1417
|
+
# defined. Default = false.
|
1418
|
+
# Corresponds to the JSON property `strictMaxEnabled`
|
1419
|
+
# @return [Boolean]
|
1420
|
+
attr_accessor :strict_max_enabled
|
1421
|
+
alias_method :strict_max_enabled?, :strict_max_enabled
|
1422
|
+
|
1423
|
+
# Optional. Whether each value needs to be strictly greater than ('>') the
|
1424
|
+
# minimum, or if equality is allowed. Only relevant if a min_value has been
|
1425
|
+
# defined. Default = false.
|
1426
|
+
# Corresponds to the JSON property `strictMinEnabled`
|
1427
|
+
# @return [Boolean]
|
1428
|
+
attr_accessor :strict_min_enabled
|
1429
|
+
alias_method :strict_min_enabled?, :strict_min_enabled
|
1430
|
+
|
1431
|
+
def initialize(**args)
|
1432
|
+
update!(**args)
|
1433
|
+
end
|
1434
|
+
|
1435
|
+
# Update properties of this object
|
1436
|
+
def update!(**args)
|
1437
|
+
@max_value = args[:max_value] if args.key?(:max_value)
|
1438
|
+
@min_value = args[:min_value] if args.key?(:min_value)
|
1439
|
+
@strict_max_enabled = args[:strict_max_enabled] if args.key?(:strict_max_enabled)
|
1440
|
+
@strict_min_enabled = args[:strict_min_enabled] if args.key?(:strict_min_enabled)
|
1441
|
+
end
|
1442
|
+
end
|
1443
|
+
|
1444
|
+
# Evaluates whether each column value matches a specified regex.
|
1445
|
+
class GoogleCloudDataplexV1DataQualityRuleRegexExpectation
|
1446
|
+
include Google::Apis::Core::Hashable
|
1447
|
+
|
1448
|
+
#
|
1449
|
+
# Corresponds to the JSON property `regex`
|
1450
|
+
# @return [String]
|
1451
|
+
attr_accessor :regex
|
1452
|
+
|
1453
|
+
def initialize(**args)
|
1454
|
+
update!(**args)
|
1455
|
+
end
|
1456
|
+
|
1457
|
+
# Update properties of this object
|
1458
|
+
def update!(**args)
|
1459
|
+
@regex = args[:regex] if args.key?(:regex)
|
1460
|
+
end
|
1461
|
+
end
|
1462
|
+
|
1463
|
+
# DataQualityRuleResult provides a more detailed, per-rule level view of the
|
1464
|
+
# results.
|
1465
|
+
class GoogleCloudDataplexV1DataQualityRuleResult
|
1466
|
+
include Google::Apis::Core::Hashable
|
1467
|
+
|
1468
|
+
# The number of rows a rule was evaluated against. This field is only valid for
|
1469
|
+
# ColumnMap type rules. Evaluated count can be configured to either (1) include
|
1470
|
+
# all rows (default) - with null rows automatically failing rule evaluation OR (
|
1471
|
+
# 2) exclude null rows from the evaluated_count, by setting ignore_nulls = true
|
1472
|
+
# Corresponds to the JSON property `evaluatedCount`
|
1473
|
+
# @return [Fixnum]
|
1474
|
+
attr_accessor :evaluated_count
|
1475
|
+
|
1476
|
+
# The query to find rows that did not pass this rule. Only applies to ColumnMap
|
1477
|
+
# and RowCondition rules.
|
1478
|
+
# Corresponds to the JSON property `failingRowsQuery`
|
1479
|
+
# @return [String]
|
1480
|
+
attr_accessor :failing_rows_query
|
1481
|
+
|
1482
|
+
# The number of rows with null values in the specified column.
|
1483
|
+
# Corresponds to the JSON property `nullCount`
|
1484
|
+
# @return [Fixnum]
|
1485
|
+
attr_accessor :null_count
|
1486
|
+
|
1487
|
+
# The ratio of passed_count / evaluated_count. This field is only valid for
|
1488
|
+
# ColumnMap type rules.
|
1489
|
+
# Corresponds to the JSON property `passRatio`
|
1490
|
+
# @return [Float]
|
1491
|
+
attr_accessor :pass_ratio
|
1492
|
+
|
1493
|
+
# Whether the rule passed or failed.
|
1494
|
+
# Corresponds to the JSON property `passed`
|
1495
|
+
# @return [Boolean]
|
1496
|
+
attr_accessor :passed
|
1497
|
+
alias_method :passed?, :passed
|
1498
|
+
|
1499
|
+
# The number of rows which passed a rule evaluation. This field is only valid
|
1500
|
+
# for ColumnMap type rules.
|
1501
|
+
# Corresponds to the JSON property `passedCount`
|
1502
|
+
# @return [Fixnum]
|
1503
|
+
attr_accessor :passed_count
|
1504
|
+
|
1505
|
+
# A rule captures data quality intent about a data source.
|
1506
|
+
# Corresponds to the JSON property `rule`
|
1507
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRule]
|
1508
|
+
attr_accessor :rule
|
1509
|
+
|
1510
|
+
def initialize(**args)
|
1511
|
+
update!(**args)
|
1512
|
+
end
|
1513
|
+
|
1514
|
+
# Update properties of this object
|
1515
|
+
def update!(**args)
|
1516
|
+
@evaluated_count = args[:evaluated_count] if args.key?(:evaluated_count)
|
1517
|
+
@failing_rows_query = args[:failing_rows_query] if args.key?(:failing_rows_query)
|
1518
|
+
@null_count = args[:null_count] if args.key?(:null_count)
|
1519
|
+
@pass_ratio = args[:pass_ratio] if args.key?(:pass_ratio)
|
1520
|
+
@passed = args[:passed] if args.key?(:passed)
|
1521
|
+
@passed_count = args[:passed_count] if args.key?(:passed_count)
|
1522
|
+
@rule = args[:rule] if args.key?(:rule)
|
1523
|
+
end
|
1524
|
+
end
|
1525
|
+
|
1526
|
+
# Evaluates whether each row passes the specified condition. The SQL expression
|
1527
|
+
# needs to use BigQuery standard SQL syntax and should produce a boolean per row
|
1528
|
+
# as the result. Example: col1 >= 0 AND col2 < 10
|
1529
|
+
class GoogleCloudDataplexV1DataQualityRuleRowConditionExpectation
|
1530
|
+
include Google::Apis::Core::Hashable
|
1531
|
+
|
1532
|
+
#
|
1533
|
+
# Corresponds to the JSON property `sqlExpression`
|
1534
|
+
# @return [String]
|
1535
|
+
attr_accessor :sql_expression
|
1536
|
+
|
1537
|
+
def initialize(**args)
|
1538
|
+
update!(**args)
|
1539
|
+
end
|
1540
|
+
|
1541
|
+
# Update properties of this object
|
1542
|
+
def update!(**args)
|
1543
|
+
@sql_expression = args[:sql_expression] if args.key?(:sql_expression)
|
1544
|
+
end
|
1545
|
+
end
|
1546
|
+
|
1547
|
+
# Evaluates whether each column value is contained by a specified set.
|
1548
|
+
class GoogleCloudDataplexV1DataQualityRuleSetExpectation
|
1549
|
+
include Google::Apis::Core::Hashable
|
1550
|
+
|
1551
|
+
#
|
1552
|
+
# Corresponds to the JSON property `values`
|
1553
|
+
# @return [Array<String>]
|
1554
|
+
attr_accessor :values
|
1555
|
+
|
1556
|
+
def initialize(**args)
|
1557
|
+
update!(**args)
|
1558
|
+
end
|
1559
|
+
|
1560
|
+
# Update properties of this object
|
1561
|
+
def update!(**args)
|
1562
|
+
@values = args[:values] if args.key?(:values)
|
1563
|
+
end
|
1564
|
+
end
|
1565
|
+
|
1566
|
+
# Evaluates whether the column aggregate statistic lies between a specified
|
1567
|
+
# range.
|
1568
|
+
class GoogleCloudDataplexV1DataQualityRuleStatisticRangeExpectation
|
1569
|
+
include Google::Apis::Core::Hashable
|
1570
|
+
|
1571
|
+
# The maximum column statistic value allowed for a row to pass this validation.
|
1572
|
+
# At least one of min_value and max_value need to be provided.
|
1573
|
+
# Corresponds to the JSON property `maxValue`
|
1574
|
+
# @return [String]
|
1575
|
+
attr_accessor :max_value
|
1576
|
+
|
1577
|
+
# The minimum column statistic value allowed for a row to pass this validation.
|
1578
|
+
# At least one of min_value and max_value need to be provided.
|
1579
|
+
# Corresponds to the JSON property `minValue`
|
1580
|
+
# @return [String]
|
1581
|
+
attr_accessor :min_value
|
1582
|
+
|
1583
|
+
#
|
1584
|
+
# Corresponds to the JSON property `statistic`
|
1585
|
+
# @return [String]
|
1586
|
+
attr_accessor :statistic
|
1587
|
+
|
1588
|
+
# Whether column statistic needs to be strictly lesser than ('<') the maximum,
|
1589
|
+
# or if equality is allowed. Only relevant if a max_value has been defined.
|
1590
|
+
# Default = false.
|
1591
|
+
# Corresponds to the JSON property `strictMaxEnabled`
|
1592
|
+
# @return [Boolean]
|
1593
|
+
attr_accessor :strict_max_enabled
|
1594
|
+
alias_method :strict_max_enabled?, :strict_max_enabled
|
1595
|
+
|
1596
|
+
# Whether column statistic needs to be strictly greater than ('>') the minimum,
|
1597
|
+
# or if equality is allowed. Only relevant if a min_value has been defined.
|
1598
|
+
# Default = false.
|
1599
|
+
# Corresponds to the JSON property `strictMinEnabled`
|
1600
|
+
# @return [Boolean]
|
1601
|
+
attr_accessor :strict_min_enabled
|
1602
|
+
alias_method :strict_min_enabled?, :strict_min_enabled
|
1603
|
+
|
1604
|
+
def initialize(**args)
|
1605
|
+
update!(**args)
|
1606
|
+
end
|
1607
|
+
|
1608
|
+
# Update properties of this object
|
1609
|
+
def update!(**args)
|
1610
|
+
@max_value = args[:max_value] if args.key?(:max_value)
|
1611
|
+
@min_value = args[:min_value] if args.key?(:min_value)
|
1612
|
+
@statistic = args[:statistic] if args.key?(:statistic)
|
1613
|
+
@strict_max_enabled = args[:strict_max_enabled] if args.key?(:strict_max_enabled)
|
1614
|
+
@strict_min_enabled = args[:strict_min_enabled] if args.key?(:strict_min_enabled)
|
1615
|
+
end
|
1616
|
+
end
|
1617
|
+
|
1618
|
+
# Evaluates whether the provided expression is true. The SQL expression needs to
|
1619
|
+
# use BigQuery standard SQL syntax and should produce a scalar boolean result.
|
1620
|
+
# Example: MIN(col1) >= 0
|
1621
|
+
class GoogleCloudDataplexV1DataQualityRuleTableConditionExpectation
|
1622
|
+
include Google::Apis::Core::Hashable
|
1623
|
+
|
1624
|
+
#
|
1625
|
+
# Corresponds to the JSON property `sqlExpression`
|
1626
|
+
# @return [String]
|
1627
|
+
attr_accessor :sql_expression
|
1628
|
+
|
1629
|
+
def initialize(**args)
|
1630
|
+
update!(**args)
|
1631
|
+
end
|
1632
|
+
|
1633
|
+
# Update properties of this object
|
1634
|
+
def update!(**args)
|
1635
|
+
@sql_expression = args[:sql_expression] if args.key?(:sql_expression)
|
1636
|
+
end
|
1637
|
+
end
|
1638
|
+
|
1639
|
+
# Evaluates whether the column has duplicates.
|
1640
|
+
class GoogleCloudDataplexV1DataQualityRuleUniquenessExpectation
|
1641
|
+
include Google::Apis::Core::Hashable
|
1642
|
+
|
1643
|
+
def initialize(**args)
|
1644
|
+
update!(**args)
|
1645
|
+
end
|
1646
|
+
|
1647
|
+
# Update properties of this object
|
1648
|
+
def update!(**args)
|
1649
|
+
end
|
1650
|
+
end
|
1651
|
+
|
1652
|
+
# DataQualityScan related setting.
|
1653
|
+
class GoogleCloudDataplexV1DataQualitySpec
|
1654
|
+
include Google::Apis::Core::Hashable
|
1655
|
+
|
1656
|
+
# The list of rules to evaluate against a data source. At least one rule is
|
1657
|
+
# required.
|
1658
|
+
# Corresponds to the JSON property `rules`
|
1659
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityRule>]
|
1660
|
+
attr_accessor :rules
|
1661
|
+
|
1662
|
+
def initialize(**args)
|
1663
|
+
update!(**args)
|
1664
|
+
end
|
1665
|
+
|
1666
|
+
# Update properties of this object
|
1667
|
+
def update!(**args)
|
1668
|
+
@rules = args[:rules] if args.key?(:rules)
|
1669
|
+
end
|
1670
|
+
end
|
1671
|
+
|
1672
|
+
# Represents a user-visible job which provides the insights for the related data
|
1673
|
+
# source. For examples: - Data Quality: generates queries based on the rules and
|
1674
|
+
# run against the data to get data quality check results. - Data Profile:
|
1675
|
+
# analyzes the data in table(s) and generates insights about the structure,
|
1676
|
+
# content and relationships (such as null percent, cardinality, min/max/mean,
|
1677
|
+
# etc).
|
1678
|
+
class GoogleCloudDataplexV1DataScan
|
1679
|
+
include Google::Apis::Core::Hashable
|
1680
|
+
|
1681
|
+
# Output only. The time when the scan was created.
|
1682
|
+
# Corresponds to the JSON property `createTime`
|
1683
|
+
# @return [String]
|
1684
|
+
attr_accessor :create_time
|
1685
|
+
|
1686
|
+
# The data source for DataScan.
|
1687
|
+
# Corresponds to the JSON property `data`
|
1688
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataSource]
|
1689
|
+
attr_accessor :data
|
1690
|
+
|
1691
|
+
# DataProfileResult defines the output of DataProfileScan. Each field of the
|
1692
|
+
# table will have field type specific profile result.
|
1693
|
+
# Corresponds to the JSON property `dataProfileResult`
|
1694
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResult]
|
1695
|
+
attr_accessor :data_profile_result
|
1696
|
+
|
1697
|
+
# DataProfileScan related setting.
|
1698
|
+
# Corresponds to the JSON property `dataProfileSpec`
|
1699
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileSpec]
|
1700
|
+
attr_accessor :data_profile_spec
|
1701
|
+
|
1702
|
+
# The output of a DataQualityScan.
|
1703
|
+
# Corresponds to the JSON property `dataQualityResult`
|
1704
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityResult]
|
1705
|
+
attr_accessor :data_quality_result
|
1706
|
+
|
1707
|
+
# DataQualityScan related setting.
|
1708
|
+
# Corresponds to the JSON property `dataQualitySpec`
|
1709
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualitySpec]
|
1710
|
+
attr_accessor :data_quality_spec
|
1711
|
+
|
1712
|
+
# Optional. Description of the scan. * Must be between 1-1024 characters.
|
1713
|
+
# Corresponds to the JSON property `description`
|
1714
|
+
# @return [String]
|
1715
|
+
attr_accessor :description
|
1716
|
+
|
1717
|
+
# Optional. User friendly display name. * Must be between 1-256 characters.
|
1718
|
+
# Corresponds to the JSON property `displayName`
|
1719
|
+
# @return [String]
|
1720
|
+
attr_accessor :display_name
|
1721
|
+
|
1722
|
+
# DataScan execution settings.
|
1723
|
+
# Corresponds to the JSON property `executionSpec`
|
1724
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataScanExecutionSpec]
|
1725
|
+
attr_accessor :execution_spec
|
1726
|
+
|
1727
|
+
# Status of the data scan execution.
|
1728
|
+
# Corresponds to the JSON property `executionStatus`
|
1729
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataScanExecutionStatus]
|
1730
|
+
attr_accessor :execution_status
|
1731
|
+
|
1732
|
+
# Optional. User-defined labels for the scan.
|
1733
|
+
# Corresponds to the JSON property `labels`
|
1734
|
+
# @return [Hash<String,String>]
|
1735
|
+
attr_accessor :labels
|
1736
|
+
|
1737
|
+
# Output only. The relative resource name of the scan, of the form: projects/`
|
1738
|
+
# project`/locations/`location_id`/dataScans/`datascan_id`. where `project`
|
1739
|
+
# refers to a project_id or project_number and location_id refers to a GCP
|
1740
|
+
# region.
|
1741
|
+
# Corresponds to the JSON property `name`
|
1742
|
+
# @return [String]
|
1743
|
+
attr_accessor :name
|
1744
|
+
|
1745
|
+
# Output only. Current state of the DataScan.
|
1746
|
+
# Corresponds to the JSON property `state`
|
1747
|
+
# @return [String]
|
1748
|
+
attr_accessor :state
|
1749
|
+
|
1750
|
+
# Output only. The type of DataScan.
|
1751
|
+
# Corresponds to the JSON property `type`
|
1752
|
+
# @return [String]
|
1753
|
+
attr_accessor :type
|
1754
|
+
|
1755
|
+
# Output only. System generated globally unique ID for the scan. This ID will be
|
1756
|
+
# different if the scan is deleted and re-created with the same name.
|
1757
|
+
# Corresponds to the JSON property `uid`
|
1758
|
+
# @return [String]
|
1759
|
+
attr_accessor :uid
|
1760
|
+
|
1761
|
+
# Output only. The time when the scan was last updated.
|
1762
|
+
# Corresponds to the JSON property `updateTime`
|
1763
|
+
# @return [String]
|
1764
|
+
attr_accessor :update_time
|
1765
|
+
|
1766
|
+
def initialize(**args)
|
1767
|
+
update!(**args)
|
1768
|
+
end
|
1769
|
+
|
1770
|
+
# Update properties of this object
|
1771
|
+
def update!(**args)
|
1772
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
1773
|
+
@data = args[:data] if args.key?(:data)
|
1774
|
+
@data_profile_result = args[:data_profile_result] if args.key?(:data_profile_result)
|
1775
|
+
@data_profile_spec = args[:data_profile_spec] if args.key?(:data_profile_spec)
|
1776
|
+
@data_quality_result = args[:data_quality_result] if args.key?(:data_quality_result)
|
1777
|
+
@data_quality_spec = args[:data_quality_spec] if args.key?(:data_quality_spec)
|
1778
|
+
@description = args[:description] if args.key?(:description)
|
1779
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
1780
|
+
@execution_spec = args[:execution_spec] if args.key?(:execution_spec)
|
1781
|
+
@execution_status = args[:execution_status] if args.key?(:execution_status)
|
1782
|
+
@labels = args[:labels] if args.key?(:labels)
|
1783
|
+
@name = args[:name] if args.key?(:name)
|
1784
|
+
@state = args[:state] if args.key?(:state)
|
1785
|
+
@type = args[:type] if args.key?(:type)
|
1786
|
+
@uid = args[:uid] if args.key?(:uid)
|
1787
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
1788
|
+
end
|
1789
|
+
end
|
1790
|
+
|
899
1791
|
# These messages contain information about the execution of a datascan. The
|
900
1792
|
# monitored resource is 'DataScan'
|
901
1793
|
class GoogleCloudDataplexV1DataScanEvent
|
@@ -1035,6 +1927,161 @@ module Google
|
|
1035
1927
|
end
|
1036
1928
|
end
|
1037
1929
|
|
1930
|
+
# DataScan execution settings.
|
1931
|
+
class GoogleCloudDataplexV1DataScanExecutionSpec
|
1932
|
+
include Google::Apis::Core::Hashable
|
1933
|
+
|
1934
|
+
# Immutable. The unnested field (Date or Timestamp) that contains values that
|
1935
|
+
# monotonically increase over time.
|
1936
|
+
# Corresponds to the JSON property `field`
|
1937
|
+
# @return [String]
|
1938
|
+
attr_accessor :field
|
1939
|
+
|
1940
|
+
# DataScan scheduling and trigger settings.
|
1941
|
+
# Corresponds to the JSON property `trigger`
|
1942
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1Trigger]
|
1943
|
+
attr_accessor :trigger
|
1944
|
+
|
1945
|
+
def initialize(**args)
|
1946
|
+
update!(**args)
|
1947
|
+
end
|
1948
|
+
|
1949
|
+
# Update properties of this object
|
1950
|
+
def update!(**args)
|
1951
|
+
@field = args[:field] if args.key?(:field)
|
1952
|
+
@trigger = args[:trigger] if args.key?(:trigger)
|
1953
|
+
end
|
1954
|
+
end
|
1955
|
+
|
1956
|
+
# Status of the data scan execution.
|
1957
|
+
class GoogleCloudDataplexV1DataScanExecutionStatus
|
1958
|
+
include Google::Apis::Core::Hashable
|
1959
|
+
|
1960
|
+
# The time when the latest DataScanJob ended.
|
1961
|
+
# Corresponds to the JSON property `latestJobEndTime`
|
1962
|
+
# @return [String]
|
1963
|
+
attr_accessor :latest_job_end_time
|
1964
|
+
|
1965
|
+
# The time when the latest DataScanJob started.
|
1966
|
+
# Corresponds to the JSON property `latestJobStartTime`
|
1967
|
+
# @return [String]
|
1968
|
+
attr_accessor :latest_job_start_time
|
1969
|
+
|
1970
|
+
def initialize(**args)
|
1971
|
+
update!(**args)
|
1972
|
+
end
|
1973
|
+
|
1974
|
+
# Update properties of this object
|
1975
|
+
def update!(**args)
|
1976
|
+
@latest_job_end_time = args[:latest_job_end_time] if args.key?(:latest_job_end_time)
|
1977
|
+
@latest_job_start_time = args[:latest_job_start_time] if args.key?(:latest_job_start_time)
|
1978
|
+
end
|
1979
|
+
end
|
1980
|
+
|
1981
|
+
# A DataScanJob represents an instance of a data scan.
|
1982
|
+
class GoogleCloudDataplexV1DataScanJob
|
1983
|
+
include Google::Apis::Core::Hashable
|
1984
|
+
|
1985
|
+
# DataProfileResult defines the output of DataProfileScan. Each field of the
|
1986
|
+
# table will have field type specific profile result.
|
1987
|
+
# Corresponds to the JSON property `dataProfileResult`
|
1988
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileResult]
|
1989
|
+
attr_accessor :data_profile_result
|
1990
|
+
|
1991
|
+
# DataProfileScan related setting.
|
1992
|
+
# Corresponds to the JSON property `dataProfileSpec`
|
1993
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataProfileSpec]
|
1994
|
+
attr_accessor :data_profile_spec
|
1995
|
+
|
1996
|
+
# The output of a DataQualityScan.
|
1997
|
+
# Corresponds to the JSON property `dataQualityResult`
|
1998
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualityResult]
|
1999
|
+
attr_accessor :data_quality_result
|
2000
|
+
|
2001
|
+
# DataQualityScan related setting.
|
2002
|
+
# Corresponds to the JSON property `dataQualitySpec`
|
2003
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataQualitySpec]
|
2004
|
+
attr_accessor :data_quality_spec
|
2005
|
+
|
2006
|
+
# Output only. The time when the DataScanJob ended.
|
2007
|
+
# Corresponds to the JSON property `endTime`
|
2008
|
+
# @return [String]
|
2009
|
+
attr_accessor :end_time
|
2010
|
+
|
2011
|
+
# Output only. Additional information about the current state.
|
2012
|
+
# Corresponds to the JSON property `message`
|
2013
|
+
# @return [String]
|
2014
|
+
attr_accessor :message
|
2015
|
+
|
2016
|
+
# Output only. The relative resource name of the DataScanJob, of the form:
|
2017
|
+
# projects/`project`/locations/`location_id`/dataScans/`datascan_id`/jobs/`
|
2018
|
+
# job_id`. where `project` refers to a project_id or project_number and
|
2019
|
+
# location_id refers to a GCP region.
|
2020
|
+
# Corresponds to the JSON property `name`
|
2021
|
+
# @return [String]
|
2022
|
+
attr_accessor :name
|
2023
|
+
|
2024
|
+
# Output only. The time when the DataScanJob was started.
|
2025
|
+
# Corresponds to the JSON property `startTime`
|
2026
|
+
# @return [String]
|
2027
|
+
attr_accessor :start_time
|
2028
|
+
|
2029
|
+
# Output only. Execution state for the DataScanJob.
|
2030
|
+
# Corresponds to the JSON property `state`
|
2031
|
+
# @return [String]
|
2032
|
+
attr_accessor :state
|
2033
|
+
|
2034
|
+
# Output only. The type of the parent DataScan.
|
2035
|
+
# Corresponds to the JSON property `type`
|
2036
|
+
# @return [String]
|
2037
|
+
attr_accessor :type
|
2038
|
+
|
2039
|
+
# Output only. System generated globally unique ID for the DataScanJob.
|
2040
|
+
# Corresponds to the JSON property `uid`
|
2041
|
+
# @return [String]
|
2042
|
+
attr_accessor :uid
|
2043
|
+
|
2044
|
+
def initialize(**args)
|
2045
|
+
update!(**args)
|
2046
|
+
end
|
2047
|
+
|
2048
|
+
# Update properties of this object
|
2049
|
+
def update!(**args)
|
2050
|
+
@data_profile_result = args[:data_profile_result] if args.key?(:data_profile_result)
|
2051
|
+
@data_profile_spec = args[:data_profile_spec] if args.key?(:data_profile_spec)
|
2052
|
+
@data_quality_result = args[:data_quality_result] if args.key?(:data_quality_result)
|
2053
|
+
@data_quality_spec = args[:data_quality_spec] if args.key?(:data_quality_spec)
|
2054
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
2055
|
+
@message = args[:message] if args.key?(:message)
|
2056
|
+
@name = args[:name] if args.key?(:name)
|
2057
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
2058
|
+
@state = args[:state] if args.key?(:state)
|
2059
|
+
@type = args[:type] if args.key?(:type)
|
2060
|
+
@uid = args[:uid] if args.key?(:uid)
|
2061
|
+
end
|
2062
|
+
end
|
2063
|
+
|
2064
|
+
# The data source for DataScan.
|
2065
|
+
class GoogleCloudDataplexV1DataSource
|
2066
|
+
include Google::Apis::Core::Hashable
|
2067
|
+
|
2068
|
+
# Immutable. The dataplex entity that contains the data for DataScan, of the
|
2069
|
+
# form: projects/`project_number`/locations/`location_id`/lakes/`lake_id`/zones/`
|
2070
|
+
# zone_id`/entities/`entity_id`.
|
2071
|
+
# Corresponds to the JSON property `entity`
|
2072
|
+
# @return [String]
|
2073
|
+
attr_accessor :entity
|
2074
|
+
|
2075
|
+
def initialize(**args)
|
2076
|
+
update!(**args)
|
2077
|
+
end
|
2078
|
+
|
2079
|
+
# Update properties of this object
|
2080
|
+
def update!(**args)
|
2081
|
+
@entity = args[:entity] if args.key?(:entity)
|
2082
|
+
end
|
2083
|
+
end
|
2084
|
+
|
1038
2085
|
# The payload associated with Discovery data processing.
|
1039
2086
|
class GoogleCloudDataplexV1DiscoveryEvent
|
1040
2087
|
include Google::Apis::Core::Hashable
|
@@ -2025,6 +3072,64 @@ module Google
|
|
2025
3072
|
end
|
2026
3073
|
end
|
2027
3074
|
|
3075
|
+
# List DataScanJobs response.
|
3076
|
+
class GoogleCloudDataplexV1ListDataScanJobsResponse
|
3077
|
+
include Google::Apis::Core::Hashable
|
3078
|
+
|
3079
|
+
# DataScanJobs (metadata only) under a given dataScan.
|
3080
|
+
# Corresponds to the JSON property `dataScanJobs`
|
3081
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataScanJob>]
|
3082
|
+
attr_accessor :data_scan_jobs
|
3083
|
+
|
3084
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
3085
|
+
# results in the list.
|
3086
|
+
# Corresponds to the JSON property `nextPageToken`
|
3087
|
+
# @return [String]
|
3088
|
+
attr_accessor :next_page_token
|
3089
|
+
|
3090
|
+
def initialize(**args)
|
3091
|
+
update!(**args)
|
3092
|
+
end
|
3093
|
+
|
3094
|
+
# Update properties of this object
|
3095
|
+
def update!(**args)
|
3096
|
+
@data_scan_jobs = args[:data_scan_jobs] if args.key?(:data_scan_jobs)
|
3097
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
3098
|
+
end
|
3099
|
+
end
|
3100
|
+
|
3101
|
+
# List dataScans response.
|
3102
|
+
class GoogleCloudDataplexV1ListDataScansResponse
|
3103
|
+
include Google::Apis::Core::Hashable
|
3104
|
+
|
3105
|
+
# DataScans (metadata only) under the given parent location.
|
3106
|
+
# Corresponds to the JSON property `dataScans`
|
3107
|
+
# @return [Array<Google::Apis::DataplexV1::GoogleCloudDataplexV1DataScan>]
|
3108
|
+
attr_accessor :data_scans
|
3109
|
+
|
3110
|
+
# Token to retrieve the next page of results, or empty if there are no more
|
3111
|
+
# results in the list.
|
3112
|
+
# Corresponds to the JSON property `nextPageToken`
|
3113
|
+
# @return [String]
|
3114
|
+
attr_accessor :next_page_token
|
3115
|
+
|
3116
|
+
# Locations that could not be reached.
|
3117
|
+
# Corresponds to the JSON property `unreachable`
|
3118
|
+
# @return [Array<String>]
|
3119
|
+
attr_accessor :unreachable
|
3120
|
+
|
3121
|
+
def initialize(**args)
|
3122
|
+
update!(**args)
|
3123
|
+
end
|
3124
|
+
|
3125
|
+
# Update properties of this object
|
3126
|
+
def update!(**args)
|
3127
|
+
@data_scans = args[:data_scans] if args.key?(:data_scans)
|
3128
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
3129
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
3130
|
+
end
|
3131
|
+
end
|
3132
|
+
|
2028
3133
|
# List metadata entities response.
|
2029
3134
|
class GoogleCloudDataplexV1ListEntitiesResponse
|
2030
3135
|
include Google::Apis::Core::Hashable
|
@@ -2347,6 +3452,89 @@ module Google
|
|
2347
3452
|
end
|
2348
3453
|
end
|
2349
3454
|
|
3455
|
+
# Run DataScan Request
|
3456
|
+
class GoogleCloudDataplexV1RunDataScanRequest
|
3457
|
+
include Google::Apis::Core::Hashable
|
3458
|
+
|
3459
|
+
def initialize(**args)
|
3460
|
+
update!(**args)
|
3461
|
+
end
|
3462
|
+
|
3463
|
+
# Update properties of this object
|
3464
|
+
def update!(**args)
|
3465
|
+
end
|
3466
|
+
end
|
3467
|
+
|
3468
|
+
# Run DataScan Response.
|
3469
|
+
class GoogleCloudDataplexV1RunDataScanResponse
|
3470
|
+
include Google::Apis::Core::Hashable
|
3471
|
+
|
3472
|
+
# A DataScanJob represents an instance of a data scan.
|
3473
|
+
# Corresponds to the JSON property `job`
|
3474
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1DataScanJob]
|
3475
|
+
attr_accessor :job
|
3476
|
+
|
3477
|
+
def initialize(**args)
|
3478
|
+
update!(**args)
|
3479
|
+
end
|
3480
|
+
|
3481
|
+
# Update properties of this object
|
3482
|
+
def update!(**args)
|
3483
|
+
@job = args[:job] if args.key?(:job)
|
3484
|
+
end
|
3485
|
+
end
|
3486
|
+
|
3487
|
+
# The data scanned during processing (e.g. in incremental DataScan)
|
3488
|
+
class GoogleCloudDataplexV1ScannedData
|
3489
|
+
include Google::Apis::Core::Hashable
|
3490
|
+
|
3491
|
+
# A data range denoted by a pair of start/end values of a field.
|
3492
|
+
# Corresponds to the JSON property `incrementalField`
|
3493
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1ScannedDataIncrementalField]
|
3494
|
+
attr_accessor :incremental_field
|
3495
|
+
|
3496
|
+
def initialize(**args)
|
3497
|
+
update!(**args)
|
3498
|
+
end
|
3499
|
+
|
3500
|
+
# Update properties of this object
|
3501
|
+
def update!(**args)
|
3502
|
+
@incremental_field = args[:incremental_field] if args.key?(:incremental_field)
|
3503
|
+
end
|
3504
|
+
end
|
3505
|
+
|
3506
|
+
# A data range denoted by a pair of start/end values of a field.
|
3507
|
+
class GoogleCloudDataplexV1ScannedDataIncrementalField
|
3508
|
+
include Google::Apis::Core::Hashable
|
3509
|
+
|
3510
|
+
# Value that marks the end of the range
|
3511
|
+
# Corresponds to the JSON property `end`
|
3512
|
+
# @return [String]
|
3513
|
+
attr_accessor :end
|
3514
|
+
|
3515
|
+
# The field that contains values which monotonically increases over time (e.g.
|
3516
|
+
# timestamp).
|
3517
|
+
# Corresponds to the JSON property `field`
|
3518
|
+
# @return [String]
|
3519
|
+
attr_accessor :field
|
3520
|
+
|
3521
|
+
# Value that marks the start of the range
|
3522
|
+
# Corresponds to the JSON property `start`
|
3523
|
+
# @return [String]
|
3524
|
+
attr_accessor :start
|
3525
|
+
|
3526
|
+
def initialize(**args)
|
3527
|
+
update!(**args)
|
3528
|
+
end
|
3529
|
+
|
3530
|
+
# Update properties of this object
|
3531
|
+
def update!(**args)
|
3532
|
+
@end = args[:end] if args.key?(:end)
|
3533
|
+
@field = args[:field] if args.key?(:field)
|
3534
|
+
@start = args[:start] if args.key?(:start)
|
3535
|
+
end
|
3536
|
+
end
|
3537
|
+
|
2350
3538
|
# Schema information describing the structure and layout of the data.
|
2351
3539
|
class GoogleCloudDataplexV1Schema
|
2352
3540
|
include Google::Apis::Core::Hashable
|
@@ -2644,6 +3832,11 @@ module Google
|
|
2644
3832
|
# @return [String]
|
2645
3833
|
attr_accessor :format
|
2646
3834
|
|
3835
|
+
# Describes Iceberg data format.
|
3836
|
+
# Corresponds to the JSON property `iceberg`
|
3837
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormatIcebergOptions]
|
3838
|
+
attr_accessor :iceberg
|
3839
|
+
|
2647
3840
|
# Describes JSON data format.
|
2648
3841
|
# Corresponds to the JSON property `json`
|
2649
3842
|
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1StorageFormatJsonOptions]
|
@@ -2668,6 +3861,7 @@ module Google
|
|
2668
3861
|
@compression_format = args[:compression_format] if args.key?(:compression_format)
|
2669
3862
|
@csv = args[:csv] if args.key?(:csv)
|
2670
3863
|
@format = args[:format] if args.key?(:format)
|
3864
|
+
@iceberg = args[:iceberg] if args.key?(:iceberg)
|
2671
3865
|
@json = args[:json] if args.key?(:json)
|
2672
3866
|
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
2673
3867
|
end
|
@@ -2714,6 +3908,26 @@ module Google
|
|
2714
3908
|
end
|
2715
3909
|
end
|
2716
3910
|
|
3911
|
+
# Describes Iceberg data format.
|
3912
|
+
class GoogleCloudDataplexV1StorageFormatIcebergOptions
|
3913
|
+
include Google::Apis::Core::Hashable
|
3914
|
+
|
3915
|
+
# Optional. The location of where the iceberg metadata is present, must be
|
3916
|
+
# within the table path
|
3917
|
+
# Corresponds to the JSON property `metadataLocation`
|
3918
|
+
# @return [String]
|
3919
|
+
attr_accessor :metadata_location
|
3920
|
+
|
3921
|
+
def initialize(**args)
|
3922
|
+
update!(**args)
|
3923
|
+
end
|
3924
|
+
|
3925
|
+
# Update properties of this object
|
3926
|
+
def update!(**args)
|
3927
|
+
@metadata_location = args[:metadata_location] if args.key?(:metadata_location)
|
3928
|
+
end
|
3929
|
+
end
|
3930
|
+
|
2717
3931
|
# Describes JSON data format.
|
2718
3932
|
class GoogleCloudDataplexV1StorageFormatJsonOptions
|
2719
3933
|
include Google::Apis::Core::Hashable
|
@@ -3211,6 +4425,68 @@ module Google
|
|
3211
4425
|
end
|
3212
4426
|
end
|
3213
4427
|
|
4428
|
+
# DataScan scheduling and trigger settings.
|
4429
|
+
class GoogleCloudDataplexV1Trigger
|
4430
|
+
include Google::Apis::Core::Hashable
|
4431
|
+
|
4432
|
+
# The scan runs one-time via RunDataScan API.
|
4433
|
+
# Corresponds to the JSON property `onDemand`
|
4434
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TriggerOnDemand]
|
4435
|
+
attr_accessor :on_demand
|
4436
|
+
|
4437
|
+
# The scan is scheduled to run periodically.
|
4438
|
+
# Corresponds to the JSON property `schedule`
|
4439
|
+
# @return [Google::Apis::DataplexV1::GoogleCloudDataplexV1TriggerSchedule]
|
4440
|
+
attr_accessor :schedule
|
4441
|
+
|
4442
|
+
def initialize(**args)
|
4443
|
+
update!(**args)
|
4444
|
+
end
|
4445
|
+
|
4446
|
+
# Update properties of this object
|
4447
|
+
def update!(**args)
|
4448
|
+
@on_demand = args[:on_demand] if args.key?(:on_demand)
|
4449
|
+
@schedule = args[:schedule] if args.key?(:schedule)
|
4450
|
+
end
|
4451
|
+
end
|
4452
|
+
|
4453
|
+
# The scan runs one-time via RunDataScan API.
|
4454
|
+
class GoogleCloudDataplexV1TriggerOnDemand
|
4455
|
+
include Google::Apis::Core::Hashable
|
4456
|
+
|
4457
|
+
def initialize(**args)
|
4458
|
+
update!(**args)
|
4459
|
+
end
|
4460
|
+
|
4461
|
+
# Update properties of this object
|
4462
|
+
def update!(**args)
|
4463
|
+
end
|
4464
|
+
end
|
4465
|
+
|
4466
|
+
# The scan is scheduled to run periodically.
|
4467
|
+
class GoogleCloudDataplexV1TriggerSchedule
|
4468
|
+
include Google::Apis::Core::Hashable
|
4469
|
+
|
4470
|
+
# Required. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running scans
|
4471
|
+
# periodically. To explicitly set a timezone to the cron tab, apply a prefix in
|
4472
|
+
# the cron tab: "CRON_TZ=$`IANA_TIME_ZONE`" or "TZ=$`IANA_TIME_ZONE`". The $`
|
4473
|
+
# IANA_TIME_ZONE` may only be a valid string from IANA time zone database. For
|
4474
|
+
# example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * *
|
4475
|
+
# *". This field is required for Schedule scans.
|
4476
|
+
# Corresponds to the JSON property `cron`
|
4477
|
+
# @return [String]
|
4478
|
+
attr_accessor :cron
|
4479
|
+
|
4480
|
+
def initialize(**args)
|
4481
|
+
update!(**args)
|
4482
|
+
end
|
4483
|
+
|
4484
|
+
# Update properties of this object
|
4485
|
+
def update!(**args)
|
4486
|
+
@cron = args[:cron] if args.key?(:cron)
|
4487
|
+
end
|
4488
|
+
end
|
4489
|
+
|
3214
4490
|
# A zone represents a logical group of related assets within a lake. A zone can
|
3215
4491
|
# be used to map to organizational structure or represent stages of data
|
3216
4492
|
# readiness from raw to curated. It provides managing behavior that is shared or
|