getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey
+ getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+ }
+
private int keyOneofCase_ = 0;
@SuppressWarnings("serial")
@@ -71,6 +858,7 @@ public enum KeyOneofCase
com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
KEY(1),
+ COMPOSITE_KEY(2),
KEYONEOF_NOT_SET(0);
private final int value;
@@ -91,6 +879,8 @@ public static KeyOneofCase forNumber(int value) {
switch (value) {
case 1:
return KEY;
+ case 2:
+ return COMPOSITE_KEY;
case 0:
return KEYONEOF_NOT_SET;
default:
@@ -177,6 +967,61 @@ public com.google.protobuf.ByteString getKeyBytes() {
}
}
+ public static final int COMPOSITE_KEY_FIELD_NUMBER = 2;
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ * @return Whether the compositeKey field is set.
+ */
+ @java.lang.Override
+ public boolean hasCompositeKey() {
+ return keyOneofCase_ == 2;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ * @return The compositeKey.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey getCompositeKey() {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKeyOrBuilder
+ getCompositeKeyOrBuilder() {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -194,6 +1039,10 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (keyOneofCase_ == 1) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, keyOneof_);
}
+ if (keyOneofCase_ == 2) {
+ output.writeMessage(
+ 2, (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_);
+ }
getUnknownFields().writeTo(output);
}
@@ -206,6 +1055,11 @@ public int getSerializedSize() {
if (keyOneofCase_ == 1) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, keyOneof_);
}
+ if (keyOneofCase_ == 2) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 2, (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -227,6 +1081,9 @@ public boolean equals(final java.lang.Object obj) {
case 1:
if (!getKey().equals(other.getKey())) return false;
break;
+ case 2:
+ if (!getCompositeKey().equals(other.getCompositeKey())) return false;
+ break;
case 0:
default:
}
@@ -246,6 +1103,10 @@ public int hashCode() {
hash = (37 * hash) + KEY_FIELD_NUMBER;
hash = (53 * hash) + getKey().hashCode();
break;
+ case 2:
+ hash = (37 * hash) + COMPOSITE_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getCompositeKey().hashCode();
+ break;
case 0:
default:
}
@@ -388,6 +1249,9 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
public Builder clear() {
super.clear();
bitField0_ = 0;
+ if (compositeKeyBuilder_ != null) {
+ compositeKeyBuilder_.clear();
+ }
keyOneofCase_ = 0;
keyOneof_ = null;
return this;
@@ -432,6 +1296,9 @@ private void buildPartial0(com.google.cloud.aiplatform.v1.FeatureViewDataKey res
private void buildPartialOneofs(com.google.cloud.aiplatform.v1.FeatureViewDataKey result) {
result.keyOneofCase_ = keyOneofCase_;
result.keyOneof_ = this.keyOneof_;
+ if (keyOneofCase_ == 2 && compositeKeyBuilder_ != null) {
+ result.keyOneof_ = compositeKeyBuilder_.build();
+ }
}
@java.lang.Override
@@ -488,6 +1355,11 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1.FeatureViewDataKey other
onChanged();
break;
}
+ case COMPOSITE_KEY:
+ {
+ mergeCompositeKey(other.getCompositeKey());
+ break;
+ }
case KEYONEOF_NOT_SET:
{
break;
@@ -526,6 +1398,12 @@ public Builder mergeFrom(
keyOneof_ = s;
break;
} // case 10
+ case 18:
+ {
+ input.readMessage(getCompositeKeyFieldBuilder().getBuilder(), extensionRegistry);
+ keyOneofCase_ = 2;
+ break;
+ } // case 18
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -693,6 +1571,231 @@ public Builder setKeyBytes(com.google.protobuf.ByteString value) {
return this;
}
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey,
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.Builder,
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKeyOrBuilder>
+ compositeKeyBuilder_;
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ * @return Whether the compositeKey field is set.
+ */
+ @java.lang.Override
+ public boolean hasCompositeKey() {
+ return keyOneofCase_ == 2;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ * @return The compositeKey.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey getCompositeKey() {
+ if (compositeKeyBuilder_ == null) {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ } else {
+ if (keyOneofCase_ == 2) {
+ return compositeKeyBuilder_.getMessage();
+ }
+ return com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ public Builder setCompositeKey(
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey value) {
+ if (compositeKeyBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ keyOneof_ = value;
+ onChanged();
+ } else {
+ compositeKeyBuilder_.setMessage(value);
+ }
+ keyOneofCase_ = 2;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ public Builder setCompositeKey(
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.Builder builderForValue) {
+ if (compositeKeyBuilder_ == null) {
+ keyOneof_ = builderForValue.build();
+ onChanged();
+ } else {
+ compositeKeyBuilder_.setMessage(builderForValue.build());
+ }
+ keyOneofCase_ = 2;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ public Builder mergeCompositeKey(
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey value) {
+ if (compositeKeyBuilder_ == null) {
+ if (keyOneofCase_ == 2
+ && keyOneof_
+ != com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance()) {
+ keyOneof_ =
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.newBuilder(
+ (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ keyOneof_ = value;
+ }
+ onChanged();
+ } else {
+ if (keyOneofCase_ == 2) {
+ compositeKeyBuilder_.mergeFrom(value);
+ } else {
+ compositeKeyBuilder_.setMessage(value);
+ }
+ }
+ keyOneofCase_ = 2;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ public Builder clearCompositeKey() {
+ if (compositeKeyBuilder_ == null) {
+ if (keyOneofCase_ == 2) {
+ keyOneofCase_ = 0;
+ keyOneof_ = null;
+ onChanged();
+ }
+ } else {
+ if (keyOneofCase_ == 2) {
+ keyOneofCase_ = 0;
+ keyOneof_ = null;
+ }
+ compositeKeyBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ public com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.Builder
+ getCompositeKeyBuilder() {
+ return getCompositeKeyFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKeyOrBuilder
+ getCompositeKeyOrBuilder() {
+ if ((keyOneofCase_ == 2) && (compositeKeyBuilder_ != null)) {
+ return compositeKeyBuilder_.getMessageOrBuilder();
+ } else {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey,
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.Builder,
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKeyOrBuilder>
+ getCompositeKeyFieldBuilder() {
+ if (compositeKeyBuilder_ == null) {
+ if (!(keyOneofCase_ == 2)) {
+ keyOneof_ =
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+ compositeKeyBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey,
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey.Builder,
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKeyOrBuilder>(
+ (com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey) keyOneof_,
+ getParentForChildren(),
+ isClean());
+ keyOneof_ = null;
+ }
+ keyOneofCase_ = 2;
+ onChanged();
+ return compositeKeyBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/FeatureViewDataKeyOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/FeatureViewDataKeyOrBuilder.java
index ad5b868e6693..c001662a113c 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/FeatureViewDataKeyOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/FeatureViewDataKeyOrBuilder.java
@@ -61,5 +61,44 @@ public interface FeatureViewDataKeyOrBuilder
*/
com.google.protobuf.ByteString getKeyBytes();
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ * @return Whether the compositeKey field is set.
+ */
+ boolean hasCompositeKey();
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ * @return The compositeKey.
+ */
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey getCompositeKey();
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ */
+ com.google.cloud.aiplatform.v1.FeatureViewDataKey.CompositeKeyOrBuilder
+ getCompositeKeyOrBuilder();
+
com.google.cloud.aiplatform.v1.FeatureViewDataKey.KeyOneofCase getKeyOneofCase();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature.proto
index 464b888905d0..e47a5287d7b3 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature.proto
@@ -170,4 +170,8 @@ message Feature {
// The name of the BigQuery Table/View column hosting data for this version.
// If no value is provided, will use feature_id.
string version_column_name = 106;
+
+ // Entity responsible for maintaining this feature. Can be comma separated
+ // list of email addresses or URIs.
+ string point_of_contact = 107;
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature_online_store_service.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature_online_store_service.proto
index c6a44037ea79..bb451126e2de 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature_online_store_service.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/feature_online_store_service.proto
@@ -73,9 +73,20 @@ enum FeatureViewDataFormat {
// Lookup key for a feature view.
message FeatureViewDataKey {
+ // ID that is comprised from several parts (columns).
+ message CompositeKey {
+ // Parts to construct Entity ID. Should match with the same ID columns as
+ // defined in FeatureView in the same order.
+ repeated string parts = 1;
+ }
+
oneof key_oneof {
// String key to use for lookup.
string key = 1;
+
+ // The actual Entity ID will be composed from this struct. This should match
+ // with the way ID is defined in the FeatureView spec.
+ CompositeKey composite_key = 2;
}
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/Feature.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/Feature.java
index 25f73143e417..c1edc231ebd3 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/Feature.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/Feature.java
@@ -47,6 +47,7 @@ private Feature() {
monitoringStats_ = java.util.Collections.emptyList();
monitoringStatsAnomalies_ = java.util.Collections.emptyList();
versionColumnName_ = "";
+ pointOfContact_ = "";
}
@java.lang.Override
@@ -2424,6 +2425,59 @@ public com.google.protobuf.ByteString getVersionColumnNameBytes() {
}
}
+ public static final int POINT_OF_CONTACT_FIELD_NUMBER = 107;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object pointOfContact_ = "";
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return The pointOfContact.
+ */
+ @java.lang.Override
+ public java.lang.String getPointOfContact() {
+ java.lang.Object ref = pointOfContact_;
+ 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();
+ pointOfContact_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return The bytes for pointOfContact.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getPointOfContactBytes() {
+ java.lang.Object ref = pointOfContact_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ pointOfContact_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -2475,6 +2529,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionColumnName_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 106, versionColumnName_);
}
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pointOfContact_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 107, pointOfContact_);
+ }
getUnknownFields().writeTo(output);
}
@@ -2531,6 +2588,9 @@ public int getSerializedSize() {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(versionColumnName_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(106, versionColumnName_);
}
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pointOfContact_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(107, pointOfContact_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -2569,6 +2629,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getMonitoringStatsAnomaliesList().equals(other.getMonitoringStatsAnomaliesList()))
return false;
if (!getVersionColumnName().equals(other.getVersionColumnName())) return false;
+ if (!getPointOfContact().equals(other.getPointOfContact())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -2616,6 +2677,8 @@ public int hashCode() {
}
hash = (37 * hash) + VERSION_COLUMN_NAME_FIELD_NUMBER;
hash = (53 * hash) + getVersionColumnName().hashCode();
+ hash = (37 * hash) + POINT_OF_CONTACT_FIELD_NUMBER;
+ hash = (53 * hash) + getPointOfContact().hashCode();
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -2827,6 +2890,7 @@ public Builder clear() {
}
bitField0_ = (bitField0_ & ~0x00000400);
versionColumnName_ = "";
+ pointOfContact_ = "";
return this;
}
@@ -2922,6 +2986,9 @@ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.Feature result) {
if (((from_bitField0_ & 0x00000800) != 0)) {
result.versionColumnName_ = versionColumnName_;
}
+ if (((from_bitField0_ & 0x00001000) != 0)) {
+ result.pointOfContact_ = pointOfContact_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -3061,6 +3128,11 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.Feature other) {
bitField0_ |= 0x00000800;
onChanged();
}
+ if (!other.getPointOfContact().isEmpty()) {
+ pointOfContact_ = other.pointOfContact_;
+ bitField0_ |= 0x00001000;
+ onChanged();
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -3182,6 +3254,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000800;
break;
} // case 850
+ case 858:
+ {
+ pointOfContact_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00001000;
+ break;
+ } // case 858
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -5787,6 +5865,117 @@ public Builder setVersionColumnNameBytes(com.google.protobuf.ByteString value) {
return this;
}
+ private java.lang.Object pointOfContact_ = "";
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return The pointOfContact.
+ */
+ public java.lang.String getPointOfContact() {
+ java.lang.Object ref = pointOfContact_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ pointOfContact_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return The bytes for pointOfContact.
+ */
+ public com.google.protobuf.ByteString getPointOfContactBytes() {
+ java.lang.Object ref = pointOfContact_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ pointOfContact_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @param value The pointOfContact to set.
+ * @return This builder for chaining.
+ */
+ public Builder setPointOfContact(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ pointOfContact_ = value;
+ bitField0_ |= 0x00001000;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearPointOfContact() {
+ pointOfContact_ = getDefaultInstance().getPointOfContact();
+ bitField0_ = (bitField0_ & ~0x00001000);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @param value The bytes for pointOfContact to set.
+ * @return This builder for chaining.
+ */
+ public Builder setPointOfContactBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ pointOfContact_ = value;
+ bitField0_ |= 0x00001000;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOnlineStoreServiceProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOnlineStoreServiceProto.java
index fbbde3cd8647..f553081b6622 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOnlineStoreServiceProto.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOnlineStoreServiceProto.java
@@ -32,6 +32,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_google_cloud_aiplatform_v1beta1_FetchFeatureValuesRequest_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
@@ -96,87 +100,90 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "ogle/api/field_behavior.proto\032\031google/ap"
+ "i/resource.proto\032Agoogle/cloud/aiplatfor"
+ "m/v1beta1/featurestore_online_service.pr"
- + "oto\032\034google/protobuf/struct.proto\"0\n\022Fea"
- + "tureViewDataKey\022\r\n\003key\030\001 \001(\tH\000B\013\n\tkey_on"
- + "eof\"\273\003\n\031FetchFeatureValuesRequest\022\020\n\002id\030"
- + "\003 \001(\tB\002\030\001H\000\022C\n\014feature_view\030\001 \001(\tB-\340A\002\372A"
- + "\'\n%aiplatform.googleapis.com/FeatureView"
- + "\022J\n\010data_key\030\006 \001(\01323.google.cloud.aiplat"
- + "form.v1beta1.FeatureViewDataKeyB\003\340A\001\022P\n\013"
- + "data_format\030\007 \001(\01626.google.cloud.aiplatf"
- + "orm.v1beta1.FeatureViewDataFormatB\003\340A\001\022U"
- + "\n\006format\030\005 \001(\0162A.google.cloud.aiplatform"
- + ".v1beta1.FetchFeatureValuesRequest.Forma"
- + "tB\002\030\001\"E\n\006Format\022\026\n\022FORMAT_UNSPECIFIED\020\000\022"
- + "\r\n\tKEY_VALUE\020\001\022\020\n\014PROTO_STRUCT\020\002\032\002\030\001B\013\n\t"
- + "entity_id\"\313\003\n\032FetchFeatureValuesResponse"
- + "\022j\n\nkey_values\030\003 \001(\0132T.google.cloud.aipl"
- + "atform.v1beta1.FetchFeatureValuesRespons"
- + "e.FeatureNameValuePairListH\000\022/\n\014proto_st"
- + "ruct\030\002 \001(\0132\027.google.protobuf.StructH\000\032\205\002"
- + "\n\030FeatureNameValuePairList\022{\n\010features\030\001"
- + " \003(\0132i.google.cloud.aiplatform.v1beta1.F"
- + "etchFeatureValuesResponse.FeatureNameVal"
- + "uePairList.FeatureNameValuePair\032l\n\024Featu"
- + "reNameValuePair\022>\n\005value\030\002 \001(\0132-.google."
- + "cloud.aiplatform.v1beta1.FeatureValueH\000\022"
- + "\014\n\004name\030\001 \001(\tB\006\n\004dataB\010\n\006format\"\202\005\n\024Near"
- + "estNeighborQuery\022\030\n\tentity_id\030\001 \001(\tB\003\340A\001"
- + "H\000\022Y\n\tembedding\030\002 \001(\0132?.google.cloud.aip"
- + "latform.v1beta1.NearestNeighborQuery.Emb"
- + "eddingB\003\340A\001H\000\022\033\n\016neighbor_count\030\003 \001(\005B\003\340"
- + "A\001\022_\n\016string_filters\030\004 \003(\0132B.google.clou"
- + "d.aiplatform.v1beta1.NearestNeighborQuer"
- + "y.StringFilterB\003\340A\001\0222\n%per_crowding_attr"
- + "ibute_neighbor_count\030\005 \001(\005B\003\340A\001\022Y\n\nparam"
- + "eters\030\007 \001(\0132@.google.cloud.aiplatform.v1"
- + "beta1.NearestNeighborQuery.ParametersB\003\340"
- + "A\001\032\037\n\tEmbedding\022\022\n\005value\030\001 \003(\002B\003\340A\001\032V\n\014S"
- + "tringFilter\022\021\n\004name\030\001 \001(\tB\003\340A\002\022\031\n\014allow_"
- + "tokens\030\002 \003(\tB\003\340A\001\022\030\n\013deny_tokens\030\003 \003(\tB\003"
- + "\340A\001\032c\n\nParameters\022,\n\037approximate_neighbo"
- + "r_candidates\030\001 \001(\005B\003\340A\001\022\'\n\032leaf_nodes_se"
- + "arch_fraction\030\002 \001(\001B\003\340A\001B\n\n\010instance\"\317\001\n"
- + "\034SearchNearestEntitiesRequest\022C\n\014feature"
- + "_view\030\001 \001(\tB-\340A\002\372A\'\n%aiplatform.googleap"
- + "is.com/FeatureView\022I\n\005query\030\002 \001(\01325.goog"
- + "le.cloud.aiplatform.v1beta1.NearestNeigh"
- + "borQueryB\003\340A\002\022\037\n\022return_full_entity\030\003 \001("
- + "\010B\003\340A\001\"\353\001\n\020NearestNeighbors\022M\n\tneighbors"
- + "\030\001 \003(\0132:.google.cloud.aiplatform.v1beta1"
- + ".NearestNeighbors.Neighbor\032\207\001\n\010Neighbor\022"
- + "\021\n\tentity_id\030\001 \001(\t\022\020\n\010distance\030\002 \001(\001\022V\n\021"
- + "entity_key_values\030\003 \001(\0132;.google.cloud.a"
+ + "oto\032\034google/protobuf/struct.proto\"\252\001\n\022Fe"
+ + "atureViewDataKey\022\r\n\003key\030\001 \001(\tH\000\022Y\n\rcompo"
+ + "site_key\030\002 \001(\0132@.google.cloud.aiplatform"
+ + ".v1beta1.FeatureViewDataKey.CompositeKey"
+ + "H\000\032\035\n\014CompositeKey\022\r\n\005parts\030\001 \003(\tB\013\n\tkey"
+ + "_oneof\"\273\003\n\031FetchFeatureValuesRequest\022\020\n\002"
+ + "id\030\003 \001(\tB\002\030\001H\000\022C\n\014feature_view\030\001 \001(\tB-\340A"
+ + "\002\372A\'\n%aiplatform.googleapis.com/FeatureV"
+ + "iew\022J\n\010data_key\030\006 \001(\01323.google.cloud.aip"
+ + "latform.v1beta1.FeatureViewDataKeyB\003\340A\001\022"
+ + "P\n\013data_format\030\007 \001(\01626.google.cloud.aipl"
+ + "atform.v1beta1.FeatureViewDataFormatB\003\340A"
+ + "\001\022U\n\006format\030\005 \001(\0162A.google.cloud.aiplatf"
+ + "orm.v1beta1.FetchFeatureValuesRequest.Fo"
+ + "rmatB\002\030\001\"E\n\006Format\022\026\n\022FORMAT_UNSPECIFIED"
+ + "\020\000\022\r\n\tKEY_VALUE\020\001\022\020\n\014PROTO_STRUCT\020\002\032\002\030\001B"
+ + "\013\n\tentity_id\"\313\003\n\032FetchFeatureValuesRespo"
+ + "nse\022j\n\nkey_values\030\003 \001(\0132T.google.cloud.a"
+ "iplatform.v1beta1.FetchFeatureValuesResp"
- + "onse\"m\n\035SearchNearestEntitiesResponse\022L\n"
- + "\021nearest_neighbors\030\001 \001(\01321.google.cloud."
- + "aiplatform.v1beta1.NearestNeighbors*b\n\025F"
- + "eatureViewDataFormat\022(\n$FEATURE_VIEW_DAT"
- + "A_FORMAT_UNSPECIFIED\020\000\022\r\n\tKEY_VALUE\020\001\022\020\n"
- + "\014PROTO_STRUCT\020\0022\226\005\n\031FeatureOnlineStoreSe"
- + "rvice\022\232\002\n\022FetchFeatureValues\022:.google.cl"
- + "oud.aiplatform.v1beta1.FetchFeatureValue"
- + "sRequest\032;.google.cloud.aiplatform.v1bet"
- + "a1.FetchFeatureValuesResponse\"\212\001\332A\026featu"
- + "re_view, data_key\202\323\344\223\002k\"f/v1beta1/{featu"
- + "re_view=projects/*/locations/*/featureOn"
- + "lineStores/*/featureViews/*}:fetchFeatur"
- + "eValues:\001*\022\214\002\n\025SearchNearestEntities\022=.g"
- + "oogle.cloud.aiplatform.v1beta1.SearchNea"
- + "restEntitiesRequest\032>.google.cloud.aipla"
- + "tform.v1beta1.SearchNearestEntitiesRespo"
- + "nse\"t\202\323\344\223\002n\"i/v1beta1/{feature_view=proj"
- + "ects/*/locations/*/featureOnlineStores/*"
- + "/featureViews/*}:searchNearestEntities:\001"
- + "*\032M\312A\031aiplatform.googleapis.com\322A.https:"
- + "//www.googleapis.com/auth/cloud-platform"
- + "B\365\001\n#com.google.cloud.aiplatform.v1beta1"
- + "B\036FeatureOnlineStoreServiceProtoP\001ZCclou"
- + "d.google.com/go/aiplatform/apiv1beta1/ai"
- + "platformpb;aiplatformpb\252\002\037Google.Cloud.A"
- + "IPlatform.V1Beta1\312\002\037Google\\Cloud\\AIPlatf"
- + "orm\\V1beta1\352\002\"Google::Cloud::AIPlatform:"
- + ":V1beta1b\006proto3"
+ + "onse.FeatureNameValuePairListH\000\022/\n\014proto"
+ + "_struct\030\002 \001(\0132\027.google.protobuf.StructH\000"
+ + "\032\205\002\n\030FeatureNameValuePairList\022{\n\010feature"
+ + "s\030\001 \003(\0132i.google.cloud.aiplatform.v1beta"
+ + "1.FetchFeatureValuesResponse.FeatureName"
+ + "ValuePairList.FeatureNameValuePair\032l\n\024Fe"
+ + "atureNameValuePair\022>\n\005value\030\002 \001(\0132-.goog"
+ + "le.cloud.aiplatform.v1beta1.FeatureValue"
+ + "H\000\022\014\n\004name\030\001 \001(\tB\006\n\004dataB\010\n\006format\"\202\005\n\024N"
+ + "earestNeighborQuery\022\030\n\tentity_id\030\001 \001(\tB\003"
+ + "\340A\001H\000\022Y\n\tembedding\030\002 \001(\0132?.google.cloud."
+ + "aiplatform.v1beta1.NearestNeighborQuery."
+ + "EmbeddingB\003\340A\001H\000\022\033\n\016neighbor_count\030\003 \001(\005"
+ + "B\003\340A\001\022_\n\016string_filters\030\004 \003(\0132B.google.c"
+ + "loud.aiplatform.v1beta1.NearestNeighborQ"
+ + "uery.StringFilterB\003\340A\001\0222\n%per_crowding_a"
+ + "ttribute_neighbor_count\030\005 \001(\005B\003\340A\001\022Y\n\npa"
+ + "rameters\030\007 \001(\0132@.google.cloud.aiplatform"
+ + ".v1beta1.NearestNeighborQuery.Parameters"
+ + "B\003\340A\001\032\037\n\tEmbedding\022\022\n\005value\030\001 \003(\002B\003\340A\001\032V"
+ + "\n\014StringFilter\022\021\n\004name\030\001 \001(\tB\003\340A\002\022\031\n\014all"
+ + "ow_tokens\030\002 \003(\tB\003\340A\001\022\030\n\013deny_tokens\030\003 \003("
+ + "\tB\003\340A\001\032c\n\nParameters\022,\n\037approximate_neig"
+ + "hbor_candidates\030\001 \001(\005B\003\340A\001\022\'\n\032leaf_nodes"
+ + "_search_fraction\030\002 \001(\001B\003\340A\001B\n\n\010instance\""
+ + "\317\001\n\034SearchNearestEntitiesRequest\022C\n\014feat"
+ + "ure_view\030\001 \001(\tB-\340A\002\372A\'\n%aiplatform.googl"
+ + "eapis.com/FeatureView\022I\n\005query\030\002 \001(\01325.g"
+ + "oogle.cloud.aiplatform.v1beta1.NearestNe"
+ + "ighborQueryB\003\340A\002\022\037\n\022return_full_entity\030\003"
+ + " \001(\010B\003\340A\001\"\353\001\n\020NearestNeighbors\022M\n\tneighb"
+ + "ors\030\001 \003(\0132:.google.cloud.aiplatform.v1be"
+ + "ta1.NearestNeighbors.Neighbor\032\207\001\n\010Neighb"
+ + "or\022\021\n\tentity_id\030\001 \001(\t\022\020\n\010distance\030\002 \001(\001\022"
+ + "V\n\021entity_key_values\030\003 \001(\0132;.google.clou"
+ + "d.aiplatform.v1beta1.FetchFeatureValuesR"
+ + "esponse\"m\n\035SearchNearestEntitiesResponse"
+ + "\022L\n\021nearest_neighbors\030\001 \001(\01321.google.clo"
+ + "ud.aiplatform.v1beta1.NearestNeighbors*b"
+ + "\n\025FeatureViewDataFormat\022(\n$FEATURE_VIEW_"
+ + "DATA_FORMAT_UNSPECIFIED\020\000\022\r\n\tKEY_VALUE\020\001"
+ + "\022\020\n\014PROTO_STRUCT\020\0022\226\005\n\031FeatureOnlineStor"
+ + "eService\022\232\002\n\022FetchFeatureValues\022:.google"
+ + ".cloud.aiplatform.v1beta1.FetchFeatureVa"
+ + "luesRequest\032;.google.cloud.aiplatform.v1"
+ + "beta1.FetchFeatureValuesResponse\"\212\001\332A\026fe"
+ + "ature_view, data_key\202\323\344\223\002k\"f/v1beta1/{fe"
+ + "ature_view=projects/*/locations/*/featur"
+ + "eOnlineStores/*/featureViews/*}:fetchFea"
+ + "tureValues:\001*\022\214\002\n\025SearchNearestEntities\022"
+ + "=.google.cloud.aiplatform.v1beta1.Search"
+ + "NearestEntitiesRequest\032>.google.cloud.ai"
+ + "platform.v1beta1.SearchNearestEntitiesRe"
+ + "sponse\"t\202\323\344\223\002n\"i/v1beta1/{feature_view=p"
+ + "rojects/*/locations/*/featureOnlineStore"
+ + "s/*/featureViews/*}:searchNearestEntitie"
+ + "s:\001*\032M\312A\031aiplatform.googleapis.com\322A.htt"
+ + "ps://www.googleapis.com/auth/cloud-platf"
+ + "ormB\365\001\n#com.google.cloud.aiplatform.v1be"
+ + "ta1B\036FeatureOnlineStoreServiceProtoP\001ZCc"
+ + "loud.google.com/go/aiplatform/apiv1beta1"
+ + "/aiplatformpb;aiplatformpb\252\002\037Google.Clou"
+ + "d.AIPlatform.V1Beta1\312\002\037Google\\Cloud\\AIPl"
+ + "atform\\V1beta1\352\002\"Google::Cloud::AIPlatfo"
+ + "rm::V1beta1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -195,7 +202,17 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_descriptor,
new java.lang.String[] {
- "Key", "KeyOneof",
+ "Key", "CompositeKey", "KeyOneof",
+ });
+ internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_descriptor =
+ internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_descriptor
+ .getNestedTypes()
+ .get(0);
+ internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_descriptor,
+ new java.lang.String[] {
+ "Parts",
});
internal_static_google_cloud_aiplatform_v1beta1_FetchFeatureValuesRequest_descriptor =
getDescriptor().getMessageTypes().get(1);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOrBuilder.java
index 425934529370..3a0c7234d419 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureOrBuilder.java
@@ -634,4 +634,31 @@ com.google.cloud.aiplatform.v1beta1.Feature.MonitoringStatsAnomaly getMonitoring
* @return The bytes for versionColumnName.
*/
com.google.protobuf.ByteString getVersionColumnNameBytes();
+
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return The pointOfContact.
+ */
+ java.lang.String getPointOfContact();
+ /**
+ *
+ *
+ *
+ * Entity responsible for maintaining this feature. Can be comma separated
+ * list of email addresses or URIs.
+ *
+ *
+ * string point_of_contact = 107;
+ *
+ * @return The bytes for pointOfContact.
+ */
+ com.google.protobuf.ByteString getPointOfContactBytes();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureProto.java
index 295833b37991..962823b560e1 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureProto.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureProto.java
@@ -56,7 +56,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "tform/v1beta1/feature_monitoring_stats.p"
+ "roto\032=google/cloud/aiplatform/v1beta1/fe"
+ "aturestore_monitoring.proto\032\037google/prot"
- + "obuf/timestamp.proto\"\265\013\n\007Feature\022\021\n\004name"
+ + "obuf/timestamp.proto\"\317\013\n\007Feature\022\021\n\004name"
+ "\030\001 \001(\tB\003\340A\005\022\023\n\013description\030\002 \001(\t\022K\n\nvalu"
+ "e_type\030\003 \001(\01622.google.cloud.aiplatform.v"
+ "1beta1.Feature.ValueTypeB\003\340A\005\0224\n\013create_"
@@ -73,33 +73,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\003\022h\n\032monitoring_stats_anomalies\030\013 \003(\0132?."
+ "google.cloud.aiplatform.v1beta1.Feature."
+ "MonitoringStatsAnomalyB\003\340A\003\022\033\n\023version_c"
- + "olumn_name\030j \001(\t\032\261\002\n\026MonitoringStatsAnom"
- + "aly\022a\n\tobjective\030\001 \001(\0162I.google.cloud.ai"
- + "platform.v1beta1.Feature.MonitoringStats"
- + "Anomaly.ObjectiveB\003\340A\003\022X\n\025feature_stats_"
- + "anomaly\030\002 \001(\01324.google.cloud.aiplatform."
- + "v1beta1.FeatureStatsAnomalyB\003\340A\003\"Z\n\tObje"
- + "ctive\022\031\n\025OBJECTIVE_UNSPECIFIED\020\000\022\033\n\027IMPO"
- + "RT_FEATURE_ANALYSIS\020\001\022\025\n\021SNAPSHOT_ANALYS"
- + "IS\020\002\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu"
- + "e\030\002 \001(\t:\0028\001\"\244\001\n\tValueType\022\032\n\026VALUE_TYPE_"
- + "UNSPECIFIED\020\000\022\010\n\004BOOL\020\001\022\016\n\nBOOL_ARRAY\020\002\022"
- + "\n\n\006DOUBLE\020\003\022\020\n\014DOUBLE_ARRAY\020\004\022\t\n\005INT64\020\t"
- + "\022\017\n\013INT64_ARRAY\020\n\022\n\n\006STRING\020\013\022\020\n\014STRING_"
- + "ARRAY\020\014\022\t\n\005BYTES\020\r:\207\002\352A\203\002\n!aiplatform.go"
- + "ogleapis.com/Feature\022qprojects/{project}"
- + "/locations/{location}/featurestores/{fea"
- + "turestore}/entityTypes/{entity_type}/fea"
- + "tures/{feature}\022Xprojects/{project}/loca"
- + "tions/{location}/featureGroups/{feature_"
- + "group}/features/{feature}*\010features2\007fea"
- + "tureB\343\001\n#com.google.cloud.aiplatform.v1b"
- + "eta1B\014FeatureProtoP\001ZCcloud.google.com/g"
- + "o/aiplatform/apiv1beta1/aiplatformpb;aip"
- + "latformpb\252\002\037Google.Cloud.AIPlatform.V1Be"
- + "ta1\312\002\037Google\\Cloud\\AIPlatform\\V1beta1\352\002\""
- + "Google::Cloud::AIPlatform::V1beta1b\006prot"
- + "o3"
+ + "olumn_name\030j \001(\t\022\030\n\020point_of_contact\030k \001"
+ + "(\t\032\261\002\n\026MonitoringStatsAnomaly\022a\n\tobjecti"
+ + "ve\030\001 \001(\0162I.google.cloud.aiplatform.v1bet"
+ + "a1.Feature.MonitoringStatsAnomaly.Object"
+ + "iveB\003\340A\003\022X\n\025feature_stats_anomaly\030\002 \001(\0132"
+ + "4.google.cloud.aiplatform.v1beta1.Featur"
+ + "eStatsAnomalyB\003\340A\003\"Z\n\tObjective\022\031\n\025OBJEC"
+ + "TIVE_UNSPECIFIED\020\000\022\033\n\027IMPORT_FEATURE_ANA"
+ + "LYSIS\020\001\022\025\n\021SNAPSHOT_ANALYSIS\020\002\032-\n\013Labels"
+ + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\244\001"
+ + "\n\tValueType\022\032\n\026VALUE_TYPE_UNSPECIFIED\020\000\022"
+ + "\010\n\004BOOL\020\001\022\016\n\nBOOL_ARRAY\020\002\022\n\n\006DOUBLE\020\003\022\020\n"
+ + "\014DOUBLE_ARRAY\020\004\022\t\n\005INT64\020\t\022\017\n\013INT64_ARRA"
+ + "Y\020\n\022\n\n\006STRING\020\013\022\020\n\014STRING_ARRAY\020\014\022\t\n\005BYT"
+ + "ES\020\r:\207\002\352A\203\002\n!aiplatform.googleapis.com/F"
+ + "eature\022qprojects/{project}/locations/{lo"
+ + "cation}/featurestores/{featurestore}/ent"
+ + "ityTypes/{entity_type}/features/{feature"
+ + "}\022Xprojects/{project}/locations/{locatio"
+ + "n}/featureGroups/{feature_group}/feature"
+ + "s/{feature}*\010features2\007featureB\343\001\n#com.g"
+ + "oogle.cloud.aiplatform.v1beta1B\014FeatureP"
+ + "rotoP\001ZCcloud.google.com/go/aiplatform/a"
+ + "piv1beta1/aiplatformpb;aiplatformpb\252\002\037Go"
+ + "ogle.Cloud.AIPlatform.V1Beta1\312\002\037Google\\C"
+ + "loud\\AIPlatform\\V1beta1\352\002\"Google::Cloud:"
+ + ":AIPlatform::V1beta1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -129,6 +129,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"MonitoringStats",
"MonitoringStatsAnomalies",
"VersionColumnName",
+ "PointOfContact",
});
internal_static_google_cloud_aiplatform_v1beta1_Feature_MonitoringStatsAnomaly_descriptor =
internal_static_google_cloud_aiplatform_v1beta1_Feature_descriptor.getNestedTypes().get(0);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureView.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureView.java
index 50a6fa537205..059349c368c7 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureView.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureView.java
@@ -42,6 +42,8 @@ private FeatureView(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
private FeatureView() {
name_ = "";
etag_ = "";
+ serviceAgentType_ = 0;
+ serviceAccountEmail_ = "";
}
@java.lang.Override
@@ -77,6 +79,173 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl
com.google.cloud.aiplatform.v1beta1.FeatureView.Builder.class);
}
+ /**
+ *
+ *
+ *
+ * Service agent type used during data sync.
+ *
+ *
+ * Protobuf enum {@code google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType}
+ */
+ public enum ServiceAgentType implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ *
+ *
+ *
+ * By default, the project-level Vertex AI Service Agent is enabled.
+ *
+ *
+ * SERVICE_AGENT_TYPE_UNSPECIFIED = 0;
+ */
+ SERVICE_AGENT_TYPE_UNSPECIFIED(0),
+ /**
+ *
+ *
+ *
+ * Indicates the project-level Vertex AI Service Agent
+ * (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
+ * will be used during sync jobs.
+ *
+ *
+ * SERVICE_AGENT_TYPE_PROJECT = 1;
+ */
+ SERVICE_AGENT_TYPE_PROJECT(1),
+ /**
+ *
+ *
+ *
+ * Enable a FeatureView service account to be created by Vertex AI and
+ * output in the field `service_account_email`. This service account will
+ * be used to read from the source BigQuery table during sync.
+ *
+ *
+ * SERVICE_AGENT_TYPE_FEATURE_VIEW = 2;
+ */
+ SERVICE_AGENT_TYPE_FEATURE_VIEW(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ *
+ *
+ *
+ * By default, the project-level Vertex AI Service Agent is enabled.
+ *
+ *
+ * SERVICE_AGENT_TYPE_UNSPECIFIED = 0;
+ */
+ public static final int SERVICE_AGENT_TYPE_UNSPECIFIED_VALUE = 0;
+ /**
+ *
+ *
+ *
+ * Indicates the project-level Vertex AI Service Agent
+ * (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
+ * will be used during sync jobs.
+ *
+ *
+ * SERVICE_AGENT_TYPE_PROJECT = 1;
+ */
+ public static final int SERVICE_AGENT_TYPE_PROJECT_VALUE = 1;
+ /**
+ *
+ *
+ *
+ * Enable a FeatureView service account to be created by Vertex AI and
+ * output in the field `service_account_email`. This service account will
+ * be used to read from the source BigQuery table during sync.
+ *
+ *
+ * SERVICE_AGENT_TYPE_FEATURE_VIEW = 2;
+ */
+ public static final int SERVICE_AGENT_TYPE_FEATURE_VIEW_VALUE = 2;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ServiceAgentType valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static ServiceAgentType forNumber(int value) {
+ switch (value) {
+ case 0:
+ return SERVICE_AGENT_TYPE_UNSPECIFIED;
+ case 1:
+ return SERVICE_AGENT_TYPE_PROJECT;
+ case 2:
+ return SERVICE_AGENT_TYPE_FEATURE_VIEW;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() {
+ return internalValueMap;
+ }
+
+ private static final com.google.protobuf.Internal.EnumLiteMap
+ internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap() {
+ public ServiceAgentType findValueByNumber(int number) {
+ return ServiceAgentType.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalStateException(
+ "Can't get the descriptor of an unrecognized enum value.");
+ }
+ return getDescriptor().getValues().get(ordinal());
+ }
+
+ public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
+ return getDescriptor();
+ }
+
+ public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureView.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final ServiceAgentType[] VALUES = values();
+
+ public static ServiceAgentType valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private ServiceAgentType(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType)
+ }
+
public interface BigQuerySourceOrBuilder
extends
// @@protoc_insertion_point(interface_extends:google.cloud.aiplatform.v1beta1.FeatureView.BigQuerySource)
@@ -8454,6 +8623,113 @@ public boolean hasVectorSearchConfig() {
: vectorSearchConfig_;
}
+ public static final int SERVICE_AGENT_TYPE_FIELD_NUMBER = 14;
+ private int serviceAgentType_ = 0;
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for serviceAgentType.
+ */
+ @java.lang.Override
+ public int getServiceAgentTypeValue() {
+ return serviceAgentType_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The serviceAgentType.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType getServiceAgentType() {
+ com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType result =
+ com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType.forNumber(
+ serviceAgentType_);
+ return result == null
+ ? com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType.UNRECOGNIZED
+ : result;
+ }
+
+ public static final int SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER = 13;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object serviceAccountEmail_ = "";
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The serviceAccountEmail.
+ */
+ @java.lang.Override
+ public java.lang.String getServiceAccountEmail() {
+ java.lang.Object ref = serviceAccountEmail_;
+ 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();
+ serviceAccountEmail_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The bytes for serviceAccountEmail.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getServiceAccountEmailBytes() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ serviceAccountEmail_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -8496,6 +8772,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
output.writeMessage(
9, (com.google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource) source_);
}
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountEmail_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 13, serviceAccountEmail_);
+ }
+ if (serviceAgentType_
+ != com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType
+ .SERVICE_AGENT_TYPE_UNSPECIFIED
+ .getNumber()) {
+ output.writeEnum(14, serviceAgentType_);
+ }
getUnknownFields().writeTo(output);
}
@@ -8543,6 +8828,15 @@ public int getSerializedSize() {
com.google.protobuf.CodedOutputStream.computeMessageSize(
9, (com.google.cloud.aiplatform.v1beta1.FeatureView.FeatureRegistrySource) source_);
}
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccountEmail_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, serviceAccountEmail_);
+ }
+ if (serviceAgentType_
+ != com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType
+ .SERVICE_AGENT_TYPE_UNSPECIFIED
+ .getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(14, serviceAgentType_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -8578,6 +8872,8 @@ public boolean equals(final java.lang.Object obj) {
if (hasVectorSearchConfig()) {
if (!getVectorSearchConfig().equals(other.getVectorSearchConfig())) return false;
}
+ if (serviceAgentType_ != other.serviceAgentType_) return false;
+ if (!getServiceAccountEmail().equals(other.getServiceAccountEmail())) return false;
if (!getSourceCase().equals(other.getSourceCase())) return false;
switch (sourceCase_) {
case 6:
@@ -8624,6 +8920,10 @@ public int hashCode() {
hash = (37 * hash) + VECTOR_SEARCH_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + getVectorSearchConfig().hashCode();
}
+ hash = (37 * hash) + SERVICE_AGENT_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + serviceAgentType_;
+ hash = (37 * hash) + SERVICE_ACCOUNT_EMAIL_FIELD_NUMBER;
+ hash = (53 * hash) + getServiceAccountEmail().hashCode();
switch (sourceCase_) {
case 6:
hash = (37 * hash) + BIG_QUERY_SOURCE_FIELD_NUMBER;
@@ -8839,6 +9139,8 @@ public Builder clear() {
vectorSearchConfigBuilder_.dispose();
vectorSearchConfigBuilder_ = null;
}
+ serviceAgentType_ = 0;
+ serviceAccountEmail_ = "";
sourceCase_ = 0;
source_ = null;
return this;
@@ -8908,6 +9210,12 @@ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.FeatureView resul
: vectorSearchConfigBuilder_.build();
to_bitField0_ |= 0x00000008;
}
+ if (((from_bitField0_ & 0x00000200) != 0)) {
+ result.serviceAgentType_ = serviceAgentType_;
+ }
+ if (((from_bitField0_ & 0x00000400) != 0)) {
+ result.serviceAccountEmail_ = serviceAccountEmail_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -8992,6 +9300,14 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.FeatureView other)
if (other.hasVectorSearchConfig()) {
mergeVectorSearchConfig(other.getVectorSearchConfig());
}
+ if (other.serviceAgentType_ != 0) {
+ setServiceAgentTypeValue(other.getServiceAgentTypeValue());
+ }
+ if (!other.getServiceAccountEmail().isEmpty()) {
+ serviceAccountEmail_ = other.serviceAccountEmail_;
+ bitField0_ |= 0x00000400;
+ onChanged();
+ }
switch (other.getSourceCase()) {
case BIG_QUERY_SOURCE:
{
@@ -9096,6 +9412,18 @@ public Builder mergeFrom(
sourceCase_ = 9;
break;
} // case 74
+ case 106:
+ {
+ serviceAccountEmail_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000400;
+ break;
+ } // case 106
+ case 112:
+ {
+ serviceAgentType_ = input.readEnum();
+ bitField0_ |= 0x00000200;
+ break;
+ } // case 112
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -10933,6 +11261,251 @@ public Builder clearVectorSearchConfig() {
return vectorSearchConfigBuilder_;
}
+ private int serviceAgentType_ = 0;
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for serviceAgentType.
+ */
+ @java.lang.Override
+ public int getServiceAgentTypeValue() {
+ return serviceAgentType_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @param value The enum numeric value on the wire for serviceAgentType to set.
+ * @return This builder for chaining.
+ */
+ public Builder setServiceAgentTypeValue(int value) {
+ serviceAgentType_ = value;
+ bitField0_ |= 0x00000200;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The serviceAgentType.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType getServiceAgentType() {
+ com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType result =
+ com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType.forNumber(
+ serviceAgentType_);
+ return result == null
+ ? com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType.UNRECOGNIZED
+ : result;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @param value The serviceAgentType to set.
+ * @return This builder for chaining.
+ */
+ public Builder setServiceAgentType(
+ com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000200;
+ serviceAgentType_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearServiceAgentType() {
+ bitField0_ = (bitField0_ & ~0x00000200);
+ serviceAgentType_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object serviceAccountEmail_ = "";
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The serviceAccountEmail.
+ */
+ public java.lang.String getServiceAccountEmail() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceAccountEmail_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The bytes for serviceAccountEmail.
+ */
+ public com.google.protobuf.ByteString getServiceAccountEmailBytes() {
+ java.lang.Object ref = serviceAccountEmail_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ serviceAccountEmail_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The serviceAccountEmail to set.
+ * @return This builder for chaining.
+ */
+ public Builder setServiceAccountEmail(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ serviceAccountEmail_ = value;
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearServiceAccountEmail() {
+ serviceAccountEmail_ = getDefaultInstance().getServiceAccountEmail();
+ bitField0_ = (bitField0_ & ~0x00000400);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @param value The bytes for serviceAccountEmail to set.
+ * @return This builder for chaining.
+ */
+ public Builder setServiceAccountEmailBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ serviceAccountEmail_ = value;
+ bitField0_ |= 0x00000400;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKey.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKey.java
index 8f9f489d3585..2dc35e298928 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKey.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKey.java
@@ -61,6 +61,797 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.Builder.class);
}
+ public interface CompositeKeyOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return A list containing the parts.
+ */
+ java.util.List getPartsList();
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return The count of parts.
+ */
+ int getPartsCount();
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index of the element to return.
+ * @return The parts at the given index.
+ */
+ java.lang.String getParts(int index);
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the parts at the given index.
+ */
+ com.google.protobuf.ByteString getPartsBytes(int index);
+ }
+ /**
+ *
+ *
+ *
+ * ID that is comprised from several parts (columns).
+ *
+ *
+ * Protobuf type {@code google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey}
+ */
+ public static final class CompositeKey extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)
+ CompositeKeyOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CompositeKey.newBuilder() to construct.
+ private CompositeKey(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private CompositeKey() {
+ parts_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new CompositeKey();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureOnlineStoreServiceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureOnlineStoreServiceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.class,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder.class);
+ }
+
+ public static final int PARTS_FIELD_NUMBER = 1;
+
+ @SuppressWarnings("serial")
+ private com.google.protobuf.LazyStringArrayList parts_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return A list containing the parts.
+ */
+ public com.google.protobuf.ProtocolStringList getPartsList() {
+ return parts_;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return The count of parts.
+ */
+ public int getPartsCount() {
+ return parts_.size();
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index of the element to return.
+ * @return The parts at the given index.
+ */
+ public java.lang.String getParts(int index) {
+ return parts_.get(index);
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the parts at the given index.
+ */
+ public com.google.protobuf.ByteString getPartsBytes(int index) {
+ return parts_.getByteString(index);
+ }
+
+ 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 {
+ for (int i = 0; i < parts_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, parts_.getRaw(i));
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ {
+ int dataSize = 0;
+ for (int i = 0; i < parts_.size(); i++) {
+ dataSize += computeStringSizeNoTag(parts_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getPartsList().size();
+ }
+ 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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey other =
+ (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) obj;
+
+ if (!getPartsList().equals(other.getPartsList())) 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();
+ if (getPartsCount() > 0) {
+ hash = (37 * hash) + PARTS_FIELD_NUMBER;
+ hash = (53 * hash) + getPartsList().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey 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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey 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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey parseFrom(
+ byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey 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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ 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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey 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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey 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;
+ }
+ /**
+ *
+ *
+ *
+ * ID that is comprised from several parts (columns).
+ *
+ *
+ * Protobuf type {@code google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ implements
+ // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureOnlineStoreServiceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureOnlineStoreServiceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.class,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder.class);
+ }
+
+ // Construct using
+ // com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.newBuilder()
+ private Builder() {}
+
+ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ }
+
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ bitField0_ = 0;
+ parts_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureOnlineStoreServiceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_FeatureViewDataKey_CompositeKey_descriptor;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ getDefaultInstanceForType() {
+ return com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey build() {
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey buildPartial() {
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey result =
+ new com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey(this);
+ if (bitField0_ != 0) {
+ buildPartial0(result);
+ }
+ onBuilt();
+ return result;
+ }
+
+ private void buildPartial0(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey result) {
+ int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ parts_.makeImmutable();
+ result.parts_ = parts_;
+ }
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.setField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+
+ @java.lang.Override
+ public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index,
+ java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) {
+ return mergeFrom(
+ (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey other) {
+ if (other
+ == com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance()) return this;
+ if (!other.parts_.isEmpty()) {
+ if (parts_.isEmpty()) {
+ parts_ = other.parts_;
+ bitField0_ |= 0x00000001;
+ } else {
+ ensurePartsIsMutable();
+ parts_.addAll(other.parts_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10:
+ {
+ java.lang.String s = input.readStringRequireUtf8();
+ ensurePartsIsMutable();
+ parts_.add(s);
+ break;
+ } // case 10
+ default:
+ {
+ if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+ done = true; // was an endgroup tag
+ }
+ break;
+ } // default:
+ } // switch (tag)
+ } // while (!done)
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.unwrapIOException();
+ } finally {
+ onChanged();
+ } // finally
+ return this;
+ }
+
+ private int bitField0_;
+
+ private com.google.protobuf.LazyStringArrayList parts_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+
+ private void ensurePartsIsMutable() {
+ if (!parts_.isModifiable()) {
+ parts_ = new com.google.protobuf.LazyStringArrayList(parts_);
+ }
+ bitField0_ |= 0x00000001;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return A list containing the parts.
+ */
+ public com.google.protobuf.ProtocolStringList getPartsList() {
+ parts_.makeImmutable();
+ return parts_;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return The count of parts.
+ */
+ public int getPartsCount() {
+ return parts_.size();
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index of the element to return.
+ * @return The parts at the given index.
+ */
+ public java.lang.String getParts(int index) {
+ return parts_.get(index);
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the parts at the given index.
+ */
+ public com.google.protobuf.ByteString getPartsBytes(int index) {
+ return parts_.getByteString(index);
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param index The index to set the value at.
+ * @param value The parts to set.
+ * @return This builder for chaining.
+ */
+ public Builder setParts(int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensurePartsIsMutable();
+ parts_.set(index, value);
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param value The parts to add.
+ * @return This builder for chaining.
+ */
+ public Builder addParts(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensurePartsIsMutable();
+ parts_.add(value);
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param values The parts to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllParts(java.lang.Iterable values) {
+ ensurePartsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, parts_);
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearParts() {
+ parts_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ ;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Parts to construct Entity ID. Should match with the same ID columns as
+ * defined in FeatureView in the same order.
+ *
+ *
+ * repeated string parts = 1;
+ *
+ * @param value The bytes of the parts to add.
+ * @return This builder for chaining.
+ */
+ public Builder addPartsBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensurePartsIsMutable();
+ parts_.add(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.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)
+ private static final com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey();
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser PARSER =
+ new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public CompositeKey parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ Builder builder = newBuilder();
+ try {
+ builder.mergeFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(builder.buildPartial());
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException()
+ .setUnfinishedMessage(builder.buildPartial());
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(e)
+ .setUnfinishedMessage(builder.buildPartial());
+ }
+ return builder.buildPartial();
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+ }
+
private int keyOneofCase_ = 0;
@SuppressWarnings("serial")
@@ -71,6 +862,7 @@ public enum KeyOneofCase
com.google.protobuf.Internal.EnumLite,
com.google.protobuf.AbstractMessage.InternalOneOfEnum {
KEY(1),
+ COMPOSITE_KEY(2),
KEYONEOF_NOT_SET(0);
private final int value;
@@ -91,6 +883,8 @@ public static KeyOneofCase forNumber(int value) {
switch (value) {
case 1:
return KEY;
+ case 2:
+ return COMPOSITE_KEY;
case 0:
return KEYONEOF_NOT_SET;
default:
@@ -177,6 +971,64 @@ public com.google.protobuf.ByteString getKeyBytes() {
}
}
+ public static final int COMPOSITE_KEY_FIELD_NUMBER = 2;
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ *
+ * @return Whether the compositeKey field is set.
+ */
+ @java.lang.Override
+ public boolean hasCompositeKey() {
+ return keyOneofCase_ == 2;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ *
+ * @return The compositeKey.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey getCompositeKey() {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder
+ getCompositeKeyOrBuilder() {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.getDefaultInstance();
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -194,6 +1046,10 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (keyOneofCase_ == 1) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 1, keyOneof_);
}
+ if (keyOneofCase_ == 2) {
+ output.writeMessage(
+ 2, (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_);
+ }
getUnknownFields().writeTo(output);
}
@@ -206,6 +1062,11 @@ public int getSerializedSize() {
if (keyOneofCase_ == 1) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, keyOneof_);
}
+ if (keyOneofCase_ == 2) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 2, (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -227,6 +1088,9 @@ public boolean equals(final java.lang.Object obj) {
case 1:
if (!getKey().equals(other.getKey())) return false;
break;
+ case 2:
+ if (!getCompositeKey().equals(other.getCompositeKey())) return false;
+ break;
case 0:
default:
}
@@ -246,6 +1110,10 @@ public int hashCode() {
hash = (37 * hash) + KEY_FIELD_NUMBER;
hash = (53 * hash) + getKey().hashCode();
break;
+ case 2:
+ hash = (37 * hash) + COMPOSITE_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getCompositeKey().hashCode();
+ break;
case 0:
default:
}
@@ -389,6 +1257,9 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
public Builder clear() {
super.clear();
bitField0_ = 0;
+ if (compositeKeyBuilder_ != null) {
+ compositeKeyBuilder_.clear();
+ }
keyOneofCase_ = 0;
keyOneof_ = null;
return this;
@@ -433,6 +1304,9 @@ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.FeatureViewDataKe
private void buildPartialOneofs(com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey result) {
result.keyOneofCase_ = keyOneofCase_;
result.keyOneof_ = this.keyOneof_;
+ if (keyOneofCase_ == 2 && compositeKeyBuilder_ != null) {
+ result.keyOneof_ = compositeKeyBuilder_.build();
+ }
}
@java.lang.Override
@@ -489,6 +1363,11 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey
onChanged();
break;
}
+ case COMPOSITE_KEY:
+ {
+ mergeCompositeKey(other.getCompositeKey());
+ break;
+ }
case KEYONEOF_NOT_SET:
{
break;
@@ -527,6 +1406,12 @@ public Builder mergeFrom(
keyOneof_ = s;
break;
} // case 10
+ case 18:
+ {
+ input.readMessage(getCompositeKeyFieldBuilder().getBuilder(), extensionRegistry);
+ keyOneofCase_ = 2;
+ break;
+ } // case 18
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -694,6 +1579,246 @@ public Builder setKeyBytes(com.google.protobuf.ByteString value) {
return this;
}
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder>
+ compositeKeyBuilder_;
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ *
+ * @return Whether the compositeKey field is set.
+ */
+ @java.lang.Override
+ public boolean hasCompositeKey() {
+ return keyOneofCase_ == 2;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ *
+ * @return The compositeKey.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey getCompositeKey() {
+ if (compositeKeyBuilder_ == null) {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance();
+ } else {
+ if (keyOneofCase_ == 2) {
+ return compositeKeyBuilder_.getMessage();
+ }
+ return com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ public Builder setCompositeKey(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey value) {
+ if (compositeKeyBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ keyOneof_ = value;
+ onChanged();
+ } else {
+ compositeKeyBuilder_.setMessage(value);
+ }
+ keyOneofCase_ = 2;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ public Builder setCompositeKey(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder
+ builderForValue) {
+ if (compositeKeyBuilder_ == null) {
+ keyOneof_ = builderForValue.build();
+ onChanged();
+ } else {
+ compositeKeyBuilder_.setMessage(builderForValue.build());
+ }
+ keyOneofCase_ = 2;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ public Builder mergeCompositeKey(
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey value) {
+ if (compositeKeyBuilder_ == null) {
+ if (keyOneofCase_ == 2
+ && keyOneof_
+ != com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance()) {
+ keyOneof_ =
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.newBuilder(
+ (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey)
+ keyOneof_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ keyOneof_ = value;
+ }
+ onChanged();
+ } else {
+ if (keyOneofCase_ == 2) {
+ compositeKeyBuilder_.mergeFrom(value);
+ } else {
+ compositeKeyBuilder_.setMessage(value);
+ }
+ }
+ keyOneofCase_ = 2;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ public Builder clearCompositeKey() {
+ if (compositeKeyBuilder_ == null) {
+ if (keyOneofCase_ == 2) {
+ keyOneofCase_ = 0;
+ keyOneof_ = null;
+ onChanged();
+ }
+ } else {
+ if (keyOneofCase_ == 2) {
+ keyOneofCase_ = 0;
+ keyOneof_ = null;
+ }
+ compositeKeyBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder
+ getCompositeKeyBuilder() {
+ return getCompositeKeyFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder
+ getCompositeKeyOrBuilder() {
+ if ((keyOneofCase_ == 2) && (compositeKeyBuilder_ != null)) {
+ return compositeKeyBuilder_.getMessageOrBuilder();
+ } else {
+ if (keyOneofCase_ == 2) {
+ return (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_;
+ }
+ return com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder>
+ getCompositeKeyFieldBuilder() {
+ if (compositeKeyBuilder_ == null) {
+ if (!(keyOneofCase_ == 2)) {
+ keyOneof_ =
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey
+ .getDefaultInstance();
+ }
+ compositeKeyBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey.Builder,
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder>(
+ (com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey) keyOneof_,
+ getParentForChildren(),
+ isClean());
+ keyOneof_ = null;
+ }
+ keyOneofCase_ = 2;
+ onChanged();
+ return compositeKeyBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKeyOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKeyOrBuilder.java
index f3e486a381c1..807753f670c6 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKeyOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewDataKeyOrBuilder.java
@@ -61,5 +61,47 @@ public interface FeatureViewDataKeyOrBuilder
*/
com.google.protobuf.ByteString getKeyBytes();
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ *
+ * @return Whether the compositeKey field is set.
+ */
+ boolean hasCompositeKey();
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ *
+ * @return The compositeKey.
+ */
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey getCompositeKey();
+ /**
+ *
+ *
+ *
+ * The actual Entity ID will be composed from this struct. This should match
+ * with the way ID is defined in the FeatureView spec.
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKey composite_key = 2;
+ *
+ */
+ com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.CompositeKeyOrBuilder
+ getCompositeKeyOrBuilder();
+
com.google.cloud.aiplatform.v1beta1.FeatureViewDataKey.KeyOneofCase getKeyOneofCase();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewOrBuilder.java
index 78f7c3e00907..8b0a75c13eb8 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewOrBuilder.java
@@ -444,5 +444,73 @@ java.lang.String getLabelsOrDefault(
com.google.cloud.aiplatform.v1beta1.FeatureView.VectorSearchConfigOrBuilder
getVectorSearchConfigOrBuilder();
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for serviceAgentType.
+ */
+ int getServiceAgentTypeValue();
+ /**
+ *
+ *
+ *
+ * Optional. Service agent type used during data sync. By default, the Vertex
+ * AI Service Agent is used. When using an IAM Policy to isolate this
+ * FeatureView within a project, a separate service account should be
+ * provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ * This will generate a separate service account to access the BigQuery source
+ * table.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType service_agent_type = 14 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The serviceAgentType.
+ */
+ com.google.cloud.aiplatform.v1beta1.FeatureView.ServiceAgentType getServiceAgentType();
+
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The serviceAccountEmail.
+ */
+ java.lang.String getServiceAccountEmail();
+ /**
+ *
+ *
+ *
+ * Output only. A Service Account unique to this FeatureView. The role
+ * bigquery.dataViewer should be granted to this service account to allow
+ * Vertex AI Feature Store to sync data to the online store.
+ *
+ *
+ * string service_account_email = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ * @return The bytes for serviceAccountEmail.
+ */
+ com.google.protobuf.ByteString getServiceAccountEmailBytes();
+
com.google.cloud.aiplatform.v1beta1.FeatureView.SourceCase getSourceCase();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewProto.java
index 715c543c018b..5d838b21df84 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewProto.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FeatureViewProto.java
@@ -77,7 +77,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "e_view.proto\022\037google.cloud.aiplatform.v1"
+ "beta1\032\037google/api/field_behavior.proto\032\031"
+ "google/api/resource.proto\032\037google/protob"
- + "uf/timestamp.proto\"\207\017\n\013FeatureView\022\\\n\020bi"
+ + "uf/timestamp.proto\"\210\021\n\013FeatureView\022\\\n\020bi"
+ "g_query_source\030\006 \001(\0132;.google.cloud.aipl"
+ "atform.v1beta1.FeatureView.BigQuerySourc"
+ "eB\003\340A\001H\000\022j\n\027feature_registry_source\030\t \001("
@@ -92,46 +92,53 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "(\01327.google.cloud.aiplatform.v1beta1.Fea"
+ "tureView.SyncConfig\022b\n\024vector_search_con"
+ "fig\030\010 \001(\0132?.google.cloud.aiplatform.v1be"
- + "ta1.FeatureView.VectorSearchConfigB\003\340A\001\032"
- + "B\n\016BigQuerySource\022\020\n\003uri\030\001 \001(\tB\003\340A\002\022\036\n\021e"
- + "ntity_id_columns\030\002 \003(\tB\003\340A\002\032\032\n\nSyncConfi"
- + "g\022\014\n\004cron\030\001 \001(\t\032\222\006\n\022VectorSearchConfig\022k"
- + "\n\016tree_ah_config\030\010 \001(\0132L.google.cloud.ai"
- + "platform.v1beta1.FeatureView.VectorSearc"
- + "hConfig.TreeAHConfigB\003\340A\001H\000\022s\n\022brute_for"
- + "ce_config\030\t \001(\0132P.google.cloud.aiplatfor"
- + "m.v1beta1.FeatureView.VectorSearchConfig"
- + ".BruteForceConfigB\003\340A\001H\000\022\035\n\020embedding_co"
- + "lumn\030\003 \001(\tB\003\340A\001\022\033\n\016filter_columns\030\004 \003(\tB"
- + "\003\340A\001\022\034\n\017crowding_column\030\005 \001(\tB\003\340A\001\022%\n\023em"
- + "bedding_dimension\030\006 \001(\005B\003\340A\001H\001\210\001\001\022w\n\025dis"
- + "tance_measure_type\030\007 \001(\0162S.google.cloud."
- + "aiplatform.v1beta1.FeatureView.VectorSea"
- + "rchConfig.DistanceMeasureTypeB\003\340A\001\032\022\n\020Br"
- + "uteForceConfig\032Y\n\014TreeAHConfig\022+\n\031leaf_n"
- + "ode_embedding_count\030\001 \001(\003B\003\340A\001H\000\210\001\001B\034\n\032_"
- + "leaf_node_embedding_count\"\204\001\n\023DistanceMe"
- + "asureType\022%\n!DISTANCE_MEASURE_TYPE_UNSPE"
- + "CIFIED\020\000\022\027\n\023SQUARED_L2_DISTANCE\020\001\022\023\n\017COS"
- + "INE_DISTANCE\020\002\022\030\n\024DOT_PRODUCT_DISTANCE\020\003"
- + "B\022\n\020algorithm_configB\026\n\024_embedding_dimen"
- + "sion\032\316\001\n\025FeatureRegistrySource\022l\n\016featur"
- + "e_groups\030\001 \003(\0132O.google.cloud.aiplatform"
- + ".v1beta1.FeatureView.FeatureRegistrySour"
- + "ce.FeatureGroupB\003\340A\002\032G\n\014FeatureGroup\022\035\n\020"
- + "feature_group_id\030\001 \001(\tB\003\340A\002\022\030\n\013feature_i"
- + "ds\030\002 \003(\tB\003\340A\002\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001("
- + "\t\022\r\n\005value\030\002 \001(\t:\0028\001:\233\001\352A\227\001\n%aiplatform."
- + "googleapis.com/FeatureView\022nprojects/{pr"
- + "oject}/locations/{location}/featureOnlin"
- + "eStores/{feature_online_store}/featureVi"
- + "ews/{feature_view}B\010\n\006sourceB\347\001\n#com.goo"
- + "gle.cloud.aiplatform.v1beta1B\020FeatureVie"
- + "wProtoP\001ZCcloud.google.com/go/aiplatform"
- + "/apiv1beta1/aiplatformpb;aiplatformpb\252\002\037"
- + "Google.Cloud.AIPlatform.V1Beta1\312\002\037Google"
- + "\\Cloud\\AIPlatform\\V1beta1\352\002\"Google::Clou"
- + "d::AIPlatform::V1beta1b\006proto3"
+ + "ta1.FeatureView.VectorSearchConfigB\003\340A\001\022"
+ + "^\n\022service_agent_type\030\016 \001(\0162=.google.clo"
+ + "ud.aiplatform.v1beta1.FeatureView.Servic"
+ + "eAgentTypeB\003\340A\001\022\"\n\025service_account_email"
+ + "\030\r \001(\tB\003\340A\003\032B\n\016BigQuerySource\022\020\n\003uri\030\001 \001"
+ + "(\tB\003\340A\002\022\036\n\021entity_id_columns\030\002 \003(\tB\003\340A\002\032"
+ + "\032\n\nSyncConfig\022\014\n\004cron\030\001 \001(\t\032\222\006\n\022VectorSe"
+ + "archConfig\022k\n\016tree_ah_config\030\010 \001(\0132L.goo"
+ + "gle.cloud.aiplatform.v1beta1.FeatureView"
+ + ".VectorSearchConfig.TreeAHConfigB\003\340A\001H\000\022"
+ + "s\n\022brute_force_config\030\t \001(\0132P.google.clo"
+ + "ud.aiplatform.v1beta1.FeatureView.Vector"
+ + "SearchConfig.BruteForceConfigB\003\340A\001H\000\022\035\n\020"
+ + "embedding_column\030\003 \001(\tB\003\340A\001\022\033\n\016filter_co"
+ + "lumns\030\004 \003(\tB\003\340A\001\022\034\n\017crowding_column\030\005 \001("
+ + "\tB\003\340A\001\022%\n\023embedding_dimension\030\006 \001(\005B\003\340A\001"
+ + "H\001\210\001\001\022w\n\025distance_measure_type\030\007 \001(\0162S.g"
+ + "oogle.cloud.aiplatform.v1beta1.FeatureVi"
+ + "ew.VectorSearchConfig.DistanceMeasureTyp"
+ + "eB\003\340A\001\032\022\n\020BruteForceConfig\032Y\n\014TreeAHConf"
+ + "ig\022+\n\031leaf_node_embedding_count\030\001 \001(\003B\003\340"
+ + "A\001H\000\210\001\001B\034\n\032_leaf_node_embedding_count\"\204\001"
+ + "\n\023DistanceMeasureType\022%\n!DISTANCE_MEASUR"
+ + "E_TYPE_UNSPECIFIED\020\000\022\027\n\023SQUARED_L2_DISTA"
+ + "NCE\020\001\022\023\n\017COSINE_DISTANCE\020\002\022\030\n\024DOT_PRODUC"
+ + "T_DISTANCE\020\003B\022\n\020algorithm_configB\026\n\024_emb"
+ + "edding_dimension\032\316\001\n\025FeatureRegistrySour"
+ + "ce\022l\n\016feature_groups\030\001 \003(\0132O.google.clou"
+ + "d.aiplatform.v1beta1.FeatureView.Feature"
+ + "RegistrySource.FeatureGroupB\003\340A\002\032G\n\014Feat"
+ + "ureGroup\022\035\n\020feature_group_id\030\001 \001(\tB\003\340A\002\022"
+ + "\030\n\013feature_ids\030\002 \003(\tB\003\340A\002\032-\n\013LabelsEntry"
+ + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"{\n\020Serv"
+ + "iceAgentType\022\"\n\036SERVICE_AGENT_TYPE_UNSPE"
+ + "CIFIED\020\000\022\036\n\032SERVICE_AGENT_TYPE_PROJECT\020\001"
+ + "\022#\n\037SERVICE_AGENT_TYPE_FEATURE_VIEW\020\002:\233\001"
+ + "\352A\227\001\n%aiplatform.googleapis.com/FeatureV"
+ + "iew\022nprojects/{project}/locations/{locat"
+ + "ion}/featureOnlineStores/{feature_online"
+ + "_store}/featureViews/{feature_view}B\010\n\006s"
+ + "ourceB\347\001\n#com.google.cloud.aiplatform.v1"
+ + "beta1B\020FeatureViewProtoP\001ZCcloud.google."
+ + "com/go/aiplatform/apiv1beta1/aiplatformp"
+ + "b;aiplatformpb\252\002\037Google.Cloud.AIPlatform"
+ + ".V1Beta1\312\002\037Google\\Cloud\\AIPlatform\\V1bet"
+ + "a1\352\002\"Google::Cloud::AIPlatform::V1beta1b"
+ + "\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -156,6 +163,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Labels",
"SyncConfig",
"VectorSearchConfig",
+ "ServiceAgentType",
+ "ServiceAccountEmail",
"Source",
});
internal_static_google_cloud_aiplatform_v1beta1_FeatureView_BigQuerySource_descriptor =
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequest.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequest.java
index 50bcda1c0e7c..fdcc51b8e379 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequest.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequest.java
@@ -287,7 +287,7 @@ public EntityIdCase getEntityIdCase() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return Whether the id field is set.
*/
@java.lang.Deprecated
@@ -305,7 +305,7 @@ public boolean hasId() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return The id.
*/
@java.lang.Deprecated
@@ -336,7 +336,7 @@ public java.lang.String getId() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return The bytes for id.
*/
@java.lang.Deprecated
@@ -531,7 +531,7 @@ public com.google.cloud.aiplatform.v1beta1.FeatureViewDataFormat getDataFormat()
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return The enum numeric value on the wire for format.
*/
@java.lang.Override
@@ -553,7 +553,7 @@ public int getFormatValue() {
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return The format.
*/
@java.lang.Override
@@ -1087,7 +1087,7 @@ public Builder clearEntityId() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return Whether the id field is set.
*/
@java.lang.Override
@@ -1106,7 +1106,7 @@ public boolean hasId() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return The id.
*/
@java.lang.Override
@@ -1138,7 +1138,7 @@ public java.lang.String getId() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return The bytes for id.
*/
@java.lang.Override
@@ -1170,7 +1170,7 @@ public com.google.protobuf.ByteString getIdBytes() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @param value The id to set.
* @return This builder for chaining.
*/
@@ -1195,7 +1195,7 @@ public Builder setId(java.lang.String value) {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return This builder for chaining.
*/
@java.lang.Deprecated
@@ -1218,7 +1218,7 @@ public Builder clearId() {
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @param value The bytes for id to set.
* @return This builder for chaining.
*/
@@ -1687,7 +1687,7 @@ public Builder clearDataFormat() {
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated.
- * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return The enum numeric value on the wire for format.
*/
@java.lang.Override
@@ -1709,7 +1709,7 @@ public int getFormatValue() {
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated.
- * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @param value The enum numeric value on the wire for format to set.
* @return This builder for chaining.
*/
@@ -1734,7 +1734,7 @@ public Builder setFormatValue(int value) {
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated.
- * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return The format.
*/
@java.lang.Override
@@ -1760,7 +1760,7 @@ public com.google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.Format getF
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated.
- * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @param value The format to set.
* @return This builder for chaining.
*/
@@ -1789,7 +1789,7 @@ public Builder setFormat(
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated.
- * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * See google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return This builder for chaining.
*/
@java.lang.Deprecated
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequestOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequestOrBuilder.java
index a56723bf3756..07d7f1c03a75 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequestOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/FetchFeatureValuesRequestOrBuilder.java
@@ -35,7 +35,7 @@ public interface FetchFeatureValuesRequestOrBuilder
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return Whether the id field is set.
*/
@java.lang.Deprecated
@@ -51,7 +51,7 @@ public interface FetchFeatureValuesRequestOrBuilder
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return The id.
*/
@java.lang.Deprecated
@@ -67,7 +67,7 @@ public interface FetchFeatureValuesRequestOrBuilder
* string id = 3 [deprecated = true];
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.id is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=105
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=116
* @return The bytes for id.
*/
@java.lang.Deprecated
@@ -192,7 +192,7 @@ public interface FetchFeatureValuesRequestOrBuilder
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return The enum numeric value on the wire for format.
*/
@java.lang.Deprecated
@@ -211,7 +211,7 @@ public interface FetchFeatureValuesRequestOrBuilder
*
*
* @deprecated google.cloud.aiplatform.v1beta1.FetchFeatureValuesRequest.format is deprecated. See
- * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=129
+ * google/cloud/aiplatform/v1beta1/feature_online_store_service.proto;l=140
* @return The format.
*/
@java.lang.Deprecated
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PersistentResourceProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PersistentResourceProto.java
index 41daa017fe01..180b03d12ce8 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PersistentResourceProto.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PersistentResourceProto.java
@@ -68,6 +68,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_cloud_aiplatform_v1beta1_ServiceAccountSpec_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_google_cloud_aiplatform_v1beta1_ServiceAccountSpec_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
return descriptor;
@@ -129,26 +133,29 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "c\022V\n\024service_account_spec\030\002 \001(\01323.google"
+ ".cloud.aiplatform.v1beta1.ServiceAccount"
+ "SpecB\003\340A\001\022?\n\010ray_spec\030\001 \001(\0132(.google.clo"
- + "ud.aiplatform.v1beta1.RaySpecB\003\340A\001\"\352\001\n\007R"
+ + "ud.aiplatform.v1beta1.RaySpecB\003\340A\001\"\270\002\n\007R"
+ "aySpec\022\026\n\timage_uri\030\001 \001(\tB\003\340A\001\022c\n\024resour"
+ "ce_pool_images\030\006 \003(\0132@.google.cloud.aipl"
+ "atform.v1beta1.RaySpec.ResourcePoolImage"
+ "sEntryB\003\340A\001\022\'\n\032head_node_resource_pool_i"
- + "d\030\007 \001(\tB\003\340A\001\0329\n\027ResourcePoolImagesEntry\022"
- + "\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\240\001\n\017Reso"
- + "urceRuntime\022Z\n\013access_uris\030\001 \003(\0132@.googl"
- + "e.cloud.aiplatform.v1beta1.ResourceRunti"
- + "me.AccessUrisEntryB\003\340A\003\0321\n\017AccessUrisEnt"
- + "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"^\n\022Se"
- + "rviceAccountSpec\022*\n\035enable_custom_servic"
- + "e_account\030\001 \001(\010B\003\340A\002\022\034\n\017service_account\030"
- + "\002 \001(\tB\003\340A\001B\356\001\n#com.google.cloud.aiplatfo"
- + "rm.v1beta1B\027PersistentResourceProtoP\001ZCc"
- + "loud.google.com/go/aiplatform/apiv1beta1"
- + "/aiplatformpb;aiplatformpb\252\002\037Google.Clou"
- + "d.AIPlatform.V1Beta1\312\002\037Google\\Cloud\\AIPl"
- + "atform\\V1beta1\352\002\"Google::Cloud::AIPlatfo"
- + "rm::V1beta1b\006proto3"
+ + "d\030\007 \001(\tB\003\340A\001\022L\n\017ray_metric_spec\030\010 \001(\0132.."
+ + "google.cloud.aiplatform.v1beta1.RayMetri"
+ + "cSpecB\003\340A\001\0329\n\027ResourcePoolImagesEntry\022\013\n"
+ + "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\240\001\n\017Resour"
+ + "ceRuntime\022Z\n\013access_uris\030\001 \003(\0132@.google."
+ + "cloud.aiplatform.v1beta1.ResourceRuntime"
+ + ".AccessUrisEntryB\003\340A\003\0321\n\017AccessUrisEntry"
+ + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"^\n\022Serv"
+ + "iceAccountSpec\022*\n\035enable_custom_service_"
+ + "account\030\001 \001(\010B\003\340A\002\022\034\n\017service_account\030\002 "
+ + "\001(\tB\003\340A\001\"&\n\rRayMetricSpec\022\025\n\010disabled\030\001 "
+ + "\001(\010B\003\340A\001B\356\001\n#com.google.cloud.aiplatform"
+ + ".v1beta1B\027PersistentResourceProtoP\001ZCclo"
+ + "ud.google.com/go/aiplatform/apiv1beta1/a"
+ + "iplatformpb;aiplatformpb\252\002\037Google.Cloud."
+ + "AIPlatform.V1Beta1\312\002\037Google\\Cloud\\AIPlat"
+ + "form\\V1beta1\352\002\"Google::Cloud::AIPlatform"
+ + "::V1beta1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -229,7 +236,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_cloud_aiplatform_v1beta1_RaySpec_descriptor,
new java.lang.String[] {
- "ImageUri", "ResourcePoolImages", "HeadNodeResourcePoolId",
+ "ImageUri", "ResourcePoolImages", "HeadNodeResourcePoolId", "RayMetricSpec",
});
internal_static_google_cloud_aiplatform_v1beta1_RaySpec_ResourcePoolImagesEntry_descriptor =
internal_static_google_cloud_aiplatform_v1beta1_RaySpec_descriptor.getNestedTypes().get(0);
@@ -265,6 +272,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"EnableCustomServiceAccount", "ServiceAccount",
});
+ internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_descriptor =
+ getDescriptor().getMessageTypes().get(6);
+ internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_descriptor,
+ new java.lang.String[] {
+ "Disabled",
+ });
com.google.protobuf.ExtensionRegistry registry =
com.google.protobuf.ExtensionRegistry.newInstance();
registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RayMetricSpec.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RayMetricSpec.java
new file mode 100644
index 000000000000..fde59af309e9
--- /dev/null
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RayMetricSpec.java
@@ -0,0 +1,535 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/cloud/aiplatform/v1beta1/persistent_resource.proto
+
+// Protobuf Java Version: 3.25.2
+package com.google.cloud.aiplatform.v1beta1;
+
+/**
+ *
+ *
+ *
+ * Configuration for the Ray metrics.
+ *
+ *
+ * Protobuf type {@code google.cloud.aiplatform.v1beta1.RayMetricSpec}
+ */
+public final class RayMetricSpec extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.cloud.aiplatform.v1beta1.RayMetricSpec)
+ RayMetricSpecOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use RayMetricSpec.newBuilder() to construct.
+ private RayMetricSpec(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private RayMetricSpec() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new RayMetricSpec();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.aiplatform.v1beta1.PersistentResourceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.aiplatform.v1beta1.PersistentResourceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.class,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder.class);
+ }
+
+ public static final int DISABLED_FIELD_NUMBER = 1;
+ private boolean disabled_ = false;
+ /**
+ *
+ *
+ *
+ * Optional. Flag to disable the Ray metrics collection.
+ *
+ *
+ * bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The disabled.
+ */
+ @java.lang.Override
+ public boolean getDisabled() {
+ return disabled_;
+ }
+
+ 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 (disabled_ != false) {
+ output.writeBool(1, disabled_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (disabled_ != false) {
+ size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, disabled_);
+ }
+ 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.aiplatform.v1beta1.RayMetricSpec)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec other =
+ (com.google.cloud.aiplatform.v1beta1.RayMetricSpec) obj;
+
+ if (getDisabled() != other.getDisabled()) 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) + DISABLED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDisabled());
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec 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.aiplatform.v1beta1.RayMetricSpec parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec 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.aiplatform.v1beta1.RayMetricSpec parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec 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.aiplatform.v1beta1.RayMetricSpec parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec 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.aiplatform.v1beta1.RayMetricSpec parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec 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.aiplatform.v1beta1.RayMetricSpec 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;
+ }
+ /**
+ *
+ *
+ *
+ * Configuration for the Ray metrics.
+ *
+ *
+ * Protobuf type {@code google.cloud.aiplatform.v1beta1.RayMetricSpec}
+ */
+ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ implements
+ // @@protoc_insertion_point(builder_implements:google.cloud.aiplatform.v1beta1.RayMetricSpec)
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.aiplatform.v1beta1.PersistentResourceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.aiplatform.v1beta1.PersistentResourceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.class,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder.class);
+ }
+
+ // Construct using com.google.cloud.aiplatform.v1beta1.RayMetricSpec.newBuilder()
+ private Builder() {}
+
+ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ }
+
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ bitField0_ = 0;
+ disabled_ = false;
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
+ return com.google.cloud.aiplatform.v1beta1.PersistentResourceProto
+ .internal_static_google_cloud_aiplatform_v1beta1_RayMetricSpec_descriptor;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec getDefaultInstanceForType() {
+ return com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec build() {
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec buildPartial() {
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec result =
+ new com.google.cloud.aiplatform.v1beta1.RayMetricSpec(this);
+ if (bitField0_ != 0) {
+ buildPartial0(result);
+ }
+ onBuilt();
+ return result;
+ }
+
+ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.RayMetricSpec result) {
+ int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.disabled_ = disabled_;
+ }
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.setField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+
+ @java.lang.Override
+ public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.cloud.aiplatform.v1beta1.RayMetricSpec) {
+ return mergeFrom((com.google.cloud.aiplatform.v1beta1.RayMetricSpec) other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.RayMetricSpec other) {
+ if (other == com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance())
+ return this;
+ if (other.getDisabled() != false) {
+ setDisabled(other.getDisabled());
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 8:
+ {
+ disabled_ = input.readBool();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 8
+ default:
+ {
+ if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+ done = true; // was an endgroup tag
+ }
+ break;
+ } // default:
+ } // switch (tag)
+ } // while (!done)
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.unwrapIOException();
+ } finally {
+ onChanged();
+ } // finally
+ return this;
+ }
+
+ private int bitField0_;
+
+ private boolean disabled_;
+ /**
+ *
+ *
+ *
+ * Optional. Flag to disable the Ray metrics collection.
+ *
+ *
+ * bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The disabled.
+ */
+ @java.lang.Override
+ public boolean getDisabled() {
+ return disabled_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Flag to disable the Ray metrics collection.
+ *
+ *
+ * bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The disabled to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDisabled(boolean value) {
+
+ disabled_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Flag to disable the Ray metrics collection.
+ *
+ *
+ * bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearDisabled() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ disabled_ = false;
+ 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.aiplatform.v1beta1.RayMetricSpec)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.aiplatform.v1beta1.RayMetricSpec)
+ private static final com.google.cloud.aiplatform.v1beta1.RayMetricSpec DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.aiplatform.v1beta1.RayMetricSpec();
+ }
+
+ public static com.google.cloud.aiplatform.v1beta1.RayMetricSpec getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser PARSER =
+ new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public RayMetricSpec parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ Builder builder = newBuilder();
+ try {
+ builder.mergeFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(builder.buildPartial());
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(e)
+ .setUnfinishedMessage(builder.buildPartial());
+ }
+ return builder.buildPartial();
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RayMetricSpecOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RayMetricSpecOrBuilder.java
new file mode 100644
index 000000000000..56becd5cd30c
--- /dev/null
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RayMetricSpecOrBuilder.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/cloud/aiplatform/v1beta1/persistent_resource.proto
+
+// Protobuf Java Version: 3.25.2
+package com.google.cloud.aiplatform.v1beta1;
+
+public interface RayMetricSpecOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.cloud.aiplatform.v1beta1.RayMetricSpec)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * Optional. Flag to disable the Ray metrics collection.
+ *
+ *
+ * bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The disabled.
+ */
+ boolean getDisabled();
+}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpec.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpec.java
index 544acc8bcae1..7ea35831d1a2 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpec.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpec.java
@@ -79,6 +79,7 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl
com.google.cloud.aiplatform.v1beta1.RaySpec.Builder.class);
}
+ private int bitField0_;
public static final int IMAGE_URI_FIELD_NUMBER = 1;
@SuppressWarnings("serial")
@@ -343,6 +344,62 @@ public com.google.protobuf.ByteString getHeadNodeResourcePoolIdBytes() {
}
}
+ public static final int RAY_METRIC_SPEC_FIELD_NUMBER = 8;
+ private com.google.cloud.aiplatform.v1beta1.RayMetricSpec rayMetricSpec_;
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the rayMetricSpec field is set.
+ */
+ @java.lang.Override
+ public boolean hasRayMetricSpec() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The rayMetricSpec.
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec getRayMetricSpec() {
+ return rayMetricSpec_ == null
+ ? com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance()
+ : rayMetricSpec_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder getRayMetricSpecOrBuilder() {
+ return rayMetricSpec_ == null
+ ? com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance()
+ : rayMetricSpec_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -368,6 +425,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(headNodeResourcePoolId_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 7, headNodeResourcePoolId_);
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(8, getRayMetricSpec());
+ }
getUnknownFields().writeTo(output);
}
@@ -393,6 +453,9 @@ public int getSerializedSize() {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(headNodeResourcePoolId_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, headNodeResourcePoolId_);
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getRayMetricSpec());
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -413,6 +476,10 @@ public boolean equals(final java.lang.Object obj) {
if (!internalGetResourcePoolImages().equals(other.internalGetResourcePoolImages()))
return false;
if (!getHeadNodeResourcePoolId().equals(other.getHeadNodeResourcePoolId())) return false;
+ if (hasRayMetricSpec() != other.hasRayMetricSpec()) return false;
+ if (hasRayMetricSpec()) {
+ if (!getRayMetricSpec().equals(other.getRayMetricSpec())) return false;
+ }
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -432,6 +499,10 @@ public int hashCode() {
}
hash = (37 * hash) + HEAD_NODE_RESOURCE_POOL_ID_FIELD_NUMBER;
hash = (53 * hash) + getHeadNodeResourcePoolId().hashCode();
+ if (hasRayMetricSpec()) {
+ hash = (37 * hash) + RAY_METRIC_SPEC_FIELD_NUMBER;
+ hash = (53 * hash) + getRayMetricSpec().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -586,10 +657,19 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFi
}
// Construct using com.google.cloud.aiplatform.v1beta1.RaySpec.newBuilder()
- private Builder() {}
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
+ maybeForceBuilderInitialization();
+ }
+
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+ getRayMetricSpecFieldBuilder();
+ }
}
@java.lang.Override
@@ -599,6 +679,11 @@ public Builder clear() {
imageUri_ = "";
internalGetMutableResourcePoolImages().clear();
headNodeResourcePoolId_ = "";
+ rayMetricSpec_ = null;
+ if (rayMetricSpecBuilder_ != null) {
+ rayMetricSpecBuilder_.dispose();
+ rayMetricSpecBuilder_ = null;
+ }
return this;
}
@@ -645,6 +730,13 @@ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.RaySpec result) {
if (((from_bitField0_ & 0x00000004) != 0)) {
result.headNodeResourcePoolId_ = headNodeResourcePoolId_;
}
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000008) != 0)) {
+ result.rayMetricSpec_ =
+ rayMetricSpecBuilder_ == null ? rayMetricSpec_ : rayMetricSpecBuilder_.build();
+ to_bitField0_ |= 0x00000001;
+ }
+ result.bitField0_ |= to_bitField0_;
}
@java.lang.Override
@@ -704,6 +796,9 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.RaySpec other) {
bitField0_ |= 0x00000004;
onChanged();
}
+ if (other.hasRayMetricSpec()) {
+ mergeRayMetricSpec(other.getRayMetricSpec());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -755,6 +850,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000004;
break;
} // case 58
+ case 66:
+ {
+ input.readMessage(getRayMetricSpecFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000008;
+ break;
+ } // case 66
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -1266,6 +1367,211 @@ public Builder setHeadNodeResourcePoolIdBytes(com.google.protobuf.ByteString val
return this;
}
+ private com.google.cloud.aiplatform.v1beta1.RayMetricSpec rayMetricSpec_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder>
+ rayMetricSpecBuilder_;
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the rayMetricSpec field is set.
+ */
+ public boolean hasRayMetricSpec() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The rayMetricSpec.
+ */
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec getRayMetricSpec() {
+ if (rayMetricSpecBuilder_ == null) {
+ return rayMetricSpec_ == null
+ ? com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance()
+ : rayMetricSpec_;
+ } else {
+ return rayMetricSpecBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setRayMetricSpec(com.google.cloud.aiplatform.v1beta1.RayMetricSpec value) {
+ if (rayMetricSpecBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ rayMetricSpec_ = value;
+ } else {
+ rayMetricSpecBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setRayMetricSpec(
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder builderForValue) {
+ if (rayMetricSpecBuilder_ == null) {
+ rayMetricSpec_ = builderForValue.build();
+ } else {
+ rayMetricSpecBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder mergeRayMetricSpec(com.google.cloud.aiplatform.v1beta1.RayMetricSpec value) {
+ if (rayMetricSpecBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0)
+ && rayMetricSpec_ != null
+ && rayMetricSpec_
+ != com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance()) {
+ getRayMetricSpecBuilder().mergeFrom(value);
+ } else {
+ rayMetricSpec_ = value;
+ }
+ } else {
+ rayMetricSpecBuilder_.mergeFrom(value);
+ }
+ if (rayMetricSpec_ != null) {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearRayMetricSpec() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ rayMetricSpec_ = null;
+ if (rayMetricSpecBuilder_ != null) {
+ rayMetricSpecBuilder_.dispose();
+ rayMetricSpecBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder getRayMetricSpecBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getRayMetricSpecFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder getRayMetricSpecOrBuilder() {
+ if (rayMetricSpecBuilder_ != null) {
+ return rayMetricSpecBuilder_.getMessageOrBuilder();
+ } else {
+ return rayMetricSpec_ == null
+ ? com.google.cloud.aiplatform.v1beta1.RayMetricSpec.getDefaultInstance()
+ : rayMetricSpec_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder>
+ getRayMetricSpecFieldBuilder() {
+ if (rayMetricSpecBuilder_ == null) {
+ rayMetricSpecBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec.Builder,
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder>(
+ getRayMetricSpec(), getParentForChildren(), isClean());
+ rayMetricSpec_ = null;
+ }
+ return rayMetricSpecBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpecOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpecOrBuilder.java
index 060f274e17b6..2b962bf779e0 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpecOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/RaySpecOrBuilder.java
@@ -197,4 +197,45 @@ java.lang.String getResourcePoolImagesOrDefault(
* @return The bytes for headNodeResourcePoolId.
*/
com.google.protobuf.ByteString getHeadNodeResourcePoolIdBytes();
+
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the rayMetricSpec field is set.
+ */
+ boolean hasRayMetricSpec();
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The rayMetricSpec.
+ */
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpec getRayMetricSpec();
+ /**
+ *
+ *
+ *
+ * Optional. Ray metrics configurations.
+ *
+ *
+ *
+ * .google.cloud.aiplatform.v1beta1.RayMetricSpec ray_metric_spec = 8 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.cloud.aiplatform.v1beta1.RayMetricSpecOrBuilder getRayMetricSpecOrBuilder();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature.proto
index f5510a91d6c1..f88981051723 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature.proto
@@ -197,4 +197,8 @@ message Feature {
// The name of the BigQuery Table/View column hosting data for this version.
// If no value is provided, will use feature_id.
string version_column_name = 106;
+
+ // Entity responsible for maintaining this feature. Can be comma separated
+ // list of email addresses or URIs.
+ string point_of_contact = 107;
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto
index ba927583778a..d5876ac91e48 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_online_store_service.proto
@@ -73,9 +73,20 @@ enum FeatureViewDataFormat {
// Lookup key for a feature view.
message FeatureViewDataKey {
+ // ID that is comprised from several parts (columns).
+ message CompositeKey {
+ // Parts to construct Entity ID. Should match with the same ID columns as
+ // defined in FeatureView in the same order.
+ repeated string parts = 1;
+ }
+
oneof key_oneof {
// String key to use for lookup.
string key = 1;
+
+ // The actual Entity ID will be composed from this struct. This should match
+ // with the way ID is defined in the FeatureView spec.
+ CompositeKey composite_key = 2;
}
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_view.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_view.proto
index 3e4337d4c859..e24188e27ce3 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_view.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/feature_view.proto
@@ -147,6 +147,22 @@ message FeatureView {
[(google.api.field_behavior) = REQUIRED];
}
+ // Service agent type used during data sync.
+ enum ServiceAgentType {
+ // By default, the project-level Vertex AI Service Agent is enabled.
+ SERVICE_AGENT_TYPE_UNSPECIFIED = 0;
+
+ // Indicates the project-level Vertex AI Service Agent
+ // (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
+ // will be used during sync jobs.
+ SERVICE_AGENT_TYPE_PROJECT = 1;
+
+ // Enable a FeatureView service account to be created by Vertex AI and
+ // output in the field `service_account_email`. This service account will
+ // be used to read from the source BigQuery table during sync.
+ SERVICE_AGENT_TYPE_FEATURE_VIEW = 2;
+ }
+
oneof source {
// Optional. Configures how data is supposed to be extracted from a BigQuery
// source to be loaded onto the FeatureOnlineStore.
@@ -199,4 +215,18 @@ message FeatureView {
// online serving.
VectorSearchConfig vector_search_config = 8
[(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Service agent type used during data sync. By default, the Vertex
+ // AI Service Agent is used. When using an IAM Policy to isolate this
+ // FeatureView within a project, a separate service account should be
+ // provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
+ // This will generate a separate service account to access the BigQuery source
+ // table.
+ ServiceAgentType service_agent_type = 14
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. A Service Account unique to this FeatureView. The role
+ // bigquery.dataViewer should be granted to this service account to allow
+ // Vertex AI Feature Store to sync data to the online store.
+ string service_account_email = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/persistent_resource.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/persistent_resource.proto
index abf5e2c85b94..8e2aa894b528 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/persistent_resource.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/persistent_resource.proto
@@ -237,6 +237,9 @@ message RaySpec {
// set.
string head_node_resource_pool_id = 7
[(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Ray metrics configurations.
+ RayMetricSpec ray_metric_spec = 8 [(google.api.field_behavior) = OPTIONAL];
}
// Persistent Cluster runtime information as output
@@ -274,3 +277,9 @@ message ServiceAccountSpec {
// Required if any containers are specified in `ResourceRuntimeSpec`.
string service_account = 2 [(google.api.field_behavior) = OPTIONAL];
}
+
+// Configuration for the Ray metrics.
+message RayMetricSpec {
+ // Optional. Flag to disable the Ray metrics collection.
+ bool disabled = 1 [(google.api.field_behavior) = OPTIONAL];
+}