diff --git a/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1beta1/JobServiceClientTest.java b/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1beta1/JobServiceClientTest.java index 9a15ae9c7..c45f82a5d 100644 --- a/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1beta1/JobServiceClientTest.java +++ b/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1beta1/JobServiceClientTest.java @@ -1530,6 +1530,7 @@ public void createBatchPredictionJobTest() throws Exception { .setModelParameters(Value.newBuilder().build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) @@ -1596,6 +1597,7 @@ public void createBatchPredictionJobTest2() throws Exception { .setModelParameters(Value.newBuilder().build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) @@ -1662,6 +1664,7 @@ public void getBatchPredictionJobTest() throws Exception { .setModelParameters(Value.newBuilder().build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) @@ -1727,6 +1730,7 @@ public void getBatchPredictionJobTest2() throws Exception { .setModelParameters(Value.newBuilder().build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) diff --git a/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJob.java b/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJob.java index 8783152d7..0743b1980 100644 --- a/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJob.java +++ b/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJob.java @@ -44,6 +44,7 @@ private BatchPredictionJob() { name_ = ""; displayName_ = ""; model_ = ""; + serviceAccount_ = ""; state_ = 0; partialFailures_ = java.util.Collections.emptyList(); } @@ -395,6 +396,13 @@ private BatchPredictionJob( unmanagedContainerModel_ = subBuilder.buildPartial(); } + break; + } + case 234: + { + java.lang.String s = input.readStringRequireUtf8(); + + serviceAccount_ = s; break; } default: @@ -5793,6 +5801,65 @@ public com.google.cloud.aiplatform.v1beta1.BatchDedicatedResources getDedicatedR return getDedicatedResources(); } + public static final int SERVICE_ACCOUNT_FIELD_NUMBER = 29; + private volatile java.lang.Object serviceAccount_; + /** + * + * + *
+   * The service account that the DeployedModel's container runs as. If not
+   * specified, a system generated one will be used, which
+   * has minimal permissions and the custom container, if used, may not have
+   * enough permission to access other GCP resources.
+   * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+   * permission on this service account.
+   * 
+ * + * string service_account = 29; + * + * @return The serviceAccount. + */ + @java.lang.Override + public java.lang.String getServiceAccount() { + java.lang.Object ref = serviceAccount_; + 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(); + serviceAccount_ = s; + return s; + } + } + /** + * + * + *
+   * The service account that the DeployedModel's container runs as. If not
+   * specified, a system generated one will be used, which
+   * has minimal permissions and the custom container, if used, may not have
+   * enough permission to access other GCP resources.
+   * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+   * permission on this service account.
+   * 
+ * + * string service_account = 29; + * + * @return The bytes for serviceAccount. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceAccountBytes() { + java.lang.Object ref = serviceAccount_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAccount_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + public static final int MANUAL_BATCH_TUNING_PARAMETERS_FIELD_NUMBER = 8; private com.google.cloud.aiplatform.v1beta1.ManualBatchTuningParameters manualBatchTuningParameters_; @@ -6761,6 +6828,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (unmanagedContainerModel_ != null) { output.writeMessage(28, getUnmanagedContainerModel()); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccount_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 29, serviceAccount_); + } unknownFields.writeTo(output); } @@ -6850,6 +6920,9 @@ public int getSerializedSize() { com.google.protobuf.CodedOutputStream.computeMessageSize( 28, getUnmanagedContainerModel()); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serviceAccount_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(29, serviceAccount_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -6889,6 +6962,7 @@ public boolean equals(final java.lang.Object obj) { if (hasDedicatedResources()) { if (!getDedicatedResources().equals(other.getDedicatedResources())) return false; } + if (!getServiceAccount().equals(other.getServiceAccount())) return false; if (hasManualBatchTuningParameters() != other.hasManualBatchTuningParameters()) return false; if (hasManualBatchTuningParameters()) { if (!getManualBatchTuningParameters().equals(other.getManualBatchTuningParameters())) @@ -6975,6 +7049,8 @@ public int hashCode() { hash = (37 * hash) + DEDICATED_RESOURCES_FIELD_NUMBER; hash = (53 * hash) + getDedicatedResources().hashCode(); } + hash = (37 * hash) + SERVICE_ACCOUNT_FIELD_NUMBER; + hash = (53 * hash) + getServiceAccount().hashCode(); if (hasManualBatchTuningParameters()) { hash = (37 * hash) + MANUAL_BATCH_TUNING_PARAMETERS_FIELD_NUMBER; hash = (53 * hash) + getManualBatchTuningParameters().hashCode(); @@ -7238,6 +7314,8 @@ public Builder clear() { dedicatedResources_ = null; dedicatedResourcesBuilder_ = null; } + serviceAccount_ = ""; + if (manualBatchTuningParametersBuilder_ == null) { manualBatchTuningParameters_ = null; } else { @@ -7371,6 +7449,7 @@ public com.google.cloud.aiplatform.v1beta1.BatchPredictionJob buildPartial() { } else { result.dedicatedResources_ = dedicatedResourcesBuilder_.build(); } + result.serviceAccount_ = serviceAccount_; if (manualBatchTuningParametersBuilder_ == null) { result.manualBatchTuningParameters_ = manualBatchTuningParameters_; } else { @@ -7516,6 +7595,10 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.BatchPredictionJob if (other.hasDedicatedResources()) { mergeDedicatedResources(other.getDedicatedResources()); } + if (!other.getServiceAccount().isEmpty()) { + serviceAccount_ = other.serviceAccount_; + onChanged(); + } if (other.hasManualBatchTuningParameters()) { mergeManualBatchTuningParameters(other.getManualBatchTuningParameters()); } @@ -9152,6 +9235,137 @@ public Builder clearDedicatedResources() { return dedicatedResourcesBuilder_; } + private java.lang.Object serviceAccount_ = ""; + /** + * + * + *
+     * The service account that the DeployedModel's container runs as. If not
+     * specified, a system generated one will be used, which
+     * has minimal permissions and the custom container, if used, may not have
+     * enough permission to access other GCP resources.
+     * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+     * permission on this service account.
+     * 
+ * + * string service_account = 29; + * + * @return The serviceAccount. + */ + public java.lang.String getServiceAccount() { + java.lang.Object ref = serviceAccount_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceAccount_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * The service account that the DeployedModel's container runs as. If not
+     * specified, a system generated one will be used, which
+     * has minimal permissions and the custom container, if used, may not have
+     * enough permission to access other GCP resources.
+     * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+     * permission on this service account.
+     * 
+ * + * string service_account = 29; + * + * @return The bytes for serviceAccount. + */ + public com.google.protobuf.ByteString getServiceAccountBytes() { + java.lang.Object ref = serviceAccount_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceAccount_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * The service account that the DeployedModel's container runs as. If not
+     * specified, a system generated one will be used, which
+     * has minimal permissions and the custom container, if used, may not have
+     * enough permission to access other GCP resources.
+     * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+     * permission on this service account.
+     * 
+ * + * string service_account = 29; + * + * @param value The serviceAccount to set. + * @return This builder for chaining. + */ + public Builder setServiceAccount(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + serviceAccount_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * The service account that the DeployedModel's container runs as. If not
+     * specified, a system generated one will be used, which
+     * has minimal permissions and the custom container, if used, may not have
+     * enough permission to access other GCP resources.
+     * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+     * permission on this service account.
+     * 
+ * + * string service_account = 29; + * + * @return This builder for chaining. + */ + public Builder clearServiceAccount() { + + serviceAccount_ = getDefaultInstance().getServiceAccount(); + onChanged(); + return this; + } + /** + * + * + *
+     * The service account that the DeployedModel's container runs as. If not
+     * specified, a system generated one will be used, which
+     * has minimal permissions and the custom container, if used, may not have
+     * enough permission to access other GCP resources.
+     * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+     * permission on this service account.
+     * 
+ * + * string service_account = 29; + * + * @param value The bytes for serviceAccount to set. + * @return This builder for chaining. + */ + public Builder setServiceAccountBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + serviceAccount_ = value; + onChanged(); + return this; + } + private com.google.cloud.aiplatform.v1beta1.ManualBatchTuningParameters manualBatchTuningParameters_; private com.google.protobuf.SingleFieldBuilderV3< diff --git a/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobOrBuilder.java b/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobOrBuilder.java index c9c8a46bc..22ddedd0b 100644 --- a/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobOrBuilder.java +++ b/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobOrBuilder.java @@ -360,6 +360,41 @@ public interface BatchPredictionJobOrBuilder com.google.cloud.aiplatform.v1beta1.BatchDedicatedResourcesOrBuilder getDedicatedResourcesOrBuilder(); + /** + * + * + *
+   * The service account that the DeployedModel's container runs as. If not
+   * specified, a system generated one will be used, which
+   * has minimal permissions and the custom container, if used, may not have
+   * enough permission to access other GCP resources.
+   * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+   * permission on this service account.
+   * 
+ * + * string service_account = 29; + * + * @return The serviceAccount. + */ + java.lang.String getServiceAccount(); + /** + * + * + *
+   * The service account that the DeployedModel's container runs as. If not
+   * specified, a system generated one will be used, which
+   * has minimal permissions and the custom container, if used, may not have
+   * enough permission to access other GCP resources.
+   * Users deploying the Model must have the `iam.serviceAccounts.actAs`
+   * permission on this service account.
+   * 
+ * + * string service_account = 29; + * + * @return The bytes for serviceAccount. + */ + com.google.protobuf.ByteString getServiceAccountBytes(); + /** * * diff --git a/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobProto.java b/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobProto.java index b4795cc61..e36f947e9 100644 --- a/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobProto.java +++ b/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/BatchPredictionJobProto.java @@ -75,7 +75,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "form/v1beta1/unmanaged_container_model.p" + "roto\032\034google/protobuf/struct.proto\032\037goog" + "le/protobuf/timestamp.proto\032\027google/rpc/" - + "status.proto\"\352\021\n\022BatchPredictionJob\022\021\n\004n" + + "status.proto\"\203\022\n\022BatchPredictionJob\022\021\n\004n" + "ame\030\001 \001(\tB\003\340A\003\022\031\n\014display_name\030\002 \001(\tB\003\340A" + "\002\0223\n\005model\030\003 \001(\tB$\372A!\n\037aiplatform.google" + "apis.com/Model\022[\n\031unmanaged_container_mo" @@ -88,57 +88,58 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "e.cloud.aiplatform.v1beta1.BatchPredicti" + "onJob.OutputConfigB\003\340A\002\022U\n\023dedicated_res" + "ources\030\007 \001(\01328.google.cloud.aiplatform.v" - + "1beta1.BatchDedicatedResources\022i\n\036manual" - + "_batch_tuning_parameters\030\010 \001(\0132<.google." - + "cloud.aiplatform.v1beta1.ManualBatchTuni" - + "ngParametersB\003\340A\005\022\034\n\024generate_explanatio" - + "n\030\027 \001(\010\022J\n\020explanation_spec\030\031 \001(\01320.goog" - + "le.cloud.aiplatform.v1beta1.ExplanationS" - + "pec\022X\n\013output_info\030\t \001(\0132>.google.cloud." - + "aiplatform.v1beta1.BatchPredictionJob.Ou" - + "tputInfoB\003\340A\003\022=\n\005state\030\n \001(\0162).google.cl" - + "oud.aiplatform.v1beta1.JobStateB\003\340A\003\022&\n\005" - + "error\030\013 \001(\0132\022.google.rpc.StatusB\003\340A\003\0221\n\020" - + "partial_failures\030\014 \003(\0132\022.google.rpc.Stat" - + "usB\003\340A\003\022S\n\022resources_consumed\030\r \001(\01322.go" - + "ogle.cloud.aiplatform.v1beta1.ResourcesC" - + "onsumedB\003\340A\003\022O\n\020completion_stats\030\016 \001(\01320" - + ".google.cloud.aiplatform.v1beta1.Complet" - + "ionStatsB\003\340A\003\0224\n\013create_time\030\017 \001(\0132\032.goo" - + "gle.protobuf.TimestampB\003\340A\003\0223\n\nstart_tim" - + "e\030\020 \001(\0132\032.google.protobuf.TimestampB\003\340A\003" - + "\0221\n\010end_time\030\021 \001(\0132\032.google.protobuf.Tim" - + "estampB\003\340A\003\0224\n\013update_time\030\022 \001(\0132\032.googl" - + "e.protobuf.TimestampB\003\340A\003\022O\n\006labels\030\023 \003(" - + "\0132?.google.cloud.aiplatform.v1beta1.Batc" - + "hPredictionJob.LabelsEntry\022H\n\017encryption" - + "_spec\030\030 \001(\0132/.google.cloud.aiplatform.v1" - + "beta1.EncryptionSpec\032\304\001\n\013InputConfig\022@\n\n" - + "gcs_source\030\002 \001(\0132*.google.cloud.aiplatfo" - + "rm.v1beta1.GcsSourceH\000\022J\n\017bigquery_sourc" - + "e\030\003 \001(\0132/.google.cloud.aiplatform.v1beta" - + "1.BigQuerySourceH\000\022\035\n\020instances_format\030\001" - + " \001(\tB\003\340A\002B\010\n\006source\032\340\001\n\014OutputConfig\022J\n\017" - + "gcs_destination\030\002 \001(\0132/.google.cloud.aip" - + "latform.v1beta1.GcsDestinationH\000\022T\n\024bigq" - + "uery_destination\030\003 \001(\01324.google.cloud.ai" - + "platform.v1beta1.BigQueryDestinationH\000\022\037" - + "\n\022predictions_format\030\001 \001(\tB\003\340A\002B\r\n\013desti" - + "nation\032\220\001\n\nOutputInfo\022#\n\024gcs_output_dire" - + "ctory\030\001 \001(\tB\003\340A\003H\000\022&\n\027bigquery_output_da" - + "taset\030\002 \001(\tB\003\340A\003H\000\022\"\n\025bigquery_output_ta" - + "ble\030\004 \001(\tB\003\340A\003B\021\n\017output_location\032-\n\013Lab" - + "elsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" - + ":\206\001\352A\202\001\n,aiplatform.googleapis.com/Batch" - + "PredictionJob\022Rprojects/{project}/locati" - + "ons/{location}/batchPredictionJobs/{batc" - + "h_prediction_job}B\364\001\n#com.google.cloud.a" - + "iplatform.v1beta1B\027BatchPredictionJobPro" - + "toP\001ZIgoogle.golang.org/genproto/googlea" - + "pis/cloud/aiplatform/v1beta1;aiplatform\252" - + "\002\037Google.Cloud.AIPlatform.V1Beta1\312\002\037Goog" - + "le\\Cloud\\AIPlatform\\V1beta1\352\002\"Google::Cl" - + "oud::AIPlatform::V1beta1b\006proto3" + + "1beta1.BatchDedicatedResources\022\027\n\017servic" + + "e_account\030\035 \001(\t\022i\n\036manual_batch_tuning_p" + + "arameters\030\010 \001(\0132<.google.cloud.aiplatfor" + + "m.v1beta1.ManualBatchTuningParametersB\003\340" + + "A\005\022\034\n\024generate_explanation\030\027 \001(\010\022J\n\020expl" + + "anation_spec\030\031 \001(\01320.google.cloud.aiplat" + + "form.v1beta1.ExplanationSpec\022X\n\013output_i" + + "nfo\030\t \001(\0132>.google.cloud.aiplatform.v1be" + + "ta1.BatchPredictionJob.OutputInfoB\003\340A\003\022=" + + "\n\005state\030\n \001(\0162).google.cloud.aiplatform." + + "v1beta1.JobStateB\003\340A\003\022&\n\005error\030\013 \001(\0132\022.g" + + "oogle.rpc.StatusB\003\340A\003\0221\n\020partial_failure" + + "s\030\014 \003(\0132\022.google.rpc.StatusB\003\340A\003\022S\n\022reso" + + "urces_consumed\030\r \001(\01322.google.cloud.aipl" + + "atform.v1beta1.ResourcesConsumedB\003\340A\003\022O\n" + + "\020completion_stats\030\016 \001(\01320.google.cloud.a" + + "iplatform.v1beta1.CompletionStatsB\003\340A\003\0224" + + "\n\013create_time\030\017 \001(\0132\032.google.protobuf.Ti" + + "mestampB\003\340A\003\0223\n\nstart_time\030\020 \001(\0132\032.googl" + + "e.protobuf.TimestampB\003\340A\003\0221\n\010end_time\030\021 " + + "\001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n\013" + + "update_time\030\022 \001(\0132\032.google.protobuf.Time" + + "stampB\003\340A\003\022O\n\006labels\030\023 \003(\0132?.google.clou" + + "d.aiplatform.v1beta1.BatchPredictionJob." + + "LabelsEntry\022H\n\017encryption_spec\030\030 \001(\0132/.g" + + "oogle.cloud.aiplatform.v1beta1.Encryptio" + + "nSpec\032\304\001\n\013InputConfig\022@\n\ngcs_source\030\002 \001(" + + "\0132*.google.cloud.aiplatform.v1beta1.GcsS" + + "ourceH\000\022J\n\017bigquery_source\030\003 \001(\0132/.googl" + + "e.cloud.aiplatform.v1beta1.BigQuerySourc" + + "eH\000\022\035\n\020instances_format\030\001 \001(\tB\003\340A\002B\010\n\006so" + + "urce\032\340\001\n\014OutputConfig\022J\n\017gcs_destination" + + "\030\002 \001(\0132/.google.cloud.aiplatform.v1beta1" + + ".GcsDestinationH\000\022T\n\024bigquery_destinatio" + + "n\030\003 \001(\01324.google.cloud.aiplatform.v1beta" + + "1.BigQueryDestinationH\000\022\037\n\022predictions_f" + + "ormat\030\001 \001(\tB\003\340A\002B\r\n\013destination\032\220\001\n\nOutp" + + "utInfo\022#\n\024gcs_output_directory\030\001 \001(\tB\003\340A" + + "\003H\000\022&\n\027bigquery_output_dataset\030\002 \001(\tB\003\340A" + + "\003H\000\022\"\n\025bigquery_output_table\030\004 \001(\tB\003\340A\003B" + + "\021\n\017output_location\032-\n\013LabelsEntry\022\013\n\003key" + + "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:\206\001\352A\202\001\n,aiplat" + + "form.googleapis.com/BatchPredictionJob\022R" + + "projects/{project}/locations/{location}/" + + "batchPredictionJobs/{batch_prediction_jo" + + "b}B\364\001\n#com.google.cloud.aiplatform.v1bet" + + "a1B\027BatchPredictionJobProtoP\001ZIgoogle.go" + + "lang.org/genproto/googleapis/cloud/aipla" + + "tform/v1beta1;aiplatform\252\002\037Google.Cloud." + + "AIPlatform.V1Beta1\312\002\037Google\\Cloud\\AIPlat" + + "form\\V1beta1\352\002\"Google::Cloud::AIPlatform" + + "::V1beta1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -174,6 +175,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ModelParameters", "OutputConfig", "DedicatedResources", + "ServiceAccount", "ManualBatchTuningParameters", "GenerateExplanation", "ExplanationSpec", diff --git a/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/batch_prediction_job.proto b/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/batch_prediction_job.proto index 313c78746..487497c75 100644 --- a/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/batch_prediction_job.proto +++ b/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/batch_prediction_job.proto @@ -200,6 +200,15 @@ message BatchPredictionJob { // must be provided. BatchDedicatedResources dedicated_resources = 7; + // The service account that the DeployedModel's container runs as. If not + // specified, a system generated one will be used, which + // has minimal permissions and the custom container, if used, may not have + // enough permission to access other GCP resources. + // + // Users deploying the Model must have the `iam.serviceAccounts.actAs` + // permission on this service account. + string service_account = 29; + // Immutable. Parameters configuring the batch behavior. Currently only applicable when // [dedicated_resources][google.cloud.aiplatform.v1beta1.BatchPredictionJob.dedicated_resources] are used (in other cases Vertex AI does // the tuning itself).