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).