From 7304a6b6cada0a0f6257405b390f2d512ec35fe0 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 17 Nov 2022 17:01:53 -0500 Subject: [PATCH] feat: [aiplatform] add service_account to batch_prediction_job in aiplatform v1 batch_prediction_job.proto (#8780) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add service_account to batch_prediction_job in aiplatform v1 batch_prediction_job.proto PiperOrigin-RevId: 488416174 Source-Link: https://github.com/googleapis/googleapis/commit/b4dea4af8df205a081fa27ff1baa6d02f562b32c Source-Link: https://github.com/googleapis/googleapis-gen/commit/6a9869108535956f4c1666750532cc578d3844db Copy-Tag: eyJwIjoiamF2YS1haXBsYXRmb3JtLy5Pd2xCb3QueWFtbCIsImgiOiI2YTk4NjkxMDg1MzU5NTZmNGMxNjY2NzUwNTMyY2M1NzhkMzg0NGRiIn0= * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- java-aiplatform/README.md | 32 +-- .../aiplatform/v1/JobServiceClientTest.java | 4 + .../aiplatform/v1/BatchPredictionJob.java | 213 ++++++++++++++++++ .../v1/BatchPredictionJobOrBuilder.java | 35 +++ .../v1/BatchPredictionJobProto.java | 102 +++++---- .../aiplatform/v1/batch_prediction_job.proto | 9 + 6 files changed, 329 insertions(+), 66 deletions(-) diff --git a/java-aiplatform/README.md b/java-aiplatform/README.md index 122f1a9fbac4..72ffc1b738c7 100644 --- a/java-aiplatform/README.md +++ b/java-aiplatform/README.md @@ -19,20 +19,20 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-aiplatform - 3.6.0 + 3.7.0 ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-aiplatform:3.6.0' +implementation 'com.google.cloud:google-cloud-aiplatform:3.7.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-aiplatform" % "3.6.0" +libraryDependencies += "com.google.cloud" % "google-cloud-aiplatform" % "3.7.0" ``` ## Authentication @@ -159,16 +159,16 @@ Java is a registered trademark of Oracle and/or its affiliates. [product-docs]: https://cloud.google.com/vertex-ai/docs [javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-aiplatform/latest/overview -[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java7.svg -[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java7.html -[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java8.svg -[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java8.html -[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java8-osx.svg -[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java8-osx.html -[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java8-win.svg -[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java8-win.html -[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java11.svg -[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-aiplatform/java11.html +[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.svg +[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.html +[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.svg +[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.html +[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.svg +[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.html +[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.svg +[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.html +[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.svg +[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html [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-aiplatform.svg [maven-version-link]: https://search.maven.org/search?q=g:com.google.cloud%20AND%20a:google-cloud-aiplatform&core=gav @@ -180,9 +180,9 @@ Java is a registered trademark of Oracle and/or its affiliates. [create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects [cloud-sdk]: https://cloud.google.com/sdk/ [troubleshooting]: https://github.com/googleapis/google-cloud-common/blob/main/troubleshooting/readme.md#troubleshooting -[contributing]: https://github.com/googleapis/java-aiplatform/blob/main/CONTRIBUTING.md -[code-of-conduct]: https://github.com/googleapis/java-aiplatform/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct -[license]: https://github.com/googleapis/java-aiplatform/blob/main/LICENSE +[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md +[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct +[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE [enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing [enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=aiplatform.googleapis.com [libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM diff --git a/java-aiplatform/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1/JobServiceClientTest.java b/java-aiplatform/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1/JobServiceClientTest.java index 2db7c6c37581..25d9fb58e790 100644 --- a/java-aiplatform/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1/JobServiceClientTest.java +++ b/java-aiplatform/google-cloud-aiplatform/src/test/java/com/google/cloud/aiplatform/v1/JobServiceClientTest.java @@ -1550,6 +1550,7 @@ public void createBatchPredictionJobTest() throws Exception { .setModelParameters(Value.newBuilder().setBoolValue(true).build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) @@ -1617,6 +1618,7 @@ public void createBatchPredictionJobTest2() throws Exception { .setModelParameters(Value.newBuilder().setBoolValue(true).build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) @@ -1684,6 +1686,7 @@ public void getBatchPredictionJobTest() throws Exception { .setModelParameters(Value.newBuilder().setBoolValue(true).build()) .setOutputConfig(BatchPredictionJob.OutputConfig.newBuilder().build()) .setDedicatedResources(BatchDedicatedResources.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") .setManualBatchTuningParameters(ManualBatchTuningParameters.newBuilder().build()) .setGenerateExplanation(true) .setExplanationSpec(ExplanationSpec.newBuilder().build()) @@ -1750,6 +1753,7 @@ public void getBatchPredictionJobTest2() throws Exception { .setModelParameters(Value.newBuilder().setBoolValue(true).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/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJob.java b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJob.java index db2ff84e1030..8a386f1d6c82 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJob.java +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJob.java @@ -45,6 +45,7 @@ private BatchPredictionJob() { displayName_ = ""; model_ = ""; modelVersionId_ = ""; + serviceAccount_ = ""; state_ = 0; partialFailures_ = java.util.Collections.emptyList(); } @@ -5369,6 +5370,65 @@ public com.google.cloud.aiplatform.v1.BatchDedicatedResources getDedicatedResour 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.v1.ManualBatchTuningParameters manualBatchTuningParameters_; /** @@ -6333,6 +6393,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_); + } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelVersionId_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 30, modelVersionId_); } @@ -6425,6 +6488,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_); + } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(modelVersionId_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(30, modelVersionId_); } @@ -6468,6 +6534,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())) @@ -6556,6 +6623,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(); @@ -6811,6 +6880,8 @@ public Builder clear() { dedicatedResources_ = null; dedicatedResourcesBuilder_ = null; } + serviceAccount_ = ""; + if (manualBatchTuningParametersBuilder_ == null) { manualBatchTuningParameters_ = null; } else { @@ -6946,6 +7017,7 @@ public com.google.cloud.aiplatform.v1.BatchPredictionJob buildPartial() { } else { result.dedicatedResources_ = dedicatedResourcesBuilder_.build(); } + result.serviceAccount_ = serviceAccount_; if (manualBatchTuningParametersBuilder_ == null) { result.manualBatchTuningParameters_ = manualBatchTuningParameters_; } else { @@ -7095,6 +7167,10 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1.BatchPredictionJob other if (other.hasDedicatedResources()) { mergeDedicatedResources(other.getDedicatedResources()); } + if (!other.getServiceAccount().isEmpty()) { + serviceAccount_ = other.serviceAccount_; + onChanged(); + } if (other.hasManualBatchTuningParameters()) { mergeManualBatchTuningParameters(other.getManualBatchTuningParameters()); } @@ -7341,6 +7417,12 @@ public Builder mergeFrom( break; } // case 226 + case 234: + { + serviceAccount_ = input.readStringRequireUtf8(); + + break; + } // case 234 case 242: { modelVersionId_ = input.readStringRequireUtf8(); @@ -8992,6 +9074,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.v1.ManualBatchTuningParameters manualBatchTuningParameters_; private com.google.protobuf.SingleFieldBuilderV3< com.google.cloud.aiplatform.v1.ManualBatchTuningParameters, diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobOrBuilder.java index 0dcb66d6b4d0..a8d3806b7922 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobOrBuilder.java +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobOrBuilder.java @@ -387,6 +387,41 @@ public interface BatchPredictionJobOrBuilder */ com.google.cloud.aiplatform.v1.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/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobProto.java index 6f76ca91129b..7dce9b50bda2 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobProto.java +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/java/com/google/cloud/aiplatform/v1/BatchPredictionJobProto.java @@ -71,7 +71,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "rs.proto\032:google/cloud/aiplatform/v1/unm" + "anaged_container_model.proto\032\034google/pro" + "tobuf/struct.proto\032\037google/protobuf/time" - + "stamp.proto\032\027google/rpc/status.proto\"\271\021\n" + + "stamp.proto\032\027google/rpc/status.proto\"\322\021\n" + "\022BatchPredictionJob\022\021\n\004name\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(\t" + "B$\372A!\n\037aiplatform.googleapis.com/Model\022\035" @@ -85,55 +85,56 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "google.cloud.aiplatform.v1.BatchPredicti" + "onJob.OutputConfigB\003\340A\002\022P\n\023dedicated_res" + "ources\030\007 \001(\01323.google.cloud.aiplatform.v" - + "1.BatchDedicatedResources\022d\n\036manual_batc" - + "h_tuning_parameters\030\010 \001(\01327.google.cloud" - + ".aiplatform.v1.ManualBatchTuningParamete" - + "rsB\003\340A\005\022\034\n\024generate_explanation\030\027 \001(\010\022E\n" - + "\020explanation_spec\030\031 \001(\0132+.google.cloud.a" - + "iplatform.v1.ExplanationSpec\022S\n\013output_i" - + "nfo\030\t \001(\01329.google.cloud.aiplatform.v1.B" - + "atchPredictionJob.OutputInfoB\003\340A\003\0228\n\005sta" - + "te\030\n \001(\0162$.google.cloud.aiplatform.v1.Jo" - + "bStateB\003\340A\003\022&\n\005error\030\013 \001(\0132\022.google.rpc." - + "StatusB\003\340A\003\0221\n\020partial_failures\030\014 \003(\0132\022." - + "google.rpc.StatusB\003\340A\003\022N\n\022resources_cons" - + "umed\030\r \001(\0132-.google.cloud.aiplatform.v1." - + "ResourcesConsumedB\003\340A\003\022J\n\020completion_sta" - + "ts\030\016 \001(\0132+.google.cloud.aiplatform.v1.Co" - + "mpletionStatsB\003\340A\003\0224\n\013create_time\030\017 \001(\0132" - + "\032.google.protobuf.TimestampB\003\340A\003\0223\n\nstar" - + "t_time\030\020 \001(\0132\032.google.protobuf.Timestamp" - + "B\003\340A\003\0221\n\010end_time\030\021 \001(\0132\032.google.protobu" - + "f.TimestampB\003\340A\003\0224\n\013update_time\030\022 \001(\0132\032." - + "google.protobuf.TimestampB\003\340A\003\022J\n\006labels" - + "\030\023 \003(\0132:.google.cloud.aiplatform.v1.Batc" - + "hPredictionJob.LabelsEntry\022C\n\017encryption" - + "_spec\030\030 \001(\0132*.google.cloud.aiplatform.v1" - + ".EncryptionSpec\032\272\001\n\013InputConfig\022;\n\ngcs_s" - + "ource\030\002 \001(\0132%.google.cloud.aiplatform.v1" - + ".GcsSourceH\000\022E\n\017bigquery_source\030\003 \001(\0132*." - + "google.cloud.aiplatform.v1.BigQuerySourc" - + "eH\000\022\035\n\020instances_format\030\001 \001(\tB\003\340A\002B\010\n\006so" - + "urce\032\326\001\n\014OutputConfig\022E\n\017gcs_destination" - + "\030\002 \001(\0132*.google.cloud.aiplatform.v1.GcsD" - + "estinationH\000\022O\n\024bigquery_destination\030\003 \001" - + "(\0132/.google.cloud.aiplatform.v1.BigQuery" - + "DestinationH\000\022\037\n\022predictions_format\030\001 \001(" - + "\tB\003\340A\002B\r\n\013destination\032\220\001\n\nOutputInfo\022#\n\024" - + "gcs_output_directory\030\001 \001(\tB\003\340A\003H\000\022&\n\027big" - + "query_output_dataset\030\002 \001(\tB\003\340A\003H\000\022\"\n\025big" - + "query_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\005" - + "value\030\002 \001(\t:\0028\001:\206\001\352A\202\001\n,aiplatform.googl" - + "eapis.com/BatchPredictionJob\022Rprojects/{" - + "project}/locations/{location}/batchPredi" - + "ctionJobs/{batch_prediction_job}B\333\001\n\036com" - + ".google.cloud.aiplatform.v1B\027BatchPredic" - + "tionJobProtoP\001ZDgoogle.golang.org/genpro" - + "to/googleapis/cloud/aiplatform/v1;aiplat" - + "form\252\002\032Google.Cloud.AIPlatform.V1\312\002\032Goog" - + "le\\Cloud\\AIPlatform\\V1\352\002\035Google::Cloud::" - + "AIPlatform::V1b\006proto3" + + "1.BatchDedicatedResources\022\027\n\017service_acc" + + "ount\030\035 \001(\t\022d\n\036manual_batch_tuning_parame" + + "ters\030\010 \001(\01327.google.cloud.aiplatform.v1." + + "ManualBatchTuningParametersB\003\340A\005\022\034\n\024gene" + + "rate_explanation\030\027 \001(\010\022E\n\020explanation_sp" + + "ec\030\031 \001(\0132+.google.cloud.aiplatform.v1.Ex" + + "planationSpec\022S\n\013output_info\030\t \001(\01329.goo" + + "gle.cloud.aiplatform.v1.BatchPredictionJ" + + "ob.OutputInfoB\003\340A\003\0228\n\005state\030\n \001(\0162$.goog" + + "le.cloud.aiplatform.v1.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\022N\n\022resources_consumed\030\r \001(\0132-.go" + + "ogle.cloud.aiplatform.v1.ResourcesConsum" + + "edB\003\340A\003\022J\n\020completion_stats\030\016 \001(\0132+.goog" + + "le.cloud.aiplatform.v1.CompletionStatsB\003" + + "\340A\003\0224\n\013create_time\030\017 \001(\0132\032.google.protob" + + "uf.TimestampB\003\340A\003\0223\n\nstart_time\030\020 \001(\0132\032." + + "google.protobuf.TimestampB\003\340A\003\0221\n\010end_ti" + + "me\030\021 \001(\0132\032.google.protobuf.TimestampB\003\340A" + + "\003\0224\n\013update_time\030\022 \001(\0132\032.google.protobuf" + + ".TimestampB\003\340A\003\022J\n\006labels\030\023 \003(\0132:.google" + + ".cloud.aiplatform.v1.BatchPredictionJob." + + "LabelsEntry\022C\n\017encryption_spec\030\030 \001(\0132*.g" + + "oogle.cloud.aiplatform.v1.EncryptionSpec" + + "\032\272\001\n\013InputConfig\022;\n\ngcs_source\030\002 \001(\0132%.g" + + "oogle.cloud.aiplatform.v1.GcsSourceH\000\022E\n" + + "\017bigquery_source\030\003 \001(\0132*.google.cloud.ai" + + "platform.v1.BigQuerySourceH\000\022\035\n\020instance" + + "s_format\030\001 \001(\tB\003\340A\002B\010\n\006source\032\326\001\n\014Output" + + "Config\022E\n\017gcs_destination\030\002 \001(\0132*.google" + + ".cloud.aiplatform.v1.GcsDestinationH\000\022O\n" + + "\024bigquery_destination\030\003 \001(\0132/.google.clo" + + "ud.aiplatform.v1.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\333\001\n\036com.google.cloud.a" + + "iplatform.v1B\027BatchPredictionJobProtoP\001Z" + + "Dgoogle.golang.org/genproto/googleapis/c" + + "loud/aiplatform/v1;aiplatform\252\002\032Google.C" + + "loud.AIPlatform.V1\312\002\032Google\\Cloud\\AIPlat" + + "form\\V1\352\002\035Google::Cloud::AIPlatform::V1b" + + "\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -168,6 +169,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ModelParameters", "OutputConfig", "DedicatedResources", + "ServiceAccount", "ManualBatchTuningParameters", "GenerateExplanation", "ExplanationSpec", diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/batch_prediction_job.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/batch_prediction_job.proto index 21568cee04d0..40f49fbb9186 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/batch_prediction_job.proto +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/src/main/proto/google/cloud/aiplatform/v1/batch_prediction_job.proto @@ -204,6 +204,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.v1.BatchPredictionJob.dedicated_resources] are used (in other cases Vertex AI does // the tuning itself).