diff --git a/java-dataplex/README.md b/java-dataplex/README.md
index 1effa3397e77..d694c663c123 100644
--- a/java-dataplex/README.md
+++ b/java-dataplex/README.md
@@ -20,7 +20,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
+ * A dimension captures data quality intent about a defined subset of the rules + * specified. + *+ * + * Protobuf type {@code google.cloud.dataplex.v1.DataQualityDimension} + */ +public final class DataQualityDimension extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.dataplex.v1.DataQualityDimension) + DataQualityDimensionOrBuilder { + private static final long serialVersionUID = 0L; + // Use DataQualityDimension.newBuilder() to construct. + private DataQualityDimension(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private DataQualityDimension() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new DataQualityDimension(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.dataplex.v1.DataQualityProto + .internal_static_google_cloud_dataplex_v1_DataQualityDimension_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.dataplex.v1.DataQualityProto + .internal_static_google_cloud_dataplex_v1_DataQualityDimension_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.dataplex.v1.DataQualityDimension.class, + com.google.cloud.dataplex.v1.DataQualityDimension.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + /** + * + * + *
+ * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.cloud.dataplex.v1.DataQualityDimension)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.dataplex.v1.DataQualityDimension other =
+ (com.google.cloud.dataplex.v1.DataQualityDimension) obj;
+
+ if (!getName().equals(other.getName())) return false;
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.cloud.dataplex.v1.DataQualityDimension prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ * + * A dimension captures data quality intent about a defined subset of the rules + * specified. + *+ * + * Protobuf type {@code google.cloud.dataplex.v1.DataQualityDimension} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ name_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+ name_ = getDefaultInstance().getName();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ name_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.dataplex.v1.DataQualityDimension)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.dataplex.v1.DataQualityDimension)
+ private static final com.google.cloud.dataplex.v1.DataQualityDimension DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.dataplex.v1.DataQualityDimension();
+ }
+
+ public static com.google.cloud.dataplex.v1.DataQualityDimension getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ *
+ *
+ * + * The dimension name a rule belongs to. Supported dimensions are + * ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", + * "INTEGRITY"] + *+ * + *
string name = 1;
+ *
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString getNameBytes();
+}
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java
index ee770cc8b359..eace2e080182 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResult.java
@@ -61,6 +61,62 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
com.google.cloud.dataplex.v1.DataQualityDimensionResult.Builder.class);
}
+ public static final int DIMENSION_FIELD_NUMBER = 1;
+ private com.google.cloud.dataplex.v1.DataQualityDimension dimension_;
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return Whether the dimension field is set.
+ */
+ @java.lang.Override
+ public boolean hasDimension() {
+ return dimension_ != null;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The dimension.
+ */
+ @java.lang.Override
+ public com.google.cloud.dataplex.v1.DataQualityDimension getDimension() {
+ return dimension_ == null
+ ? com.google.cloud.dataplex.v1.DataQualityDimension.getDefaultInstance()
+ : dimension_;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.dataplex.v1.DataQualityDimensionOrBuilder getDimensionOrBuilder() {
+ return dimension_ == null
+ ? com.google.cloud.dataplex.v1.DataQualityDimension.getDefaultInstance()
+ : dimension_;
+ }
+
public static final int PASSED_FIELD_NUMBER = 3;
private boolean passed_ = false;
/**
@@ -93,6 +149,9 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (dimension_ != null) {
+ output.writeMessage(1, getDimension());
+ }
if (passed_ != false) {
output.writeBool(3, passed_);
}
@@ -105,6 +164,9 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
+ if (dimension_ != null) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getDimension());
+ }
if (passed_ != false) {
size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, passed_);
}
@@ -124,6 +186,10 @@ public boolean equals(final java.lang.Object obj) {
com.google.cloud.dataplex.v1.DataQualityDimensionResult other =
(com.google.cloud.dataplex.v1.DataQualityDimensionResult) obj;
+ if (hasDimension() != other.hasDimension()) return false;
+ if (hasDimension()) {
+ if (!getDimension().equals(other.getDimension())) return false;
+ }
if (getPassed() != other.getPassed()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
@@ -136,6 +202,10 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasDimension()) {
+ hash = (37 * hash) + DIMENSION_FIELD_NUMBER;
+ hash = (53 * hash) + getDimension().hashCode();
+ }
hash = (37 * hash) + PASSED_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getPassed());
hash = (29 * hash) + getUnknownFields().hashCode();
@@ -279,6 +349,11 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
public Builder clear() {
super.clear();
bitField0_ = 0;
+ dimension_ = null;
+ if (dimensionBuilder_ != null) {
+ dimensionBuilder_.dispose();
+ dimensionBuilder_ = null;
+ }
passed_ = false;
return this;
}
@@ -317,6 +392,9 @@ public com.google.cloud.dataplex.v1.DataQualityDimensionResult buildPartial() {
private void buildPartial0(com.google.cloud.dataplex.v1.DataQualityDimensionResult result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.dimension_ = dimensionBuilder_ == null ? dimension_ : dimensionBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000002) != 0)) {
result.passed_ = passed_;
}
}
@@ -367,6 +445,9 @@ public Builder mergeFrom(com.google.protobuf.Message other) {
public Builder mergeFrom(com.google.cloud.dataplex.v1.DataQualityDimensionResult other) {
if (other == com.google.cloud.dataplex.v1.DataQualityDimensionResult.getDefaultInstance())
return this;
+ if (other.hasDimension()) {
+ mergeDimension(other.getDimension());
+ }
if (other.getPassed() != false) {
setPassed(other.getPassed());
}
@@ -396,10 +477,16 @@ public Builder mergeFrom(
case 0:
done = true;
break;
+ case 10:
+ {
+ input.readMessage(getDimensionFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 10
case 24:
{
passed_ = input.readBool();
- bitField0_ |= 0x00000001;
+ bitField0_ |= 0x00000002;
break;
} // case 24
default:
@@ -421,6 +508,209 @@ public Builder mergeFrom(
private int bitField0_;
+ private com.google.cloud.dataplex.v1.DataQualityDimension dimension_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.dataplex.v1.DataQualityDimension,
+ com.google.cloud.dataplex.v1.DataQualityDimension.Builder,
+ com.google.cloud.dataplex.v1.DataQualityDimensionOrBuilder>
+ dimensionBuilder_;
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return Whether the dimension field is set.
+ */
+ public boolean hasDimension() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The dimension.
+ */
+ public com.google.cloud.dataplex.v1.DataQualityDimension getDimension() {
+ if (dimensionBuilder_ == null) {
+ return dimension_ == null
+ ? com.google.cloud.dataplex.v1.DataQualityDimension.getDefaultInstance()
+ : dimension_;
+ } else {
+ return dimensionBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder setDimension(com.google.cloud.dataplex.v1.DataQualityDimension value) {
+ if (dimensionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ dimension_ = value;
+ } else {
+ dimensionBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder setDimension(
+ com.google.cloud.dataplex.v1.DataQualityDimension.Builder builderForValue) {
+ if (dimensionBuilder_ == null) {
+ dimension_ = builderForValue.build();
+ } else {
+ dimensionBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder mergeDimension(com.google.cloud.dataplex.v1.DataQualityDimension value) {
+ if (dimensionBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && dimension_ != null
+ && dimension_
+ != com.google.cloud.dataplex.v1.DataQualityDimension.getDefaultInstance()) {
+ getDimensionBuilder().mergeFrom(value);
+ } else {
+ dimension_ = value;
+ }
+ } else {
+ dimensionBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder clearDimension() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ dimension_ = null;
+ if (dimensionBuilder_ != null) {
+ dimensionBuilder_.dispose();
+ dimensionBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityDimension.Builder getDimensionBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getDimensionFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.cloud.dataplex.v1.DataQualityDimensionOrBuilder getDimensionOrBuilder() {
+ if (dimensionBuilder_ != null) {
+ return dimensionBuilder_.getMessageOrBuilder();
+ } else {
+ return dimension_ == null
+ ? com.google.cloud.dataplex.v1.DataQualityDimension.getDefaultInstance()
+ : dimension_;
+ }
+ }
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.dataplex.v1.DataQualityDimension,
+ com.google.cloud.dataplex.v1.DataQualityDimension.Builder,
+ com.google.cloud.dataplex.v1.DataQualityDimensionOrBuilder>
+ getDimensionFieldBuilder() {
+ if (dimensionBuilder_ == null) {
+ dimensionBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.dataplex.v1.DataQualityDimension,
+ com.google.cloud.dataplex.v1.DataQualityDimension.Builder,
+ com.google.cloud.dataplex.v1.DataQualityDimensionOrBuilder>(
+ getDimension(), getParentForChildren(), isClean());
+ dimension_ = null;
+ }
+ return dimensionBuilder_;
+ }
+
private boolean passed_;
/**
*
@@ -452,7 +742,7 @@ public boolean getPassed() {
public Builder setPassed(boolean value) {
passed_ = value;
- bitField0_ |= 0x00000001;
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -468,7 +758,7 @@ public Builder setPassed(boolean value) {
* @return This builder for chaining.
*/
public Builder clearPassed() {
- bitField0_ = (bitField0_ & ~0x00000001);
+ bitField0_ = (bitField0_ & ~0x00000002);
passed_ = false;
onChanged();
return this;
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java
index a0f3d4d15ca3..358e1792b670 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityDimensionResultOrBuilder.java
@@ -23,6 +23,47 @@ public interface DataQualityDimensionResultOrBuilder
// @@protoc_insertion_point(interface_extends:google.cloud.dataplex.v1.DataQualityDimensionResult)
com.google.protobuf.MessageOrBuilder {
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return Whether the dimension field is set.
+ */
+ boolean hasDimension();
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The dimension.
+ */
+ com.google.cloud.dataplex.v1.DataQualityDimension getDimension();
+ /**
+ *
+ *
+ * + * Output only. The dimension config specified in the DataQualitySpec, as is. + *+ * + *
+ * .google.cloud.dataplex.v1.DataQualityDimension dimension = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ com.google.cloud.dataplex.v1.DataQualityDimensionOrBuilder getDimensionOrBuilder();
+
/**
*
*
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java
index 0536b2b754b0..00219dea582a 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/java/com/google/cloud/dataplex/v1/DataQualityProto.java
@@ -59,6 +59,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_cloud_dataplex_v1_DataQualityDimensionResult_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_google_cloud_dataplex_v1_DataQualityDimensionResult_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_dataplex_v1_DataQualityDimension_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_cloud_dataplex_v1_DataQualityDimension_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_google_cloud_dataplex_v1_DataQualityRule_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
@@ -142,55 +146,58 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "taQualityRule\022\016\n\006passed\030\007 \001(\010\022\027\n\017evaluat"
+ "ed_count\030\t \001(\003\022\024\n\014passed_count\030\010 \001(\003\022\022\n\n"
+ "null_count\030\005 \001(\003\022\022\n\npass_ratio\030\006 \001(\001\022\032\n\022"
- + "failing_rows_query\030\n \001(\t\",\n\032DataQualityD"
- + "imensionResult\022\016\n\006passed\030\003 \001(\010\"\211\r\n\017DataQ"
- + "ualityRule\022W\n\021range_expectation\030\001 \001(\0132:."
- + "google.cloud.dataplex.v1.DataQualityRule"
- + ".RangeExpectationH\000\022\\\n\024non_null_expectat"
- + "ion\030\002 \001(\0132<.google.cloud.dataplex.v1.Dat"
- + "aQualityRule.NonNullExpectationH\000\022S\n\017set"
- + "_expectation\030\003 \001(\01328.google.cloud.datapl"
- + "ex.v1.DataQualityRule.SetExpectationH\000\022W"
- + "\n\021regex_expectation\030\004 \001(\0132:.google.cloud"
- + ".dataplex.v1.DataQualityRule.RegexExpect"
- + "ationH\000\022a\n\026uniqueness_expectation\030d \001(\0132"
- + "?.google.cloud.dataplex.v1.DataQualityRu"
- + "le.UniquenessExpectationH\000\022j\n\033statistic_"
- + "range_expectation\030e \001(\0132C.google.cloud.d"
- + "ataplex.v1.DataQualityRule.StatisticRang"
- + "eExpectationH\000\022g\n\031row_condition_expectat"
- + "ion\030\310\001 \001(\0132A.google.cloud.dataplex.v1.Da"
- + "taQualityRule.RowConditionExpectationH\000\022"
- + "k\n\033table_condition_expectation\030\311\001 \001(\0132C."
- + "google.cloud.dataplex.v1.DataQualityRule"
- + ".TableConditionExpectationH\000\022\025\n\006column\030\364"
- + "\003 \001(\tB\004\342A\001\001\022\032\n\013ignore_null\030\365\003 \001(\010B\004\342A\001\001\022"
- + "\030\n\tdimension\030\366\003 \001(\tB\004\342A\001\002\022\030\n\tthreshold\030\367"
- + "\003 \001(\001B\004\342A\001\001\022\023\n\004name\030\370\003 \001(\tB\004\342A\001\001\022\032\n\013desc"
- + "ription\030\371\003 \001(\tB\004\342A\001\001\032\210\001\n\020RangeExpectatio"
- + "n\022\027\n\tmin_value\030\001 \001(\tB\004\342A\001\001\022\027\n\tmax_value\030"
- + "\002 \001(\tB\004\342A\001\001\022 \n\022strict_min_enabled\030\003 \001(\010B"
- + "\004\342A\001\001\022 \n\022strict_max_enabled\030\004 \001(\010B\004\342A\001\001\032"
- + "\024\n\022NonNullExpectation\032&\n\016SetExpectation\022"
- + "\024\n\006values\030\001 \003(\tB\004\342A\001\001\032\'\n\020RegexExpectatio"
- + "n\022\023\n\005regex\030\001 \001(\tB\004\342A\001\001\032\027\n\025UniquenessExpe"
- + "ctation\032\307\002\n\031StatisticRangeExpectation\022l\n"
- + "\tstatistic\030\001 \001(\0162S.google.cloud.dataplex"
- + ".v1.DataQualityRule.StatisticRangeExpect"
- + "ation.ColumnStatisticB\004\342A\001\001\022\027\n\tmin_value"
- + "\030\002 \001(\tB\004\342A\001\001\022\027\n\tmax_value\030\003 \001(\tB\004\342A\001\001\022 \n"
- + "\022strict_min_enabled\030\004 \001(\010B\004\342A\001\001\022 \n\022stric"
- + "t_max_enabled\030\005 \001(\010B\004\342A\001\001\"F\n\017ColumnStati"
- + "stic\022\027\n\023STATISTIC_UNDEFINED\020\000\022\010\n\004MEAN\020\001\022"
- + "\007\n\003MIN\020\002\022\007\n\003MAX\020\003\0327\n\027RowConditionExpecta"
- + "tion\022\034\n\016sql_expression\030\001 \001(\tB\004\342A\001\001\0329\n\031Ta"
- + "bleConditionExpectation\022\034\n\016sql_expressio"
- + "n\030\001 \001(\tB\004\342A\001\001B\013\n\trule_typeB\304\001\n\034com.googl"
- + "e.cloud.dataplex.v1B\020DataQualityProtoP\001Z"
- + "8cloud.google.com/go/dataplex/apiv1/data"
- + "plexpb;dataplexpb\352AU\n\035bigquery.googleapi"
- + "s.com/Table\0224projects/{project}/datasets"
- + "/{dataset}/tables/{table}b\006proto3"
+ + "failing_rows_query\030\n \001(\t\"u\n\032DataQualityD"
+ + "imensionResult\022G\n\tdimension\030\001 \001(\0132..goog"
+ + "le.cloud.dataplex.v1.DataQualityDimensio"
+ + "nB\004\342A\001\003\022\016\n\006passed\030\003 \001(\010\"$\n\024DataQualityDi"
+ + "mension\022\014\n\004name\030\001 \001(\t\"\211\r\n\017DataQualityRul"
+ + "e\022W\n\021range_expectation\030\001 \001(\0132:.google.cl"
+ + "oud.dataplex.v1.DataQualityRule.RangeExp"
+ + "ectationH\000\022\\\n\024non_null_expectation\030\002 \001(\013"
+ + "2<.google.cloud.dataplex.v1.DataQualityR"
+ + "ule.NonNullExpectationH\000\022S\n\017set_expectat"
+ + "ion\030\003 \001(\01328.google.cloud.dataplex.v1.Dat"
+ + "aQualityRule.SetExpectationH\000\022W\n\021regex_e"
+ + "xpectation\030\004 \001(\0132:.google.cloud.dataplex"
+ + ".v1.DataQualityRule.RegexExpectationH\000\022a"
+ + "\n\026uniqueness_expectation\030d \001(\0132?.google."
+ + "cloud.dataplex.v1.DataQualityRule.Unique"
+ + "nessExpectationH\000\022j\n\033statistic_range_exp"
+ + "ectation\030e \001(\0132C.google.cloud.dataplex.v"
+ + "1.DataQualityRule.StatisticRangeExpectat"
+ + "ionH\000\022g\n\031row_condition_expectation\030\310\001 \001("
+ + "\0132A.google.cloud.dataplex.v1.DataQuality"
+ + "Rule.RowConditionExpectationH\000\022k\n\033table_"
+ + "condition_expectation\030\311\001 \001(\0132C.google.cl"
+ + "oud.dataplex.v1.DataQualityRule.TableCon"
+ + "ditionExpectationH\000\022\025\n\006column\030\364\003 \001(\tB\004\342A"
+ + "\001\001\022\032\n\013ignore_null\030\365\003 \001(\010B\004\342A\001\001\022\030\n\tdimens"
+ + "ion\030\366\003 \001(\tB\004\342A\001\002\022\030\n\tthreshold\030\367\003 \001(\001B\004\342A"
+ + "\001\001\022\023\n\004name\030\370\003 \001(\tB\004\342A\001\001\022\032\n\013description\030\371"
+ + "\003 \001(\tB\004\342A\001\001\032\210\001\n\020RangeExpectation\022\027\n\tmin_"
+ + "value\030\001 \001(\tB\004\342A\001\001\022\027\n\tmax_value\030\002 \001(\tB\004\342A"
+ + "\001\001\022 \n\022strict_min_enabled\030\003 \001(\010B\004\342A\001\001\022 \n\022"
+ + "strict_max_enabled\030\004 \001(\010B\004\342A\001\001\032\024\n\022NonNul"
+ + "lExpectation\032&\n\016SetExpectation\022\024\n\006values"
+ + "\030\001 \003(\tB\004\342A\001\001\032\'\n\020RegexExpectation\022\023\n\005rege"
+ + "x\030\001 \001(\tB\004\342A\001\001\032\027\n\025UniquenessExpectation\032\307"
+ + "\002\n\031StatisticRangeExpectation\022l\n\tstatisti"
+ + "c\030\001 \001(\0162S.google.cloud.dataplex.v1.DataQ"
+ + "ualityRule.StatisticRangeExpectation.Col"
+ + "umnStatisticB\004\342A\001\001\022\027\n\tmin_value\030\002 \001(\tB\004\342"
+ + "A\001\001\022\027\n\tmax_value\030\003 \001(\tB\004\342A\001\001\022 \n\022strict_m"
+ + "in_enabled\030\004 \001(\010B\004\342A\001\001\022 \n\022strict_max_ena"
+ + "bled\030\005 \001(\010B\004\342A\001\001\"F\n\017ColumnStatistic\022\027\n\023S"
+ + "TATISTIC_UNDEFINED\020\000\022\010\n\004MEAN\020\001\022\007\n\003MIN\020\002\022"
+ + "\007\n\003MAX\020\003\0327\n\027RowConditionExpectation\022\034\n\016s"
+ + "ql_expression\030\001 \001(\tB\004\342A\001\001\0329\n\031TableCondit"
+ + "ionExpectation\022\034\n\016sql_expression\030\001 \001(\tB\004"
+ + "\342A\001\001B\013\n\trule_typeB\304\001\n\034com.google.cloud.d"
+ + "ataplex.v1B\020DataQualityProtoP\001Z8cloud.go"
+ + "ogle.com/go/dataplex/apiv1/dataplexpb;da"
+ + "taplexpb\352AU\n\035bigquery.googleapis.com/Tab"
+ + "le\0224projects/{project}/datasets/{dataset"
+ + "}/tables/{table}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -274,10 +281,18 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_dataplex_v1_DataQualityDimensionResult_descriptor,
new java.lang.String[] {
- "Passed",
+ "Dimension", "Passed",
});
- internal_static_google_cloud_dataplex_v1_DataQualityRule_descriptor =
+ internal_static_google_cloud_dataplex_v1_DataQualityDimension_descriptor =
getDescriptor().getMessageTypes().get(4);
+ internal_static_google_cloud_dataplex_v1_DataQualityDimension_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_cloud_dataplex_v1_DataQualityDimension_descriptor,
+ new java.lang.String[] {
+ "Name",
+ });
+ internal_static_google_cloud_dataplex_v1_DataQualityRule_descriptor =
+ getDescriptor().getMessageTypes().get(5);
internal_static_google_cloud_dataplex_v1_DataQualityRule_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_dataplex_v1_DataQualityRule_descriptor,
diff --git a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto
index 86c760097f06..8f0eb1759f73 100644
--- a/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto
+++ b/java-dataplex/proto-google-cloud-dataplex-v1/src/main/proto/google/cloud/dataplex/v1/data_quality.proto
@@ -166,10 +166,23 @@ message DataQualityRuleResult {
// DataQualityDimensionResult provides a more detailed, per-dimension view of
// the results.
message DataQualityDimensionResult {
+ // Output only. The dimension config specified in the DataQualitySpec, as is.
+ DataQualityDimension dimension = 1
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
// Whether the dimension passed or failed.
bool passed = 3;
}
+// A dimension captures data quality intent about a defined subset of the rules
+// specified.
+message DataQualityDimension {
+ // The dimension name a rule belongs to. Supported dimensions are
+ // ["COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS",
+ // "INTEGRITY"]
+ string name = 1;
+}
+
// A rule captures data quality intent about a data source.
message DataQualityRule {
// Evaluates whether each column value lies between a specified range.