+ * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The customServiceAccount.
+ */
+ @java.lang.Override
+ public java.lang.String getCustomServiceAccount() {
+ java.lang.Object ref = customServiceAccount_;
+ 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();
+ customServiceAccount_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for customServiceAccount.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getCustomServiceAccountBytes() {
+ java.lang.Object ref = customServiceAccount_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ customServiceAccount_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -498,6 +570,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (destinationModelCase_ == 5) {
com.google.protobuf.GeneratedMessage.writeString(output, 5, destinationModel_);
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(customServiceAccount_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 7, customServiceAccount_);
+ }
getUnknownFields().writeTo(output);
}
@@ -522,6 +597,9 @@ public int getSerializedSize() {
if (destinationModelCase_ == 5) {
size += com.google.protobuf.GeneratedMessage.computeStringSize(5, destinationModel_);
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(customServiceAccount_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(7, customServiceAccount_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -544,6 +622,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasEncryptionSpec()) {
if (!getEncryptionSpec().equals(other.getEncryptionSpec())) return false;
}
+ if (!getCustomServiceAccount().equals(other.getCustomServiceAccount())) return false;
if (!getDestinationModelCase().equals(other.getDestinationModelCase())) return false;
switch (destinationModelCase_) {
case 4:
@@ -574,6 +653,8 @@ public int hashCode() {
hash = (37 * hash) + ENCRYPTION_SPEC_FIELD_NUMBER;
hash = (53 * hash) + getEncryptionSpec().hashCode();
}
+ hash = (37 * hash) + CUSTOM_SERVICE_ACCOUNT_FIELD_NUMBER;
+ hash = (53 * hash) + getCustomServiceAccount().hashCode();
switch (destinationModelCase_) {
case 4:
hash = (37 * hash) + MODEL_ID_FIELD_NUMBER;
@@ -743,6 +824,7 @@ public Builder clear() {
encryptionSpecBuilder_.dispose();
encryptionSpecBuilder_ = null;
}
+ customServiceAccount_ = "";
destinationModelCase_ = 0;
destinationModel_ = null;
return this;
@@ -794,6 +876,9 @@ private void buildPartial0(com.google.cloud.aiplatform.v1.CopyModelRequest resul
encryptionSpecBuilder_ == null ? encryptionSpec_ : encryptionSpecBuilder_.build();
to_bitField0_ |= 0x00000001;
}
+ if (((from_bitField0_ & 0x00000020) != 0)) {
+ result.customServiceAccount_ = customServiceAccount_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -828,6 +913,11 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1.CopyModelRequest other)
if (other.hasEncryptionSpec()) {
mergeEncryptionSpec(other.getEncryptionSpec());
}
+ if (!other.getCustomServiceAccount().isEmpty()) {
+ customServiceAccount_ = other.customServiceAccount_;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ }
switch (other.getDestinationModelCase()) {
case MODEL_ID:
{
@@ -907,6 +997,12 @@ public Builder mergeFrom(
destinationModel_ = s;
break;
} // case 42
+ case 58:
+ {
+ customServiceAccount_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000020;
+ break;
+ } // case 58
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -1728,6 +1824,162 @@ public com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder getEncryptionSpecO
return encryptionSpecBuilder_;
}
+ private java.lang.Object customServiceAccount_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The customServiceAccount.
+ */
+ public java.lang.String getCustomServiceAccount() {
+ java.lang.Object ref = customServiceAccount_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ customServiceAccount_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for customServiceAccount.
+ */
+ public com.google.protobuf.ByteString getCustomServiceAccountBytes() {
+ java.lang.Object ref = customServiceAccount_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ customServiceAccount_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The customServiceAccount to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCustomServiceAccount(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ customServiceAccount_ = value;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearCustomServiceAccount() {
+ customServiceAccount_ = getDefaultInstance().getCustomServiceAccount();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for customServiceAccount to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCustomServiceAccountBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ customServiceAccount_ = value;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
// @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1.CopyModelRequest)
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/CopyModelRequestOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/CopyModelRequestOrBuilder.java
index 0e621ca8de85..12336112aa1e 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/CopyModelRequestOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/CopyModelRequestOrBuilder.java
@@ -234,5 +234,49 @@ public interface CopyModelRequestOrBuilder
*/
com.google.cloud.aiplatform.v1.EncryptionSpecOrBuilder getEncryptionSpecOrBuilder();
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The customServiceAccount.
+ */
+ java.lang.String getCustomServiceAccount();
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for customServiceAccount.
+ */
+ com.google.protobuf.ByteString getCustomServiceAccountBytes();
+
com.google.cloud.aiplatform.v1.CopyModelRequest.DestinationModelCase getDestinationModelCase();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/ModelServiceProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/ModelServiceProto.java
index a2561a292793..b7858633cc0f 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/ModelServiceProto.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/ModelServiceProto.java
@@ -285,7 +285,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "oB\003\340A\003\032M\n\nOutputInfo\022 \n\023artifact_output_"
+ "uri\030\002 \001(\tB\003\340A\003\022\035\n\020image_output_uri\030\003 \001(\t"
+ "B\003\340A\003\"\"\n UpdateExplanationDatasetRespons"
- + "e\"\025\n\023ExportModelResponse\"\300\002\n\020CopyModelRe"
+ + "e\"\025\n\023ExportModelResponse\"\345\002\n\020CopyModelRe"
+ "quest\022\027\n\010model_id\030\004 \001(\tB\003\340A\001H\000\022?\n\014parent"
+ "_model\030\005 \001(\tB\'\340A\001\372A!\n\037aiplatform.googlea"
+ "pis.com/ModelH\000\0229\n\006parent\030\001 \001(\tB)\340A\002\372A#\n"
@@ -293,168 +293,169 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "urce_model\030\002 \001(\tB\'\340A\002\372A!\n\037aiplatform.goo"
+ "gleapis.com/Model\022C\n\017encryption_spec\030\003 \001"
+ "(\0132*.google.cloud.aiplatform.v1.Encrypti"
- + "onSpecB\023\n\021destination_model\"l\n\032CopyModel"
- + "OperationMetadata\022N\n\020generic_metadata\030\001 "
- + "\001(\01324.google.cloud.aiplatform.v1.Generic"
- + "OperationMetadata\"g\n\021CopyModelResponse\0223"
- + "\n\005model\030\001 \001(\tB$\372A!\n\037aiplatform.googleapi"
- + "s.com/Model\022\035\n\020model_version_id\030\002 \001(\tB\003\340"
- + "A\003\"\243\001\n\034ImportModelEvaluationRequest\0227\n\006p"
- + "arent\030\001 \001(\tB\'\340A\002\372A!\n\037aiplatform.googleap"
- + "is.com/Model\022J\n\020model_evaluation\030\002 \001(\0132+"
- + ".google.cloud.aiplatform.v1.ModelEvaluat"
- + "ionB\003\340A\002\"\304\001\n\'BatchImportModelEvaluationS"
- + "licesRequest\022A\n\006parent\030\001 \001(\tB1\340A\002\372A+\n)ai"
- + "platform.googleapis.com/ModelEvaluation\022"
- + "V\n\027model_evaluation_slices\030\002 \003(\01320.googl"
- + "e.cloud.aiplatform.v1.ModelEvaluationSli"
- + "ceB\003\340A\002\"Y\n(BatchImportModelEvaluationSli"
- + "cesResponse\022-\n imported_model_evaluation"
- + "_slices\030\001 \003(\tB\003\340A\003\"\305\001\n&BatchImportEvalua"
- + "tedAnnotationsRequest\022F\n\006parent\030\001 \001(\tB6\340"
- + "A\002\372A0\n.aiplatform.googleapis.com/ModelEv"
- + "aluationSlice\022S\n\025evaluated_annotations\030\002"
- + " \003(\0132/.google.cloud.aiplatform.v1.Evalua"
- + "tedAnnotationB\003\340A\002\"\\\n\'BatchImportEvaluat"
- + "edAnnotationsResponse\0221\n$imported_evalua"
- + "ted_annotations_count\030\001 \001(\005B\003\340A\003\"\\\n\031GetM"
- + "odelEvaluationRequest\022?\n\004name\030\001 \001(\tB1\340A\002"
- + "\372A+\n)aiplatform.googleapis.com/ModelEval"
- + "uation\"\274\001\n\033ListModelEvaluationsRequest\0227"
- + "\n\006parent\030\001 \001(\tB\'\340A\002\372A!\n\037aiplatform.googl"
- + "eapis.com/Model\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_"
- + "size\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\022-\n\tread_m"
- + "ask\030\005 \001(\0132\032.google.protobuf.FieldMask\"\177\n"
- + "\034ListModelEvaluationsResponse\022F\n\021model_e"
- + "valuations\030\001 \003(\0132+.google.cloud.aiplatfo"
- + "rm.v1.ModelEvaluation\022\027\n\017next_page_token"
- + "\030\002 \001(\t\"f\n\036GetModelEvaluationSliceRequest"
- + "\022D\n\004name\030\001 \001(\tB6\340A\002\372A0\n.aiplatform.googl"
- + "eapis.com/ModelEvaluationSlice\"\313\001\n ListM"
- + "odelEvaluationSlicesRequest\022A\n\006parent\030\001 "
- + "\001(\tB1\340A\002\372A+\n)aiplatform.googleapis.com/M"
- + "odelEvaluation\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_s"
- + "ize\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\022-\n\tread_ma"
- + "sk\030\005 \001(\0132\032.google.protobuf.FieldMask\"\217\001\n"
- + "!ListModelEvaluationSlicesResponse\022Q\n\027mo"
- + "del_evaluation_slices\030\001 \003(\01320.google.clo"
- + "ud.aiplatform.v1.ModelEvaluationSlice\022\027\n"
- + "\017next_page_token\030\002 \001(\t2\211\"\n\014ModelService\022"
- + "\340\001\n\013UploadModel\022..google.cloud.aiplatfor"
- + "m.v1.UploadModelRequest\032\035.google.longrun"
- + "ning.Operation\"\201\001\312A3\n\023UploadModelRespons"
- + "e\022\034UploadModelOperationMetadata\332A\014parent"
- + ",model\202\323\344\223\0026\"1/v1/{parent=projects/*/loc"
- + "ations/*}/models:upload:\001*\022\225\001\n\010GetModel\022"
- + "+.google.cloud.aiplatform.v1.GetModelReq"
- + "uest\032!.google.cloud.aiplatform.v1.Model\""
- + "9\332A\004name\202\323\344\223\002,\022*/v1/{name=projects/*/loc"
- + "ations/*/models/*}\022\250\001\n\nListModels\022-.goog"
- + "le.cloud.aiplatform.v1.ListModelsRequest"
- + "\032..google.cloud.aiplatform.v1.ListModels"
- + "Response\";\332A\006parent\202\323\344\223\002,\022*/v1/{parent=p"
- + "rojects/*/locations/*}/models\022\310\001\n\021ListMo"
- + "delVersions\0224.google.cloud.aiplatform.v1"
- + ".ListModelVersionsRequest\0325.google.cloud"
- + ".aiplatform.v1.ListModelVersionsResponse"
- + "\"F\332A\004name\202\323\344\223\0029\0227/v1/{name=projects/*/lo"
- + "cations/*/models/*}:listVersions\022\351\001\n\033Lis"
- + "tModelVersionCheckpoints\022>.google.cloud."
- + "aiplatform.v1.ListModelVersionCheckpoint"
- + "sRequest\032?.google.cloud.aiplatform.v1.Li"
- + "stModelVersionCheckpointsResponse\"I\332A\004na"
- + "me\202\323\344\223\002<\022:/v1/{name=projects/*/locations"
- + "/*/models/*}:listCheckpoints\022\265\001\n\013UpdateM"
- + "odel\022..google.cloud.aiplatform.v1.Update"
- + "ModelRequest\032!.google.cloud.aiplatform.v"
- + "1.Model\"S\332A\021model,update_mask\202\323\344\223\002920/v1"
- + "/{model.name=projects/*/locations/*/mode"
- + "ls/*}:\005model\022\240\002\n\030UpdateExplanationDatase"
- + "t\022;.google.cloud.aiplatform.v1.UpdateExp"
- + "lanationDatasetRequest\032\035.google.longrunn"
- + "ing.Operation\"\247\001\312AM\n UpdateExplanationDa"
- + "tasetResponse\022)UpdateExplanationDatasetO"
- + "perationMetadata\332A\005model\202\323\344\223\002I\"D/v1/{mod"
- + "el=projects/*/locations/*/models/*}:upda"
- + "teExplanationDataset:\001*\022\312\001\n\013DeleteModel\022"
- + "..google.cloud.aiplatform.v1.DeleteModel"
- + "Request\032\035.google.longrunning.Operation\"l"
- + "\312A0\n\025google.protobuf.Empty\022\027DeleteOperat"
- + "ionMetadata\332A\004name\202\323\344\223\002,**/v1/{name=proj"
- + "ects/*/locations/*/models/*}\022\346\001\n\022DeleteM"
- + "odelVersion\0225.google.cloud.aiplatform.v1"
- + ".DeleteModelVersionRequest\032\035.google.long"
- + "running.Operation\"z\312A0\n\025google.protobuf."
- + "Empty\022\027DeleteOperationMetadata\332A\004name\202\323\344"
- + "\223\002:*8/v1/{name=projects/*/locations/*/mo"
- + "dels/*}:deleteVersion\022\322\001\n\023MergeVersionAl"
- + "iases\0226.google.cloud.aiplatform.v1.Merge"
- + "VersionAliasesRequest\032!.google.cloud.aip"
- + "latform.v1.Model\"`\332A\024name,version_aliase"
- + "s\202\323\344\223\002C\">/v1/{name=projects/*/locations/"
- + "*/models/*}:mergeVersionAliases:\001*\022\346\001\n\013E"
- + "xportModel\022..google.cloud.aiplatform.v1."
- + "ExportModelRequest\032\035.google.longrunning."
- + "Operation\"\207\001\312A3\n\023ExportModelResponse\022\034Ex"
- + "portModelOperationMetadata\332A\022name,output"
- + "_config\202\323\344\223\0026\"1/v1/{name=projects/*/loca"
- + "tions/*/models/*}:export:\001*\022\335\001\n\tCopyMode"
- + "l\022,.google.cloud.aiplatform.v1.CopyModel"
- + "Request\032\035.google.longrunning.Operation\"\202"
- + "\001\312A/\n\021CopyModelResponse\022\032CopyModelOperat"
- + "ionMetadata\332A\023parent,source_model\202\323\344\223\0024\""
- + "//v1/{parent=projects/*/locations/*}/mod"
- + "els:copy:\001*\022\344\001\n\025ImportModelEvaluation\0228."
- + "google.cloud.aiplatform.v1.ImportModelEv"
- + "aluationRequest\032+.google.cloud.aiplatfor"
- + "m.v1.ModelEvaluation\"d\332A\027parent,model_ev"
- + "aluation\202\323\344\223\002D\"?/v1/{parent=projects/*/l"
- + "ocations/*/models/*}/evaluations:import:"
- + "\001*\022\250\002\n BatchImportModelEvaluationSlices\022"
- + "C.google.cloud.aiplatform.v1.BatchImport"
- + "ModelEvaluationSlicesRequest\032D.google.cl"
- + "oud.aiplatform.v1.BatchImportModelEvalua"
- + "tionSlicesResponse\"y\332A\036parent,model_eval"
- + "uation_slices\202\323\344\223\002R\"M/v1/{parent=project"
- + "s/*/locations/*/models/*/evaluations/*}/"
- + "slices:batchImport:\001*\022\245\002\n\037BatchImportEva"
- + "luatedAnnotations\022B.google.cloud.aiplatf"
- + "orm.v1.BatchImportEvaluatedAnnotationsRe"
- + "quest\032C.google.cloud.aiplatform.v1.Batch"
- + "ImportEvaluatedAnnotationsResponse\"y\332A\034p"
- + "arent,evaluated_annotations\202\323\344\223\002T\"O/v1/{"
- + "parent=projects/*/locations/*/models/*/e"
- + "valuations/*/slices/*}:batchImport:\001*\022\301\001"
- + "\n\022GetModelEvaluation\0225.google.cloud.aipl"
- + "atform.v1.GetModelEvaluationRequest\032+.go"
+ + "onSpec\022#\n\026custom_service_account\030\007 \001(\tB\003"
+ + "\340A\001B\023\n\021destination_model\"l\n\032CopyModelOpe"
+ + "rationMetadata\022N\n\020generic_metadata\030\001 \001(\013"
+ + "24.google.cloud.aiplatform.v1.GenericOpe"
+ + "rationMetadata\"g\n\021CopyModelResponse\0223\n\005m"
+ + "odel\030\001 \001(\tB$\372A!\n\037aiplatform.googleapis.c"
+ + "om/Model\022\035\n\020model_version_id\030\002 \001(\tB\003\340A\003\""
+ + "\243\001\n\034ImportModelEvaluationRequest\0227\n\006pare"
+ + "nt\030\001 \001(\tB\'\340A\002\372A!\n\037aiplatform.googleapis."
+ + "com/Model\022J\n\020model_evaluation\030\002 \001(\0132+.go"
+ "ogle.cloud.aiplatform.v1.ModelEvaluation"
- + "\"G\332A\004name\202\323\344\223\002:\0228/v1/{name=projects/*/lo"
- + "cations/*/models/*/evaluations/*}\022\324\001\n\024Li"
- + "stModelEvaluations\0227.google.cloud.aiplat"
- + "form.v1.ListModelEvaluationsRequest\0328.go"
- + "ogle.cloud.aiplatform.v1.ListModelEvalua"
- + "tionsResponse\"I\332A\006parent\202\323\344\223\002:\0228/v1/{par"
- + "ent=projects/*/locations/*/models/*}/eva"
- + "luations\022\331\001\n\027GetModelEvaluationSlice\022:.g"
- + "oogle.cloud.aiplatform.v1.GetModelEvalua"
- + "tionSliceRequest\0320.google.cloud.aiplatfo"
- + "rm.v1.ModelEvaluationSlice\"P\332A\004name\202\323\344\223\002"
- + "C\022A/v1/{name=projects/*/locations/*/mode"
- + "ls/*/evaluations/*/slices/*}\022\354\001\n\031ListMod"
- + "elEvaluationSlices\022<.google.cloud.aiplat"
- + "form.v1.ListModelEvaluationSlicesRequest"
- + "\032=.google.cloud.aiplatform.v1.ListModelE"
- + "valuationSlicesResponse\"R\332A\006parent\202\323\344\223\002C"
- + "\022A/v1/{parent=projects/*/locations/*/mod"
- + "els/*/evaluations/*}/slices\032M\312A\031aiplatfo"
- + "rm.googleapis.com\322A.https://www.googleap"
- + "is.com/auth/cloud-platformB\317\001\n\036com.googl"
- + "e.cloud.aiplatform.v1B\021ModelServiceProto"
- + "P\001Z>cloud.google.com/go/aiplatform/apiv1"
- + "/aiplatformpb;aiplatformpb\252\002\032Google.Clou"
- + "d.AIPlatform.V1\312\002\032Google\\Cloud\\AIPlatfor"
- + "m\\V1\352\002\035Google::Cloud::AIPlatform::V1b\006pr"
- + "oto3"
+ + "B\003\340A\002\"\304\001\n\'BatchImportModelEvaluationSlic"
+ + "esRequest\022A\n\006parent\030\001 \001(\tB1\340A\002\372A+\n)aipla"
+ + "tform.googleapis.com/ModelEvaluation\022V\n\027"
+ + "model_evaluation_slices\030\002 \003(\01320.google.c"
+ + "loud.aiplatform.v1.ModelEvaluationSliceB"
+ + "\003\340A\002\"Y\n(BatchImportModelEvaluationSlices"
+ + "Response\022-\n imported_model_evaluation_sl"
+ + "ices\030\001 \003(\tB\003\340A\003\"\305\001\n&BatchImportEvaluated"
+ + "AnnotationsRequest\022F\n\006parent\030\001 \001(\tB6\340A\002\372"
+ + "A0\n.aiplatform.googleapis.com/ModelEvalu"
+ + "ationSlice\022S\n\025evaluated_annotations\030\002 \003("
+ + "\0132/.google.cloud.aiplatform.v1.Evaluated"
+ + "AnnotationB\003\340A\002\"\\\n\'BatchImportEvaluatedA"
+ + "nnotationsResponse\0221\n$imported_evaluated"
+ + "_annotations_count\030\001 \001(\005B\003\340A\003\"\\\n\031GetMode"
+ + "lEvaluationRequest\022?\n\004name\030\001 \001(\tB1\340A\002\372A+"
+ + "\n)aiplatform.googleapis.com/ModelEvaluat"
+ + "ion\"\274\001\n\033ListModelEvaluationsRequest\0227\n\006p"
+ + "arent\030\001 \001(\tB\'\340A\002\372A!\n\037aiplatform.googleap"
+ + "is.com/Model\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_siz"
+ + "e\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\022-\n\tread_mask"
+ + "\030\005 \001(\0132\032.google.protobuf.FieldMask\"\177\n\034Li"
+ + "stModelEvaluationsResponse\022F\n\021model_eval"
+ + "uations\030\001 \003(\0132+.google.cloud.aiplatform."
+ + "v1.ModelEvaluation\022\027\n\017next_page_token\030\002 "
+ + "\001(\t\"f\n\036GetModelEvaluationSliceRequest\022D\n"
+ + "\004name\030\001 \001(\tB6\340A\002\372A0\n.aiplatform.googleap"
+ + "is.com/ModelEvaluationSlice\"\313\001\n ListMode"
+ + "lEvaluationSlicesRequest\022A\n\006parent\030\001 \001(\t"
+ + "B1\340A\002\372A+\n)aiplatform.googleapis.com/Mode"
+ + "lEvaluation\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_size"
+ + "\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\022-\n\tread_mask\030"
+ + "\005 \001(\0132\032.google.protobuf.FieldMask\"\217\001\n!Li"
+ + "stModelEvaluationSlicesResponse\022Q\n\027model"
+ + "_evaluation_slices\030\001 \003(\01320.google.cloud."
+ + "aiplatform.v1.ModelEvaluationSlice\022\027\n\017ne"
+ + "xt_page_token\030\002 \001(\t2\211\"\n\014ModelService\022\340\001\n"
+ + "\013UploadModel\022..google.cloud.aiplatform.v"
+ + "1.UploadModelRequest\032\035.google.longrunnin"
+ + "g.Operation\"\201\001\312A3\n\023UploadModelResponse\022\034"
+ + "UploadModelOperationMetadata\332A\014parent,mo"
+ + "del\202\323\344\223\0026\"1/v1/{parent=projects/*/locati"
+ + "ons/*}/models:upload:\001*\022\225\001\n\010GetModel\022+.g"
+ + "oogle.cloud.aiplatform.v1.GetModelReques"
+ + "t\032!.google.cloud.aiplatform.v1.Model\"9\332A"
+ + "\004name\202\323\344\223\002,\022*/v1/{name=projects/*/locati"
+ + "ons/*/models/*}\022\250\001\n\nListModels\022-.google."
+ + "cloud.aiplatform.v1.ListModelsRequest\032.."
+ + "google.cloud.aiplatform.v1.ListModelsRes"
+ + "ponse\";\332A\006parent\202\323\344\223\002,\022*/v1/{parent=proj"
+ + "ects/*/locations/*}/models\022\310\001\n\021ListModel"
+ + "Versions\0224.google.cloud.aiplatform.v1.Li"
+ + "stModelVersionsRequest\0325.google.cloud.ai"
+ + "platform.v1.ListModelVersionsResponse\"F\332"
+ + "A\004name\202\323\344\223\0029\0227/v1/{name=projects/*/locat"
+ + "ions/*/models/*}:listVersions\022\351\001\n\033ListMo"
+ + "delVersionCheckpoints\022>.google.cloud.aip"
+ + "latform.v1.ListModelVersionCheckpointsRe"
+ + "quest\032?.google.cloud.aiplatform.v1.ListM"
+ + "odelVersionCheckpointsResponse\"I\332A\004name\202"
+ + "\323\344\223\002<\022:/v1/{name=projects/*/locations/*/"
+ + "models/*}:listCheckpoints\022\265\001\n\013UpdateMode"
+ + "l\022..google.cloud.aiplatform.v1.UpdateMod"
+ + "elRequest\032!.google.cloud.aiplatform.v1.M"
+ + "odel\"S\332A\021model,update_mask\202\323\344\223\002920/v1/{m"
+ + "odel.name=projects/*/locations/*/models/"
+ + "*}:\005model\022\240\002\n\030UpdateExplanationDataset\022;"
+ + ".google.cloud.aiplatform.v1.UpdateExplan"
+ + "ationDatasetRequest\032\035.google.longrunning"
+ + ".Operation\"\247\001\312AM\n UpdateExplanationDatas"
+ + "etResponse\022)UpdateExplanationDatasetOper"
+ + "ationMetadata\332A\005model\202\323\344\223\002I\"D/v1/{model="
+ + "projects/*/locations/*/models/*}:updateE"
+ + "xplanationDataset:\001*\022\312\001\n\013DeleteModel\022..g"
+ + "oogle.cloud.aiplatform.v1.DeleteModelReq"
+ + "uest\032\035.google.longrunning.Operation\"l\312A0"
+ + "\n\025google.protobuf.Empty\022\027DeleteOperation"
+ + "Metadata\332A\004name\202\323\344\223\002,**/v1/{name=project"
+ + "s/*/locations/*/models/*}\022\346\001\n\022DeleteMode"
+ + "lVersion\0225.google.cloud.aiplatform.v1.De"
+ + "leteModelVersionRequest\032\035.google.longrun"
+ + "ning.Operation\"z\312A0\n\025google.protobuf.Emp"
+ + "ty\022\027DeleteOperationMetadata\332A\004name\202\323\344\223\002:"
+ + "*8/v1/{name=projects/*/locations/*/model"
+ + "s/*}:deleteVersion\022\322\001\n\023MergeVersionAlias"
+ + "es\0226.google.cloud.aiplatform.v1.MergeVer"
+ + "sionAliasesRequest\032!.google.cloud.aiplat"
+ + "form.v1.Model\"`\332A\024name,version_aliases\202\323"
+ + "\344\223\002C\">/v1/{name=projects/*/locations/*/m"
+ + "odels/*}:mergeVersionAliases:\001*\022\346\001\n\013Expo"
+ + "rtModel\022..google.cloud.aiplatform.v1.Exp"
+ + "ortModelRequest\032\035.google.longrunning.Ope"
+ + "ration\"\207\001\312A3\n\023ExportModelResponse\022\034Expor"
+ + "tModelOperationMetadata\332A\022name,output_co"
+ + "nfig\202\323\344\223\0026\"1/v1/{name=projects/*/locatio"
+ + "ns/*/models/*}:export:\001*\022\335\001\n\tCopyModel\022,"
+ + ".google.cloud.aiplatform.v1.CopyModelReq"
+ + "uest\032\035.google.longrunning.Operation\"\202\001\312A"
+ + "/\n\021CopyModelResponse\022\032CopyModelOperation"
+ + "Metadata\332A\023parent,source_model\202\323\344\223\0024\"//v"
+ + "1/{parent=projects/*/locations/*}/models"
+ + ":copy:\001*\022\344\001\n\025ImportModelEvaluation\0228.goo"
+ + "gle.cloud.aiplatform.v1.ImportModelEvalu"
+ + "ationRequest\032+.google.cloud.aiplatform.v"
+ + "1.ModelEvaluation\"d\332A\027parent,model_evalu"
+ + "ation\202\323\344\223\002D\"?/v1/{parent=projects/*/loca"
+ + "tions/*/models/*}/evaluations:import:\001*\022"
+ + "\250\002\n BatchImportModelEvaluationSlices\022C.g"
+ + "oogle.cloud.aiplatform.v1.BatchImportMod"
+ + "elEvaluationSlicesRequest\032D.google.cloud"
+ + ".aiplatform.v1.BatchImportModelEvaluatio"
+ + "nSlicesResponse\"y\332A\036parent,model_evaluat"
+ + "ion_slices\202\323\344\223\002R\"M/v1/{parent=projects/*"
+ + "/locations/*/models/*/evaluations/*}/sli"
+ + "ces:batchImport:\001*\022\245\002\n\037BatchImportEvalua"
+ + "tedAnnotations\022B.google.cloud.aiplatform"
+ + ".v1.BatchImportEvaluatedAnnotationsReque"
+ + "st\032C.google.cloud.aiplatform.v1.BatchImp"
+ + "ortEvaluatedAnnotationsResponse\"y\332A\034pare"
+ + "nt,evaluated_annotations\202\323\344\223\002T\"O/v1/{par"
+ + "ent=projects/*/locations/*/models/*/eval"
+ + "uations/*/slices/*}:batchImport:\001*\022\301\001\n\022G"
+ + "etModelEvaluation\0225.google.cloud.aiplatf"
+ + "orm.v1.GetModelEvaluationRequest\032+.googl"
+ + "e.cloud.aiplatform.v1.ModelEvaluation\"G\332"
+ + "A\004name\202\323\344\223\002:\0228/v1/{name=projects/*/locat"
+ + "ions/*/models/*/evaluations/*}\022\324\001\n\024ListM"
+ + "odelEvaluations\0227.google.cloud.aiplatfor"
+ + "m.v1.ListModelEvaluationsRequest\0328.googl"
+ + "e.cloud.aiplatform.v1.ListModelEvaluatio"
+ + "nsResponse\"I\332A\006parent\202\323\344\223\002:\0228/v1/{parent"
+ + "=projects/*/locations/*/models/*}/evalua"
+ + "tions\022\331\001\n\027GetModelEvaluationSlice\022:.goog"
+ + "le.cloud.aiplatform.v1.GetModelEvaluatio"
+ + "nSliceRequest\0320.google.cloud.aiplatform."
+ + "v1.ModelEvaluationSlice\"P\332A\004name\202\323\344\223\002C\022A"
+ + "/v1/{name=projects/*/locations/*/models/"
+ + "*/evaluations/*/slices/*}\022\354\001\n\031ListModelE"
+ + "valuationSlices\022<.google.cloud.aiplatfor"
+ + "m.v1.ListModelEvaluationSlicesRequest\032=."
+ + "google.cloud.aiplatform.v1.ListModelEval"
+ + "uationSlicesResponse\"R\332A\006parent\202\323\344\223\002C\022A/"
+ + "v1/{parent=projects/*/locations/*/models"
+ + "/*/evaluations/*}/slices\032M\312A\031aiplatform."
+ + "googleapis.com\322A.https://www.googleapis."
+ + "com/auth/cloud-platformB\317\001\n\036com.google.c"
+ + "loud.aiplatform.v1B\021ModelServiceProtoP\001Z"
+ + ">cloud.google.com/go/aiplatform/apiv1/ai"
+ + "platformpb;aiplatformpb\252\002\032Google.Cloud.A"
+ + "IPlatform.V1\312\002\032Google\\Cloud\\AIPlatform\\V"
+ + "1\352\002\035Google::Cloud::AIPlatform::V1b\006proto"
+ + "3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -668,6 +669,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Parent",
"SourceModel",
"EncryptionSpec",
+ "CustomServiceAccount",
"DestinationModel",
});
internal_static_google_cloud_aiplatform_v1_CopyModelOperationMetadata_descriptor =
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/model_service.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/model_service.proto
index f10478d3074e..b114d2429c68 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/model_service.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/model_service.proto
@@ -768,6 +768,18 @@ message CopyModelRequest {
// Customer-managed encryption key options. If this is set,
// then the Model copy will be encrypted with the provided encryption key.
EncryptionSpec encryption_spec = 3;
+
+ // Optional. The user-provided custom service account to use to do the copy
+ // model. If empty, [Vertex AI Service
+ // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
+ // will be used to access resources needed to upload the model. This account
+ // must belong to the destination project where the model is copied to,
+ // i.e., the project specified in the `parent` field of this request and
+ // have the Vertex AI Service Agent role in the source project.
+ //
+ // Requires the user copying the Model to have the
+ // `iam.serviceAccounts.actAs` permission on this service account.
+ string custom_service_account = 7 [(google.api.field_behavior) = OPTIONAL];
}
// Details of
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequest.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequest.java
index 68ebeadb0c68..8e2ee7b350e4 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequest.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequest.java
@@ -55,6 +55,7 @@ private CopyModelRequest(com.google.protobuf.GeneratedMessage.Builder> builder
private CopyModelRequest() {
parent_ = "";
sourceModel_ = "";
+ customServiceAccount_ = "";
}
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
@@ -469,6 +470,77 @@ public com.google.cloud.aiplatform.v1beta1.EncryptionSpecOrBuilder getEncryption
: encryptionSpec_;
}
+ public static final int CUSTOM_SERVICE_ACCOUNT_FIELD_NUMBER = 7;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object customServiceAccount_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The customServiceAccount.
+ */
+ @java.lang.Override
+ public java.lang.String getCustomServiceAccount() {
+ java.lang.Object ref = customServiceAccount_;
+ 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();
+ customServiceAccount_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for customServiceAccount.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getCustomServiceAccountBytes() {
+ java.lang.Object ref = customServiceAccount_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ customServiceAccount_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -498,6 +570,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (destinationModelCase_ == 5) {
com.google.protobuf.GeneratedMessage.writeString(output, 5, destinationModel_);
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(customServiceAccount_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 7, customServiceAccount_);
+ }
getUnknownFields().writeTo(output);
}
@@ -522,6 +597,9 @@ public int getSerializedSize() {
if (destinationModelCase_ == 5) {
size += com.google.protobuf.GeneratedMessage.computeStringSize(5, destinationModel_);
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(customServiceAccount_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(7, customServiceAccount_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -544,6 +622,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasEncryptionSpec()) {
if (!getEncryptionSpec().equals(other.getEncryptionSpec())) return false;
}
+ if (!getCustomServiceAccount().equals(other.getCustomServiceAccount())) return false;
if (!getDestinationModelCase().equals(other.getDestinationModelCase())) return false;
switch (destinationModelCase_) {
case 4:
@@ -574,6 +653,8 @@ public int hashCode() {
hash = (37 * hash) + ENCRYPTION_SPEC_FIELD_NUMBER;
hash = (53 * hash) + getEncryptionSpec().hashCode();
}
+ hash = (37 * hash) + CUSTOM_SERVICE_ACCOUNT_FIELD_NUMBER;
+ hash = (53 * hash) + getCustomServiceAccount().hashCode();
switch (destinationModelCase_) {
case 4:
hash = (37 * hash) + MODEL_ID_FIELD_NUMBER;
@@ -743,6 +824,7 @@ public Builder clear() {
encryptionSpecBuilder_.dispose();
encryptionSpecBuilder_ = null;
}
+ customServiceAccount_ = "";
destinationModelCase_ = 0;
destinationModel_ = null;
return this;
@@ -794,6 +876,9 @@ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.CopyModelRequest
encryptionSpecBuilder_ == null ? encryptionSpec_ : encryptionSpecBuilder_.build();
to_bitField0_ |= 0x00000001;
}
+ if (((from_bitField0_ & 0x00000020) != 0)) {
+ result.customServiceAccount_ = customServiceAccount_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -828,6 +913,11 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.CopyModelRequest ot
if (other.hasEncryptionSpec()) {
mergeEncryptionSpec(other.getEncryptionSpec());
}
+ if (!other.getCustomServiceAccount().isEmpty()) {
+ customServiceAccount_ = other.customServiceAccount_;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ }
switch (other.getDestinationModelCase()) {
case MODEL_ID:
{
@@ -907,6 +997,12 @@ public Builder mergeFrom(
destinationModel_ = s;
break;
} // case 42
+ case 58:
+ {
+ customServiceAccount_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000020;
+ break;
+ } // case 58
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -1729,6 +1825,162 @@ public com.google.cloud.aiplatform.v1beta1.EncryptionSpec.Builder getEncryptionS
return encryptionSpecBuilder_;
}
+ private java.lang.Object customServiceAccount_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The customServiceAccount.
+ */
+ public java.lang.String getCustomServiceAccount() {
+ java.lang.Object ref = customServiceAccount_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ customServiceAccount_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for customServiceAccount.
+ */
+ public com.google.protobuf.ByteString getCustomServiceAccountBytes() {
+ java.lang.Object ref = customServiceAccount_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ customServiceAccount_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The customServiceAccount to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCustomServiceAccount(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ customServiceAccount_ = value;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearCustomServiceAccount() {
+ customServiceAccount_ = getDefaultInstance().getCustomServiceAccount();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for customServiceAccount to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCustomServiceAccountBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ customServiceAccount_ = value;
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return this;
+ }
+
// @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1beta1.CopyModelRequest)
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequestOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequestOrBuilder.java
index bff1cefa6c88..7fcf36d75a5c 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequestOrBuilder.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/CopyModelRequestOrBuilder.java
@@ -234,6 +234,50 @@ public interface CopyModelRequestOrBuilder
*/
com.google.cloud.aiplatform.v1beta1.EncryptionSpecOrBuilder getEncryptionSpecOrBuilder();
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The customServiceAccount.
+ */
+ java.lang.String getCustomServiceAccount();
+
+ /**
+ *
+ *
+ * + * Optional. The user-provided custom service account to use to do the copy + * model. If empty, [Vertex AI Service + * Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) + * will be used to access resources needed to upload the model. This account + * must belong to the destination project where the model is copied to, + * i.e., the project specified in the `parent` field of this request and + * have the Vertex AI Service Agent role in the source project. + * + * Requires the user copying the Model to have the + * `iam.serviceAccounts.actAs` permission on this service account. + *+ * + *
string custom_service_account = 7 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for customServiceAccount.
+ */
+ com.google.protobuf.ByteString getCustomServiceAccountBytes();
+
com.google.cloud.aiplatform.v1beta1.CopyModelRequest.DestinationModelCase
getDestinationModelCase();
}
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/ModelServiceProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/ModelServiceProto.java
index 334de9d471f8..d7844f8ca699 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/ModelServiceProto.java
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/ModelServiceProto.java
@@ -321,7 +321,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\023artifact_output_uri\030\002 \001(\tB\003\340A\003\022\035\n"
+ "\020image_output_uri\030\003 \001(\tB\003\340A\003\"\"\n"
+ " UpdateExplanationDatasetResponse\"\025\n"
- + "\023ExportModelResponse\"\305\002\n"
+ + "\023ExportModelResponse\"\352\002\n"
+ "\020CopyModelRequest\022\027\n"
+ "\010model_id\030\004 \001(\tB\003\340A\001H\000\022?\n"
+ "\014parent_model\030\005 \001(\tB\'\340A\001\372A!\n"
@@ -331,11 +331,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\014source_model\030\002 \001(\tB\'\340A\002\372A!\n"
+ "\037aiplatform.googleapis.com/Model\022H\n"
+ "\017encryption_spec\030\003 \001(\0132/."
- + "google.cloud.aiplatform.v1beta1.EncryptionSpecB\023\n"
+ + "google.cloud.aiplatform.v1beta1.EncryptionSpec\022#\n"
+ + "\026custom_service_account\030\007 \001(\tB\003\340A\001B\023\n"
+ "\021destination_model\"q\n"
+ "\032CopyModelOperationMetadata\022S\n"
- + "\020generic_metadata\030\001 "
- + "\001(\01329.google.cloud.aiplatform.v1beta1.GenericOperationMetadata\"g\n"
+ + "\020generic_metadata\030\001 \001(\013"
+ + "29.google.cloud.aiplatform.v1beta1.GenericOperationMetadata\"g\n"
+ "\021CopyModelResponse\0223\n"
+ "\005model\030\001 \001(\tB$\372A!\n"
+ "\037aiplatform.googleapis.com/Model\022\035\n"
@@ -343,20 +344,20 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\034ImportModelEvaluationRequest\0227\n"
+ "\006parent\030\001 \001(\tB\'\340A\002\372A!\n"
+ "\037aiplatform.googleapis.com/Model\022O\n"
- + "\020model_evaluation\030\002 "
- + "\001(\01320.google.cloud.aiplatform.v1beta1.ModelEvaluationB\003\340A\002\"\311\001\n"
+ + "\020model_evaluation\030\002 \001(\013"
+ + "20.google.cloud.aiplatform.v1beta1.ModelEvaluationB\003\340A\002\"\311\001\n"
+ "\'BatchImportModelEvaluationSlicesRequest\022A\n"
+ "\006parent\030\001 \001(\tB1\340A\002\372A+\n"
+ ")aiplatform.googleapis.com/ModelEvaluation\022[\n"
- + "\027model_evaluation_slices\030\002 \003"
- + "(\01325.google.cloud.aiplatform.v1beta1.ModelEvaluationSliceB\003\340A\002\"Y\n"
+ + "\027model_evaluation_slices\030\002 \003(\0132"
+ + "5.google.cloud.aiplatform.v1beta1.ModelEvaluationSliceB\003\340A\002\"Y\n"
+ "(BatchImportModelEvaluationSlicesResponse\022-\n"
+ " imported_model_evaluation_slices\030\001 \003(\tB\003\340A\003\"\312\001\n"
+ "&BatchImportEvaluatedAnnotationsRequest\022F\n"
+ "\006parent\030\001 \001(\tB6\340A\002\372A0\n"
+ ".aiplatform.googleapis.com/ModelEvaluationSlice\022X\n"
- + "\025evaluated_annotations\030\002 \003(\01324.google.cloud.aipla"
- + "tform.v1beta1.EvaluatedAnnotationB\003\340A\002\"\\\n"
+ + "\025evaluated_annotations\030\002"
+ + " \003(\01324.google.cloud.aiplatform.v1beta1.EvaluatedAnnotationB\003\340A\002\"\\\n"
+ "\'BatchImportEvaluatedAnnotationsResponse\0221\n"
+ "$imported_evaluated_annotations_count\030\001 \001(\005B\003\340A\003\"\\\n"
+ "\031GetModelEvaluationRequest\022?\n"
@@ -370,8 +371,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "page_token\030\004 \001(\t\022-\n"
+ "\tread_mask\030\005 \001(\0132\032.google.protobuf.FieldMask\"\204\001\n"
+ "\034ListModelEvaluationsResponse\022K\n"
- + "\021model_evaluations\030\001 \003(\01320."
- + "google.cloud.aiplatform.v1beta1.ModelEvaluation\022\027\n"
+ + "\021model_evaluations\030\001 \003(\01320.goo"
+ + "gle.cloud.aiplatform.v1beta1.ModelEvaluation\022\027\n"
+ "\017next_page_token\030\002 \001(\t\"f\n"
+ "\036GetModelEvaluationSliceRequest\022D\n"
+ "\004name\030\001 \001(\tB6\340A\002\372A0\n"
@@ -395,10 +396,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\020check_user_quota\030\004 \001(\010B\003\340A\001\"\240\006\n"
+ "\025RecommendSpecResponse\022\027\n\n"
+ "base_model\030\001 \001(\tB\003\340A\003\022c\n"
- + "\017recommendations\030\003 \003(\0132E.google.clo"
- + "ud.aiplatform.v1beta1.RecommendSpecResponse.RecommendationB\003\340A\003\022g\n"
- + "\005specs\030\002 \003(\0132S.google.cloud.aiplatform.v1beta1.Recomme"
- + "ndSpecResponse.MachineAndModelContainerSpecB\003\340A\003\032\271\001\n"
+ + "\017recommendations\030\003 \003(\0132E.google.cloud."
+ + "aiplatform.v1beta1.RecommendSpecResponse.RecommendationB\003\340A\003\022g\n"
+ + "\005specs\030\002 \003(\0132S.google.cloud.aiplatform.v1beta1.RecommendS"
+ + "pecResponse.MachineAndModelContainerSpecB\003\340A\003\032\271\001\n"
+ "\034MachineAndModelContainerSpec\022G\n"
+ "\014machine_spec\030\001"
+ " \001(\0132,.google.cloud.aiplatform.v1beta1.MachineSpecB\003\340A\003\022P\n"
@@ -406,113 +407,113 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ " \001(\01323.google.cloud.aiplatform.v1beta1.ModelContainerSpecB\003\340A\003\032\343\002\n"
+ "\016Recommendation\022\016\n"
+ "\006region\030\001 \001(\t\022f\n"
- + "\004spec\030\002 \001(\0132S.google.cloud.aiplatform.v1beta1."
- + "RecommendSpecResponse.MachineAndModelContainerSpecB\003\340A\003\022o\n"
- + "\020user_quota_state\030\003 \001(\0162P.google.cloud.aiplatform.v1beta1.Reco"
- + "mmendSpecResponse.Recommendation.QuotaStateB\003\340A\003\"h\n\n"
+ + "\004spec\030\002 \001(\0132S.google.cloud.aiplatform.v1beta1.Rec"
+ + "ommendSpecResponse.MachineAndModelContainerSpecB\003\340A\003\022o\n"
+ + "\020user_quota_state\030\003 \001(\0162P.google.cloud.aiplatform.v1beta1.Recomme"
+ + "ndSpecResponse.Recommendation.QuotaStateB\003\340A\003\"h\n\n"
+ "QuotaState\022\033\n"
+ "\027QUOTA_STATE_UNSPECIFIED\020\000\022\036\n"
+ "\032QUOTA_STATE_USER_HAS_QUOTA\020\001\022\035\n"
+ "\031QUOTA_STATE_NO_USER_QUOTA\020\0022\314%\n"
+ "\014ModelService\022\352\001\n"
- + "\013UploadModel\0223.google.clo"
- + "ud.aiplatform.v1beta1.UploadModelRequest\032\035.google.longrunning.Operation\"\206\001\312A3\n"
- + "\023UploadModelResponse\022\034UploadModelOperation"
- + "Metadata\332A\014parent,model\202\323\344\223\002;\"6/v1beta1/"
- + "{parent=projects/*/locations/*}/models:upload:\001*\022\244\001\n"
- + "\010GetModel\0220.google.cloud.aiplatform.v1beta1.GetModelRequest\032&.google"
- + ".cloud.aiplatform.v1beta1.Model\">\332A\004name"
- + "\202\323\344\223\0021\022//v1beta1/{name=projects/*/locations/*/models/*}\022\267\001\n\n"
- + "ListModels\0222.google.cloud.aiplatform.v1beta1.ListModelsReque"
- + "st\0323.google.cloud.aiplatform.v1beta1.Lis"
- + "tModelsResponse\"@\332A\006parent\202\323\344\223\0021\022//v1bet"
- + "a1/{parent=projects/*/locations/*}/models\022\327\001\n"
- + "\021ListModelVersions\0229.google.cloud.aiplatform.v1beta1.ListModelVersionsReque"
- + "st\032:.google.cloud.aiplatform.v1beta1.Lis"
- + "tModelVersionsResponse\"K\332A\004name\202\323\344\223\002>\022"
- + "v1beta1/{name=projects/*/locations/*/models/*}:listVersions\022\370\001\n"
- + "\033ListModelVersionCheckpoints\022C.google.cloud.aiplatform.v1"
- + "beta1.ListModelVersionCheckpointsRequest\032D.google.cloud.aiplatform.v1beta1.ListM"
- + "odelVersionCheckpointsResponse\"N\332A\004name\202"
- + "\323\344\223\002A\022?/v1beta1/{name=projects/*/locations/*/models/*}:listCheckpoints\022\304\001\n"
- + "\013UpdateModel\0223.google.cloud.aiplatform.v1beta1"
- + ".UpdateModelRequest\032&.google.cloud.aipla"
- + "tform.v1beta1.Model\"X\332A\021model,update_mas"
- + "k\202\323\344\223\002>25/v1beta1/{model.name=projects/*/locations/*/models/*}:\005model\022\252\002\n"
- + "\030UpdateExplanationDataset\022@.google.cloud.aiplat"
- + "form.v1beta1.UpdateExplanationDatasetReq"
- + "uest\032\035.google.longrunning.Operation\"\254\001\312AM\n"
- + " UpdateExplanationDatasetResponse\022)UpdateExplanationDatasetOperationMetadata\332A"
- + "\005model\202\323\344\223\002N\"I/v1beta1/{model=projects/*"
- + "/locations/*/models/*}:updateExplanationDataset:\001*\022\324\001\n"
- + "\013DeleteModel\0223.google.clou"
- + "d.aiplatform.v1beta1.DeleteModelRequest\032\035.google.longrunning.Operation\"q\312A0\n"
- + "\025google.protobuf.Empty\022\027DeleteOperationMetad"
- + "ata\332A\004name\202\323\344\223\0021*//v1beta1/{name=projects/*/locations/*/models/*}\022\360\001\n"
- + "\022DeleteModelVersion\022:.google.cloud.aiplatform.v1bet"
- + "a1.DeleteModelVersionRequest\032\035.google.longrunning.Operation\"\177\312A0\n"
- + "\025google.protobuf.Empty\022\027DeleteOperationMetadata\332A\004name\202"
- + "\323\344\223\002?*=/v1beta1/{name=projects/*/locations/*/models/*}:deleteVersion\022\341\001\n"
- + "\023MergeVersionAliases\022;.google.cloud.aiplatform.v"
- + "1beta1.MergeVersionAliasesRequest\032&.goog"
- + "le.cloud.aiplatform.v1beta1.Model\"e\332A\024na"
- + "me,version_aliases\202\323\344\223\002H\"C/v1beta1/{name"
- + "=projects/*/locations/*/models/*}:mergeVersionAliases:\001*\022\360\001\n"
- + "\013ExportModel\0223.google.cloud.aiplatform.v1beta1.ExportModelRe"
- + "quest\032\035.google.longrunning.Operation\"\214\001\312A3\n"
- + "\023ExportModelResponse\022\034ExportModelOper"
- + "ationMetadata\332A\022name,output_config\202\323\344\223\002;"
- + "\"6/v1beta1/{name=projects/*/locations/*/models/*}:export:\001*\022\347\001\n"
- + "\tCopyModel\0221.google.cloud.aiplatform.v1beta1.CopyModelReq"
- + "uest\032\035.google.longrunning.Operation\"\207\001\312A/\n"
- + "\021CopyModelResponse\022\032CopyModelOperation"
- + "Metadata\332A\023parent,source_model\202\323\344\223\0029\"4/v"
- + "1beta1/{parent=projects/*/locations/*}/models:copy:\001*\022\363\001\n"
- + "\025ImportModelEvaluation\022=.google.cloud.aiplatform.v1beta1.Import"
- + "ModelEvaluationRequest\0320.google.cloud.ai"
- + "platform.v1beta1.ModelEvaluation\"i\332A\027par"
- + "ent,model_evaluation\202\323\344\223\002I\"D/v1beta1/{pa"
- + "rent=projects/*/locations/*/models/*}/evaluations:import:\001*\022\267\002\n"
- + " BatchImportModelEvaluationSlices\022H.google.cloud.aiplatfo"
- + "rm.v1beta1.BatchImportModelEvaluationSlicesRequest\032I.google.cloud.aiplatform.v1b"
- + "eta1.BatchImportModelEvaluationSlicesRes"
- + "ponse\"~\332A\036parent,model_evaluation_slices"
- + "\202\323\344\223\002W\"R/v1beta1/{parent=projects/*/loca"
- + "tions/*/models/*/evaluations/*}/slices:batchImport:\001*\022\264\002\n"
- + "\037BatchImportEvaluatedAnnotations\022G.google.cloud.aiplatform.v1be"
- + "ta1.BatchImportEvaluatedAnnotationsRequest\032H.google.cloud.aiplatform.v1beta1.Bat"
- + "chImportEvaluatedAnnotationsResponse\"~\332A"
- + "\034parent,evaluated_annotations\202\323\344\223\002Y\"T/v1"
- + "beta1/{parent=projects/*/locations/*/mod"
- + "els/*/evaluations/*/slices/*}:batchImport:\001*\022\320\001\n"
- + "\022GetModelEvaluation\022:.google.cloud.aiplatform.v1beta1.GetModelEvaluation"
- + "Request\0320.google.cloud.aiplatform.v1beta"
- + "1.ModelEvaluation\"L\332A\004name\202\323\344\223\002?\022=/v1bet"
- + "a1/{name=projects/*/locations/*/models/*/evaluations/*}\022\343\001\n"
- + "\024ListModelEvaluations\022<.google.cloud.aiplatform.v1beta1.ListM"
- + "odelEvaluationsRequest\032=.google.cloud.aiplatform.v1beta1.ListModelEvaluationsRes"
- + "ponse\"N\332A\006parent\202\323\344\223\002?\022=/v1beta1/{parent"
- + "=projects/*/locations/*/models/*}/evaluations\022\350\001\n"
- + "\027GetModelEvaluationSlice\022?.google.cloud.aiplatform.v1beta1.GetModelEval"
- + "uationSliceRequest\0325.google.cloud.aiplat"
- + "form.v1beta1.ModelEvaluationSlice\"U\332A\004na"
- + "me\202\323\344\223\002H\022F/v1beta1/{name=projects/*/loca"
- + "tions/*/models/*/evaluations/*/slices/*}\022\373\001\n"
- + "\031ListModelEvaluationSlices\022A.google.cloud.aiplatform.v1beta1.ListModelEvalua"
- + "tionSlicesRequest\032B.google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRes"
- + "ponse\"W\332A\006parent\202\323\344\223\002H\022F/v1beta1/{parent"
- + "=projects/*/locations/*/models/*/evaluations/*}/slices\022\301\001\n\r"
- + "RecommendSpec\0225.google.cloud.aiplatform.v1beta1.RecommendSpec"
- + "Request\0326.google.cloud.aiplatform.v1beta"
- + "1.RecommendSpecResponse\"A\202\323\344\223\002;\"6/v1beta"
- + "1/{parent=projects/*/locations/*}:recomm"
- + "endSpec:\001*\032M\312A\031aiplatform.googleapis.com"
- + "\322A.https://www.googleapis.com/auth/cloud-platformB\350\001\n"
- + "#com.google.cloud.aiplatform.v1beta1B\021ModelServiceProtoP\001ZCcloud.go"
- + "ogle.com/go/aiplatform/apiv1beta1/aiplat"
- + "formpb;aiplatformpb\252\002\037Google.Cloud.AIPla"
- + "tform.V1Beta1\312\002\037Google\\Cloud\\AIPlatform\\"
- + "V1beta1\352\002\"Google::Cloud::AIPlatform::V1beta1b\006proto3"
+ + "\013UploadModel\0223.google.cloud."
+ + "aiplatform.v1beta1.UploadModelRequest\032\035.google.longrunning.Operation\"\206\001\312A3\n"
+ + "\023UploadModelResponse\022\034UploadModelOperationMet"
+ + "adata\332A\014parent,model\202\323\344\223\002;\"6/v1beta1/{pa"
+ + "rent=projects/*/locations/*}/models:upload:\001*\022\244\001\n"
+ + "\010GetModel\0220.google.cloud.aiplatform.v1beta1.GetModelRequest\032&.google.cl"
+ + "oud.aiplatform.v1beta1.Model\">\332A\004name\202\323\344"
+ + "\223\0021\022//v1beta1/{name=projects/*/locations/*/models/*}\022\267\001\n\n"
+ + "ListModels\0222.google.cloud.aiplatform.v1beta1.ListModelsRequest\032"
+ + "3.google.cloud.aiplatform.v1beta1.ListMo"
+ + "delsResponse\"@\332A\006parent\202\323\344\223\0021\022//v1beta1/"
+ + "{parent=projects/*/locations/*}/models\022\327\001\n"
+ + "\021ListModelVersions\0229.google.cloud.aipl"
+ + "atform.v1beta1.ListModelVersionsRequest\032:.google.cloud.aiplatform.v1beta1.ListMo"
+ + "delVersionsResponse\"K\332A\004name\202\323\344\223\002>\02225/v1beta1/{model.name=projects/*/locations/*/models/*}:\005model\022\252\002\n"
+ + "\030UpdateExplanationDataset\022@.google.cloud.aiplatfor"
+ + "m.v1beta1.UpdateExplanationDatasetRequest\032\035.google.longrunning.Operation\"\254\001\312AM\n"
+ + " UpdateExplanationDatasetResponse\022)Update"
+ + "ExplanationDatasetOperationMetadata\332A\005mo"
+ + "del\202\323\344\223\002N\"I/v1beta1/{model=projects/*/lo"
+ + "cations/*/models/*}:updateExplanationDataset:\001*\022\324\001\n"
+ + "\013DeleteModel\0223.google.cloud.a"
+ + "iplatform.v1beta1.DeleteModelRequest\032\035.google.longrunning.Operation\"q\312A0\n"
+ + "\025google.protobuf.Empty\022\027DeleteOperationMetadata"
+ + "\332A\004name\202\323\344\223\0021*//v1beta1/{name=projects/*/locations/*/models/*}\022\360\001\n"
+ + "\022DeleteModelVersion\022:.google.cloud.aiplatform.v1beta1."
+ + "DeleteModelVersionRequest\032\035.google.longrunning.Operation\"\177\312A0\n"
+ + "\025google.protobuf.Empty\022\027DeleteOperationMetadata\332A\004name\202\323\344\223"
+ + "\002?*=/v1beta1/{name=projects/*/locations/*/models/*}:deleteVersion\022\341\001\n"
+ + "\023MergeVersionAliases\022;.google.cloud.aiplatform.v1be"
+ + "ta1.MergeVersionAliasesRequest\032&.google."
+ + "cloud.aiplatform.v1beta1.Model\"e\332A\024name,"
+ + "version_aliases\202\323\344\223\002H\"C/v1beta1/{name=pr"
+ + "ojects/*/locations/*/models/*}:mergeVersionAliases:\001*\022\360\001\n"
+ + "\013ExportModel\0223.google.c"
+ + "loud.aiplatform.v1beta1.ExportModelRequest\032\035.google.longrunning.Operation\"\214\001\312A3\n"
+ + "\023ExportModelResponse\022\034ExportModelOperati"
+ + "onMetadata\332A\022name,output_config\202\323\344\223\002;\"6/"
+ + "v1beta1/{name=projects/*/locations/*/models/*}:export:\001*\022\347\001\n"
+ + "\tCopyModel\0221.google."
+ + "cloud.aiplatform.v1beta1.CopyModelRequest\032\035.google.longrunning.Operation\"\207\001\312A/\n"
+ + "\021CopyModelResponse\022\032CopyModelOperationMet"
+ + "adata\332A\023parent,source_model\202\323\344\223\0029\"4/v1be"
+ + "ta1/{parent=projects/*/locations/*}/models:copy:\001*\022\363\001\n"
+ + "\025ImportModelEvaluation\022=.google.cloud.aiplatform.v1beta1.ImportMod"
+ + "elEvaluationRequest\0320.google.cloud.aipla"
+ + "tform.v1beta1.ModelEvaluation\"i\332A\027parent"
+ + ",model_evaluation\202\323\344\223\002I\"D/v1beta1/{paren"
+ + "t=projects/*/locations/*/models/*}/evaluations:import:\001*\022\267\002\n"
+ + " BatchImportModelEvaluationSlices\022H.google.cloud.aiplatform."
+ + "v1beta1.BatchImportModelEvaluationSlicesRequest\032I.google.cloud.aiplatform.v1beta"
+ + "1.BatchImportModelEvaluationSlicesRespon"
+ + "se\"~\332A\036parent,model_evaluation_slices\202\323\344"
+ + "\223\002W\"R/v1beta1/{parent=projects/*/locatio"
+ + "ns/*/models/*/evaluations/*}/slices:batchImport:\001*\022\264\002\n"
+ + "\037BatchImportEvaluatedAnnotations\022G.google.cloud.aiplatform.v1beta1"
+ + ".BatchImportEvaluatedAnnotationsRequest\032H.google.cloud.aiplatform.v1beta1.BatchI"
+ + "mportEvaluatedAnnotationsResponse\"~\332A\034pa"
+ + "rent,evaluated_annotations\202\323\344\223\002Y\"T/v1bet"
+ + "a1/{parent=projects/*/locations/*/models"
+ + "/*/evaluations/*/slices/*}:batchImport:\001*\022\320\001\n"
+ + "\022GetModelEvaluation\022:.google.cloud.aiplatform.v1beta1.GetModelEvaluationReq"
+ + "uest\0320.google.cloud.aiplatform.v1beta1.M"
+ + "odelEvaluation\"L\332A\004name\202\323\344\223\002?\022=/v1beta1/"
+ + "{name=projects/*/locations/*/models/*/evaluations/*}\022\343\001\n"
+ + "\024ListModelEvaluations\022<.google.cloud.aiplatform.v1beta1.ListMode"
+ + "lEvaluationsRequest\032=.google.cloud.aiplatform.v1beta1.ListModelEvaluationsRespon"
+ + "se\"N\332A\006parent\202\323\344\223\002?\022=/v1beta1/{parent=pr"
+ + "ojects/*/locations/*/models/*}/evaluations\022\350\001\n"
+ + "\027GetModelEvaluationSlice\022?.google.cloud.aiplatform.v1beta1.GetModelEvaluat"
+ + "ionSliceRequest\0325.google.cloud.aiplatfor"
+ + "m.v1beta1.ModelEvaluationSlice\"U\332A\004name\202"
+ + "\323\344\223\002H\022F/v1beta1/{name=projects/*/locatio"
+ + "ns/*/models/*/evaluations/*/slices/*}\022\373\001\n"
+ + "\031ListModelEvaluationSlices\022A.google.cloud.aiplatform.v1beta1.ListModelEvaluatio"
+ + "nSlicesRequest\032B.google.cloud.aiplatform.v1beta1.ListModelEvaluationSlicesRespon"
+ + "se\"W\332A\006parent\202\323\344\223\002H\022F/v1beta1/{parent=pr"
+ + "ojects/*/locations/*/models/*/evaluations/*}/slices\022\301\001\n\r"
+ + "RecommendSpec\0225.google.cloud.aiplatform.v1beta1.RecommendSpecReq"
+ + "uest\0326.google.cloud.aiplatform.v1beta1.R"
+ + "ecommendSpecResponse\"A\202\323\344\223\002;\"6/v1beta1/{"
+ + "parent=projects/*/locations/*}:recommend"
+ + "Spec:\001*\032M\312A\031aiplatform.googleapis.com\322A."
+ + "https://www.googleapis.com/auth/cloud-platformB\350\001\n"
+ + "#com.google.cloud.aiplatform.v1beta1B\021ModelServiceProtoP\001ZCcloud.googl"
+ + "e.com/go/aiplatform/apiv1beta1/aiplatfor"
+ + "mpb;aiplatformpb\252\002\037Google.Cloud.AIPlatfo"
+ + "rm.V1Beta1\312\002\037Google\\Cloud\\AIPlatform\\V1b"
+ + "eta1\352\002\"Google::Cloud::AIPlatform::V1beta1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -728,6 +729,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Parent",
"SourceModel",
"EncryptionSpec",
+ "CustomServiceAccount",
"DestinationModel",
});
internal_static_google_cloud_aiplatform_v1beta1_CopyModelOperationMetadata_descriptor =
diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/model_service.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/model_service.proto
index 65f7bc9a2096..1b5c00eed2a8 100644
--- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/model_service.proto
+++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/model_service.proto
@@ -766,6 +766,18 @@ message CopyModelRequest {
// Customer-managed encryption key options. If this is set,
// then the Model copy will be encrypted with the provided encryption key.
EncryptionSpec encryption_spec = 3;
+
+ // Optional. The user-provided custom service account to use to do the copy
+ // model. If empty, [Vertex AI Service
+ // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
+ // will be used to access resources needed to upload the model. This account
+ // must belong to the destination project where the model is copied to,
+ // i.e., the project specified in the `parent` field of this request and
+ // have the Vertex AI Service Agent role in the source project.
+ //
+ // Requires the user copying the Model to have the
+ // `iam.serviceAccounts.actAs` permission on this service account.
+ string custom_service_account = 7 [(google.api.field_behavior) = OPTIONAL];
}
// Details of
diff --git a/java-aiplatform/samples/snippets/generated/com/google/cloud/aiplatform/v1/modelservice/copymodel/AsyncCopyModel.java b/java-aiplatform/samples/snippets/generated/com/google/cloud/aiplatform/v1/modelservice/copymodel/AsyncCopyModel.java
index 412e62aed447..3c242dc2cde6 100644
--- a/java-aiplatform/samples/snippets/generated/com/google/cloud/aiplatform/v1/modelservice/copymodel/AsyncCopyModel.java
+++ b/java-aiplatform/samples/snippets/generated/com/google/cloud/aiplatform/v1/modelservice/copymodel/AsyncCopyModel.java
@@ -43,6 +43,7 @@ public static void asyncCopyModel() throws Exception {
.setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
.setSourceModel(ModelName.of("[PROJECT]", "[LOCATION]", "[MODEL]").toString())
.setEncryptionSpec(EncryptionSpec.newBuilder().build())
+ .setCustomServiceAccount("customServiceAccount-2110106743")
.build();
ApiFuture+ * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The principal.
+ */
+ @java.lang.Override
+ public java.lang.String getPrincipal() {
+ java.lang.Object ref = principal_;
+ 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();
+ principal_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for principal.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getPrincipalBytes() {
+ java.lang.Object ref = principal_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ principal_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -920,6 +1002,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (((bitField0_ & 0x00000001) != 0)) {
output.writeMessage(11, getSchedulingPolicy());
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(principal_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 12, principal_);
+ }
getUnknownFields().writeTo(output);
}
@@ -951,6 +1036,9 @@ public int getSerializedSize() {
if (((bitField0_ & 0x00000001) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getSchedulingPolicy());
}
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(principal_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(12, principal_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -976,6 +1064,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasSchedulingPolicy()) {
if (!getSchedulingPolicy().equals(other.getSchedulingPolicy())) return false;
}
+ if (!getPrincipal().equals(other.getPrincipal())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -1001,6 +1090,8 @@ public int hashCode() {
hash = (37 * hash) + SCHEDULING_POLICY_FIELD_NUMBER;
hash = (53 * hash) + getSchedulingPolicy().hashCode();
}
+ hash = (37 * hash) + PRINCIPAL_FIELD_NUMBER;
+ hash = (53 * hash) + getPrincipal().hashCode();
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -1161,6 +1252,7 @@ public Builder clear() {
schedulingPolicyBuilder_.dispose();
schedulingPolicyBuilder_ = null;
}
+ principal_ = "";
return this;
}
@@ -1218,6 +1310,9 @@ private void buildPartial0(com.google.cloud.bigquery.reservation.v1.Assignment r
schedulingPolicyBuilder_ == null ? schedulingPolicy_ : schedulingPolicyBuilder_.build();
to_bitField0_ |= 0x00000001;
}
+ if (((from_bitField0_ & 0x00000040) != 0)) {
+ result.principal_ = principal_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -1256,6 +1351,11 @@ public Builder mergeFrom(com.google.cloud.bigquery.reservation.v1.Assignment oth
if (other.hasSchedulingPolicy()) {
mergeSchedulingPolicy(other.getSchedulingPolicy());
}
+ if (!other.getPrincipal().isEmpty()) {
+ principal_ = other.principal_;
+ bitField0_ |= 0x00000040;
+ onChanged();
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -1319,6 +1419,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000020;
break;
} // case 90
+ case 98:
+ {
+ principal_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000040;
+ break;
+ } // case 98
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -2140,6 +2246,187 @@ public Builder clearSchedulingPolicy() {
return schedulingPolicyBuilder_;
}
+ private java.lang.Object principal_ = "";
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The principal.
+ */
+ public java.lang.String getPrincipal() {
+ java.lang.Object ref = principal_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ principal_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for principal.
+ */
+ public com.google.protobuf.ByteString getPrincipalBytes() {
+ java.lang.Object ref = principal_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ principal_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The principal to set.
+ * @return This builder for chaining.
+ */
+ public Builder setPrincipal(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ principal_ = value;
+ bitField0_ |= 0x00000040;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearPrincipal() {
+ principal_ = getDefaultInstance().getPrincipal();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for principal to set.
+ * @return This builder for chaining.
+ */
+ public Builder setPrincipalBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ principal_ = value;
+ bitField0_ |= 0x00000040;
+ onChanged();
+ return this;
+ }
+
// @@protoc_insertion_point(builder_scope:google.cloud.bigquery.reservation.v1.Assignment)
}
diff --git a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/AssignmentOrBuilder.java b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/AssignmentOrBuilder.java
index ab24269c7d49..0e4755463a05 100644
--- a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/AssignmentOrBuilder.java
+++ b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/AssignmentOrBuilder.java
@@ -225,4 +225,58 @@ public interface AssignmentOrBuilder
*
*/
com.google.cloud.bigquery.reservation.v1.SchedulingPolicyOrBuilder getSchedulingPolicyOrBuilder();
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The principal.
+ */
+ java.lang.String getPrincipal();
+
+ /**
+ *
+ *
+ * + * Optional. Represents the principal for this assignment. If not empty, jobs + * run by this principal will utilize the associated reservation. Otherwise, + * jobs will fall back to using the reservation assigned to the project, + * folder, or organization (in that order). If no reservation is assigned at + * any of these levels, on-demand capacity will be used. + * + * The supported formats are: + * + * * `principal://goog/subject/USER_EMAIL_ADDRESS` for users, + * * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS` + * for service accounts, + * * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID` + * for workload identity pool identities. + * * The special value `unknown_or_deleted_user` represents principals which + * cannot be read from the user info service, for example deleted users. + *+ * + *
string principal = 12 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for principal.
+ */
+ com.google.protobuf.ByteString getPrincipalBytes();
}
diff --git a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/Reservation.java b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/Reservation.java
index 251cfef190d1..f51a0466d529 100644
--- a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/Reservation.java
+++ b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/Reservation.java
@@ -143,7 +143,7 @@ public enum ScalingMode implements com.google.protobuf.ProtocolMessageEnum {
* reservation will scale up to 1000 slots with 200 baseline and 800 idle
* slots.
* 2. if there are 500 idle slots available in other reservations, the
- * reservation will scale up to 700 slots with 200 baseline and 300 idle
+ * reservation will scale up to 700 slots with 200 baseline and 500 idle
* slots.
* Please note, in this mode, the reservation might not be able to scale up
* to max_slots.
@@ -241,7 +241,7 @@ public enum ScalingMode implements com.google.protobuf.ProtocolMessageEnum {
* reservation will scale up to 1000 slots with 200 baseline and 800 idle
* slots.
* 2. if there are 500 idle slots available in other reservations, the
- * reservation will scale up to 700 slots with 200 baseline and 300 idle
+ * reservation will scale up to 700 slots with 200 baseline and 500 idle
* slots.
* Please note, in this mode, the reservation might not be able to scale up
* to max_slots.
diff --git a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/ReservationProto.java b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/ReservationProto.java
index 5a820ff92d52..cc1b320ebec0 100644
--- a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/ReservationProto.java
+++ b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/java/com/google/cloud/bigquery/reservation/v1/ReservationProto.java
@@ -421,7 +421,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\006parent\030\001 \001("
+ "\tB:\372A7\0225bigqueryreservation.googleapis.com/CapacityCommitment\022\037\n"
+ "\027capacity_commitment_ids\030\002 \003(\t\022#\n"
- + "\026capacity_commitment_id\030\003 \001(\tB\003\340A\001\"\231\006\n\n"
+ + "\026capacity_commitment_id\030\003 \001(\tB\003\340A\001\"\261\006\n\n"
+ "Assignment\022\021\n"
+ "\004name\030\001 \001(\tB\003\340A\003\022\025\n"
+ "\010assignee\030\004 \001(\tB\003\340A\001\022O\n"
@@ -432,7 +432,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\031enable_gemini_in_bigquery\030\n"
+ " \001(\010B\005\030\001\340A\001\022V\n"
+ "\021scheduling_policy\030\013 \001(\01326.google.cloud.b"
- + "igquery.reservation.v1.SchedulingPolicyB\003\340A\001\"\334\001\n"
+ + "igquery.reservation.v1.SchedulingPolicyB\003\340A\001\022\026\n"
+ + "\tprincipal\030\014 \001(\tB\003\340A\001\"\334\001\n"
+ "\007JobType\022\030\n"
+ "\024JOB_TYPE_UNSPECIFIED\020\000\022\014\n"
+ "\010PIPELINE\020\001\022\t\n"
@@ -447,24 +448,24 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\021STATE_UNSPECIFIED\020\000\022\013\n"
+ "\007PENDING\020\001\022\n\n"
+ "\006ACTIVE\020\002:\251\001\352A\245\001\n"
- + "-bigqueryreservation.googleapis.com/Assignment\022[projects/{project}/l"
- + "ocations/{location}/reservations/{reserv"
- + "ation}/assignments/{assignment}*\013assignments2\n"
+ + "-bigqueryreservation.googleapis.com/Assignme"
+ + "nt\022[projects/{project}/locations/{locati"
+ + "on}/reservations/{reservation}/assignments/{assignment}*\013assignments2\n"
+ "assignment\"\275\001\n"
+ "\027CreateAssignmentRequest\022E\n"
+ "\006parent\030\001 \001("
+ "\tB5\340A\002\372A/\022-bigqueryreservation.googleapis.com/Assignment\022D\n\n"
- + "assignment\030\002"
- + " \001(\01320.google.cloud.bigquery.reservation.v1.Assignment\022\025\n\r"
+ + "assignment\030\002 \001(\0132"
+ + "0.google.cloud.bigquery.reservation.v1.Assignment\022\025\n\r"
+ "assignment_id\030\004 \001(\t\"\206\001\n"
+ "\026ListAssignmentsRequest\022E\n"
- + "\006parent\030\001 \001("
- + "\tB5\340A\002\372A/\022-bigqueryreservation.googleapis.com/Assignment\022\021\n"
+ + "\006parent\030\001 \001(\tB5\340A\002"
+ + "\372A/\022-bigqueryreservation.googleapis.com/Assignment\022\021\n"
+ "\tpage_size\030\002 \001(\005\022\022\n\n"
+ "page_token\030\003 \001(\t\"y\n"
+ "\027ListAssignmentsResponse\022E\n"
- + "\013assignments\030\001 \003(\01320.goog"
- + "le.cloud.bigquery.reservation.v1.Assignment\022\027\n"
+ + "\013assignments\030\001"
+ + " \003(\01320.google.cloud.bigquery.reservation.v1.Assignment\022\027\n"
+ "\017next_page_token\030\002 \001(\t\"^\n"
+ "\027DeleteAssignmentRequest\022C\n"
+ "\004name\030\001 \001(\tB5\340A\002\372A/\n"
@@ -486,8 +487,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ " \003(\01320.google.cloud.bigquery.reservation.v1.Assignment\022\027\n"
+ "\017next_page_token\030\002 \001(\t\"~\n"
+ "\034SearchAllAssignmentsResponse\022E\n"
- + "\013assignments\030\001 \003(\01320.google.c"
- + "loud.bigquery.reservation.v1.Assignment\022\027\n"
+ + "\013assignments\030\001"
+ + " \003(\01320.google.cloud.bigquery.reservation.v1.Assignment\022\027\n"
+ "\017next_page_token\030\002 \001(\t\"\277\001\n"
+ "\025MoveAssignmentRequest\022C\n"
+ "\004name\030\001 \001(\tB5\340A\002\372A/\n"
@@ -507,16 +508,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\013update_time\030\003"
+ " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\021\n"
+ "\004size\030\004 \001(\003B\003\340A\001\022S\n"
- + "\020preferred_tables\030\005 \003(\01324.googl"
- + "e.cloud.bigquery.reservation.v1.TableReferenceB\003\340A\001:l\352Ai\n"
- + "0bigqueryreservation.googleapis.com/BiReservation\0225projects/{pr"
- + "oject}/locations/{location}/biReservation\"a\n"
+ + "\020preferred_tables\030\005 \003(\01324.google.cloud.bigquery"
+ + ".reservation.v1.TableReferenceB\003\340A\001:l\352Ai\n"
+ + "0bigqueryreservation.googleapis.com/BiR"
+ + "eservation\0225projects/{project}/locations/{location}/biReservation\"a\n"
+ "\027GetBiReservationRequest\022F\n"
+ "\004name\030\001 \001(\tB8\340A\002\372A2\n"
+ "0bigqueryreservation.googleapis.com/BiReservation\"\232\001\n"
+ "\032UpdateBiReservationRequest\022K\n"
- + "\016bi_reservation\030\001 \001(\01323.go"
- + "ogle.cloud.bigquery.reservation.v1.BiReservation\022/\n"
+ + "\016bi_reservation\030\001"
+ + " \001(\01323.google.cloud.bigquery.reservation.v1.BiReservation\022/\n"
+ "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMask*U\n"
+ "\007Edition\022\027\n"
+ "\023EDITION_UNSPECIFIED\020\000\022\014\n"
@@ -528,144 +529,146 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\004SOFT\020\001\022\010\n"
+ "\004HARD\020\0022\2436\n"
+ "\022ReservationService\022\361\001\n"
- + "\021CreateReservation\022>.google.cloud.bigquery"
- + ".reservation.v1.CreateReservationRequest\0321.google.cloud.bigquery.reservation.v1."
- + "Reservation\"i\332A!parent,reservation,reser"
- + "vation_id\202\323\344\223\002?\"0/v1/{parent=projects/*/"
- + "locations/*}/reservations:\013reservation\022\324\001\n"
- + "\020ListReservations\022=.google.cloud.bigquery.reservation.v1.ListReservationsReque"
- + "st\032>.google.cloud.bigquery.reservation.v"
- + "1.ListReservationsResponse\"A\332A\006parent\202\323\344"
- + "\223\0022\0220/v1/{parent=projects/*/locations/*}/reservations\022\301\001\n"
- + "\016GetReservation\022;.google.cloud.bigquery.reservation.v1.GetReser"
- + "vationRequest\0321.google.cloud.bigquery.re"
- + "servation.v1.Reservation\"?\332A\004name\202\323\344\223\0022\022"
- + "0/v1/{name=projects/*/locations/*/reservations/*}\022\254\001\n"
- + "\021DeleteReservation\022>.google.cloud.bigquery.reservation.v1.DeleteRes"
- + "ervationRequest\032\026.google.protobuf.Empty\""
- + "?\332A\004name\202\323\344\223\0022*0/v1/{name=projects/*/locations/*/reservations/*}\022\363\001\n"
- + "\021UpdateReservation\022>.google.cloud.bigquery.reservati"
- + "on.v1.UpdateReservationRequest\0321.google.cloud.bigquery.reservation.v1.Reservatio"
- + "n\"k\332A\027reservation,update_mask\202\323\344\223\002K2/v1/{parent=projects/*/"
- + "locations/*/reservations/*}/assignments:\n"
+ + "\021CreateReservation\022>.google.cloud.bigquery.reservation.v1."
+ + "CreateReservationRequest\0321.google.cloud."
+ + "bigquery.reservation.v1.Reservation\"i\332A!"
+ + "parent,reservation,reservation_id\202\323\344\223\002?\""
+ + "0/v1/{parent=projects/*/locations/*}/reservations:\013reservation\022\324\001\n"
+ + "\020ListReservations\022=.google.cloud.bigquery.reservation."
+ + "v1.ListReservationsRequest\032>.google.cloud.bigquery.reservation.v1.ListReservatio"
+ + "nsResponse\"A\332A\006parent\202\323\344\223\0022\0220/v1/{parent"
+ + "=projects/*/locations/*}/reservations\022\301\001\n"
+ + "\016GetReservation\022;.google.cloud.bigquery"
+ + ".reservation.v1.GetReservationRequest\0321.google.cloud.bigquery.reservation.v1.Res"
+ + "ervation\"?\332A\004name\202\323\344\223\0022\0220/v1/{name=projects/*/locations/*/reservations/*}\022\254\001\n"
+ + "\021DeleteReservation\022>.google.cloud.bigquery."
+ + "reservation.v1.DeleteReservationRequest\032"
+ + "\026.google.protobuf.Empty\"?\332A\004name\202\323\344\223\0022*0"
+ + "/v1/{name=projects/*/locations/*/reservations/*}\022\363\001\n"
+ + "\021UpdateReservation\022>.google.cloud.bigquery.reservation.v1.UpdateRese"
+ + "rvationRequest\0321.google.cloud.bigquery.r"
+ + "eservation.v1.Reservation\"k\332A\027reservatio"
+ + "n,update_mask\202\323\344\223\002K2/v1/{parent=projects/*/locations/*/reservations/*}/assignments:\n"
+ "assignment\022\337\001\n"
- + "\017ListAssignments\022<.google.cloud.bigquery.reservation.v1.ListAssig"
- + "nmentsRequest\032=.google.cloud.bigquery.re"
- + "servation.v1.ListAssignmentsResponse\"O\332A"
- + "\006parent\202\323\344\223\002@\022>/v1/{parent=projects/*/lo"
- + "cations/*/reservations/*}/assignments\022\270\001\n"
- + "\020DeleteAssignment\022=.google.cloud.bigquery.reservation.v1.DeleteAssignmentReques"
- + "t\032\026.google.protobuf.Empty\"M\332A\004name\202\323\344\223\002@"
- + "*>/v1/{name=projects/*/locations/*/reservations/*/assignments/*}\022\345\001\n"
- + "\021SearchAssignments\022>.google.cloud.bigquery.reservati"
- + "on.v1.SearchAssignmentsRequest\032?.google.cloud.bigquery.reservation.v1.SearchAssi"
- + "gnmentsResponse\"O\210\002\001\332A\014parent,query\202\323\344\223\002"
- + "7\0225/v1/{parent=projects/*/locations/*}:searchAssignments\022\356\001\n"
- + "\024SearchAllAssignments\022A.google.cloud.bigquery.reservation.v1"
- + ".SearchAllAssignmentsRequest\032B.google.cloud.bigquery.reservation.v1.SearchAllAss"
- + "ignmentsResponse\"O\332A\014parent,query\202\323\344\223\002:\022"
- + "8/v1/{parent=projects/*/locations/*}:searchAllAssignments\022\345\001\n"
- + "\016MoveAssignment\022;.google.cloud.bigquery.reservation.v1.Move"
- + "AssignmentRequest\0320.google.cloud.bigquer"
- + "y.reservation.v1.Assignment\"d\332A\023name,des"
- + "tination_id\202\323\344\223\002H\"C/v1/{name=projects/*/"
- + "locations/*/reservations/*/assignments/*}:move:\001*\022\373\001\n"
- + "\020UpdateAssignment\022=.google.cloud.bigquery.reservation.v1.UpdateAssi"
- + "gnmentRequest\0320.google.cloud.bigquery.re"
- + "servation.v1.Assignment\"v\332A\026assignment,u"
- + "pdate_mask\202\323\344\223\002W2I/v1/{assignment.name=p"
- + "rojects/*/locations/*/reservations/*/assignments/*}:\n"
+ + "\017ListAssignments\022<.google.cloud.bigquery."
+ + "reservation.v1.ListAssignmentsRequest\032=.google.cloud.bigquery.reservation.v1.Lis"
+ + "tAssignmentsResponse\"O\332A\006parent\202\323\344\223\002@\022>/"
+ + "v1/{parent=projects/*/locations/*/reservations/*}/assignments\022\270\001\n"
+ + "\020DeleteAssignment\022=.google.cloud.bigquery.reservation.v"
+ + "1.DeleteAssignmentRequest\032\026.google.proto"
+ + "buf.Empty\"M\332A\004name\202\323\344\223\002@*>/v1/{name=proj"
+ + "ects/*/locations/*/reservations/*/assignments/*}\022\345\001\n"
+ + "\021SearchAssignments\022>.google.cloud.bigquery.reservation.v1.SearchAssi"
+ + "gnmentsRequest\032?.google.cloud.bigquery.reservation.v1.SearchAssignmentsResponse\""
+ + "O\210\002\001\332A\014parent,query\202\323\344\223\0027\0225/v1/{parent=p"
+ + "rojects/*/locations/*}:searchAssignments\022\356\001\n"
+ + "\024SearchAllAssignments\022A.google.cloud.bigquery.reservation.v1.SearchAllAssign"
+ + "mentsRequest\032B.google.cloud.bigquery.reservation.v1.SearchAllAssignmentsResponse"
+ + "\"O\332A\014parent,query\202\323\344\223\002:\0228/v1/{parent=pro"
+ + "jects/*/locations/*}:searchAllAssignments\022\345\001\n"
+ + "\016MoveAssignment\022;.google.cloud.bigquery.reservation.v1.MoveAssignmentReques"
+ + "t\0320.google.cloud.bigquery.reservation.v1"
+ + ".Assignment\"d\332A\023name,destination_id\202\323\344\223\002"
+ + "H\"C/v1/{name=projects/*/locations/*/reservations/*/assignments/*}:move:\001*\022\373\001\n"
+ + "\020UpdateAssignment\022=.google.cloud.bigquery.r"
+ + "eservation.v1.UpdateAssignmentRequest\0320.google.cloud.bigquery.reservation.v1.Ass"
+ + "ignment\"v\332A\026assignment,update_mask\202\323\344\223\002W"
+ + "2I/v1/{assignment.name=projects/*/locations/*/reservations/*/assignments/*}:\n"
+ "assignment\022\306\001\n"
- + "\020GetBiReservation\022=.google.cloud.bigquery.reservation"
- + ".v1.GetBiReservationRequest\0323.google.cloud.bigquery.reservation.v1.BiReservation"
- + "\">\332A\004name\202\323\344\223\0021\022//v1/{name=projects/*/locations/*/biReservation}\022\201\002\n"
- + "\023UpdateBiReservation\022@.google.cloud.bigquery.reserva"
- + "tion.v1.UpdateBiReservationRequest\0323.google.cloud.bigquery.reservation.v1.BiRese"
- + "rvation\"s\332A\032bi_reservation,update_mask\202\323"
- + "\344\223\002P2>/v1/{bi_reservation.name=projects/"
- + "*/locations/*/biReservation}:\016bi_reservation\022\364\001\n"
- + "\014GetIamPolicy\022\".google.iam.v1.GetIamPolicyRequest\032\025.google.iam.v1.Policy"
- + "\"\250\001\332A\010resource\202\323\344\223\002\226\001\022A/v1/{resource=pro"
- + "jects/*/locations/*/reservations/*}:getIamPolicyZQ\022O/v1/{resource=projects/*/loc"
- + "ations/*/reservations/*/assignments/*}:getIamPolicy\022\201\002\n"
- + "\014SetIamPolicy\022\".google.iam.v1.SetIamPolicyRequest\032\025.google.iam.v1"
- + ".Policy\"\265\001\332A\017resource,policy\202\323\344\223\002\234\001\"A/v1"
- + "/{resource=projects/*/locations/*/reservations/*}:setIamPolicy:\001*ZT\"O/v1/{resour"
- + "ce=projects/*/locations/*/reservations/*/assignments/*}:setIamPolicy:\001*\022\233\002\n"
- + "\022TestIamPermissions\022(.google.iam.v1.TestIamPe"
- + "rmissionsRequest\032).google.iam.v1.TestIam"
- + "PermissionsResponse\"\257\001\202\323\344\223\002\250\001\"G/v1/{reso"
- + "urce=projects/*/locations/*/reservations/*}:testIamPermissions:\001*ZZ\"U/v1/{resour"
- + "ce=projects/*/locations/*/reservations/*"
- + "/assignments/*}:testIamPermissions:\001*\022\347\001\n"
- + "\026CreateReservationGroup\022C.google.cloud.bigquery.reservation.v1.CreateReservatio"
- + "nGroupRequest\0326.google.cloud.bigquery.re"
- + "servation.v1.ReservationGroup\"P\202\323\344\223\002J\"5/"
- + "v1/{parent=projects/*/locations/*}/reservationGroups:\021reservation_group\022\325\001\n"
- + "\023GetReservationGroup\022@.google.cloud.bigquery."
- + "reservation.v1.GetReservationGroupRequest\0326.google.cloud.bigquery.reservation.v1",
- ".ReservationGroup\"D\332A\004name\202\323\344\223\0027\0225/v1/{n"
- + "ame=projects/*/locations/*/reservationGr"
- + "oups/*}\022\273\001\n\026DeleteReservationGroup\022C.goo"
- + "gle.cloud.bigquery.reservation.v1.Delete"
- + "ReservationGroupRequest\032\026.google.protobu"
- + "f.Empty\"D\332A\004name\202\323\344\223\0027*5/v1/{name=projec"
- + "ts/*/locations/*/reservationGroups/*}\022\350\001"
- + "\n\025ListReservationGroups\022B.google.cloud.b"
- + "igquery.reservation.v1.ListReservationGr"
- + "oupsRequest\032C.google.cloud.bigquery.rese"
- + "rvation.v1.ListReservationGroupsResponse"
- + "\"F\332A\006parent\202\323\344\223\0027\0225/v1/{parent=projects/"
- + "*/locations/*}/reservationGroups\032\177\312A\"big"
- + "queryreservation.googleapis.com\322AWhttps:"
- + "//www.googleapis.com/auth/bigquery,https"
- + "://www.googleapis.com/auth/cloud-platfor"
- + "mB\330\001\n(com.google.cloud.bigquery.reservat"
- + "ion.v1B\020ReservationProtoP\001ZJcloud.google"
- + ".com/go/bigquery/reservation/apiv1/reser"
- + "vationpb;reservationpb\252\002$Google.Cloud.Bi"
- + "gQuery.Reservation.V1\312\002$Google\\Cloud\\Big"
- + "Query\\Reservation\\V1b\006proto3"
+ + "\020GetBiReservation\022=.google.cloud.bigquery.reservation.v1.GetBiReserva"
+ + "tionRequest\0323.google.cloud.bigquery.rese"
+ + "rvation.v1.BiReservation\">\332A\004name\202\323\344\223\0021\022"
+ + "//v1/{name=projects/*/locations/*/biReservation}\022\201\002\n"
+ + "\023UpdateBiReservation\022@.google.cloud.bigquery.reservation.v1.UpdateBi"
+ + "ReservationRequest\0323.google.cloud.bigque"
+ + "ry.reservation.v1.BiReservation\"s\332A\032bi_r"
+ + "eservation,update_mask\202\323\344\223\002P2>/v1/{bi_re"
+ + "servation.name=projects/*/locations/*/biReservation}:\016bi_reservation\022\364\001\n"
+ + "\014GetIamPolicy\022\".google.iam.v1.GetIamPolicyReques"
+ + "t\032\025.google.iam.v1.Policy\"\250\001\332A\010resource\202\323"
+ + "\344\223\002\226\001\022A/v1/{resource=projects/*/location"
+ + "s/*/reservations/*}:getIamPolicyZQ\022O/v1/"
+ + "{resource=projects/*/locations/*/reservations/*/assignments/*}:getIamPolicy\022\201\002\n"
+ + "\014SetIamPolicy\022\".google.iam.v1.SetIamPolic"
+ + "yRequest\032\025.google.iam.v1.Policy\"\265\001\332A\017res"
+ + "ource,policy\202\323\344\223\002\234\001\"A/v1/{resource=proje"
+ + "cts/*/locations/*/reservations/*}:setIamPolicy:\001*ZT\"O/v1/{resource=projects/*/lo"
+ + "cations/*/reservations/*/assignments/*}:setIamPolicy:\001*\022\233\002\n"
+ + "\022TestIamPermissions\022(.google.iam.v1.TestIamPermissionsRequest"
+ + "\032).google.iam.v1.TestIamPermissionsRespo"
+ + "nse\"\257\001\202\323\344\223\002\250\001\"G/v1/{resource=projects/*/"
+ + "locations/*/reservations/*}:testIamPermissions:\001*ZZ\"U/v1/{resource=projects/*/lo"
+ + "cations/*/reservations/*/assignments/*}:testIamPermissions:\001*\022\347\001\n"
+ + "\026CreateReservationGroup\022C.google.cloud.bigquery.reserva"
+ + "tion.v1.CreateReservationGroupRequest\0326.google.cloud.bigquery.reservation.v1.Res"
+ + "ervationGroup\"P\202\323\344\223\002J\"5/v1/{parent=proje"
+ + "cts/*/locations/*}/reservationGroups:\021reservation_group\022\325\001\n"
+ + "\023GetReservationGroup\022@.google.cloud.bigquery.reservation.v1.G"
+ + "etReservationGroupRequest\0326.google.cloud",
+ ".bigquery.reservation.v1.ReservationGrou"
+ + "p\"D\332A\004name\202\323\344\223\0027\0225/v1/{name=projects/*/l"
+ + "ocations/*/reservationGroups/*}\022\273\001\n\026Dele"
+ + "teReservationGroup\022C.google.cloud.bigque"
+ + "ry.reservation.v1.DeleteReservationGroup"
+ + "Request\032\026.google.protobuf.Empty\"D\332A\004name"
+ + "\202\323\344\223\0027*5/v1/{name=projects/*/locations/*"
+ + "/reservationGroups/*}\022\350\001\n\025ListReservatio"
+ + "nGroups\022B.google.cloud.bigquery.reservat"
+ + "ion.v1.ListReservationGroupsRequest\032C.go"
+ + "ogle.cloud.bigquery.reservation.v1.ListR"
+ + "eservationGroupsResponse\"F\332A\006parent\202\323\344\223\002"
+ + "7\0225/v1/{parent=projects/*/locations/*}/r"
+ + "eservationGroups\032\177\312A\"bigqueryreservation"
+ + ".googleapis.com\322AWhttps://www.googleapis"
+ + ".com/auth/bigquery,https://www.googleapi"
+ + "s.com/auth/cloud-platformB\330\001\n(com.google"
+ + ".cloud.bigquery.reservation.v1B\020Reservat"
+ + "ionProtoP\001ZJcloud.google.com/go/bigquery"
+ + "/reservation/apiv1/reservationpb;reserva"
+ + "tionpb\252\002$Google.Cloud.BigQuery.Reservati"
+ + "on.V1\312\002$Google\\Cloud\\BigQuery\\Reservatio"
+ + "n\\V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -945,7 +948,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_bigquery_reservation_v1_Assignment_descriptor,
new java.lang.String[] {
- "Name", "Assignee", "JobType", "State", "EnableGeminiInBigquery", "SchedulingPolicy",
+ "Name",
+ "Assignee",
+ "JobType",
+ "State",
+ "EnableGeminiInBigquery",
+ "SchedulingPolicy",
+ "Principal",
});
internal_static_google_cloud_bigquery_reservation_v1_CreateAssignmentRequest_descriptor =
getDescriptor().getMessageType(26);
diff --git a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/proto/google/cloud/bigquery/reservation/v1/reservation.proto b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/proto/google/cloud/bigquery/reservation/v1/reservation.proto
index 5c674f276842..3d6f2cd048b0 100644
--- a/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/proto/google/cloud/bigquery/reservation/v1/reservation.proto
+++ b/java-bigqueryreservation/proto-google-cloud-bigqueryreservation-v1/src/main/proto/google/cloud/bigquery/reservation/v1/reservation.proto
@@ -1,4 +1,4 @@
-// Copyright 2025 Google LLC
+// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -560,7 +560,7 @@ message Reservation {
// reservation will scale up to 1000 slots with 200 baseline and 800 idle
// slots.
// 2. if there are 500 idle slots available in other reservations, the
- // reservation will scale up to 700 slots with 200 baseline and 300 idle
+ // reservation will scale up to 700 slots with 200 baseline and 500 idle
// slots.
// Please note, in this mode, the reservation might not be able to scale up
// to max_slots.
@@ -1406,6 +1406,23 @@ message Assignment {
// This feature is not yet generally available.
SchedulingPolicy scheduling_policy = 11
[(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Represents the principal for this assignment. If not empty, jobs
+ // run by this principal will utilize the associated reservation. Otherwise,
+ // jobs will fall back to using the reservation assigned to the project,
+ // folder, or organization (in that order). If no reservation is assigned at
+ // any of these levels, on-demand capacity will be used.
+ //
+ // The supported formats are:
+ //
+ // * `principal://goog/subject/USER_EMAIL_ADDRESS` for users,
+ // * `principal://iam.googleapis.com/projects/-/serviceAccounts/SA_EMAIL_ADDRESS`
+ // for service accounts,
+ // * `principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID`
+ // for workload identity pool identities.
+ // * The special value `unknown_or_deleted_user` represents principals which
+ // cannot be read from the user info service, for example deleted users.
+ string principal = 12 [(google.api.field_behavior) = OPTIONAL];
}
// The request for
diff --git a/java-bigquerystorage/README.md b/java-bigquerystorage/README.md
index 1fd7fb62dcfd..ec7993f9e05b 100644
--- a/java-bigquerystorage/README.md
+++ b/java-bigquerystorage/README.md
@@ -63,13 +63,13 @@ implementation 'com.google.cloud:google-cloud-bigquerystorage'
If you are using Gradle without BOM, add this to your dependencies:
```Groovy
-implementation 'com.google.cloud:google-cloud-bigquerystorage:3.26.0'
+implementation 'com.google.cloud:google-cloud-bigquerystorage:3.27.0'
```
If you are using SBT, add this to your dependencies:
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-bigquerystorage" % "3.26.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-bigquerystorage" % "3.27.0"
```
## Authentication
@@ -242,7 +242,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-bigquerystorage/latest/history
[stability-image]: https://img.shields.io/badge/stability-stable-green
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigquerystorage.svg
-[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigquerystorage/3.26.0
+[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigquerystorage/3.27.0
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
diff --git a/java-billing/README.md b/java-billing/README.md
index 34e894972a78..7737be14ecf1 100644
--- a/java-billing/README.md
+++ b/java-billing/README.md
@@ -42,20 +42,20 @@ If you are using Maven without the BOM, add this to your dependencies:
ListLocations
Lists information about the supported locations for this service.This method can be called in two ways: - *
* **List all public locations:** Use the path `GET /v1/locations`.* **List project-visible locations:** Use the path`GET /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or other locations specifically visibleto the project.
Lists information about the supported locations for this service. + *
This method lists locations based on the resource scope provided inthe [ListLocationsRequest.name] field: + *
* **Global locations**: If `name` is empty, the method lists thepublic locations available to all projects. * **Project-specificlocations**: If `name` follows the format`projects/{project}`, the method lists locations visible to thatspecific project. This includes public, private, or otherproject-specific locations enabled for the project. + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. For direct service calls, the resourcename isincorporated into the request path based on the specific serviceimplementation and version.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
** **List all public locations:** Use the path `GET /v1/locations`.* - * **List project-visible locations:** Use the path`GET - * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or - * other locations specifically visibleto the project. + *
This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name] field: + * + *
* **Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. * *
Sample code: * @@ -668,13 +677,20 @@ public final ListLocationsPagedResponse listLocations(ListLocationsRequest reque // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists information about the supported locations for this service.This method can be called in - * two ways: + * Lists information about the supported locations for this service. + * + *
This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name] field: * - *
* **List all public locations:** Use the path `GET /v1/locations`.* - * **List project-visible locations:** Use the path`GET - * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or - * other locations specifically visibleto the project. + *
* **Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. * *
Sample code: * @@ -709,13 +725,20 @@ public final ListLocationsPagedResponse listLocations(ListLocationsRequest reque // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists information about the supported locations for this service.This method can be called in - * two ways: + * Lists information about the supported locations for this service. + * + *
This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name] field: + * + *
* **Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. * - *
* **List all public locations:** Use the path `GET /v1/locations`.* - * **List project-visible locations:** Use the path`GET - * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or - * other locations specifically visibleto the project. + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. * *
Sample code: * diff --git a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/DataObjectServiceClient.java b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/DataObjectServiceClient.java index cfa3f5f63368..a41852cf1fad 100644 --- a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/DataObjectServiceClient.java +++ b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/DataObjectServiceClient.java @@ -195,8 +195,10 @@ *
ListLocations
Lists information about the supported locations for this service.This method can be called in two ways: - *
* **List all public locations:** Use the path `GET /v1/locations`.* **List project-visible locations:** Use the path`GET /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or other locations specifically visibleto the project.
Lists information about the supported locations for this service. + *
This method lists locations based on the resource scope provided inthe [ListLocationsRequest.name] field: + *
* **Global locations**: If `name` is empty, the method lists thepublic locations available to all projects. * **Project-specificlocations**: If `name` follows the format`projects/{project}`, the method lists locations visible to thatspecific project. This includes public, private, or otherproject-specific locations enabled for the project. + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. For direct service calls, the resourcename isincorporated into the request path based on the specific serviceimplementation and version.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
** **List all public locations:** Use the path `GET /v1/locations`.* - * **List project-visible locations:** Use the path`GET - * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or - * other locations specifically visibleto the project. + *
This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name] field: + * + *
* **Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. * *
Sample code: * @@ -1166,13 +1175,20 @@ public final ListLocationsPagedResponse listLocations(ListLocationsRequest reque // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists information about the supported locations for this service.This method can be called in - * two ways: + * Lists information about the supported locations for this service. + * + *
This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name] field: * - *
* **List all public locations:** Use the path `GET /v1/locations`.* - * **List project-visible locations:** Use the path`GET - * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or - * other locations specifically visibleto the project. + *
* **Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. * *
Sample code: * @@ -1206,13 +1222,20 @@ public final ListLocationsPagedResponse listLocations(ListLocationsRequest reque // AUTO-GENERATED DOCUMENTATION AND METHOD. /** - * Lists information about the supported locations for this service.This method can be called in - * two ways: + * Lists information about the supported locations for this service. + * + *
This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name] field: + * + *
* **Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. * - *
* **List all public locations:** Use the path `GET /v1/locations`.* - * **List project-visible locations:** Use the path`GET - * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or - * other locations specifically visibleto the project. + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. * *
Sample code: * diff --git a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceClient.java b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceClient.java index 7514ee5e0e3d..f45cd02aadc4 100644 --- a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceClient.java +++ b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceClient.java @@ -234,6 +234,25 @@ *
UpdateIndex
Updates the parameters of a single Index.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
+ *updateIndexAsync(UpdateIndexRequest request) + *
Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.
+ *updateIndexAsync(Index index, FieldMask updateMask) + *
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
+ *updateIndexOperationCallable() + *
updateIndexCallable() + *
DeleteIndex
Deletes a single Index.
ListLocations
Lists information about the supported locations for this service.This method can be called in two ways: - *
* **List all public locations:** Use the path `GET /v1/locations`.* **List project-visible locations:** Use the path`GET /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or other locations specifically visibleto the project.
Lists information about the supported locations for this service. + *
This method lists locations based on the resource scope provided inthe [ListLocationsRequest.name] field: + *
* **Global locations**: If `name` is empty, the method lists thepublic locations available to all projects. * **Project-specificlocations**: If `name` follows the format`projects/{project}`, the method lists locations visible to thatspecific project. This includes public, private, or otherproject-specific locations enabled for the project. + *
For gRPC and client library implementations, the resource name ispassed as the `name` field. For direct service calls, the resourcename isincorporated into the request path based on the specific serviceimplementation and version.
Request object method variants only take one parameter, a request object, which must be constructed before the call.
*Sample code: + * + *
{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (VectorSearchServiceClient vectorSearchServiceClient = VectorSearchServiceClient.create()) {
+ * Index index = Index.newBuilder().build();
+ * FieldMask updateMask = FieldMask.newBuilder().build();
+ * Index response = vectorSearchServiceClient.updateIndexAsync(index, updateMask).get();
+ * }
+ * }
+ *
+ * @param index Required. The resource being updated.
+ * @param updateMask Optional. Specifies the fields to be overwritten in the Index resource by the
+ * update. The fields specified in the update_mask are relative to the resource, not the full
+ * request. A field will be overwritten if it is in the mask. If the user does not provide a
+ * mask then all fields present in the request with non-empty values will be overwritten.
+ * The following fields support update: * `display_name` * `description` * + * `labels` * `dedicated_infrastructure.autoscaling_spec.min_replica_count` * + * `dedicated_infrastructure.autoscaling_spec.max_replica_count` + *
If `*` is provided in the `update_mask`, full replacement of mutable fields will be
+ * performed.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture Sample code:
+ *
+ * Sample code:
+ *
+ * Sample code:
+ *
+ * This method lists locations based on the resource scope provided inthe
+ * [ListLocationsRequest.name] field:
*
- * * **List all public locations:** Use the path `GET /v1/locations`.*
- * **List project-visible locations:** Use the path`GET
- * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or
- * other locations specifically visibleto the project.
+ * * **Global locations**: If `name` is empty, the method lists thepublic
+ * locations available to all projects. * **Project-specificlocations**: If
+ * `name` follows the format`projects/{project}`, the method lists locations visible to
+ * thatspecific project. This includes public, private, or otherproject-specific locations enabled
+ * for the project.
+ *
+ * For gRPC and client library implementations, the resource name ispassed as the `name` field.
+ * For direct service calls, the resourcename isincorporated into the request path based on the
+ * specific serviceimplementation and version.
*
* Sample code:
*
@@ -1997,13 +2155,20 @@ public final ListLocationsPagedResponse listLocations(ListLocationsRequest reque
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists information about the supported locations for this service.This method can be called in
- * two ways:
+ * Lists information about the supported locations for this service.
+ *
+ * This method lists locations based on the resource scope provided inthe
+ * [ListLocationsRequest.name] field:
*
- * * **List all public locations:** Use the path `GET /v1/locations`.*
- * **List project-visible locations:** Use the path`GET
- * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or
- * other locations specifically visibleto the project.
+ * * **Global locations**: If `name` is empty, the method lists thepublic
+ * locations available to all projects. * **Project-specificlocations**: If
+ * `name` follows the format`projects/{project}`, the method lists locations visible to
+ * thatspecific project. This includes public, private, or otherproject-specific locations enabled
+ * for the project.
+ *
+ * For gRPC and client library implementations, the resource name ispassed as the `name` field.
+ * For direct service calls, the resourcename isincorporated into the request path based on the
+ * specific serviceimplementation and version.
*
* Sample code:
*
@@ -2037,13 +2202,20 @@ public final ListLocationsPagedResponse listLocations(ListLocationsRequest reque
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
- * Lists information about the supported locations for this service.This method can be called in
- * two ways:
+ * Lists information about the supported locations for this service.
+ *
+ * This method lists locations based on the resource scope provided inthe
+ * [ListLocationsRequest.name] field:
+ *
+ * * **Global locations**: If `name` is empty, the method lists thepublic
+ * locations available to all projects. * **Project-specificlocations**: If
+ * `name` follows the format`projects/{project}`, the method lists locations visible to
+ * thatspecific project. This includes public, private, or otherproject-specific locations enabled
+ * for the project.
*
- * * **List all public locations:** Use the path `GET /v1/locations`.*
- * **List project-visible locations:** Use the path`GET
- * /v1/projects/{project_id}/locations`. This may include publiclocations as well as private or
- * other locations specifically visibleto the project.
+ * For gRPC and client library implementations, the resource name ispassed as the `name` field.
+ * For direct service calls, the resourcename isincorporated into the request path based on the
+ * specific serviceimplementation and version.
*
* Sample code:
*
diff --git a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceSettings.java b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceSettings.java
index f073834e82eb..ae11ad2e439c 100644
--- a/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceSettings.java
+++ b/java-vectorsearch/google-cloud-vectorsearch/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceSettings.java
@@ -195,6 +195,17 @@ public UnaryCallSettings{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (VectorSearchServiceClient vectorSearchServiceClient = VectorSearchServiceClient.create()) {
+ * UpdateIndexRequest request =
+ * UpdateIndexRequest.newBuilder()
+ * .setIndex(Index.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * Index response = vectorSearchServiceClient.updateIndexAsync(request).get();
+ * }
+ * }
+ *
+ * @param request The request object containing all of the parameters for the API call.
+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
+ */
+ public final OperationFuture{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (VectorSearchServiceClient vectorSearchServiceClient = VectorSearchServiceClient.create()) {
+ * UpdateIndexRequest request =
+ * UpdateIndexRequest.newBuilder()
+ * .setIndex(Index.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * OperationFuture
+ */
+ public final OperationCallable{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (VectorSearchServiceClient vectorSearchServiceClient = VectorSearchServiceClient.create()) {
+ * UpdateIndexRequest request =
+ * UpdateIndexRequest.newBuilder()
+ * .setIndex(Index.newBuilder().build())
+ * .setUpdateMask(FieldMask.newBuilder().build())
+ * .setRequestId("requestId693933066")
+ * .build();
+ * ApiFuture
+ */
+ public final UnaryCallable
+ * Updates the parameters of a single Index.
+ *
+ */
+ default void updateIndex(
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest request,
+ io.grpc.stub.StreamObserver
+ * Updates the parameters of a single Index.
+ *
+ */
+ public void updateIndex(
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest request,
+ io.grpc.stub.StreamObserver
+ * Updates the parameters of a single Index.
+ *
+ */
+ public com.google.longrunning.Operation updateIndex(
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest request)
+ throws io.grpc.StatusException {
+ return io.grpc.stub.ClientCalls.blockingV2UnaryCall(
+ getChannel(), getUpdateIndexMethod(), getCallOptions(), request);
+ }
+
/**
*
*
@@ -1298,6 +1386,19 @@ public com.google.longrunning.Operation createIndex(
getChannel(), getCreateIndexMethod(), getCallOptions(), request);
}
+ /**
+ *
+ *
+ *
+ * Updates the parameters of a single Index.
+ *
+ */
+ public com.google.longrunning.Operation updateIndex(
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest request) {
+ return io.grpc.stub.ClientCalls.blockingUnaryCall(
+ getChannel(), getUpdateIndexMethod(), getCallOptions(), request);
+ }
+
/**
*
*
@@ -1470,6 +1571,19 @@ protected VectorSearchServiceFutureStub build(
getChannel().newCall(getCreateIndexMethod(), getCallOptions()), request);
}
+ /**
+ *
+ *
+ *
+ * Updates the parameters of a single Index.
+ *
+ */
+ public com.google.common.util.concurrent.ListenableFuture.google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -685,6 +687,8 @@ public boolean hasDataSchema() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -704,6 +708,8 @@ public com.google.protobuf.Struct getDataSchema() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
*
*
* @deprecated google.cloud.vectorsearch.v1beta.Collection.schema is deprecated. See
- * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=206
+ * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=220
* @return The schema.
*/
@java.lang.Deprecated
@@ -2761,6 +2867,8 @@ public com.google.cloud.vectorsearch.v1beta.VectorField.Builder putVectorSchemaB
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -714,6 +720,71 @@ public com.google.protobuf.StructOrBuilder getDataSchemaOrBuilder() {
return dataSchema_ == null ? com.google.protobuf.Struct.getDefaultInstance() : dataSchema_;
}
+ public static final int ENCRYPTION_SPEC_FIELD_NUMBER = 11;
+ private com.google.cloud.vectorsearch.v1beta.EncryptionSpec encryptionSpec_;
+
+ /**
+ *
+ *
+ *
*
* @deprecated google.cloud.vectorsearch.v1beta.Collection.schema is deprecated. See
- * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=206
+ * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=220
* @return Whether the schema field is set.
*/
@java.lang.Deprecated
@@ -2287,7 +2393,7 @@ public boolean hasSchema() {
*
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the encryptionSpec field is set.
+ */
+ @java.lang.Override
+ public boolean hasEncryptionSpec() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The encryptionSpec.
+ */
+ @java.lang.Override
+ public com.google.cloud.vectorsearch.v1beta.EncryptionSpec getEncryptionSpec() {
+ return encryptionSpec_ == null
+ ? com.google.cloud.vectorsearch.v1beta.EncryptionSpec.getDefaultInstance()
+ : encryptionSpec_;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.vectorsearch.v1beta.EncryptionSpecOrBuilder getEncryptionSpecOrBuilder() {
+ return encryptionSpec_ == null
+ ? com.google.cloud.vectorsearch.v1beta.EncryptionSpec.getDefaultInstance()
+ : encryptionSpec_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -753,6 +824,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (((bitField0_ & 0x00000008) != 0)) {
output.writeMessage(10, getDataSchema());
}
+ if (((bitField0_ & 0x00000010) != 0)) {
+ output.writeMessage(11, getEncryptionSpec());
+ }
getUnknownFields().writeTo(output);
}
@@ -805,6 +879,9 @@ public int getSerializedSize() {
if (((bitField0_ & 0x00000008) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getDataSchema());
}
+ if (((bitField0_ & 0x00000010) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getEncryptionSpec());
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -842,6 +919,10 @@ public boolean equals(final java.lang.Object obj) {
if (hasDataSchema()) {
if (!getDataSchema().equals(other.getDataSchema())) return false;
}
+ if (hasEncryptionSpec() != other.hasEncryptionSpec()) return false;
+ if (hasEncryptionSpec()) {
+ if (!getEncryptionSpec().equals(other.getEncryptionSpec())) return false;
+ }
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -883,6 +964,10 @@ public int hashCode() {
hash = (37 * hash) + DATA_SCHEMA_FIELD_NUMBER;
hash = (53 * hash) + getDataSchema().hashCode();
}
+ if (hasEncryptionSpec()) {
+ hash = (37 * hash) + ENCRYPTION_SPEC_FIELD_NUMBER;
+ hash = (53 * hash) + getEncryptionSpec().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -1054,6 +1139,7 @@ private void maybeForceBuilderInitialization() {
internalGetUpdateTimeFieldBuilder();
internalGetSchemaFieldBuilder();
internalGetDataSchemaFieldBuilder();
+ internalGetEncryptionSpecFieldBuilder();
}
}
@@ -1086,6 +1172,11 @@ public Builder clear() {
dataSchemaBuilder_.dispose();
dataSchemaBuilder_ = null;
}
+ encryptionSpec_ = null;
+ if (encryptionSpecBuilder_ != null) {
+ encryptionSpecBuilder_.dispose();
+ encryptionSpecBuilder_ = null;
+ }
return this;
}
@@ -1156,6 +1247,11 @@ private void buildPartial0(com.google.cloud.vectorsearch.v1beta.Collection resul
result.dataSchema_ = dataSchemaBuilder_ == null ? dataSchema_ : dataSchemaBuilder_.build();
to_bitField0_ |= 0x00000008;
}
+ if (((from_bitField0_ & 0x00000200) != 0)) {
+ result.encryptionSpec_ =
+ encryptionSpecBuilder_ == null ? encryptionSpec_ : encryptionSpecBuilder_.build();
+ to_bitField0_ |= 0x00000010;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -1203,6 +1299,9 @@ public Builder mergeFrom(com.google.cloud.vectorsearch.v1beta.Collection other)
if (other.hasDataSchema()) {
mergeDataSchema(other.getDataSchema());
}
+ if (other.hasEncryptionSpec()) {
+ mergeEncryptionSpec(other.getEncryptionSpec());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -1300,6 +1399,13 @@ public Builder mergeFrom(
bitField0_ |= 0x00000100;
break;
} // case 82
+ case 90:
+ {
+ input.readMessage(
+ internalGetEncryptionSpecFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000200;
+ break;
+ } // case 90
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -2267,7 +2373,7 @@ public Builder putAllLabels(java.util.Map.google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2779,6 +2887,8 @@ public boolean hasDataSchema() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2801,6 +2911,8 @@ public com.google.protobuf.Struct getDataSchema() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2827,6 +2939,8 @@ public Builder setDataSchema(com.google.protobuf.Struct value) {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2850,6 +2964,8 @@ public Builder setDataSchema(com.google.protobuf.Struct.Builder builderForValue)
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2881,6 +2997,8 @@ public Builder mergeDataSchema(com.google.protobuf.Struct value) {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2904,6 +3022,8 @@ public Builder clearDataSchema() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2922,6 +3042,8 @@ public com.google.protobuf.Struct.Builder getDataSchemaBuilder() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2942,6 +3064,8 @@ public com.google.protobuf.StructOrBuilder getDataSchemaOrBuilder() {
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
*
*
* @deprecated google.cloud.vectorsearch.v1beta.Collection.schema is deprecated. See
- * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=206
+ * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=220
* @return The schema.
*/
@java.lang.Deprecated
@@ -389,6 +389,8 @@ com.google.cloud.vectorsearch.v1beta.VectorField getVectorSchemaOrDefault(
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -2964,6 +3088,239 @@ public com.google.protobuf.StructOrBuilder getDataSchemaOrBuilder() {
return dataSchemaBuilder_;
}
+ private com.google.cloud.vectorsearch.v1beta.EncryptionSpec encryptionSpec_;
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec.Builder,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpecOrBuilder>
+ encryptionSpecBuilder_;
+
+ /**
+ *
+ *
+ *
*
* @deprecated google.cloud.vectorsearch.v1beta.Collection.schema is deprecated. See
- * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=206
+ * google/cloud/vectorsearch/v1beta/vectorsearch_service.proto;l=220
* @return Whether the schema field is set.
*/
@java.lang.Deprecated
@@ -277,7 +277,7 @@ java.lang.String getLabelsOrDefault(
*
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the encryptionSpec field is set.
+ */
+ public boolean hasEncryptionSpec() {
+ return ((bitField0_ & 0x00000200) != 0);
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The encryptionSpec.
+ */
+ public com.google.cloud.vectorsearch.v1beta.EncryptionSpec getEncryptionSpec() {
+ if (encryptionSpecBuilder_ == null) {
+ return encryptionSpec_ == null
+ ? com.google.cloud.vectorsearch.v1beta.EncryptionSpec.getDefaultInstance()
+ : encryptionSpec_;
+ } else {
+ return encryptionSpecBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setEncryptionSpec(com.google.cloud.vectorsearch.v1beta.EncryptionSpec value) {
+ if (encryptionSpecBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ encryptionSpec_ = value;
+ } else {
+ encryptionSpecBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000200;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setEncryptionSpec(
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec.Builder builderForValue) {
+ if (encryptionSpecBuilder_ == null) {
+ encryptionSpec_ = builderForValue.build();
+ } else {
+ encryptionSpecBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000200;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder mergeEncryptionSpec(com.google.cloud.vectorsearch.v1beta.EncryptionSpec value) {
+ if (encryptionSpecBuilder_ == null) {
+ if (((bitField0_ & 0x00000200) != 0)
+ && encryptionSpec_ != null
+ && encryptionSpec_
+ != com.google.cloud.vectorsearch.v1beta.EncryptionSpec.getDefaultInstance()) {
+ getEncryptionSpecBuilder().mergeFrom(value);
+ } else {
+ encryptionSpec_ = value;
+ }
+ } else {
+ encryptionSpecBuilder_.mergeFrom(value);
+ }
+ if (encryptionSpec_ != null) {
+ bitField0_ |= 0x00000200;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearEncryptionSpec() {
+ bitField0_ = (bitField0_ & ~0x00000200);
+ encryptionSpec_ = null;
+ if (encryptionSpecBuilder_ != null) {
+ encryptionSpecBuilder_.dispose();
+ encryptionSpecBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.vectorsearch.v1beta.EncryptionSpec.Builder getEncryptionSpecBuilder() {
+ bitField0_ |= 0x00000200;
+ onChanged();
+ return internalGetEncryptionSpecFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.cloud.vectorsearch.v1beta.EncryptionSpecOrBuilder
+ getEncryptionSpecOrBuilder() {
+ if (encryptionSpecBuilder_ != null) {
+ return encryptionSpecBuilder_.getMessageOrBuilder();
+ } else {
+ return encryptionSpec_ == null
+ ? com.google.cloud.vectorsearch.v1beta.EncryptionSpec.getDefaultInstance()
+ : encryptionSpec_;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec.Builder,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpecOrBuilder>
+ internalGetEncryptionSpecFieldBuilder() {
+ if (encryptionSpecBuilder_ == null) {
+ encryptionSpecBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec.Builder,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpecOrBuilder>(
+ getEncryptionSpec(), getParentForChildren(), isClean());
+ encryptionSpec_ = null;
+ }
+ return encryptionSpecBuilder_;
+ }
+
// @@protoc_insertion_point(builder_scope:google.cloud.vectorsearch.v1beta.Collection)
}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/CollectionOrBuilder.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/CollectionOrBuilder.java
index fac1d319a1eb..f3673bbc78e7 100644
--- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/CollectionOrBuilder.java
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/CollectionOrBuilder.java
@@ -259,7 +259,7 @@ java.lang.String getLabelsOrDefault(
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -405,6 +407,8 @@ com.google.cloud.vectorsearch.v1beta.VectorField getVectorSchemaOrDefault(
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
@@ -421,10 +425,61 @@ com.google.cloud.vectorsearch.v1beta.VectorField getVectorSchemaOrDefault(
* Optional. JSON Schema for data.
* Field names must contain only alphanumeric characters,
* underscores, and hyphens.
+ * The schema must be compliant with
+ * [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
*
*
* .google.protobuf.Struct data_schema = 10 [(.google.api.field_behavior) = OPTIONAL];
*
*/
com.google.protobuf.StructOrBuilder getDataSchemaOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the encryptionSpec field is set.
+ */
+ boolean hasEncryptionSpec();
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The encryptionSpec.
+ */
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec getEncryptionSpec();
+
+ /**
+ *
+ *
+ *
+ * Optional. Immutable. Specifies the customer-managed encryption key spec for
+ * a Collection. If set, this Collection and all sub-resources of this
+ * Collection will be secured by this key.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.EncryptionSpec encryption_spec = 11 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpecOrBuilder getEncryptionSpecOrBuilder();
}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/DedicatedInfrastructure.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/DedicatedInfrastructure.java
index 1c94aa3a04ec..6d4c5bf636e4 100644
--- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/DedicatedInfrastructure.java
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/DedicatedInfrastructure.java
@@ -251,7 +251,7 @@ public interface AutoscalingSpecOrBuilder
*
*
* Optional. The minimum number of replicas. If not set or set to `0`,
- * defaults to `2`. Must be >= `2` and <= `1000`.
+ * defaults to `2`. Must be >= `1` and <= `1000`.
*
*
* int32 min_replica_count = 1 [(.google.api.field_behavior) = OPTIONAL];
@@ -264,9 +264,12 @@ public interface AutoscalingSpecOrBuilder
*
*
*
- * Optional. The maximum number of replicas. If not set or set to `0`,
- * defaults to the greater of `min_replica_count` and `5`. Must be >=
+ * Optional. The maximum number of replicas. Must be >=
* `min_replica_count` and <= `1000`.
+ * For the v1beta version, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `5`.
+ * For all other versions, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `2`.
*
*
* int32 max_replica_count = 2 [(.google.api.field_behavior) = OPTIONAL];
@@ -332,7 +335,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
*
* Optional. The minimum number of replicas. If not set or set to `0`,
- * defaults to `2`. Must be >= `2` and <= `1000`.
+ * defaults to `2`. Must be >= `1` and <= `1000`.
*
*
* int32 min_replica_count = 1 [(.google.api.field_behavior) = OPTIONAL];
@@ -351,9 +354,12 @@ public int getMinReplicaCount() {
*
*
*
- * Optional. The maximum number of replicas. If not set or set to `0`,
- * defaults to the greater of `min_replica_count` and `5`. Must be >=
+ * Optional. The maximum number of replicas. Must be >=
* `min_replica_count` and <= `1000`.
+ * For the v1beta version, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `5`.
+ * For all other versions, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `2`.
*
*
* int32 max_replica_count = 2 [(.google.api.field_behavior) = OPTIONAL];
@@ -724,7 +730,7 @@ public Builder mergeFrom(
*
*
* Optional. The minimum number of replicas. If not set or set to `0`,
- * defaults to `2`. Must be >= `2` and <= `1000`.
+ * defaults to `2`. Must be >= `1` and <= `1000`.
*
*
* int32 min_replica_count = 1 [(.google.api.field_behavior) = OPTIONAL];
@@ -741,7 +747,7 @@ public int getMinReplicaCount() {
*
*
* Optional. The minimum number of replicas. If not set or set to `0`,
- * defaults to `2`. Must be >= `2` and <= `1000`.
+ * defaults to `2`. Must be >= `1` and <= `1000`.
*
*
* int32 min_replica_count = 1 [(.google.api.field_behavior) = OPTIONAL];
@@ -762,7 +768,7 @@ public Builder setMinReplicaCount(int value) {
*
*
* Optional. The minimum number of replicas. If not set or set to `0`,
- * defaults to `2`. Must be >= `2` and <= `1000`.
+ * defaults to `2`. Must be >= `1` and <= `1000`.
*
*
* int32 min_replica_count = 1 [(.google.api.field_behavior) = OPTIONAL];
@@ -782,9 +788,12 @@ public Builder clearMinReplicaCount() {
*
*
*
- * Optional. The maximum number of replicas. If not set or set to `0`,
- * defaults to the greater of `min_replica_count` and `5`. Must be >=
+ * Optional. The maximum number of replicas. Must be >=
* `min_replica_count` and <= `1000`.
+ * For the v1beta version, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `5`.
+ * For all other versions, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `2`.
*
*
* int32 max_replica_count = 2 [(.google.api.field_behavior) = OPTIONAL];
@@ -800,9 +809,12 @@ public int getMaxReplicaCount() {
*
*
*
- * Optional. The maximum number of replicas. If not set or set to `0`,
- * defaults to the greater of `min_replica_count` and `5`. Must be >=
+ * Optional. The maximum number of replicas. Must be >=
* `min_replica_count` and <= `1000`.
+ * For the v1beta version, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `5`.
+ * For all other versions, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `2`.
*
*
* int32 max_replica_count = 2 [(.google.api.field_behavior) = OPTIONAL];
@@ -822,9 +834,12 @@ public Builder setMaxReplicaCount(int value) {
*
*
*
- * Optional. The maximum number of replicas. If not set or set to `0`,
- * defaults to the greater of `min_replica_count` and `5`. Must be >=
+ * Optional. The maximum number of replicas. Must be >=
* `min_replica_count` and <= `1000`.
+ * For the v1beta version, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `5`.
+ * For all other versions, if not set or set to `0`, defaults to
+ * the greater of `min_replica_count` and `2`.
*
*
* int32 max_replica_count = 2 [(.google.api.field_behavior) = OPTIONAL];
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/EncryptionSpec.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/EncryptionSpec.java
new file mode 100644
index 000000000000..306c70e2376d
--- /dev/null
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/EncryptionSpec.java
@@ -0,0 +1,640 @@
+/*
+ * Copyright 2026 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!
+// NO CHECKED-IN PROTOBUF GENCODE
+// source: google/cloud/vectorsearch/v1beta/encryption_spec.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.cloud.vectorsearch.v1beta;
+
+/**
+ *
+ *
+ *
+ * Represents a customer-managed encryption key specification that can be
+ * applied to a Vector Search collection.
+ *
+ *
+ * Protobuf type {@code google.cloud.vectorsearch.v1beta.EncryptionSpec}
+ */
+@com.google.protobuf.Generated
+public final class EncryptionSpec extends com.google.protobuf.GeneratedMessage
+ implements
+ // @@protoc_insertion_point(message_implements:google.cloud.vectorsearch.v1beta.EncryptionSpec)
+ EncryptionSpecOrBuilder {
+ private static final long serialVersionUID = 0L;
+
+ static {
+ com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+ com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+ /* major= */ 4,
+ /* minor= */ 33,
+ /* patch= */ 2,
+ /* suffix= */ "",
+ "EncryptionSpec");
+ }
+
+ // Use EncryptionSpec.newBuilder() to construct.
+ private EncryptionSpec(com.google.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ }
+
+ private EncryptionSpec() {
+ cryptoKeyName_ = "";
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.vectorsearch.v1beta.EncryptionSpecProto
+ .internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.vectorsearch.v1beta.EncryptionSpecProto
+ .internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec.class,
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec.Builder.class);
+ }
+
+ public static final int CRYPTO_KEY_NAME_FIELD_NUMBER = 1;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object cryptoKeyName_ = "";
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return The cryptoKeyName.
+ */
+ @java.lang.Override
+ public java.lang.String getCryptoKeyName() {
+ java.lang.Object ref = cryptoKeyName_;
+ 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();
+ cryptoKeyName_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return The bytes for cryptoKeyName.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getCryptoKeyNameBytes() {
+ java.lang.Object ref = cryptoKeyName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ cryptoKeyName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(cryptoKeyName_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 1, cryptoKeyName_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(cryptoKeyName_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(1, cryptoKeyName_);
+ }
+ 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.vectorsearch.v1beta.EncryptionSpec)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpec other =
+ (com.google.cloud.vectorsearch.v1beta.EncryptionSpec) obj;
+
+ if (!getCryptoKeyName().equals(other.getCryptoKeyName())) 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) + CRYPTO_KEY_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getCryptoKeyName().hashCode();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec 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.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec 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.vectorsearch.v1beta.EncryptionSpec parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.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.vectorsearch.v1beta.EncryptionSpec 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.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+
+ /**
+ *
+ *
+ *
+ * Represents a customer-managed encryption key specification that can be
+ * applied to a Vector Search collection.
+ *
+ *
+ * Protobuf type {@code google.cloud.vectorsearch.v1beta.EncryptionSpec}
+ */
+ public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return The cryptoKeyName.
+ */
+ public java.lang.String getCryptoKeyName() {
+ java.lang.Object ref = cryptoKeyName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ cryptoKeyName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return The bytes for cryptoKeyName.
+ */
+ public com.google.protobuf.ByteString getCryptoKeyNameBytes() {
+ java.lang.Object ref = cryptoKeyName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ cryptoKeyName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @param value The cryptoKeyName to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCryptoKeyName(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ cryptoKeyName_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearCryptoKeyName() {
+ cryptoKeyName_ = getDefaultInstance().getCryptoKeyName();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @param value The bytes for cryptoKeyName to set.
+ * @return This builder for chaining.
+ */
+ public Builder setCryptoKeyNameBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ cryptoKeyName_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.vectorsearch.v1beta.EncryptionSpec)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.vectorsearch.v1beta.EncryptionSpec)
+ private static final com.google.cloud.vectorsearch.v1beta.EncryptionSpec DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.vectorsearch.v1beta.EncryptionSpec();
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.EncryptionSpec getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return The cryptoKeyName.
+ */
+ java.lang.String getCryptoKeyName();
+
+ /**
+ *
+ *
+ *
+ * Required. Resource name of the Cloud KMS key used to protect the resource.
+ *
+ * The Cloud KMS key must be in the same region as the resource. It must have
+ * the format
+ * `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ *
+ *
+ *
+ * string crypto_key_name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
+ *
+ *
+ * @return The bytes for cryptoKeyName.
+ */
+ com.google.protobuf.ByteString getCryptoKeyNameBytes();
+}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/EncryptionSpecProto.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/EncryptionSpecProto.java
new file mode 100644
index 000000000000..cd09d6812799
--- /dev/null
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/EncryptionSpecProto.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2026 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!
+// NO CHECKED-IN PROTOBUF GENCODE
+// source: google/cloud/vectorsearch/v1beta/encryption_spec.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.cloud.vectorsearch.v1beta;
+
+@com.google.protobuf.Generated
+public final class EncryptionSpecProto extends com.google.protobuf.GeneratedFile {
+ private EncryptionSpecProto() {}
+
+ static {
+ com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+ com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+ /* major= */ 4,
+ /* minor= */ 33,
+ /* patch= */ 2,
+ /* suffix= */ "",
+ "EncryptionSpecProto");
+ }
+
+ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
+
+ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_descriptor;
+ static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ return descriptor;
+ }
+
+ private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
+
+ static {
+ java.lang.String[] descriptorData = {
+ "\n6google/cloud/vectorsearch/v1beta/encry"
+ + "ption_spec.proto\022 google.cloud.vectorsea"
+ + "rch.v1beta\032\037google/api/field_behavior.pr"
+ + "oto\032\031google/api/resource.proto\"T\n\016Encryp"
+ + "tionSpec\022B\n\017crypto_key_name\030\001 \001(\tB)\340A\002\372A"
+ + "#\n!cloudkms.googleapis.com/CryptoKeyB\356\002\n"
+ + "$com.google.cloud.vectorsearch.v1betaB\023E"
+ + "ncryptionSpecProtoP\001ZHcloud.google.com/g"
+ + "o/vectorsearch/apiv1beta/vectorsearchpb;"
+ + "vectorsearchpb\252\002 Google.Cloud.VectorSear"
+ + "ch.V1Beta\312\002 Google\\Cloud\\VectorSearch\\V1"
+ + "beta\352\002#Google::Cloud::VectorSearch::V1be"
+ + "ta\352Ax\n!cloudkms.googleapis.com/CryptoKey"
+ + "\022Sprojects/{project}/locations/{location"
+ + "}/keyRings/{key_ring}/cryptoKeys/{crypto"
+ + "_key}b\006proto3"
+ };
+ descriptor =
+ com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
+ descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.FieldBehaviorProto.getDescriptor(),
+ com.google.api.ResourceProto.getDescriptor(),
+ });
+ internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_descriptor =
+ getDescriptor().getMessageType(0);
+ internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_google_cloud_vectorsearch_v1beta_EncryptionSpec_descriptor,
+ new java.lang.String[] {
+ "CryptoKeyName",
+ });
+ descriptor.resolveAllFeaturesImmutable();
+ com.google.api.FieldBehaviorProto.getDescriptor();
+ com.google.api.ResourceProto.getDescriptor();
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
+ registry.add(com.google.api.ResourceProto.resourceDefinition);
+ registry.add(com.google.api.ResourceProto.resourceReference);
+ com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
+ descriptor, registry);
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/ExportDataObjectsRequest.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/ExportDataObjectsRequest.java
index 0b95e10077d0..0a9ad7b4f4a4 100644
--- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/ExportDataObjectsRequest.java
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/ExportDataObjectsRequest.java
@@ -214,12 +214,23 @@ public enum Format implements com.google.protobuf.ProtocolMessageEnum {
*
*
*
- * The exported Data Objects will be in JSON format.
+ * Deprecated: Exports Data Objects in `JSON` format. Use `JSONL` instead.
*
*
- * JSON = 1;
+ * JSON = 1 [deprecated = true];
*/
+ @java.lang.Deprecated
JSON(1),
+ /**
+ *
+ *
+ *
+ * Exports Data Objects in `JSONL` format.
+ *
+ *
+ * JSONL = 2;
+ */
+ JSONL(2),
UNRECOGNIZED(-1),
;
@@ -248,12 +259,23 @@ public enum Format implements com.google.protobuf.ProtocolMessageEnum {
*
*
*
- * The exported Data Objects will be in JSON format.
+ * Deprecated: Exports Data Objects in `JSON` format. Use `JSONL` instead.
+ *
+ *
+ * JSON = 1 [deprecated = true];
+ */
+ @java.lang.Deprecated public static final int JSON_VALUE = 1;
+
+ /**
+ *
+ *
+ *
+ * Exports Data Objects in `JSONL` format.
*
*
- * JSON = 1;
+ * JSONL = 2;
*/
- public static final int JSON_VALUE = 1;
+ public static final int JSONL_VALUE = 2;
public final int getNumber() {
if (this == UNRECOGNIZED) {
@@ -283,6 +305,8 @@ public static Format forNumber(int value) {
return FORMAT_UNSPECIFIED;
case 1:
return JSON;
+ case 2:
+ return JSONL;
default:
return null;
}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/UpdateIndexRequest.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/UpdateIndexRequest.java
new file mode 100644
index 000000000000..798b0447b3cd
--- /dev/null
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/UpdateIndexRequest.java
@@ -0,0 +1,1467 @@
+/*
+ * Copyright 2026 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!
+// NO CHECKED-IN PROTOBUF GENCODE
+// source: google/cloud/vectorsearch/v1beta/vectorsearch_service.proto
+// Protobuf Java Version: 4.33.2
+
+package com.google.cloud.vectorsearch.v1beta;
+
+/**
+ *
+ *
+ *
+ * Message for updating an Index.
+ *
+ *
+ * Protobuf type {@code google.cloud.vectorsearch.v1beta.UpdateIndexRequest}
+ */
+@com.google.protobuf.Generated
+public final class UpdateIndexRequest extends com.google.protobuf.GeneratedMessage
+ implements
+ // @@protoc_insertion_point(message_implements:google.cloud.vectorsearch.v1beta.UpdateIndexRequest)
+ UpdateIndexRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+
+ static {
+ com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
+ com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+ /* major= */ 4,
+ /* minor= */ 33,
+ /* patch= */ 2,
+ /* suffix= */ "",
+ "UpdateIndexRequest");
+ }
+
+ // Use UpdateIndexRequest.newBuilder() to construct.
+ private UpdateIndexRequest(com.google.protobuf.GeneratedMessage.Builder> builder) {
+ super(builder);
+ }
+
+ private UpdateIndexRequest() {
+ requestId_ = "";
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.cloud.vectorsearch.v1beta.VectorSearchServiceProto
+ .internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.cloud.vectorsearch.v1beta.VectorSearchServiceProto
+ .internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest.class,
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int INDEX_FIELD_NUMBER = 1;
+ private com.google.cloud.vectorsearch.v1beta.Index index_;
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ *
+ * @return Whether the index field is set.
+ */
+ @java.lang.Override
+ public boolean hasIndex() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ *
+ * @return The index.
+ */
+ @java.lang.Override
+ public com.google.cloud.vectorsearch.v1beta.Index getIndex() {
+ return index_ == null
+ ? com.google.cloud.vectorsearch.v1beta.Index.getDefaultInstance()
+ : index_;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ @java.lang.Override
+ public com.google.cloud.vectorsearch.v1beta.IndexOrBuilder getIndexOrBuilder() {
+ return index_ == null
+ ? com.google.cloud.vectorsearch.v1beta.Index.getDefaultInstance()
+ : index_;
+ }
+
+ public static final int UPDATE_MASK_FIELD_NUMBER = 2;
+ private com.google.protobuf.FieldMask updateMask_;
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the updateMask field is set.
+ */
+ @java.lang.Override
+ public boolean hasUpdateMask() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The updateMask.
+ */
+ @java.lang.Override
+ public com.google.protobuf.FieldMask getUpdateMask() {
+ return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ @java.lang.Override
+ public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
+ return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
+ }
+
+ public static final int REQUEST_ID_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object requestId_ = "";
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return The requestId.
+ */
+ @java.lang.Override
+ public java.lang.String getRequestId() {
+ java.lang.Object ref = requestId_;
+ 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();
+ requestId_ = s;
+ return s;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return The bytes for requestId.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getRequestIdBytes() {
+ java.lang.Object ref = requestId_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ requestId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(1, getIndex());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeMessage(2, getUpdateMask());
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) {
+ com.google.protobuf.GeneratedMessage.writeString(output, 3, requestId_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getIndex());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getUpdateMask());
+ }
+ if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) {
+ size += com.google.protobuf.GeneratedMessage.computeStringSize(3, requestId_);
+ }
+ 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.vectorsearch.v1beta.UpdateIndexRequest)) {
+ return super.equals(obj);
+ }
+ com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest other =
+ (com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest) obj;
+
+ if (hasIndex() != other.hasIndex()) return false;
+ if (hasIndex()) {
+ if (!getIndex().equals(other.getIndex())) return false;
+ }
+ if (hasUpdateMask() != other.hasUpdateMask()) return false;
+ if (hasUpdateMask()) {
+ if (!getUpdateMask().equals(other.getUpdateMask())) return false;
+ }
+ if (!getRequestId().equals(other.getRequestId())) 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 (hasIndex()) {
+ hash = (37 * hash) + INDEX_FIELD_NUMBER;
+ hash = (53 * hash) + getIndex().hashCode();
+ }
+ if (hasUpdateMask()) {
+ hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER;
+ hash = (53 * hash) + getUpdateMask().hashCode();
+ }
+ hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER;
+ hash = (53 * hash) + getRequestId().hashCode();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest 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.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest 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.vectorsearch.v1beta.UpdateIndexRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessage.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.vectorsearch.v1beta.UpdateIndexRequest 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.GeneratedMessage.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+
+ /**
+ *
+ *
+ *
+ * Message for updating an Index.
+ *
+ *
+ * Protobuf type {@code google.cloud.vectorsearch.v1beta.UpdateIndexRequest}
+ */
+ public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ *
+ * @return Whether the index field is set.
+ */
+ public boolean hasIndex() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ *
+ * @return The index.
+ */
+ public com.google.cloud.vectorsearch.v1beta.Index getIndex() {
+ if (indexBuilder_ == null) {
+ return index_ == null
+ ? com.google.cloud.vectorsearch.v1beta.Index.getDefaultInstance()
+ : index_;
+ } else {
+ return indexBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ public Builder setIndex(com.google.cloud.vectorsearch.v1beta.Index value) {
+ if (indexBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ index_ = value;
+ } else {
+ indexBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ public Builder setIndex(com.google.cloud.vectorsearch.v1beta.Index.Builder builderForValue) {
+ if (indexBuilder_ == null) {
+ index_ = builderForValue.build();
+ } else {
+ indexBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ public Builder mergeIndex(com.google.cloud.vectorsearch.v1beta.Index value) {
+ if (indexBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && index_ != null
+ && index_ != com.google.cloud.vectorsearch.v1beta.Index.getDefaultInstance()) {
+ getIndexBuilder().mergeFrom(value);
+ } else {
+ index_ = value;
+ }
+ } else {
+ indexBuilder_.mergeFrom(value);
+ }
+ if (index_ != null) {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ public Builder clearIndex() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ index_ = null;
+ if (indexBuilder_ != null) {
+ indexBuilder_.dispose();
+ indexBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ public com.google.cloud.vectorsearch.v1beta.Index.Builder getIndexBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return internalGetIndexFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ public com.google.cloud.vectorsearch.v1beta.IndexOrBuilder getIndexOrBuilder() {
+ if (indexBuilder_ != null) {
+ return indexBuilder_.getMessageOrBuilder();
+ } else {
+ return index_ == null
+ ? com.google.cloud.vectorsearch.v1beta.Index.getDefaultInstance()
+ : index_;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.cloud.vectorsearch.v1beta.Index,
+ com.google.cloud.vectorsearch.v1beta.Index.Builder,
+ com.google.cloud.vectorsearch.v1beta.IndexOrBuilder>
+ internalGetIndexFieldBuilder() {
+ if (indexBuilder_ == null) {
+ indexBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.cloud.vectorsearch.v1beta.Index,
+ com.google.cloud.vectorsearch.v1beta.Index.Builder,
+ com.google.cloud.vectorsearch.v1beta.IndexOrBuilder>(
+ getIndex(), getParentForChildren(), isClean());
+ index_ = null;
+ }
+ return indexBuilder_;
+ }
+
+ private com.google.protobuf.FieldMask updateMask_;
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.protobuf.FieldMask,
+ com.google.protobuf.FieldMask.Builder,
+ com.google.protobuf.FieldMaskOrBuilder>
+ updateMaskBuilder_;
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the updateMask field is set.
+ */
+ public boolean hasUpdateMask() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The updateMask.
+ */
+ public com.google.protobuf.FieldMask getUpdateMask() {
+ if (updateMaskBuilder_ == null) {
+ return updateMask_ == null
+ ? com.google.protobuf.FieldMask.getDefaultInstance()
+ : updateMask_;
+ } else {
+ return updateMaskBuilder_.getMessage();
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setUpdateMask(com.google.protobuf.FieldMask value) {
+ if (updateMaskBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ updateMask_ = value;
+ } else {
+ updateMaskBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) {
+ if (updateMaskBuilder_ == null) {
+ updateMask_ = builderForValue.build();
+ } else {
+ updateMaskBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) {
+ if (updateMaskBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0)
+ && updateMask_ != null
+ && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) {
+ getUpdateMaskBuilder().mergeFrom(value);
+ } else {
+ updateMask_ = value;
+ }
+ } else {
+ updateMaskBuilder_.mergeFrom(value);
+ }
+ if (updateMask_ != null) {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearUpdateMask() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ updateMask_ = null;
+ if (updateMaskBuilder_ != null) {
+ updateMaskBuilder_.dispose();
+ updateMaskBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return internalGetUpdateMaskFieldBuilder().getBuilder();
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
+ if (updateMaskBuilder_ != null) {
+ return updateMaskBuilder_.getMessageOrBuilder();
+ } else {
+ return updateMask_ == null
+ ? com.google.protobuf.FieldMask.getDefaultInstance()
+ : updateMask_;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilder<
+ com.google.protobuf.FieldMask,
+ com.google.protobuf.FieldMask.Builder,
+ com.google.protobuf.FieldMaskOrBuilder>
+ internalGetUpdateMaskFieldBuilder() {
+ if (updateMaskBuilder_ == null) {
+ updateMaskBuilder_ =
+ new com.google.protobuf.SingleFieldBuilder<
+ com.google.protobuf.FieldMask,
+ com.google.protobuf.FieldMask.Builder,
+ com.google.protobuf.FieldMaskOrBuilder>(
+ getUpdateMask(), getParentForChildren(), isClean());
+ updateMask_ = null;
+ }
+ return updateMaskBuilder_;
+ }
+
+ private java.lang.Object requestId_ = "";
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return The requestId.
+ */
+ public java.lang.String getRequestId() {
+ java.lang.Object ref = requestId_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ requestId_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return The bytes for requestId.
+ */
+ public com.google.protobuf.ByteString getRequestIdBytes() {
+ java.lang.Object ref = requestId_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ requestId_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @param value The requestId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRequestId(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ requestId_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearRequestId() {
+ requestId_ = getDefaultInstance().getRequestId();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @param value The bytes for requestId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRequestIdBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ requestId_ = value;
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.cloud.vectorsearch.v1beta.UpdateIndexRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.cloud.vectorsearch.v1beta.UpdateIndexRequest)
+ private static final com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest();
+ }
+
+ public static com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ *
+ * @return Whether the index field is set.
+ */
+ boolean hasIndex();
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ *
+ * @return The index.
+ */
+ com.google.cloud.vectorsearch.v1beta.Index getIndex();
+
+ /**
+ *
+ *
+ *
+ * Required. The resource being updated.
+ *
+ *
+ *
+ * .google.cloud.vectorsearch.v1beta.Index index = 1 [(.google.api.field_behavior) = REQUIRED];
+ *
+ */
+ com.google.cloud.vectorsearch.v1beta.IndexOrBuilder getIndexOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the updateMask field is set.
+ */
+ boolean hasUpdateMask();
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The updateMask.
+ */
+ com.google.protobuf.FieldMask getUpdateMask();
+
+ /**
+ *
+ *
+ *
+ * Optional. Specifies the fields to be overwritten in the Index resource by
+ * the update. The fields specified in the update_mask are relative to the
+ * resource, not the full request. A field will be overwritten if it is in the
+ * mask. If the user does not provide a mask then all fields present in the
+ * request with non-empty values will be overwritten.
+ *
+ * The following fields support update:
+ * * `display_name`
+ * * `description`
+ * * `labels`
+ * * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ * * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ *
+ * If `*` is provided in the `update_mask`, full replacement of mutable fields
+ * will be performed.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return The requestId.
+ */
+ java.lang.String getRequestId();
+
+ /**
+ *
+ *
+ *
+ * Optional. An optional request ID to identify requests. Specify a unique
+ * request ID so that if you must retry your request, the server will know to
+ * ignore the request if it has already been completed. The server will
+ * guarantee that for at least 60 minutes since the first request.
+ *
+ * For example, consider a situation where you make an initial request and the
+ * request times out. If you make the request again with the same request
+ * ID, the server can check if original operation with the same request ID
+ * was received, and if so, will ignore the second request. This prevents
+ * clients from accidentally creating duplicate commitments.
+ *
+ * The request ID must be a valid UUID with the exception that zero UUID is
+ * not supported (00000000-0000-0000-0000-000000000000).
+ *
+ *
+ *
+ * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... }
+ *
+ *
+ * @return The bytes for requestId.
+ */
+ com.google.protobuf.ByteString getRequestIdBytes();
+}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceProto.java b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceProto.java
index d10596bbe834..891b9cec6458 100644
--- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceProto.java
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/java/com/google/cloud/vectorsearch/v1beta/VectorSearchServiceProto.java
@@ -100,6 +100,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_cloud_vectorsearch_v1beta_CreateIndexRequest_descriptor;
static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_google_cloud_vectorsearch_v1beta_CreateIndexRequest_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_descriptor;
+ static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
+ internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_google_cloud_vectorsearch_v1beta_DeleteIndexRequest_descriptor;
static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
@@ -180,55 +184,57 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "pi/field_behavior.proto\032\033google/api/fiel"
+ "d_info.proto\032\031google/api/resource.proto\032"
+ "-google/cloud/vectorsearch/v1beta/common.proto\0327google/cloud/vectorsearch/v1beta"
- + "/embedding_config.proto\032#google/longrunn"
- + "ing/operations.proto\032\033google/protobuf/empty.proto\032"
- + " google/protobuf/field_mask.proto\032\034google/protobuf/struct.proto\032\037googl"
- + "e/protobuf/timestamp.proto\032\027google/rpc/status.proto\"\353\005\n\n"
+ + "/embedding_config.proto\0326google/cloud/vectorsearch/v1beta/encryption_spec.proto\032"
+ + "#google/longrunning/operations.proto\032\033google/protobuf/empty.proto\032"
+ + " google/protobuf/field_mask.proto\032\034google/protobuf/str"
+ + "uct.proto\032\037google/protobuf/timestamp.proto\032\027google/rpc/status.proto\"\276\006\n\n"
+ "Collection\022\021\n"
+ "\004name\030\001 \001(\tB\003\340A\010\022\031\n"
+ "\014display_name\030\010 \001(\tB\003\340A\001\022\030\n"
+ "\013description\030\t \001(\tB\003\340A\001\0224\n"
+ "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n"
+ "\013update_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022M\n"
- + "\006labels\030\004 \003(\01328.google.cloud.ve"
- + "ctorsearch.v1beta.Collection.LabelsEntryB\003\340A\001\022.\n"
+ + "\006labels\030\004 \003(\01328"
+ + ".google.cloud.vectorsearch.v1beta.Collection.LabelsEntryB\003\340A\001\022.\n"
+ "\006schema\030\005"
+ " \001(\0132\027.google.protobuf.StructB\005\030\001\340A\001\022Z\n\r"
- + "vector_schema\030\007 \003(\0132>.g"
- + "oogle.cloud.vectorsearch.v1beta.Collection.VectorSchemaEntryB\003\340A\001\0221\n"
+ + "vector_schema\030\007 \003(\0132>.google.cloud.vectorsearch"
+ + ".v1beta.Collection.VectorSchemaEntryB\003\340A\001\0221\n"
+ "\013data_schema\030\n"
- + " \001(\0132\027.google.protobuf.StructB\003\340A\001\032-\n"
+ + " \001(\0132\027.google.protobuf.StructB\003\340A\001\022Q\n"
+ + "\017encryption_spec\030\013 \001(\01320."
+ + "google.cloud.vectorsearch.v1beta.EncryptionSpecB\006\340A\005\340A\001\032-\n"
+ "\013LabelsEntry\022\013\n"
+ "\003key\030\001 \001(\t\022\r\n"
+ "\005value\030\002 \001(\t:\0028\001\032b\n"
+ "\021VectorSchemaEntry\022\013\n"
+ "\003key\030\001 \001(\t\022<\n"
- + "\005value\030\002"
- + " \001(\0132-.google.cloud.vectorsearch.v1beta.VectorField:\0028\001:\207\001\352A\203\001\n"
- + "&vectorsearch.googleapis.com/Collection\022@projects"
- + "/{project}/locations/{location}/collections/{collection}*\013collections2\n"
+ + "\005value\030\002 \001(\0132-.google"
+ + ".cloud.vectorsearch.v1beta.VectorField:\0028\001:\207\001\352A\203\001\n"
+ + "&vectorsearch.googleapis.com/Collection\022@projects/{project}/locations/"
+ + "{location}/collections/{collection}*\013collections2\n"
+ "collection\"\275\001\n"
+ "\013VectorField\022J\n"
- + "\014dense_vector\030\003 \001(\0132"
- + "2.google.cloud.vectorsearch.v1beta.DenseVectorFieldH\000\022L\n\r"
- + "sparse_vector\030\004 \001(\01323.g"
- + "oogle.cloud.vectorsearch.v1beta.SparseVectorFieldH\000B\024\n"
+ + "\014dense_vector\030\003"
+ + " \001(\01322.google.cloud.vectorsearch.v1beta.DenseVectorFieldH\000\022L\n\r"
+ + "sparse_vector\030\004"
+ + " \001(\01323.google.cloud.vectorsearch.v1beta.SparseVectorFieldH\000B\024\n"
+ "\022vector_type_config\"\205\001\n"
+ "\020DenseVectorField\022\022\n\n"
+ "dimensions\030\001 \001(\005\022]\n"
- + "\027vertex_embedding_config\030\003 \001(\01327.google.clo"
- + "ud.vectorsearch.v1beta.VertexEmbeddingConfigB\003\340A\001\"\023\n"
+ + "\027vertex_embedding_config\030\003"
+ + " \001(\01327.google.cloud.vectorsearch.v1beta.VertexEmbeddingConfigB\003\340A\001\"\023\n"
+ "\021SparseVectorField\"\265\001\n"
+ "\026ListCollectionsRequest\022>\n"
- + "\006parent\030\001 \001(\tB.\340A\002\372A"
- + "(\022&vectorsearch.googleapis.com/Collection\022\026\n"
+ + "\006parent\030\001 \001("
+ + "\tB.\340A\002\372A(\022&vectorsearch.googleapis.com/Collection\022\026\n"
+ "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n"
+ "page_token\030\003 \001(\tB\003\340A\001\022\023\n"
+ "\006filter\030\004 \001(\tB\003\340A\001\022\025\n"
+ "\010order_by\030\005 \001(\tB\003\340A\001\"\217\001\n"
+ "\027ListCollectionsResponse\022A\n"
- + "\013collections\030\001"
- + " \003(\0132,.google.cloud.vectorsearch.v1beta.Collection\022\027\n"
+ + "\013collections\030\001 \003"
+ + "(\0132,.google.cloud.vectorsearch.v1beta.Collection\022\027\n"
+ "\017next_page_token\030\002 \001(\t\022\030\n"
+ "\013unreachable\030\003 \003(\tB\003\340A\006\"T\n"
+ "\024GetCollectionRequest\022<\n"
@@ -236,27 +242,27 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "&vectorsearch.googleapis.com/Collection\"\335\001\n"
+ "\027CreateCollectionRequest\022>\n"
+ "\006parent\030\001 \001("
- + "\tB.\340A\002\372A(\022&vectorsearch.googleapis.com/Collection\022\032\n\r"
+ + "\tB.\340A\002\372A(\022&vectorsearch.googleapis.com/Collection\022\032\n"
+ + "\r"
+ "collection_id\030\002 \001(\tB\003\340A\002\022E\n\n"
+ "collection\030\003"
- + " \001(\0132,.google.cloud.vectorsearch.v1beta.CollectionB\003\340A\002\022\037\n"
- + "\n"
+ + " \001(\0132,.google.cloud.vectorsearch.v1beta.CollectionB\003\340A\002\022\037\n\n"
+ "request_id\030\004 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"\267\001\n"
+ "\027UpdateCollectionRequest\0224\n"
+ "\013update_mask\030\001"
+ " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\022E\n\n"
- + "collection\030\002"
- + " \001(\0132,.google.cloud.vectorsearch.v1beta.CollectionB\003\340A\002\022\037\n\n"
+ + "collection\030\002 \001(\0132,.google"
+ + ".cloud.vectorsearch.v1beta.CollectionB\003\340A\002\022\037\n\n"
+ "request_id\030\003 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"x\n"
+ "\027DeleteCollectionRequest\022<\n"
+ "\004name\030\001 \001(\tB.\340A\002\372A(\n"
+ "&vectorsearch.googleapis.com/Collection\022\037\n\n"
+ "request_id\030\002 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"\260\006\n"
+ "\005Index\022b\n"
- + "\030dedicated_infrastructure\030\013 \001(\01329.google.cloud.ve"
- + "ctorsearch.v1beta.DedicatedInfrastructureB\003\340A\001H\000\022M\n"
- + "\013dense_scann\030\014 \001(\01321.google.c"
- + "loud.vectorsearch.v1beta.DenseScannIndexB\003\340A\001H\001\022\021\n"
+ + "\030dedicated_infrastructure\030\013 \001("
+ + "\01329.google.cloud.vectorsearch.v1beta.DedicatedInfrastructureB\003\340A\001H\000\022M\n"
+ + "\013dense_scann\030\014"
+ + " \001(\01321.google.cloud.vectorsearch.v1beta.DenseScannIndexB\003\340A\001H\001\022\021\n"
+ "\004name\030\001 \001(\tB\003\340A\010\022\031\n"
+ "\014display_name\030\010 \001(\tB\003\340A\001\022\030\n"
+ "\013description\030\t \001(\tB\003\340A\001\022H\n"
@@ -264,25 +270,31 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ " \003(\01323.google.cloud.vectorsearch.v1beta.Index.LabelsEntryB\003\340A\001\0224\n"
+ "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n"
+ "\013update_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022N\n"
- + "\017distance_metric\030\004"
- + " \001(\01620.google.cloud.vectorsearch.v1beta.DistanceMetricB\003\340A\001\022\030\n"
+ + "\017distance_metric\030\004 \001(\01620.google.cloud"
+ + ".vectorsearch.v1beta.DistanceMetricB\003\340A\001\022\030\n"
+ "\013index_field\030\005 \001(\tB\003\340A\002\022\032\n\r"
+ "filter_fields\030\006 \003(\tB\003\340A\001\022\031\n"
+ "\014store_fields\030\007 \003(\tB\003\340A\001\032-\n"
+ "\013LabelsEntry\022\013\n"
+ "\003key\030\001 \001(\t\022\r\n"
+ "\005value\030\002 \001(\t:\0028\001:\211\001\352A\205\001\n"
- + "!vectorsearch.googleapis.com/Index\022Pprojects/{project}/locations/{location}/collect"
- + "ions/{collection}/indexes/{index}*\007indexes2\005indexB\014\n\n"
+ + "!vectorsearch.googleapis.com/Index\022Pprojects/{project}/locations"
+ + "/{location}/collections/{collection}/indexes/{index}*\007indexes2\005indexB\014\n\n"
+ "infra_typeB\014\n\n"
+ "index_type\"\311\001\n"
+ "\022CreateIndexRequest\022>\n"
+ "\006parent\030\001 \001(\tB.\340A\002\372A(\n"
+ "&vectorsearch.googleapis.com/Collection\022\025\n"
+ "\010index_id\030\002 \001(\tB\003\340A\002\022;\n"
- + "\005index\030\003 \001"
- + "(\0132\'.google.cloud.vectorsearch.v1beta.IndexB\003\340A\002\022\037\n\n"
- + "request_id\030\004 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"n\n"
+ + "\005index\030\003"
+ + " \001(\0132\'.google.cloud.vectorsearch.v1beta.IndexB\003\340A\002\022\037\n\n"
+ + "request_id\030\004 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"\250\001\n"
+ + "\022UpdateIndexRequest\022;\n"
+ + "\005index\030\001"
+ + " \001(\0132\'.google.cloud.vectorsearch.v1beta.IndexB\003\340A\002\0224\n"
+ + "\013update_mask\030\002"
+ + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\022\037\n\n"
+ + "request_id\030\003 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"n\n"
+ "\022DeleteIndexRequest\0227\n"
+ "\004name\030\001 \001(\tB)\340A\002\372A#\n"
+ "!vectorsearch.googleapis.com/Index\022\037\n\n"
@@ -309,8 +321,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\026requested_cancellation\030\006 \001(\010B\003\340A\003\022\030\n"
+ "\013api_version\030\007 \001(\tB\003\340A\003\"\243\002\n"
+ "\030ImportDataObjectsRequest\022`\n\n"
- + "gcs_import\030\002 \001(\0132J.google.cloud.vector"
- + "search.v1beta.ImportDataObjectsRequest.GcsImportConfigH\000\022<\n"
+ + "gcs_import\030\002 \001(\0132J.google.cloud.vectorsearch.v1b"
+ + "eta.ImportDataObjectsRequest.GcsImportConfigH\000\022<\n"
+ "\004name\030\001 \001(\tB.\340A\002\372A(\n"
+ "&vectorsearch.googleapis.com/Collection\032]\n"
+ "\017GcsImportConfig\022\031\n"
@@ -325,29 +337,30 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "success_count\030\003 \001(\003B\003\340A\003\022\032\n\r"
+ "failure_count\030\004 \001(\003B\003\340A\003\"?\n"
+ "\031ImportDataObjectsResponse\022\"\n"
- + "\006status\030\001 \001(\0132\022.google.rpc.Status\"\236\003\n"
+ + "\006status\030\001 \001(\0132\022.google.rpc.Status\"\255\003\n"
+ "\030ExportDataObjectsRequest\022j\n"
- + "\017gcs_destination\030\002 \001(\0132O.google.cloud.vectorse"
- + "arch.v1beta.ExportDataObjectsRequest.GcsExportDestinationH\000\022<\n"
+ + "\017gcs_destination\030\002 \001(\0132O.google.cloud.vectorsearch.v1bet"
+ + "a.ExportDataObjectsRequest.GcsExportDestinationH\000\022<\n"
+ "\004name\030\001 \001(\tB.\340A\002\372A(\n"
- + "&vectorsearch.googleapis.com/Collection\032\310\001\n"
+ + "&vectorsearch.googleapis.com/Collection\032\327\001\n"
+ "\024GcsExportDestination\022\027\n\n"
+ "export_uri\030\001 \001(\tB\003\340A\002\022k\n"
- + "\006format\030\002 \001(\0162V.google.cloud.vectorsearch.v1beta.ExportDataObjects"
- + "Request.GcsExportDestination.FormatB\003\340A\002\"*\n"
+ + "\006format\030\002 \001(\0162V.google.cloud.vectors"
+ + "earch.v1beta.ExportDataObjectsRequest.GcsExportDestination.FormatB\003\340A\002\"9\n"
+ "\006Format\022\026\n"
- + "\022FORMAT_UNSPECIFIED\020\000\022\010\n"
- + "\004JSON\020\001B\r\n"
+ + "\022FORMAT_UNSPECIFIED\020\000\022\014\n"
+ + "\004JSON\020\001\032\002\010\001\022\t\n"
+ + "\005JSONL\020\002B\r\n"
+ "\013destination\"\207\001\n"
+ "\031ExportDataObjectsMetadata\0224\n"
+ "\013create_time\030\001 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n"
+ "\013finish_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\"\033\n"
+ "\031ExportDataObjectsResponse\"\207\003\n"
+ "\027DedicatedInfrastructure\022V\n"
- + "\004mode\030\001 \001(\0162>.google.cl"
- + "oud.vectorsearch.v1beta.DedicatedInfrastructure.ModeB\003\340A\001H\000\210\001\001\022h\n"
- + "\020autoscaling_spec\030\002 \001(\0132I.google.cloud.vectorsearch.v1b"
- + "eta.DedicatedInfrastructure.AutoscalingSpecB\003\340A\001\032Q\n"
+ + "\004mode\030\001 \001(\0162>.goog"
+ + "le.cloud.vectorsearch.v1beta.DedicatedInfrastructure.ModeB\003\340A\001H\000\210\001\001\022h\n"
+ + "\020autoscaling_spec\030\002 \001(\0132I.google.cloud.vectorsearc"
+ + "h.v1beta.DedicatedInfrastructure.AutoscalingSpecB\003\340A\001\032Q\n"
+ "\017AutoscalingSpec\022\036\n"
+ "\021min_replica_count\030\001 \001(\005B\003\340A\001\022\036\n"
+ "\021max_replica_count\030\002 \001(\005B\003\340A\001\"N\n"
@@ -357,49 +370,54 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\025PERFORMANCE_OPTIMIZED\020\002B\007\n"
+ "\005_mode\"\306\001\n"
+ "\017DenseScannIndex\022a\n"
- + "\021feature_norm_type\030\002 \001(\0162A.google.clo"
- + "ud.vectorsearch.v1beta.DenseScannIndex.FeatureNormTypeB\003\340A\001\"P\n"
+ + "\021feature_norm_type\030\002 \001(\0162A.googl"
+ + "e.cloud.vectorsearch.v1beta.DenseScannIndex.FeatureNormTypeB\003\340A\001\"P\n"
+ "\017FeatureNormType\022!\n"
+ "\035FEATURE_NORM_TYPE_UNSPECIFIED\020\000\022\010\n"
+ "\004NONE\020\001\022\020\n"
- + "\014UNIT_L2_NORM\020\0022\224\024\n"
+ + "\014UNIT_L2_NORM\020\0022\377\025\n"
+ "\023VectorSearchService\022\314\001\n"
- + "\017ListCollections\0228.google.cloud.vectorsearch.v1beta.ListCollectionsRequ"
- + "est\0329.google.cloud.vectorsearch.v1beta.L"
- + "istCollectionsResponse\"D\332A\006parent\202\323\344\223\0025\022"
- + "3/v1beta/{parent=projects/*/locations/*}/collections\022\271\001\n\r"
- + "GetCollection\0226.google.cloud.vectorsearch.v1beta.GetCollectionR"
- + "equest\032,.google.cloud.vectorsearch.v1bet"
- + "a.Collection\"B\332A\004name\202\323\344\223\0025\0223/v1beta/{na"
- + "me=projects/*/locations/*/collections/*}\022\372\001\n"
- + "\020CreateCollection\0229.google.cloud.vec"
- + "torsearch.v1beta.CreateCollectionRequest\032\035.google.longrunning.Operation\"\213\001\312A\037\n\n"
- + "Collection\022\021OperationMetadata\332A\037parent,co"
- + "llection,collection_id\202\323\344\223\002A\"3/v1beta/{p"
- + "arent=projects/*/locations/*}/collections:\n"
+ + "\017ListCollections\0228.google.cloud.vectorsearch.v1beta.ListCollection"
+ + "sRequest\0329.google.cloud.vectorsearch.v1b"
+ + "eta.ListCollectionsResponse\"D\332A\006parent\202\323"
+ + "\344\223\0025\0223/v1beta/{parent=projects/*/locations/*}/collections\022\271\001\n\r"
+ + "GetCollection\0226.google.cloud.vectorsearch.v1beta.GetCollec"
+ + "tionRequest\032,.google.cloud.vectorsearch."
+ + "v1beta.Collection\"B\332A\004name\202\323\344\223\0025\0223/v1bet"
+ + "a/{name=projects/*/locations/*/collections/*}\022\372\001\n"
+ + "\020CreateCollection\0229.google.cloud.vectorsearch.v1beta.CreateCollectionRe"
+ + "quest\032\035.google.longrunning.Operation\"\213\001\312A\037\n\n"
+ + "Collection\022\021OperationMetadata\332A\037pare"
+ + "nt,collection,collection_id\202\323\344\223\002A\"3/v1be"
+ + "ta/{parent=projects/*/locations/*}/collections:\n"
+ "collection\022\374\001\n"
- + "\020UpdateCollection\0229.google.cloud.vectorsearch.v1beta.UpdateColl"
- + "ectionRequest\032\035.google.longrunning.Operation\"\215\001\312A\037\n\n"
- + "Collection\022\021OperationMetadat"
- + "a\332A\026collection,update_mask\202\323\344\223\002L2>/v1bet"
- + "a/{collection.name=projects/*/locations/*/collections/*}:\n"
+ + "\020UpdateCollection\0229.google.cloud.vectorsearch.v1beta.Updat"
+ + "eCollectionRequest\032\035.google.longrunning.Operation\"\215\001\312A\037\n\n"
+ + "Collection\022\021OperationMe"
+ + "tadata\332A\026collection,update_mask\202\323\344\223\002L2>/"
+ + "v1beta/{collection.name=projects/*/locations/*/collections/*}:\n"
+ "collection\022\335\001\n"
- + "\020DeleteCollection\0229.google.cloud.vectorsearch.v1"
- + "beta.DeleteCollectionRequest\032\035.google.longrunning.Operation\"o\312A*\n"
- + "\025google.protobuf.Empty\022\021OperationMetadata\332A\004name\202\323\344\223\0025*"
- + "3/v1beta/{name=projects/*/locations/*/collections/*}\022\312\001\n"
- + "\013ListIndexes\0224.google.cloud.vectorsearch.v1beta.ListIndexesReque"
- + "st\0325.google.cloud.vectorsearch.v1beta.Li"
- + "stIndexesResponse\"N\332A\006parent\202\323\344\223\002?\022=/v1b"
- + "eta/{parent=projects/*/locations/*/collections/*}/indexes\022\264\001\n"
- + "\010GetIndex\0221.google.cloud.vectorsearch.v1beta.GetIndexReques"
- + "t\032\'.google.cloud.vectorsearch.v1beta.Ind"
- + "ex\"L\332A\004name\202\323\344\223\002?\022=/v1beta/{name=project"
- + "s/*/locations/*/collections/*/indexes/*}\022\346\001\n"
- + "\013CreateIndex\0224.google.cloud.vectorse"
- + "arch.v1beta.CreateIndexRequest\032\035.google.longrunning.Operation\"\201\001\312A\032\n"
- + "\005Index\022\021OperationMetadata\332A\025parent,index,index_id\202\323\344"
- + "\223\002F\"=/v1beta/{parent=projects/*/locations/*/collections/*}/indexes:\005index\022\335\001\n"
+ + "\020DeleteCollection\0229.google.cloud.vectorsear"
+ + "ch.v1beta.DeleteCollectionRequest\032\035.google.longrunning.Operation\"o\312A*\n"
+ + "\025google.protobuf.Empty\022\021OperationMetadata\332A\004name\202\323"
+ + "\344\223\0025*3/v1beta/{name=projects/*/locations/*/collections/*}\022\312\001\n"
+ + "\013ListIndexes\0224.google.cloud.vectorsearch.v1beta.ListIndexes"
+ + "Request\0325.google.cloud.vectorsearch.v1be"
+ + "ta.ListIndexesResponse\"N\332A\006parent\202\323\344\223\002?\022"
+ + "=/v1beta/{parent=projects/*/locations/*/collections/*}/indexes\022\264\001\n"
+ + "\010GetIndex\0221.google.cloud.vectorsearch.v1beta.GetIndexR"
+ + "equest\032\'.google.cloud.vectorsearch.v1bet"
+ + "a.Index\"L\332A\004name\202\323\344\223\002?\022=/v1beta/{name=pr"
+ + "ojects/*/locations/*/collections/*/indexes/*}\022\346\001\n"
+ + "\013CreateIndex\0224.google.cloud.vec"
+ + "torsearch.v1beta.CreateIndexRequest\032\035.google.longrunning.Operation\"\201\001\312A\032\n"
+ + "\005Index\022\021OperationMetadata\332A\025parent,index,index_"
+ + "id\202\323\344\223\002F\"=/v1beta/{parent=projects/*/loc"
+ + "ations/*/collections/*}/indexes:\005index\022\350\001\n"
+ + "\013UpdateIndex\0224.google.cloud.vectorsear"
+ + "ch.v1beta.UpdateIndexRequest\032\035.google.longrunning.Operation\"\203\001\312A\032\n"
+ + "\005Index\022\021OperationMetadata\332A\021index,update_mask\202\323\344\223\002L2C/"
+ + "v1beta/{index.name=projects/*/locations/*/collections/*/indexes/*}:\005index\022\335\001\n"
+ "\013DeleteIndex\0224.google.cloud.vectorsearch.v1"
+ "beta.DeleteIndexRequest\032\035.google.longrunning.Operation\"y\312A*\n"
+ "\025google.protobuf.Emp"
@@ -433,6 +451,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.api.ResourceProto.getDescriptor(),
com.google.cloud.vectorsearch.v1beta.CommonProto.getDescriptor(),
com.google.cloud.vectorsearch.v1beta.EmbeddingConfigProto.getDescriptor(),
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpecProto.getDescriptor(),
com.google.longrunning.OperationsProto.getDescriptor(),
com.google.protobuf.EmptyProto.getDescriptor(),
com.google.protobuf.FieldMaskProto.getDescriptor(),
@@ -455,6 +474,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Schema",
"VectorSchema",
"DataSchema",
+ "EncryptionSpec",
});
internal_static_google_cloud_vectorsearch_v1beta_Collection_LabelsEntry_descriptor =
internal_static_google_cloud_vectorsearch_v1beta_Collection_descriptor.getNestedType(0);
@@ -579,8 +599,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"Parent", "IndexId", "Index", "RequestId",
});
- internal_static_google_cloud_vectorsearch_v1beta_DeleteIndexRequest_descriptor =
+ internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_descriptor =
getDescriptor().getMessageType(12);
+ internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+ internal_static_google_cloud_vectorsearch_v1beta_UpdateIndexRequest_descriptor,
+ new java.lang.String[] {
+ "Index", "UpdateMask", "RequestId",
+ });
+ internal_static_google_cloud_vectorsearch_v1beta_DeleteIndexRequest_descriptor =
+ getDescriptor().getMessageType(13);
internal_static_google_cloud_vectorsearch_v1beta_DeleteIndexRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_DeleteIndexRequest_descriptor,
@@ -588,7 +616,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Name", "RequestId",
});
internal_static_google_cloud_vectorsearch_v1beta_ListIndexesRequest_descriptor =
- getDescriptor().getMessageType(13);
+ getDescriptor().getMessageType(14);
internal_static_google_cloud_vectorsearch_v1beta_ListIndexesRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ListIndexesRequest_descriptor,
@@ -596,7 +624,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Parent", "PageSize", "PageToken", "Filter", "OrderBy",
});
internal_static_google_cloud_vectorsearch_v1beta_ListIndexesResponse_descriptor =
- getDescriptor().getMessageType(14);
+ getDescriptor().getMessageType(15);
internal_static_google_cloud_vectorsearch_v1beta_ListIndexesResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ListIndexesResponse_descriptor,
@@ -604,7 +632,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Indexes", "NextPageToken",
});
internal_static_google_cloud_vectorsearch_v1beta_GetIndexRequest_descriptor =
- getDescriptor().getMessageType(15);
+ getDescriptor().getMessageType(16);
internal_static_google_cloud_vectorsearch_v1beta_GetIndexRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_GetIndexRequest_descriptor,
@@ -612,7 +640,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Name",
});
internal_static_google_cloud_vectorsearch_v1beta_OperationMetadata_descriptor =
- getDescriptor().getMessageType(16);
+ getDescriptor().getMessageType(17);
internal_static_google_cloud_vectorsearch_v1beta_OperationMetadata_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_OperationMetadata_descriptor,
@@ -626,7 +654,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"ApiVersion",
});
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsRequest_descriptor =
- getDescriptor().getMessageType(17);
+ getDescriptor().getMessageType(18);
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsRequest_descriptor,
@@ -643,7 +671,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"ContentsUri", "ErrorUri", "OutputUri",
});
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsMetadata_descriptor =
- getDescriptor().getMessageType(18);
+ getDescriptor().getMessageType(19);
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsMetadata_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsMetadata_descriptor,
@@ -651,7 +679,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"CreateTime", "UpdateTime", "SuccessCount", "FailureCount",
});
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsResponse_descriptor =
- getDescriptor().getMessageType(19);
+ getDescriptor().getMessageType(20);
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ImportDataObjectsResponse_descriptor,
@@ -659,7 +687,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Status",
});
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsRequest_descriptor =
- getDescriptor().getMessageType(20);
+ getDescriptor().getMessageType(21);
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsRequest_descriptor,
@@ -676,7 +704,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"ExportUri", "Format",
});
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsMetadata_descriptor =
- getDescriptor().getMessageType(21);
+ getDescriptor().getMessageType(22);
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsMetadata_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsMetadata_descriptor,
@@ -684,13 +712,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"CreateTime", "FinishTime",
});
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsResponse_descriptor =
- getDescriptor().getMessageType(22);
+ getDescriptor().getMessageType(23);
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_ExportDataObjectsResponse_descriptor,
new java.lang.String[] {});
internal_static_google_cloud_vectorsearch_v1beta_DedicatedInfrastructure_descriptor =
- getDescriptor().getMessageType(23);
+ getDescriptor().getMessageType(24);
internal_static_google_cloud_vectorsearch_v1beta_DedicatedInfrastructure_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_DedicatedInfrastructure_descriptor,
@@ -707,7 +735,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"MinReplicaCount", "MaxReplicaCount",
});
internal_static_google_cloud_vectorsearch_v1beta_DenseScannIndex_descriptor =
- getDescriptor().getMessageType(24);
+ getDescriptor().getMessageType(25);
internal_static_google_cloud_vectorsearch_v1beta_DenseScannIndex_fieldAccessorTable =
new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_google_cloud_vectorsearch_v1beta_DenseScannIndex_descriptor,
@@ -722,6 +750,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.api.ResourceProto.getDescriptor();
com.google.cloud.vectorsearch.v1beta.CommonProto.getDescriptor();
com.google.cloud.vectorsearch.v1beta.EmbeddingConfigProto.getDescriptor();
+ com.google.cloud.vectorsearch.v1beta.EncryptionSpecProto.getDescriptor();
com.google.longrunning.OperationsProto.getDescriptor();
com.google.protobuf.EmptyProto.getDescriptor();
com.google.protobuf.FieldMaskProto.getDescriptor();
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/data_object_search_service.proto b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/data_object_search_service.proto
index ba249e73d5ff..a636c829627d 100644
--- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/data_object_search_service.proto
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/data_object_search_service.proto
@@ -175,6 +175,7 @@ message Search {
// Defines a search operation using a query vector.
message VectorSearch {
+ // Specifies the type of vector to use for the query.
oneof vector_type {
// A dense vector for the query.
DenseVector vector = 1;
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/encryption_spec.proto b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/encryption_spec.proto
new file mode 100644
index 000000000000..08747823e0de
--- /dev/null
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/encryption_spec.proto
@@ -0,0 +1,48 @@
+// Copyright 2026 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.vectorsearch.v1beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option csharp_namespace = "Google.Cloud.VectorSearch.V1Beta";
+option go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
+option java_multiple_files = true;
+option java_outer_classname = "EncryptionSpecProto";
+option java_package = "com.google.cloud.vectorsearch.v1beta";
+option php_namespace = "Google\\Cloud\\VectorSearch\\V1beta";
+option ruby_package = "Google::Cloud::VectorSearch::V1beta";
+option (google.api.resource_definition) = {
+ type: "cloudkms.googleapis.com/CryptoKey"
+ pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
+};
+
+// Represents a customer-managed encryption key specification that can be
+// applied to a Vector Search collection.
+message EncryptionSpec {
+ // Required. Resource name of the Cloud KMS key used to protect the resource.
+ //
+ // The Cloud KMS key must be in the same region as the resource. It must have
+ // the format
+ // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
+ string crypto_key_name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudkms.googleapis.com/CryptoKey"
+ }
+ ];
+}
diff --git a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto
index 617e30d420f8..f73ae80baedd 100644
--- a/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto
+++ b/java-vectorsearch/proto-google-cloud-vectorsearch-v1beta/src/main/proto/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto
@@ -23,6 +23,7 @@ import "google/api/field_info.proto";
import "google/api/resource.proto";
import "google/cloud/vectorsearch/v1beta/common.proto";
import "google/cloud/vectorsearch/v1beta/embedding_config.proto";
+import "google/cloud/vectorsearch/v1beta/encryption_spec.proto";
import "google/longrunning/operations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/field_mask.proto";
@@ -135,6 +136,19 @@ service VectorSearchService {
};
}
+ // Updates the parameters of a single Index.
+ rpc UpdateIndex(UpdateIndexRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1beta/{index.name=projects/*/locations/*/collections/*/indexes/*}"
+ body: "index"
+ };
+ option (google.api.method_signature) = "index,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "Index"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
// Deletes a single Index.
rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) {
option (google.api.http) = {
@@ -216,8 +230,18 @@ message Collection {
// Optional. JSON Schema for data.
// Field names must contain only alphanumeric characters,
// underscores, and hyphens.
+ // The schema must be compliant with
+ // [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
google.protobuf.Struct data_schema = 10
[(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Immutable. Specifies the customer-managed encryption key spec for
+ // a Collection. If set, this Collection and all sub-resources of this
+ // Collection will be secured by this key.
+ EncryptionSpec encryption_spec = 11 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = OPTIONAL
+ ];
}
// Message describing a vector field.
@@ -505,6 +529,48 @@ message CreateIndexRequest {
];
}
+// Message for updating an Index.
+message UpdateIndexRequest {
+ // Required. The resource being updated.
+ Index index = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Specifies the fields to be overwritten in the Index resource by
+ // the update. The fields specified in the update_mask are relative to the
+ // resource, not the full request. A field will be overwritten if it is in the
+ // mask. If the user does not provide a mask then all fields present in the
+ // request with non-empty values will be overwritten.
+ //
+ // The following fields support update:
+ // * `display_name`
+ // * `description`
+ // * `labels`
+ // * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
+ // * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
+ //
+ // If `*` is provided in the `update_mask`, full replacement of mutable fields
+ // will be performed.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. An optional request ID to identify requests. Specify a unique
+ // request ID so that if you must retry your request, the server will know to
+ // ignore the request if it has already been completed. The server will
+ // guarantee that for at least 60 minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [
+ (google.api.field_info).format = UUID4,
+ (google.api.field_behavior) = OPTIONAL
+ ];
+}
+
// Message for deleting an Index.
message DeleteIndexRequest {
// Required. The resource name of the Index to delete.
@@ -681,8 +747,11 @@ message ExportDataObjectsRequest {
// Unspecified format.
FORMAT_UNSPECIFIED = 0;
- // The exported Data Objects will be in JSON format.
- JSON = 1;
+ // Deprecated: Exports Data Objects in `JSON` format. Use `JSONL` instead.
+ JSON = 1 [deprecated = true];
+
+ // Exports Data Objects in `JSONL` format.
+ JSONL = 2;
}
// Required. URI prefix of the Cloud Storage where to export Data Objects.
@@ -729,12 +798,15 @@ message DedicatedInfrastructure {
// Specification for autoscaling.
message AutoscalingSpec {
// Optional. The minimum number of replicas. If not set or set to `0`,
- // defaults to `2`. Must be >= `2` and <= `1000`.
+ // defaults to `2`. Must be >= `1` and <= `1000`.
int32 min_replica_count = 1 [(google.api.field_behavior) = OPTIONAL];
- // Optional. The maximum number of replicas. If not set or set to `0`,
- // defaults to the greater of `min_replica_count` and `5`. Must be >=
+ // Optional. The maximum number of replicas. Must be >=
// `min_replica_count` and <= `1000`.
+ // For the v1beta version, if not set or set to `0`, defaults to
+ // the greater of `min_replica_count` and `5`.
+ // For all other versions, if not set or set to `0`, defaults to
+ // the greater of `min_replica_count` and `2`.
int32 max_replica_count = 2 [(google.api.field_behavior) = OPTIONAL];
}
diff --git a/java-vectorsearch/samples/snippets/generated/com/google/cloud/vectorsearch/v1beta/vectorsearchservice/updateindex/AsyncUpdateIndex.java b/java-vectorsearch/samples/snippets/generated/com/google/cloud/vectorsearch/v1beta/vectorsearchservice/updateindex/AsyncUpdateIndex.java
new file mode 100644
index 000000000000..704a43ef6144
--- /dev/null
+++ b/java-vectorsearch/samples/snippets/generated/com/google/cloud/vectorsearch/v1beta/vectorsearchservice/updateindex/AsyncUpdateIndex.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2026 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.
+ */
+
+package com.google.cloud.vectorsearch.v1beta.samples;
+
+// [START vectorsearch_v1beta_generated_VectorSearchService_UpdateIndex_async]
+import com.google.api.core.ApiFuture;
+import com.google.cloud.vectorsearch.v1beta.Index;
+import com.google.cloud.vectorsearch.v1beta.UpdateIndexRequest;
+import com.google.cloud.vectorsearch.v1beta.VectorSearchServiceClient;
+import com.google.longrunning.Operation;
+import com.google.protobuf.FieldMask;
+
+public class AsyncUpdateIndex {
+
+ public static void main(String[] args) throws Exception {
+ asyncUpdateIndex();
+ }
+
+ public static void asyncUpdateIndex() throws Exception {
+ // This snippet has been automatically generated and should be regarded as a code template only.
+ // It will require modifications to work:
+ // - It may require correct/in-range values for request initialization.
+ // - It may require specifying regional endpoints when creating the service client as shown in
+ // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ try (VectorSearchServiceClient vectorSearchServiceClient = VectorSearchServiceClient.create()) {
+ UpdateIndexRequest request =
+ UpdateIndexRequest.newBuilder()
+ .setIndex(Index.newBuilder().build())
+ .setUpdateMask(FieldMask.newBuilder().build())
+ .setRequestId("requestId693933066")
+ .build();
+ ApiFuture