diff --git a/java-life-sciences/README.md b/java-life-sciences/README.md index e01b6282e719..06ea04c53ff1 100644 --- a/java-life-sciences/README.md +++ b/java-life-sciences/README.md @@ -22,20 +22,20 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-life-sciences - 0.7.0 + 0.8.0 ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-life-sciences:0.7.0' +implementation 'com.google.cloud:google-cloud-life-sciences:0.8.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-life-sciences" % "0.7.0" +libraryDependencies += "com.google.cloud" % "google-cloud-life-sciences" % "0.8.0" ``` ## Authentication @@ -165,16 +165,16 @@ Java is a registered trademark of Oracle and/or its affiliates. [product-docs]: https://cloud.google.com/life-sciences/docs [javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-life-sciences/latest/overview -[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java7.svg -[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java7.html -[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java8.svg -[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java8.html -[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java8-osx.svg -[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java8-osx.html -[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java8-win.svg -[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java8-win.html -[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/java11.svg -[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-life-sciences/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-preview-yellow [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-life-sciences.svg [maven-version-link]: https://search.maven.org/search?q=g:com.google.cloud%20AND%20a:google-cloud-life-sciences&core=gav @@ -186,9 +186,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-life-sciences/blob/main/CONTRIBUTING.md -[code-of-conduct]: https://github.com/googleapis/java-life-sciences/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct -[license]: https://github.com/googleapis/java-life-sciences/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=lifesciences.googleapis.com [libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM diff --git a/java-life-sciences/google-cloud-life-sciences/pom.xml b/java-life-sciences/google-cloud-life-sciences/pom.xml index f3eeed5ee3b8..102fb92ee761 100644 --- a/java-life-sciences/google-cloud-life-sciences/pom.xml +++ b/java-life-sciences/google-cloud-life-sciences/pom.xml @@ -97,5 +97,10 @@ testlib test + + com.google.api.grpc + grpc-google-common-protos + test + diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClient.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClient.java index 1ee8bf05fb3a..adc52934858a 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClient.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClient.java @@ -16,16 +16,28 @@ package com.google.cloud.lifesciences.v2beta; +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; import com.google.api.core.BetaApi; import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.httpjson.longrunning.OperationsClient; import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PageContext; import com.google.api.gax.rpc.UnaryCallable; import com.google.cloud.lifesciences.v2beta.stub.WorkflowsServiceV2BetaStub; import com.google.cloud.lifesciences.v2beta.stub.WorkflowsServiceV2BetaStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.util.concurrent.MoreExecutors; import com.google.longrunning.Operation; import java.io.IOException; +import java.util.List; import java.util.concurrent.TimeUnit; import javax.annotation.Generated; @@ -45,14 +57,8 @@ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library * try (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = * WorkflowsServiceV2BetaClient.create()) { - * RunPipelineRequest request = - * RunPipelineRequest.newBuilder() - * .setParent("parent-995424086") - * .setPipeline(Pipeline.newBuilder().build()) - * .putAllLabels(new HashMap()) - * .setPubSubTopic("pubSubTopic320524524") - * .build(); - * RunPipelineResponse response = workflowsServiceV2BetaClient.runPipelineAsync(request).get(); + * GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + * Location response = workflowsServiceV2BetaClient.getLocation(request); * } * } * @@ -353,6 +359,168 @@ public final UnaryCallable runPipelineCallable() return stub.runPipelineCallable(); } + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient =
+   *     WorkflowsServiceV2BetaClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Location element : workflowsServiceV2BetaClient.listLocations(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @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 ListLocationsPagedResponse listLocations(ListLocationsRequest request) { + return listLocationsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient =
+   *     WorkflowsServiceV2BetaClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       workflowsServiceV2BetaClient.listLocationsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Location element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listLocationsPagedCallable() { + return stub.listLocationsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient =
+   *     WorkflowsServiceV2BetaClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListLocationsResponse response =
+   *         workflowsServiceV2BetaClient.listLocationsCallable().call(request);
+   *     for (Location element : response.getLocationsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listLocationsCallable() { + return stub.listLocationsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient =
+   *     WorkflowsServiceV2BetaClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   Location response = workflowsServiceV2BetaClient.getLocation(request);
+   * }
+   * }
+ * + * @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 Location getLocation(GetLocationRequest request) { + return getLocationCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient =
+   *     WorkflowsServiceV2BetaClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   ApiFuture future =
+   *       workflowsServiceV2BetaClient.getLocationCallable().futureCall(request);
+   *   // Do something.
+   *   Location response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getLocationCallable() { + return stub.getLocationCallable(); + } + @Override public final void close() { stub.close(); @@ -382,4 +550,80 @@ public void shutdownNow() { public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { return stub.awaitTermination(duration, unit); } + + public static class ListLocationsPagedResponse + extends AbstractPagedListResponse< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListLocationsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListLocationsPagedResponse(ListLocationsPage page) { + super(page, ListLocationsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListLocationsPage + extends AbstractPage< + ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> { + + private ListLocationsPage( + PageContext context, + ListLocationsResponse response) { + super(context, response); + } + + private static ListLocationsPage createEmptyPage() { + return new ListLocationsPage(null, null); + } + + @Override + protected ListLocationsPage createPage( + PageContext context, + ListLocationsResponse response) { + return new ListLocationsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListLocationsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + private ListLocationsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListLocationsFixedSizeCollection createEmptyCollection() { + return new ListLocationsFixedSizeCollection(null, 0); + } + + @Override + protected ListLocationsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListLocationsFixedSizeCollection(pages, collectionSize); + } + } } diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaSettings.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaSettings.java index ba117bb215b1..ed57ac30f28f 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaSettings.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaSettings.java @@ -16,6 +16,8 @@ package com.google.cloud.lifesciences.v2beta; +import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse; + import com.google.api.core.ApiFunction; import com.google.api.core.BetaApi; import com.google.api.gax.core.GoogleCredentialsProvider; @@ -26,9 +28,14 @@ import com.google.api.gax.rpc.ClientContext; import com.google.api.gax.rpc.ClientSettings; import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PagedCallSettings; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; import com.google.cloud.lifesciences.v2beta.stub.WorkflowsServiceV2BetaStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; import com.google.longrunning.Operation; import java.io.IOException; import java.util.List; @@ -49,7 +56,7 @@ *

The builder of this class is recursive, so contained classes are themselves builders. When * build() is called, the tree of builders is called to create the complete settings object. * - *

For example, to set the total timeout of runPipeline to 30 seconds: + *

For example, to set the total timeout of getLocation to 30 seconds: * *

{@code
  * // This snippet has been automatically generated and should be regarded as a code template only.
@@ -60,10 +67,10 @@
  * WorkflowsServiceV2BetaSettings.Builder workflowsServiceV2BetaSettingsBuilder =
  *     WorkflowsServiceV2BetaSettings.newBuilder();
  * workflowsServiceV2BetaSettingsBuilder
- *     .runPipelineSettings()
+ *     .getLocationSettings()
  *     .setRetrySettings(
  *         workflowsServiceV2BetaSettingsBuilder
- *             .runPipelineSettings()
+ *             .getLocationSettings()
  *             .getRetrySettings()
  *             .toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
@@ -87,6 +94,17 @@ public UnaryCallSettings runPipelineSettings() {
     return ((WorkflowsServiceV2BetaStubSettings) getStubSettings()).runPipelineOperationSettings();
   }
 
+  /** Returns the object with the settings used for calls to listLocations. */
+  public PagedCallSettings
+      listLocationsSettings() {
+    return ((WorkflowsServiceV2BetaStubSettings) getStubSettings()).listLocationsSettings();
+  }
+
+  /** Returns the object with the settings used for calls to getLocation. */
+  public UnaryCallSettings getLocationSettings() {
+    return ((WorkflowsServiceV2BetaStubSettings) getStubSettings()).getLocationSettings();
+  }
+
   public static final WorkflowsServiceV2BetaSettings create(WorkflowsServiceV2BetaStubSettings stub)
       throws IOException {
     return new WorkflowsServiceV2BetaSettings.Builder(stub.toBuilder()).build();
@@ -214,6 +232,18 @@ public UnaryCallSettings.Builder runPipelineSetti
       return getStubSettingsBuilder().runPipelineOperationSettings();
     }
 
+    /** Returns the builder for the settings used for calls to listLocations. */
+    public PagedCallSettings.Builder<
+            ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
+        listLocationsSettings() {
+      return getStubSettingsBuilder().listLocationsSettings();
+    }
+
+    /** Returns the builder for the settings used for calls to getLocation. */
+    public UnaryCallSettings.Builder getLocationSettings() {
+      return getStubSettingsBuilder().getLocationSettings();
+    }
+
     @Override
     public WorkflowsServiceV2BetaSettings build() throws IOException {
       return new WorkflowsServiceV2BetaSettings(this);
diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/gapic_metadata.json b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/gapic_metadata.json
index 7d44c4d13027..e5662b5a4813 100644
--- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/gapic_metadata.json
+++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/gapic_metadata.json
@@ -10,6 +10,12 @@
         "grpc": {
           "libraryClient": "WorkflowsServiceV2BetaClient",
           "rpcs": {
+            "GetLocation": {
+              "methods": ["getLocation", "getLocationCallable"]
+            },
+            "ListLocations": {
+              "methods": ["listLocations", "listLocationsPagedCallable", "listLocationsCallable"]
+            },
             "RunPipeline": {
               "methods": ["runPipelineAsync", "runPipelineOperationCallable", "runPipelineCallable"]
             }
diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/package-info.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/package-info.java
index eb7339b6d7be..f06263a92c6e 100644
--- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/package-info.java
+++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/package-info.java
@@ -15,7 +15,9 @@
  */
 
 /**
- * The interfaces provided are listed below, along with usage samples.
+ * A client to Cloud Life Sciences API
+ *
+ * 

The interfaces provided are listed below, along with usage samples. * *

======================= WorkflowsServiceV2BetaClient ======================= * @@ -32,14 +34,8 @@ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library * try (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = * WorkflowsServiceV2BetaClient.create()) { - * RunPipelineRequest request = - * RunPipelineRequest.newBuilder() - * .setParent("parent-995424086") - * .setPipeline(Pipeline.newBuilder().build()) - * .putAllLabels(new HashMap()) - * .setPubSubTopic("pubSubTopic320524524") - * .build(); - * RunPipelineResponse response = workflowsServiceV2BetaClient.runPipelineAsync(request).get(); + * GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + * Location response = workflowsServiceV2BetaClient.getLocation(request); * } * }

*/ diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/GrpcWorkflowsServiceV2BetaStub.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/GrpcWorkflowsServiceV2BetaStub.java index a036926b57b0..58cad77908bd 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/GrpcWorkflowsServiceV2BetaStub.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/GrpcWorkflowsServiceV2BetaStub.java @@ -16,6 +16,8 @@ package com.google.cloud.lifesciences.v2beta.stub; +import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse; + import com.google.api.core.BetaApi; import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.core.BackgroundResourceAggregation; @@ -27,6 +29,10 @@ import com.google.cloud.lifesciences.v2beta.Metadata; import com.google.cloud.lifesciences.v2beta.RunPipelineRequest; import com.google.cloud.lifesciences.v2beta.RunPipelineResponse; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; import com.google.common.collect.ImmutableMap; import com.google.longrunning.Operation; import com.google.longrunning.stub.GrpcOperationsStub; @@ -53,9 +59,32 @@ public class GrpcWorkflowsServiceV2BetaStub extends WorkflowsServiceV2BetaStub { .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) .build(); + private static final MethodDescriptor + listLocationsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setRequestMarshaller( + ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance())) + .build(); + + private static final MethodDescriptor getLocationMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance())) + .build(); + private final UnaryCallable runPipelineCallable; private final OperationCallable runPipelineOperationCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; private final BackgroundResource backgroundResources; private final GrpcOperationsStub operationsStub; @@ -111,6 +140,26 @@ protected GrpcWorkflowsServiceV2BetaStub( return params.build(); }) .build(); + GrpcCallSettings listLocationsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("name", String.valueOf(request.getName())); + return params.build(); + }) + .build(); + GrpcCallSettings getLocationTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("name", String.valueOf(request.getName())); + return params.build(); + }) + .build(); this.runPipelineCallable = callableFactory.createUnaryCallable( @@ -121,6 +170,15 @@ protected GrpcWorkflowsServiceV2BetaStub( settings.runPipelineOperationSettings(), clientContext, operationsStub); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); this.backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); @@ -141,6 +199,22 @@ public UnaryCallable runPipelineCallable() { return runPipelineOperationCallable; } + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + @Override public final void close() { try { diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/HttpJsonWorkflowsServiceV2BetaStub.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/HttpJsonWorkflowsServiceV2BetaStub.java index 8b188215e372..615f0bd44991 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/HttpJsonWorkflowsServiceV2BetaStub.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/HttpJsonWorkflowsServiceV2BetaStub.java @@ -16,6 +16,8 @@ package com.google.cloud.lifesciences.v2beta.stub; +import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse; + import com.google.api.core.BetaApi; import com.google.api.core.InternalApi; import com.google.api.gax.core.BackgroundResource; @@ -34,6 +36,10 @@ import com.google.cloud.lifesciences.v2beta.Metadata; import com.google.cloud.lifesciences.v2beta.RunPipelineRequest; import com.google.cloud.lifesciences.v2beta.RunPipelineResponse; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; import com.google.longrunning.Operation; import com.google.protobuf.TypeRegistry; import java.io.IOException; @@ -99,9 +105,79 @@ public class HttpJsonWorkflowsServiceV2BetaStub extends WorkflowsServiceV2BetaSt HttpJsonOperationSnapshot.create(response)) .build(); + private static final ApiMethodDescriptor + listLocationsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v2beta/{name=projects/*}/locations", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListLocationsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getLocationMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v2beta/{name=projects/*/locations/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Location.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + private final UnaryCallable runPipelineCallable; private final OperationCallable runPipelineOperationCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; private final BackgroundResource backgroundResources; private final HttpJsonOperationsStub httpJsonOperationsStub; @@ -155,6 +231,17 @@ protected HttpJsonWorkflowsServiceV2BetaStub( .setMethodDescriptor(runPipelineMethodDescriptor) .setTypeRegistry(typeRegistry) .build(); + HttpJsonCallSettings + listLocationsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); + HttpJsonCallSettings getLocationTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setTypeRegistry(typeRegistry) + .build(); this.runPipelineCallable = callableFactory.createUnaryCallable( @@ -165,6 +252,15 @@ protected HttpJsonWorkflowsServiceV2BetaStub( settings.runPipelineOperationSettings(), clientContext, httpJsonOperationsStub); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); this.backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); @@ -174,6 +270,8 @@ protected HttpJsonWorkflowsServiceV2BetaStub( public static List getMethodDescriptors() { List methodDescriptors = new ArrayList<>(); methodDescriptors.add(runPipelineMethodDescriptor); + methodDescriptors.add(listLocationsMethodDescriptor); + methodDescriptors.add(getLocationMethodDescriptor); return methodDescriptors; } @@ -192,6 +290,22 @@ public UnaryCallable runPipelineCallable() { return runPipelineOperationCallable; } + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + @Override public final void close() { try { diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStub.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStub.java index 09b93daeb515..e6f991cb26ad 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStub.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStub.java @@ -16,6 +16,8 @@ package com.google.cloud.lifesciences.v2beta.stub; +import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse; + import com.google.api.core.BetaApi; import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.rpc.OperationCallable; @@ -23,6 +25,10 @@ import com.google.cloud.lifesciences.v2beta.Metadata; import com.google.cloud.lifesciences.v2beta.RunPipelineRequest; import com.google.cloud.lifesciences.v2beta.RunPipelineResponse; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; import com.google.longrunning.Operation; import com.google.longrunning.stub.OperationsStub; import javax.annotation.Generated; @@ -54,6 +60,19 @@ public UnaryCallable runPipelineCallable() { throw new UnsupportedOperationException("Not implemented: runPipelineCallable()"); } + public UnaryCallable + listLocationsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsPagedCallable()"); + } + + public UnaryCallable listLocationsCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsCallable()"); + } + + public UnaryCallable getLocationCallable() { + throw new UnsupportedOperationException("Not implemented: getLocationCallable()"); + } + @Override public abstract void close(); } diff --git a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStubSettings.java b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStubSettings.java index 3efded26b496..7013fb50f1c3 100644 --- a/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStubSettings.java +++ b/java-life-sciences/google-cloud-life-sciences/src/main/java/com/google/cloud/lifesciences/v2beta/stub/WorkflowsServiceV2BetaStubSettings.java @@ -16,7 +16,10 @@ package com.google.cloud.lifesciences.v2beta.stub; +import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse; + import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; import com.google.api.core.BetaApi; import com.google.api.gax.core.GaxProperties; import com.google.api.gax.core.GoogleCredentialsProvider; @@ -31,16 +34,26 @@ import com.google.api.gax.longrunning.OperationSnapshot; import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; import com.google.api.gax.rpc.ApiClientHeaderProvider; import com.google.api.gax.rpc.ClientContext; import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; import com.google.api.gax.rpc.StatusCode; import com.google.api.gax.rpc.StubSettings; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; import com.google.cloud.lifesciences.v2beta.Metadata; import com.google.cloud.lifesciences.v2beta.RunPipelineRequest; import com.google.cloud.lifesciences.v2beta.RunPipelineResponse; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -66,7 +79,7 @@ *

The builder of this class is recursive, so contained classes are themselves builders. When * build() is called, the tree of builders is called to create the complete settings object. * - *

For example, to set the total timeout of runPipeline to 30 seconds: + *

For example, to set the total timeout of getLocation to 30 seconds: * *

{@code
  * // This snippet has been automatically generated and should be regarded as a code template only.
@@ -77,10 +90,10 @@
  * WorkflowsServiceV2BetaStubSettings.Builder workflowsServiceV2BetaSettingsBuilder =
  *     WorkflowsServiceV2BetaStubSettings.newBuilder();
  * workflowsServiceV2BetaSettingsBuilder
- *     .runPipelineSettings()
+ *     .getLocationSettings()
  *     .setRetrySettings(
  *         workflowsServiceV2BetaSettingsBuilder
- *             .runPipelineSettings()
+ *             .getLocationSettings()
  *             .getRetrySettings()
  *             .toBuilder()
  *             .setTotalTimeout(Duration.ofSeconds(30))
@@ -100,6 +113,63 @@ public class WorkflowsServiceV2BetaStubSettings
   private final UnaryCallSettings runPipelineSettings;
   private final OperationCallSettings
       runPipelineOperationSettings;
+  private final PagedCallSettings<
+          ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
+      listLocationsSettings;
+  private final UnaryCallSettings getLocationSettings;
+
+  private static final PagedListDescriptor
+      LIST_LOCATIONS_PAGE_STR_DESC =
+          new PagedListDescriptor() {
+            @Override
+            public String emptyToken() {
+              return "";
+            }
+
+            @Override
+            public ListLocationsRequest injectToken(ListLocationsRequest payload, String token) {
+              return ListLocationsRequest.newBuilder(payload).setPageToken(token).build();
+            }
+
+            @Override
+            public ListLocationsRequest injectPageSize(ListLocationsRequest payload, int pageSize) {
+              return ListLocationsRequest.newBuilder(payload).setPageSize(pageSize).build();
+            }
+
+            @Override
+            public Integer extractPageSize(ListLocationsRequest payload) {
+              return payload.getPageSize();
+            }
+
+            @Override
+            public String extractNextToken(ListLocationsResponse payload) {
+              return payload.getNextPageToken();
+            }
+
+            @Override
+            public Iterable extractResources(ListLocationsResponse payload) {
+              return payload.getLocationsList() == null
+                  ? ImmutableList.of()
+                  : payload.getLocationsList();
+            }
+          };
+
+  private static final PagedListResponseFactory<
+          ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
+      LIST_LOCATIONS_PAGE_STR_FACT =
+          new PagedListResponseFactory<
+              ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>() {
+            @Override
+            public ApiFuture getFuturePagedResponse(
+                UnaryCallable callable,
+                ListLocationsRequest request,
+                ApiCallContext context,
+                ApiFuture futureResponse) {
+              PageContext pageContext =
+                  PageContext.create(callable, LIST_LOCATIONS_PAGE_STR_DESC, request, context);
+              return ListLocationsPagedResponse.createAsync(pageContext, futureResponse);
+            }
+          };
 
   /** Returns the object with the settings used for calls to runPipeline. */
   public UnaryCallSettings runPipelineSettings() {
@@ -112,6 +182,17 @@ public UnaryCallSettings runPipelineSettings() {
     return runPipelineOperationSettings;
   }
 
+  /** Returns the object with the settings used for calls to listLocations. */
+  public PagedCallSettings
+      listLocationsSettings() {
+    return listLocationsSettings;
+  }
+
+  /** Returns the object with the settings used for calls to getLocation. */
+  public UnaryCallSettings getLocationSettings() {
+    return getLocationSettings;
+  }
+
   public WorkflowsServiceV2BetaStub createStub() throws IOException {
     if (getTransportChannelProvider()
         .getTransportName()
@@ -220,6 +301,8 @@ protected WorkflowsServiceV2BetaStubSettings(Builder settingsBuilder) throws IOE
 
     runPipelineSettings = settingsBuilder.runPipelineSettings().build();
     runPipelineOperationSettings = settingsBuilder.runPipelineOperationSettings().build();
+    listLocationsSettings = settingsBuilder.listLocationsSettings().build();
+    getLocationSettings = settingsBuilder.getLocationSettings().build();
   }
 
   /** Builder for WorkflowsServiceV2BetaStubSettings. */
@@ -229,6 +312,10 @@ public static class Builder
     private final UnaryCallSettings.Builder runPipelineSettings;
     private final OperationCallSettings.Builder
         runPipelineOperationSettings;
+    private final PagedCallSettings.Builder<
+            ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
+        listLocationsSettings;
+    private final UnaryCallSettings.Builder getLocationSettings;
     private static final ImmutableMap>
         RETRYABLE_CODE_DEFINITIONS;
 
@@ -265,9 +352,12 @@ protected Builder(ClientContext clientContext) {
 
       runPipelineSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
       runPipelineOperationSettings = OperationCallSettings.newBuilder();
+      listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT);
+      getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
 
       unaryMethodSettingsBuilders =
-          ImmutableList.>of(runPipelineSettings);
+          ImmutableList.>of(
+              runPipelineSettings, listLocationsSettings, getLocationSettings);
       initDefaults(this);
     }
 
@@ -276,9 +366,12 @@ protected Builder(WorkflowsServiceV2BetaStubSettings settings) {
 
       runPipelineSettings = settings.runPipelineSettings.toBuilder();
       runPipelineOperationSettings = settings.runPipelineOperationSettings.toBuilder();
+      listLocationsSettings = settings.listLocationsSettings.toBuilder();
+      getLocationSettings = settings.getLocationSettings.toBuilder();
 
       unaryMethodSettingsBuilders =
-          ImmutableList.>of(runPipelineSettings);
+          ImmutableList.>of(
+              runPipelineSettings, listLocationsSettings, getLocationSettings);
     }
 
     private static Builder createDefault() {
@@ -313,6 +406,16 @@ private static Builder initDefaults(Builder builder) {
           .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes"))
           .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params"));
 
+      builder
+          .listLocationsSettings()
+          .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes"))
+          .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params"));
+
+      builder
+          .getLocationSettings()
+          .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes"))
+          .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params"));
+
       builder
           .runPipelineOperationSettings()
           .setInitialCallSettings(
@@ -367,6 +470,18 @@ public UnaryCallSettings.Builder runPipelineSetti
       return runPipelineOperationSettings;
     }
 
+    /** Returns the builder for the settings used for calls to listLocations. */
+    public PagedCallSettings.Builder<
+            ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
+        listLocationsSettings() {
+      return listLocationsSettings;
+    }
+
+    /** Returns the builder for the settings used for calls to getLocation. */
+    public UnaryCallSettings.Builder getLocationSettings() {
+      return getLocationSettings;
+    }
+
     @Override
     public WorkflowsServiceV2BetaStubSettings build() throws IOException {
       return new WorkflowsServiceV2BetaStubSettings(this);
diff --git a/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/MockLocations.java b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/MockLocations.java
new file mode 100644
index 000000000000..4da8dd7a7158
--- /dev/null
+++ b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/MockLocations.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2022 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.lifesciences.v2beta;
+
+import com.google.api.core.BetaApi;
+import com.google.api.gax.grpc.testing.MockGrpcService;
+import com.google.protobuf.AbstractMessage;
+import io.grpc.ServerServiceDefinition;
+import java.util.List;
+import javax.annotation.Generated;
+
+@BetaApi
+@Generated("by gapic-generator-java")
+public class MockLocations implements MockGrpcService {
+  private final MockLocationsImpl serviceImpl;
+
+  public MockLocations() {
+    serviceImpl = new MockLocationsImpl();
+  }
+
+  @Override
+  public List getRequests() {
+    return serviceImpl.getRequests();
+  }
+
+  @Override
+  public void addResponse(AbstractMessage response) {
+    serviceImpl.addResponse(response);
+  }
+
+  @Override
+  public void addException(Exception exception) {
+    serviceImpl.addException(exception);
+  }
+
+  @Override
+  public ServerServiceDefinition getServiceDefinition() {
+    return serviceImpl.bindService();
+  }
+
+  @Override
+  public void reset() {
+    serviceImpl.reset();
+  }
+}
diff --git a/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/MockLocationsImpl.java b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/MockLocationsImpl.java
new file mode 100644
index 000000000000..9c9b545fa60c
--- /dev/null
+++ b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/MockLocationsImpl.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2022 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.lifesciences.v2beta;
+
+import com.google.api.core.BetaApi;
+import com.google.cloud.location.GetLocationRequest;
+import com.google.cloud.location.ListLocationsRequest;
+import com.google.cloud.location.ListLocationsResponse;
+import com.google.cloud.location.Location;
+import com.google.cloud.location.LocationsGrpc.LocationsImplBase;
+import com.google.protobuf.AbstractMessage;
+import io.grpc.stub.StreamObserver;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
+import javax.annotation.Generated;
+
+@BetaApi
+@Generated("by gapic-generator-java")
+public class MockLocationsImpl extends LocationsImplBase {
+  private List requests;
+  private Queue responses;
+
+  public MockLocationsImpl() {
+    requests = new ArrayList<>();
+    responses = new LinkedList<>();
+  }
+
+  public List getRequests() {
+    return requests;
+  }
+
+  public void addResponse(AbstractMessage response) {
+    responses.add(response);
+  }
+
+  public void setResponses(List responses) {
+    this.responses = new LinkedList(responses);
+  }
+
+  public void addException(Exception exception) {
+    responses.add(exception);
+  }
+
+  public void reset() {
+    requests = new ArrayList<>();
+    responses = new LinkedList<>();
+  }
+
+  @Override
+  public void listLocations(
+      ListLocationsRequest request, StreamObserver responseObserver) {
+    Object response = responses.poll();
+    if (response instanceof ListLocationsResponse) {
+      requests.add(request);
+      responseObserver.onNext(((ListLocationsResponse) response));
+      responseObserver.onCompleted();
+    } else if (response instanceof Exception) {
+      responseObserver.onError(((Exception) response));
+    } else {
+      responseObserver.onError(
+          new IllegalArgumentException(
+              String.format(
+                  "Unrecognized response type %s for method ListLocations, expected %s or %s",
+                  response == null ? "null" : response.getClass().getName(),
+                  ListLocationsResponse.class.getName(),
+                  Exception.class.getName())));
+    }
+  }
+
+  @Override
+  public void getLocation(GetLocationRequest request, StreamObserver responseObserver) {
+    Object response = responses.poll();
+    if (response instanceof Location) {
+      requests.add(request);
+      responseObserver.onNext(((Location) response));
+      responseObserver.onCompleted();
+    } else if (response instanceof Exception) {
+      responseObserver.onError(((Exception) response));
+    } else {
+      responseObserver.onError(
+          new IllegalArgumentException(
+              String.format(
+                  "Unrecognized response type %s for method GetLocation, expected %s or %s",
+                  response == null ? "null" : response.getClass().getName(),
+                  Location.class.getName(),
+                  Exception.class.getName())));
+    }
+  }
+}
diff --git a/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientHttpJsonTest.java b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientHttpJsonTest.java
index 579f3417864c..fe94b52e5151 100644
--- a/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientHttpJsonTest.java
+++ b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientHttpJsonTest.java
@@ -16,18 +16,27 @@
 
 package com.google.cloud.lifesciences.v2beta;
 
+import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse;
+
 import com.google.api.gax.core.NoCredentialsProvider;
 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
 import com.google.api.gax.httpjson.testing.MockHttpService;
 import com.google.api.gax.rpc.ApiClientHeaderProvider;
 import com.google.api.gax.rpc.ApiException;
 import com.google.api.gax.rpc.ApiExceptionFactory;
+import com.google.api.gax.rpc.InvalidArgumentException;
 import com.google.api.gax.rpc.StatusCode;
 import com.google.api.gax.rpc.testing.FakeStatusCode;
 import com.google.cloud.lifesciences.v2beta.stub.HttpJsonWorkflowsServiceV2BetaStub;
+import com.google.cloud.location.GetLocationRequest;
+import com.google.cloud.location.ListLocationsRequest;
+import com.google.cloud.location.ListLocationsResponse;
+import com.google.cloud.location.Location;
+import com.google.common.collect.Lists;
 import com.google.longrunning.Operation;
 import com.google.protobuf.Any;
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
@@ -131,4 +140,120 @@ public void runPipelineExceptionTest() throws Exception {
     } catch (ExecutionException e) {
     }
   }
+
+  @Test
+  public void listLocationsTest() throws Exception {
+    Location responsesElement = Location.newBuilder().build();
+    ListLocationsResponse expectedResponse =
+        ListLocationsResponse.newBuilder()
+            .setNextPageToken("")
+            .addAllLocations(Arrays.asList(responsesElement))
+            .build();
+    mockService.addResponse(expectedResponse);
+
+    ListLocationsRequest request =
+        ListLocationsRequest.newBuilder()
+            .setName("projects/project-3664")
+            .setFilter("filter-1274492040")
+            .setPageSize(883849137)
+            .setPageToken("pageToken873572522")
+            .build();
+
+    ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
+
+    List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+    Assert.assertEquals(1, resources.size());
+    Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void listLocationsExceptionTest() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      ListLocationsRequest request =
+          ListLocationsRequest.newBuilder()
+              .setName("projects/project-3664")
+              .setFilter("filter-1274492040")
+              .setPageSize(883849137)
+              .setPageToken("pageToken873572522")
+              .build();
+      client.listLocations(request);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void getLocationTest() throws Exception {
+    Location expectedResponse =
+        Location.newBuilder()
+            .setName("name3373707")
+            .setLocationId("locationId1541836720")
+            .setDisplayName("displayName1714148973")
+            .putAllLabels(new HashMap())
+            .setMetadata(Any.newBuilder().build())
+            .build();
+    mockService.addResponse(expectedResponse);
+
+    GetLocationRequest request =
+        GetLocationRequest.newBuilder()
+            .setName("projects/project-9062/locations/location-9062")
+            .build();
+
+    Location actualResponse = client.getLocation(request);
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockService.getRequestPaths();
+    Assert.assertEquals(1, actualRequests.size());
+
+    String apiClientHeaderKey =
+        mockService
+            .getRequestHeaders()
+            .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+            .iterator()
+            .next();
+    Assert.assertTrue(
+        GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+            .matcher(apiClientHeaderKey)
+            .matches());
+  }
+
+  @Test
+  public void getLocationExceptionTest() throws Exception {
+    ApiException exception =
+        ApiExceptionFactory.createException(
+            new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+    mockService.addException(exception);
+
+    try {
+      GetLocationRequest request =
+          GetLocationRequest.newBuilder()
+              .setName("projects/project-9062/locations/location-9062")
+              .build();
+      client.getLocation(request);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
 }
diff --git a/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientTest.java b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientTest.java
index 6672bf485b6a..8a139747cf84 100644
--- a/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientTest.java
+++ b/java-life-sciences/google-cloud-life-sciences/src/test/java/com/google/cloud/lifesciences/v2beta/WorkflowsServiceV2BetaClientTest.java
@@ -16,6 +16,8 @@
 
 package com.google.cloud.lifesciences.v2beta;
 
+import static com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient.ListLocationsPagedResponse;
+
 import com.google.api.gax.core.NoCredentialsProvider;
 import com.google.api.gax.grpc.GaxGrpcProperties;
 import com.google.api.gax.grpc.testing.LocalChannelProvider;
@@ -24,6 +26,11 @@
 import com.google.api.gax.rpc.ApiClientHeaderProvider;
 import com.google.api.gax.rpc.InvalidArgumentException;
 import com.google.api.gax.rpc.StatusCode;
+import com.google.cloud.location.GetLocationRequest;
+import com.google.cloud.location.ListLocationsRequest;
+import com.google.cloud.location.ListLocationsResponse;
+import com.google.cloud.location.Location;
+import com.google.common.collect.Lists;
 import com.google.longrunning.Operation;
 import com.google.protobuf.AbstractMessage;
 import com.google.protobuf.Any;
@@ -44,6 +51,7 @@
 
 @Generated("by gapic-generator-java")
 public class WorkflowsServiceV2BetaClientTest {
+  private static MockLocations mockLocations;
   private static MockServiceHelper mockServiceHelper;
   private static MockWorkflowsServiceV2Beta mockWorkflowsServiceV2Beta;
   private LocalChannelProvider channelProvider;
@@ -52,10 +60,11 @@ public class WorkflowsServiceV2BetaClientTest {
   @BeforeClass
   public static void startStaticServer() {
     mockWorkflowsServiceV2Beta = new MockWorkflowsServiceV2Beta();
+    mockLocations = new MockLocations();
     mockServiceHelper =
         new MockServiceHelper(
             UUID.randomUUID().toString(),
-            Arrays.asList(mockWorkflowsServiceV2Beta));
+            Arrays.asList(mockWorkflowsServiceV2Beta, mockLocations));
     mockServiceHelper.start();
   }
 
@@ -138,4 +147,105 @@ public void runPipelineExceptionTest() throws Exception {
       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
     }
   }
+
+  @Test
+  public void listLocationsTest() throws Exception {
+    Location responsesElement = Location.newBuilder().build();
+    ListLocationsResponse expectedResponse =
+        ListLocationsResponse.newBuilder()
+            .setNextPageToken("")
+            .addAllLocations(Arrays.asList(responsesElement))
+            .build();
+    mockLocations.addResponse(expectedResponse);
+
+    ListLocationsRequest request =
+        ListLocationsRequest.newBuilder()
+            .setName("name3373707")
+            .setFilter("filter-1274492040")
+            .setPageSize(883849137)
+            .setPageToken("pageToken873572522")
+            .build();
+
+    ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
+
+    List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+    Assert.assertEquals(1, resources.size());
+    Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
+
+    List actualRequests = mockLocations.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
+
+    Assert.assertEquals(request.getName(), actualRequest.getName());
+    Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
+    Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
+    Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void listLocationsExceptionTest() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockLocations.addException(exception);
+
+    try {
+      ListLocationsRequest request =
+          ListLocationsRequest.newBuilder()
+              .setName("name3373707")
+              .setFilter("filter-1274492040")
+              .setPageSize(883849137)
+              .setPageToken("pageToken873572522")
+              .build();
+      client.listLocations(request);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
+
+  @Test
+  public void getLocationTest() throws Exception {
+    Location expectedResponse =
+        Location.newBuilder()
+            .setName("name3373707")
+            .setLocationId("locationId1541836720")
+            .setDisplayName("displayName1714148973")
+            .putAllLabels(new HashMap())
+            .setMetadata(Any.newBuilder().build())
+            .build();
+    mockLocations.addResponse(expectedResponse);
+
+    GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+
+    Location actualResponse = client.getLocation(request);
+    Assert.assertEquals(expectedResponse, actualResponse);
+
+    List actualRequests = mockLocations.getRequests();
+    Assert.assertEquals(1, actualRequests.size());
+    GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
+
+    Assert.assertEquals(request.getName(), actualRequest.getName());
+    Assert.assertTrue(
+        channelProvider.isHeaderSent(
+            ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
+            GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
+  }
+
+  @Test
+  public void getLocationExceptionTest() throws Exception {
+    StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
+    mockLocations.addException(exception);
+
+    try {
+      GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+      client.getLocation(request);
+      Assert.fail("No exception raised");
+    } catch (InvalidArgumentException e) {
+      // Expected exception.
+    }
+  }
 }
diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Action.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Action.java
index a353ab18ba6a..50151d6a2c84 100644
--- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Action.java
+++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Action.java
@@ -483,6 +483,75 @@ public java.lang.String getEnvironmentOrThrow(java.lang.String key) {
     return map.get(key);
   }
 
+  public static final int ENCRYPTED_ENVIRONMENT_FIELD_NUMBER = 21;
+  private com.google.cloud.lifesciences.v2beta.Secret encryptedEnvironment_;
+  /**
+   *
+   *
+   * 
+   * The encrypted environment to pass into the container. This environment is
+   * merged with values specified in the
+   * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+   * duplicate values.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + * + * @return Whether the encryptedEnvironment field is set. + */ + @java.lang.Override + public boolean hasEncryptedEnvironment() { + return encryptedEnvironment_ != null; + } + /** + * + * + *
+   * The encrypted environment to pass into the container. This environment is
+   * merged with values specified in the
+   * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+   * duplicate values.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + * + * @return The encryptedEnvironment. + */ + @java.lang.Override + public com.google.cloud.lifesciences.v2beta.Secret getEncryptedEnvironment() { + return encryptedEnvironment_ == null + ? com.google.cloud.lifesciences.v2beta.Secret.getDefaultInstance() + : encryptedEnvironment_; + } + /** + * + * + *
+   * The encrypted environment to pass into the container. This environment is
+   * merged with values specified in the
+   * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+   * duplicate values.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + @java.lang.Override + public com.google.cloud.lifesciences.v2beta.SecretOrBuilder getEncryptedEnvironmentOrBuilder() { + return getEncryptedEnvironment(); + } + public static final int PID_NAMESPACE_FIELD_NUMBER = 6; private volatile java.lang.Object pidNamespace_; /** @@ -1246,6 +1315,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (blockExternalNetwork_ != false) { output.writeBool(20, blockExternalNetwork_); } + if (encryptedEnvironment_ != null) { + output.writeMessage(21, getEncryptedEnvironment()); + } getUnknownFields().writeTo(output); } @@ -1339,6 +1411,10 @@ public int getSerializedSize() { if (blockExternalNetwork_ != false) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(20, blockExternalNetwork_); } + if (encryptedEnvironment_ != null) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(21, getEncryptedEnvironment()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -1360,6 +1436,10 @@ public boolean equals(final java.lang.Object obj) { if (!getCommandsList().equals(other.getCommandsList())) return false; if (!getEntrypoint().equals(other.getEntrypoint())) return false; if (!internalGetEnvironment().equals(other.internalGetEnvironment())) return false; + if (hasEncryptedEnvironment() != other.hasEncryptedEnvironment()) return false; + if (hasEncryptedEnvironment()) { + if (!getEncryptedEnvironment().equals(other.getEncryptedEnvironment())) return false; + } if (!getPidNamespace().equals(other.getPidNamespace())) return false; if (!internalGetPortMappings().equals(other.internalGetPortMappings())) return false; if (!getMountsList().equals(other.getMountsList())) return false; @@ -1405,6 +1485,10 @@ public int hashCode() { hash = (37 * hash) + ENVIRONMENT_FIELD_NUMBER; hash = (53 * hash) + internalGetEnvironment().hashCode(); } + if (hasEncryptedEnvironment()) { + hash = (37 * hash) + ENCRYPTED_ENVIRONMENT_FIELD_NUMBER; + hash = (53 * hash) + getEncryptedEnvironment().hashCode(); + } hash = (37 * hash) + PID_NAMESPACE_FIELD_NUMBER; hash = (53 * hash) + getPidNamespace().hashCode(); if (!internalGetPortMappings().getMap().isEmpty()) { @@ -1618,6 +1702,12 @@ public Builder clear() { entrypoint_ = ""; internalGetMutableEnvironment().clear(); + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironment_ = null; + } else { + encryptedEnvironment_ = null; + encryptedEnvironmentBuilder_ = null; + } pidNamespace_ = ""; internalGetMutablePortMappings().clear(); @@ -1695,6 +1785,11 @@ public com.google.cloud.lifesciences.v2beta.Action buildPartial() { result.entrypoint_ = entrypoint_; result.environment_ = internalGetEnvironment(); result.environment_.makeImmutable(); + if (encryptedEnvironmentBuilder_ == null) { + result.encryptedEnvironment_ = encryptedEnvironment_; + } else { + result.encryptedEnvironment_ = encryptedEnvironmentBuilder_.build(); + } result.pidNamespace_ = pidNamespace_; result.portMappings_ = internalGetPortMappings(); result.portMappings_.makeImmutable(); @@ -1799,6 +1894,9 @@ public Builder mergeFrom(com.google.cloud.lifesciences.v2beta.Action other) { onChanged(); } internalGetMutableEnvironment().mergeFrom(other.internalGetEnvironment()); + if (other.hasEncryptedEnvironment()) { + mergeEncryptedEnvironment(other.getEncryptedEnvironment()); + } if (!other.getPidNamespace().isEmpty()) { pidNamespace_ = other.pidNamespace_; onChanged(); @@ -2025,6 +2123,13 @@ public Builder mergeFrom( break; } // case 160 + case 170: + { + input.readMessage( + getEncryptedEnvironmentFieldBuilder().getBuilder(), extensionRegistry); + + break; + } // case 170 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -2872,6 +2977,255 @@ public Builder putAllEnvironment(java.util.Map + encryptedEnvironmentBuilder_; + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + * + * @return Whether the encryptedEnvironment field is set. + */ + public boolean hasEncryptedEnvironment() { + return encryptedEnvironmentBuilder_ != null || encryptedEnvironment_ != null; + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + * + * @return The encryptedEnvironment. + */ + public com.google.cloud.lifesciences.v2beta.Secret getEncryptedEnvironment() { + if (encryptedEnvironmentBuilder_ == null) { + return encryptedEnvironment_ == null + ? com.google.cloud.lifesciences.v2beta.Secret.getDefaultInstance() + : encryptedEnvironment_; + } else { + return encryptedEnvironmentBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + public Builder setEncryptedEnvironment(com.google.cloud.lifesciences.v2beta.Secret value) { + if (encryptedEnvironmentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + encryptedEnvironment_ = value; + onChanged(); + } else { + encryptedEnvironmentBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + public Builder setEncryptedEnvironment( + com.google.cloud.lifesciences.v2beta.Secret.Builder builderForValue) { + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironment_ = builderForValue.build(); + onChanged(); + } else { + encryptedEnvironmentBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + public Builder mergeEncryptedEnvironment(com.google.cloud.lifesciences.v2beta.Secret value) { + if (encryptedEnvironmentBuilder_ == null) { + if (encryptedEnvironment_ != null) { + encryptedEnvironment_ = + com.google.cloud.lifesciences.v2beta.Secret.newBuilder(encryptedEnvironment_) + .mergeFrom(value) + .buildPartial(); + } else { + encryptedEnvironment_ = value; + } + onChanged(); + } else { + encryptedEnvironmentBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + public Builder clearEncryptedEnvironment() { + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironment_ = null; + onChanged(); + } else { + encryptedEnvironment_ = null; + encryptedEnvironmentBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + public com.google.cloud.lifesciences.v2beta.Secret.Builder getEncryptedEnvironmentBuilder() { + + onChanged(); + return getEncryptedEnvironmentFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + public com.google.cloud.lifesciences.v2beta.SecretOrBuilder getEncryptedEnvironmentOrBuilder() { + if (encryptedEnvironmentBuilder_ != null) { + return encryptedEnvironmentBuilder_.getMessageOrBuilder(); + } else { + return encryptedEnvironment_ == null + ? com.google.cloud.lifesciences.v2beta.Secret.getDefaultInstance() + : encryptedEnvironment_; + } + } + /** + * + * + *
+     * The encrypted environment to pass into the container. This environment is
+     * merged with values specified in the
+     * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+     * duplicate values.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.lifesciences.v2beta.Secret, + com.google.cloud.lifesciences.v2beta.Secret.Builder, + com.google.cloud.lifesciences.v2beta.SecretOrBuilder> + getEncryptedEnvironmentFieldBuilder() { + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironmentBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.lifesciences.v2beta.Secret, + com.google.cloud.lifesciences.v2beta.Secret.Builder, + com.google.cloud.lifesciences.v2beta.SecretOrBuilder>( + getEncryptedEnvironment(), getParentForChildren(), isClean()); + encryptedEnvironment_ = null; + } + return encryptedEnvironmentBuilder_; + } + private java.lang.Object pidNamespace_ = ""; /** * diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/ActionOrBuilder.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/ActionOrBuilder.java index 69a1adc491ce..9a8348fb8947 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/ActionOrBuilder.java +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/ActionOrBuilder.java @@ -308,6 +308,62 @@ java.lang.String getEnvironmentOrDefault( */ java.lang.String getEnvironmentOrThrow(java.lang.String key); + /** + * + * + *
+   * The encrypted environment to pass into the container. This environment is
+   * merged with values specified in the
+   * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+   * duplicate values.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + * + * @return Whether the encryptedEnvironment field is set. + */ + boolean hasEncryptedEnvironment(); + /** + * + * + *
+   * The encrypted environment to pass into the container. This environment is
+   * merged with values specified in the
+   * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+   * duplicate values.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + * + * @return The encryptedEnvironment. + */ + com.google.cloud.lifesciences.v2beta.Secret getEncryptedEnvironment(); + /** + * + * + *
+   * The encrypted environment to pass into the container. This environment is
+   * merged with values specified in the
+   * [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any
+   * duplicate values.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 21; + */ + com.google.cloud.lifesciences.v2beta.SecretOrBuilder getEncryptedEnvironmentOrBuilder(); + /** * * diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Pipeline.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Pipeline.java index a104b4b5d1cc..3fb1dc5c0588 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Pipeline.java +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/Pipeline.java @@ -303,6 +303,69 @@ public java.lang.String getEnvironmentOrThrow(java.lang.String key) { return map.get(key); } + public static final int ENCRYPTED_ENVIRONMENT_FIELD_NUMBER = 5; + private com.google.cloud.lifesciences.v2beta.Secret encryptedEnvironment_; + /** + * + * + *
+   * The encrypted environment to pass into every action. Each action can also
+   * specify its own encrypted environment.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + * + * @return Whether the encryptedEnvironment field is set. + */ + @java.lang.Override + public boolean hasEncryptedEnvironment() { + return encryptedEnvironment_ != null; + } + /** + * + * + *
+   * The encrypted environment to pass into every action. Each action can also
+   * specify its own encrypted environment.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + * + * @return The encryptedEnvironment. + */ + @java.lang.Override + public com.google.cloud.lifesciences.v2beta.Secret getEncryptedEnvironment() { + return encryptedEnvironment_ == null + ? com.google.cloud.lifesciences.v2beta.Secret.getDefaultInstance() + : encryptedEnvironment_; + } + /** + * + * + *
+   * The encrypted environment to pass into every action. Each action can also
+   * specify its own encrypted environment.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + @java.lang.Override + public com.google.cloud.lifesciences.v2beta.SecretOrBuilder getEncryptedEnvironmentOrBuilder() { + return getEncryptedEnvironment(); + } + public static final int TIMEOUT_FIELD_NUMBER = 4; private com.google.protobuf.Duration timeout_; /** @@ -386,6 +449,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (timeout_ != null) { output.writeMessage(4, getTimeout()); } + if (encryptedEnvironment_ != null) { + output.writeMessage(5, getEncryptedEnvironment()); + } getUnknownFields().writeTo(output); } @@ -414,6 +480,10 @@ public int getSerializedSize() { if (timeout_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getTimeout()); } + if (encryptedEnvironment_ != null) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize(5, getEncryptedEnvironment()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -436,6 +506,10 @@ public boolean equals(final java.lang.Object obj) { if (!getResources().equals(other.getResources())) return false; } if (!internalGetEnvironment().equals(other.internalGetEnvironment())) return false; + if (hasEncryptedEnvironment() != other.hasEncryptedEnvironment()) return false; + if (hasEncryptedEnvironment()) { + if (!getEncryptedEnvironment().equals(other.getEncryptedEnvironment())) return false; + } if (hasTimeout() != other.hasTimeout()) return false; if (hasTimeout()) { if (!getTimeout().equals(other.getTimeout())) return false; @@ -463,6 +537,10 @@ public int hashCode() { hash = (37 * hash) + ENVIRONMENT_FIELD_NUMBER; hash = (53 * hash) + internalGetEnvironment().hashCode(); } + if (hasEncryptedEnvironment()) { + hash = (37 * hash) + ENCRYPTED_ENVIRONMENT_FIELD_NUMBER; + hash = (53 * hash) + getEncryptedEnvironment().hashCode(); + } if (hasTimeout()) { hash = (37 * hash) + TIMEOUT_FIELD_NUMBER; hash = (53 * hash) + getTimeout().hashCode(); @@ -639,6 +717,12 @@ public Builder clear() { resourcesBuilder_ = null; } internalGetMutableEnvironment().clear(); + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironment_ = null; + } else { + encryptedEnvironment_ = null; + encryptedEnvironmentBuilder_ = null; + } if (timeoutBuilder_ == null) { timeout_ = null; } else { @@ -689,6 +773,11 @@ public com.google.cloud.lifesciences.v2beta.Pipeline buildPartial() { } result.environment_ = internalGetEnvironment(); result.environment_.makeImmutable(); + if (encryptedEnvironmentBuilder_ == null) { + result.encryptedEnvironment_ = encryptedEnvironment_; + } else { + result.encryptedEnvironment_ = encryptedEnvironmentBuilder_.build(); + } if (timeoutBuilder_ == null) { result.timeout_ = timeout_; } else { @@ -774,6 +863,9 @@ public Builder mergeFrom(com.google.cloud.lifesciences.v2beta.Pipeline other) { mergeResources(other.getResources()); } internalGetMutableEnvironment().mergeFrom(other.internalGetEnvironment()); + if (other.hasEncryptedEnvironment()) { + mergeEncryptedEnvironment(other.getEncryptedEnvironment()); + } if (other.hasTimeout()) { mergeTimeout(other.getTimeout()); } @@ -839,6 +931,13 @@ public Builder mergeFrom( break; } // case 34 + case 42: + { + input.readMessage( + getEncryptedEnvironmentFieldBuilder().getBuilder(), extensionRegistry); + + break; + } // case 42 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1568,6 +1667,237 @@ public Builder putAllEnvironment(java.util.Map + encryptedEnvironmentBuilder_; + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + * + * @return Whether the encryptedEnvironment field is set. + */ + public boolean hasEncryptedEnvironment() { + return encryptedEnvironmentBuilder_ != null || encryptedEnvironment_ != null; + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + * + * @return The encryptedEnvironment. + */ + public com.google.cloud.lifesciences.v2beta.Secret getEncryptedEnvironment() { + if (encryptedEnvironmentBuilder_ == null) { + return encryptedEnvironment_ == null + ? com.google.cloud.lifesciences.v2beta.Secret.getDefaultInstance() + : encryptedEnvironment_; + } else { + return encryptedEnvironmentBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + public Builder setEncryptedEnvironment(com.google.cloud.lifesciences.v2beta.Secret value) { + if (encryptedEnvironmentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + encryptedEnvironment_ = value; + onChanged(); + } else { + encryptedEnvironmentBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + public Builder setEncryptedEnvironment( + com.google.cloud.lifesciences.v2beta.Secret.Builder builderForValue) { + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironment_ = builderForValue.build(); + onChanged(); + } else { + encryptedEnvironmentBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + public Builder mergeEncryptedEnvironment(com.google.cloud.lifesciences.v2beta.Secret value) { + if (encryptedEnvironmentBuilder_ == null) { + if (encryptedEnvironment_ != null) { + encryptedEnvironment_ = + com.google.cloud.lifesciences.v2beta.Secret.newBuilder(encryptedEnvironment_) + .mergeFrom(value) + .buildPartial(); + } else { + encryptedEnvironment_ = value; + } + onChanged(); + } else { + encryptedEnvironmentBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + public Builder clearEncryptedEnvironment() { + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironment_ = null; + onChanged(); + } else { + encryptedEnvironment_ = null; + encryptedEnvironmentBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + public com.google.cloud.lifesciences.v2beta.Secret.Builder getEncryptedEnvironmentBuilder() { + + onChanged(); + return getEncryptedEnvironmentFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + public com.google.cloud.lifesciences.v2beta.SecretOrBuilder getEncryptedEnvironmentOrBuilder() { + if (encryptedEnvironmentBuilder_ != null) { + return encryptedEnvironmentBuilder_.getMessageOrBuilder(); + } else { + return encryptedEnvironment_ == null + ? com.google.cloud.lifesciences.v2beta.Secret.getDefaultInstance() + : encryptedEnvironment_; + } + } + /** + * + * + *
+     * The encrypted environment to pass into every action. Each action can also
+     * specify its own encrypted environment.
+     * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+     * serve as environment variable names and their values. The decoded
+     * environment variables can overwrite the values specified by the
+     * `environment` field.
+     * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.lifesciences.v2beta.Secret, + com.google.cloud.lifesciences.v2beta.Secret.Builder, + com.google.cloud.lifesciences.v2beta.SecretOrBuilder> + getEncryptedEnvironmentFieldBuilder() { + if (encryptedEnvironmentBuilder_ == null) { + encryptedEnvironmentBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.lifesciences.v2beta.Secret, + com.google.cloud.lifesciences.v2beta.Secret.Builder, + com.google.cloud.lifesciences.v2beta.SecretOrBuilder>( + getEncryptedEnvironment(), getParentForChildren(), isClean()); + encryptedEnvironment_ = null; + } + return encryptedEnvironmentBuilder_; + } + private com.google.protobuf.Duration timeout_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/PipelineOrBuilder.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/PipelineOrBuilder.java index 06934bfc8676..12fe0cb9f451 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/PipelineOrBuilder.java +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/PipelineOrBuilder.java @@ -179,6 +179,56 @@ java.lang.String getEnvironmentOrDefault( */ java.lang.String getEnvironmentOrThrow(java.lang.String key); + /** + * + * + *
+   * The encrypted environment to pass into every action. Each action can also
+   * specify its own encrypted environment.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + * + * @return Whether the encryptedEnvironment field is set. + */ + boolean hasEncryptedEnvironment(); + /** + * + * + *
+   * The encrypted environment to pass into every action. Each action can also
+   * specify its own encrypted environment.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + * + * @return The encryptedEnvironment. + */ + com.google.cloud.lifesciences.v2beta.Secret getEncryptedEnvironment(); + /** + * + * + *
+   * The encrypted environment to pass into every action. Each action can also
+   * specify its own encrypted environment.
+   * The secret must decrypt to a JSON-encoded dictionary where key-value pairs
+   * serve as environment variable names and their values. The decoded
+   * environment variables can overwrite the values specified by the
+   * `environment` field.
+   * 
+ * + * .google.cloud.lifesciences.v2beta.Secret encrypted_environment = 5; + */ + com.google.cloud.lifesciences.v2beta.SecretOrBuilder getEncryptedEnvironmentOrBuilder(); + /** * * diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachine.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachine.java index 5ec5db1b142d..55d6bee7f456 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachine.java +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachine.java @@ -46,6 +46,7 @@ private VirtualMachine() { nvidiaDriverVersion_ = ""; dockerCacheImages_ = com.google.protobuf.LazyStringArrayList.EMPTY; volumes_ = java.util.Collections.emptyList(); + reservation_ = ""; } @java.lang.Override @@ -691,7 +692,7 @@ public com.google.protobuf.ByteString getBootImageBytes() { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return The nvidiaDriverVersion. */ @java.lang.Override @@ -720,7 +721,7 @@ public java.lang.String getNvidiaDriverVersion() { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return The bytes for nvidiaDriverVersion. */ @java.lang.Override @@ -922,6 +923,57 @@ public com.google.cloud.lifesciences.v2beta.VolumeOrBuilder getVolumesOrBuilder( return volumes_.get(index); } + public static final int RESERVATION_FIELD_NUMBER = 15; + private volatile java.lang.Object reservation_; + /** + * + * + *
+   * If specified, the VM will only be allocated inside the matching
+   * reservation. It will fail if the VM parameters don't match the reservation.
+   * 
+ * + * string reservation = 15; + * + * @return The reservation. + */ + @java.lang.Override + public java.lang.String getReservation() { + java.lang.Object ref = reservation_; + 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(); + reservation_ = s; + return s; + } + } + /** + * + * + *
+   * If specified, the VM will only be allocated inside the matching
+   * reservation. It will fail if the VM parameters don't match the reservation.
+   * 
+ * + * string reservation = 15; + * + * @return The bytes for reservation. + */ + @java.lang.Override + public com.google.protobuf.ByteString getReservationBytes() { + java.lang.Object ref = reservation_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + reservation_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -977,6 +1029,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < volumes_.size(); i++) { output.writeMessage(14, volumes_.get(i)); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(reservation_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 15, reservation_); + } getUnknownFields().writeTo(output); } @@ -1041,6 +1096,9 @@ public int getSerializedSize() { for (int i = 0; i < volumes_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, volumes_.get(i)); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(reservation_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, reservation_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -1077,6 +1135,7 @@ public boolean equals(final java.lang.Object obj) { if (getEnableStackdriverMonitoring() != other.getEnableStackdriverMonitoring()) return false; if (!getDockerCacheImagesList().equals(other.getDockerCacheImagesList())) return false; if (!getVolumesList().equals(other.getVolumesList())) return false; + if (!getReservation().equals(other.getReservation())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -1130,6 +1189,8 @@ public int hashCode() { hash = (37 * hash) + VOLUMES_FIELD_NUMBER; hash = (53 * hash) + getVolumesList().hashCode(); } + hash = (37 * hash) + RESERVATION_FIELD_NUMBER; + hash = (53 * hash) + getReservation().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -1338,6 +1399,8 @@ public Builder clear() { volumesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000010); + reservation_ = ""; + return this; } @@ -1417,6 +1480,7 @@ public com.google.cloud.lifesciences.v2beta.VirtualMachine buildPartial() { } else { result.volumes_ = volumesBuilder_.build(); } + result.reservation_ = reservation_; onBuilt(); return result; } @@ -1590,6 +1654,10 @@ public Builder mergeFrom(com.google.cloud.lifesciences.v2beta.VirtualMachine oth } } } + if (!other.getReservation().isEmpty()) { + reservation_ = other.reservation_; + onChanged(); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -1728,6 +1796,12 @@ public Builder mergeFrom( } break; } // case 114 + case 122: + { + reservation_ = input.readStringRequireUtf8(); + + break; + } // case 122 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -3597,7 +3671,7 @@ public Builder setBootImageBytes(com.google.protobuf.ByteString value) { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return The nvidiaDriverVersion. */ @java.lang.Deprecated @@ -3625,7 +3699,7 @@ public java.lang.String getNvidiaDriverVersion() { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return The bytes for nvidiaDriverVersion. */ @java.lang.Deprecated @@ -3653,7 +3727,7 @@ public com.google.protobuf.ByteString getNvidiaDriverVersionBytes() { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @param value The nvidiaDriverVersion to set. * @return This builder for chaining. */ @@ -3680,7 +3754,7 @@ public Builder setNvidiaDriverVersion(java.lang.String value) { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return This builder for chaining. */ @java.lang.Deprecated @@ -3703,7 +3777,7 @@ public Builder clearNvidiaDriverVersion() { * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @param value The bytes for nvidiaDriverVersion to set. * @return This builder for chaining. */ @@ -4378,6 +4452,117 @@ public com.google.cloud.lifesciences.v2beta.Volume.Builder addVolumesBuilder(int return volumesBuilder_; } + private java.lang.Object reservation_ = ""; + /** + * + * + *
+     * If specified, the VM will only be allocated inside the matching
+     * reservation. It will fail if the VM parameters don't match the reservation.
+     * 
+ * + * string reservation = 15; + * + * @return The reservation. + */ + public java.lang.String getReservation() { + java.lang.Object ref = reservation_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + reservation_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * If specified, the VM will only be allocated inside the matching
+     * reservation. It will fail if the VM parameters don't match the reservation.
+     * 
+ * + * string reservation = 15; + * + * @return The bytes for reservation. + */ + public com.google.protobuf.ByteString getReservationBytes() { + java.lang.Object ref = reservation_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + reservation_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * If specified, the VM will only be allocated inside the matching
+     * reservation. It will fail if the VM parameters don't match the reservation.
+     * 
+ * + * string reservation = 15; + * + * @param value The reservation to set. + * @return This builder for chaining. + */ + public Builder setReservation(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + reservation_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * If specified, the VM will only be allocated inside the matching
+     * reservation. It will fail if the VM parameters don't match the reservation.
+     * 
+ * + * string reservation = 15; + * + * @return This builder for chaining. + */ + public Builder clearReservation() { + + reservation_ = getDefaultInstance().getReservation(); + onChanged(); + return this; + } + /** + * + * + *
+     * If specified, the VM will only be allocated inside the matching
+     * reservation. It will fail if the VM parameters don't match the reservation.
+     * 
+ * + * string reservation = 15; + * + * @param value The bytes for reservation to set. + * @return This builder for chaining. + */ + public Builder setReservationBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + reservation_ = value; + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachineOrBuilder.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachineOrBuilder.java index 708a6e503c2a..827298088e8a 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachineOrBuilder.java +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/VirtualMachineOrBuilder.java @@ -451,7 +451,7 @@ java.lang.String getLabelsOrDefault( * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return The nvidiaDriverVersion. */ @java.lang.Deprecated @@ -469,7 +469,7 @@ java.lang.String getLabelsOrDefault( * string nvidia_driver_version = 11 [deprecated = true]; * * @deprecated google.cloud.lifesciences.v2beta.VirtualMachine.nvidia_driver_version is - * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=390 + * deprecated. See google/cloud/lifesciences/v2beta/workflows.proto;l=410 * @return The bytes for nvidiaDriverVersion. */ @java.lang.Deprecated @@ -627,4 +627,31 @@ java.lang.String getLabelsOrDefault( * repeated .google.cloud.lifesciences.v2beta.Volume volumes = 14; */ com.google.cloud.lifesciences.v2beta.VolumeOrBuilder getVolumesOrBuilder(int index); + + /** + * + * + *
+   * If specified, the VM will only be allocated inside the matching
+   * reservation. It will fail if the VM parameters don't match the reservation.
+   * 
+ * + * string reservation = 15; + * + * @return The reservation. + */ + java.lang.String getReservation(); + /** + * + * + *
+   * If specified, the VM will only be allocated inside the matching
+   * reservation. It will fail if the VM parameters don't match the reservation.
+   * 
+ * + * string reservation = 15; + * + * @return The bytes for reservation. + */ + com.google.protobuf.ByteString getReservationBytes(); } diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsProto.java b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsProto.java index 230bf309ce1d..fc5ea07e959c 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsProto.java +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/java/com/google/cloud/lifesciences/v2beta/WorkflowsProto.java @@ -182,165 +182,169 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { java.lang.String[] descriptorData = { "\n0google/cloud/lifesciences/v2beta/workf" + "lows.proto\022 google.cloud.lifesciences.v2" - + "beta\032\034google/api/annotations.proto\032\037goog" - + "le/api/field_behavior.proto\032#google/long" - + "running/operations.proto\032\036google/protobu" - + "f/duration.proto\032\037google/protobuf/timest" - + "amp.proto\032\025google/rpc/code.proto\032\027google" - + "/api/client.proto\"\377\001\n\022RunPipelineRequest" + + "beta\032\034google/api/annotations.proto\032\027goog" + + "le/api/client.proto\032\037google/api/field_be" + + "havior.proto\032#google/longrunning/operati" + + "ons.proto\032\036google/protobuf/duration.prot" + + "o\032\037google/protobuf/timestamp.proto\032\025goog" + + "le/rpc/code.proto\"\377\001\n\022RunPipelineRequest" + "\022\016\n\006parent\030\004 \001(\t\022A\n\010pipeline\030\001 \001(\0132*.goo" + "gle.cloud.lifesciences.v2beta.PipelineB\003" + "\340A\002\022P\n\006labels\030\002 \003(\0132@.google.cloud.lifes" + "ciences.v2beta.RunPipelineRequest.Labels" + "Entry\022\025\n\rpub_sub_topic\030\003 \001(\t\032-\n\013LabelsEn" + "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\025\n\023R" - + "unPipelineResponse\"\267\002\n\010Pipeline\0229\n\007actio" + + "unPipelineResponse\"\200\003\n\010Pipeline\0229\n\007actio" + "ns\030\001 \003(\0132(.google.cloud.lifesciences.v2b" + "eta.Action\022>\n\tresources\030\002 \001(\0132+.google.c" + "loud.lifesciences.v2beta.Resources\022P\n\013en" + "vironment\030\003 \003(\0132;.google.cloud.lifescien" - + "ces.v2beta.Pipeline.EnvironmentEntry\022*\n\007" - + "timeout\030\004 \001(\0132\031.google.protobuf.Duration" - + "\0322\n\020EnvironmentEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" - + "ue\030\002 \001(\t:\0028\001\"\201\007\n\006Action\022\026\n\016container_nam" - + "e\030\001 \001(\t\022\026\n\timage_uri\030\002 \001(\tB\003\340A\002\022\020\n\010comma" - + "nds\030\003 \003(\t\022\022\n\nentrypoint\030\004 \001(\t\022N\n\013environ" - + "ment\030\005 \003(\01329.google.cloud.lifesciences.v" - + "2beta.Action.EnvironmentEntry\022\025\n\rpid_nam" - + "espace\030\006 \001(\t\022Q\n\rport_mappings\030\010 \003(\0132:.go" - + "ogle.cloud.lifesciences.v2beta.Action.Po" - + "rtMappingsEntry\0227\n\006mounts\030\t \003(\0132\'.google" - + ".cloud.lifesciences.v2beta.Mount\022D\n\006labe" - + "ls\030\n \003(\01324.google.cloud.lifesciences.v2b" - + "eta.Action.LabelsEntry\022=\n\013credentials\030\013 " - + "\001(\0132(.google.cloud.lifesciences.v2beta.S" - + "ecret\022*\n\007timeout\030\014 \001(\0132\031.google.protobuf" - + ".Duration\022\032\n\022ignore_exit_status\030\r \001(\010\022\031\n" - + "\021run_in_background\030\016 \001(\010\022\022\n\nalways_run\030\017" - + " \001(\010\022\023\n\013enable_fuse\030\020 \001(\010\022\035\n\025publish_exp" - + "osed_ports\030\021 \001(\010\022\036\n\026disable_image_prefet" - + "ch\030\022 \001(\010\022&\n\036disable_standard_error_captu" - + "re\030\023 \001(\010\022\036\n\026block_external_network\030\024 \001(\010" - + "\0322\n\020EnvironmentEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" - + "ue\030\002 \001(\t:\0028\001\0323\n\021PortMappingsEntry\022\013\n\003key" - + "\030\001 \001(\005\022\r\n\005value\030\002 \001(\005:\0028\001\032-\n\013LabelsEntry" - + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"/\n\006Secr" - + "et\022\020\n\010key_name\030\001 \001(\t\022\023\n\013cipher_text\030\002 \001(" - + "\t\"6\n\005Mount\022\014\n\004disk\030\001 \001(\t\022\014\n\004path\030\002 \001(\t\022\021" - + "\n\tread_only\030\003 \001(\010\"v\n\tResources\022\017\n\007region" - + "s\030\002 \003(\t\022\r\n\005zones\030\003 \003(\t\022I\n\017virtual_machin" - + "e\030\004 \001(\01320.google.cloud.lifesciences.v2be" - + "ta.VirtualMachine\"\247\005\n\016VirtualMachine\022\031\n\014" - + "machine_type\030\001 \001(\tB\003\340A\002\022\023\n\013preemptible\030\002" - + " \001(\010\022L\n\006labels\030\003 \003(\0132<.google.cloud.life" - + "sciences.v2beta.VirtualMachine.LabelsEnt" - + "ry\0225\n\005disks\030\004 \003(\0132&.google.cloud.lifesci" - + "ences.v2beta.Disk\022:\n\007network\030\005 \001(\0132).goo" - + "gle.cloud.lifesciences.v2beta.Network\022C\n" - + "\014accelerators\030\006 \003(\0132-.google.cloud.lifes" - + "ciences.v2beta.Accelerator\022I\n\017service_ac" - + "count\030\007 \001(\01320.google.cloud.lifesciences." - + "v2beta.ServiceAccount\022\031\n\021boot_disk_size_" - + "gb\030\010 \001(\005\022\024\n\014cpu_platform\030\t \001(\t\022\022\n\nboot_i" - + "mage\030\n \001(\t\022!\n\025nvidia_driver_version\030\013 \001(" - + "\tB\002\030\001\022%\n\035enable_stackdriver_monitoring\030\014" - + " \001(\010\022\033\n\023docker_cache_images\030\r \003(\t\0229\n\007vol" - + "umes\030\016 \003(\0132(.google.cloud.lifesciences.v" - + "2beta.Volume\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t" - + "\022\r\n\005value\030\002 \001(\t:\0028\001\"/\n\016ServiceAccount\022\r\n" - + "\005email\030\001 \001(\t\022\016\n\006scopes\030\002 \003(\t\"*\n\013Accelera" - + "tor\022\014\n\004type\030\001 \001(\t\022\r\n\005count\030\002 \001(\003\"K\n\007Netw" - + "ork\022\017\n\007network\030\001 \001(\t\022\033\n\023use_private_addr" - + "ess\030\002 \001(\010\022\022\n\nsubnetwork\030\003 \001(\t\"I\n\004Disk\022\014\n" - + "\004name\030\001 \001(\t\022\017\n\007size_gb\030\002 \001(\005\022\014\n\004type\030\003 \001" - + "(\t\022\024\n\014source_image\030\004 \001(\t\"\372\001\n\006Volume\022\016\n\006v" - + "olume\030\001 \001(\t\022K\n\017persistent_disk\030\002 \001(\01320.g" - + "oogle.cloud.lifesciences.v2beta.Persiste" - + "ntDiskH\000\022G\n\rexisting_disk\030\003 \001(\0132..google" - + ".cloud.lifesciences.v2beta.ExistingDiskH" - + "\000\022?\n\tnfs_mount\030\004 \001(\0132*.google.cloud.life" - + "sciences.v2beta.NFSMountH\000B\t\n\007storage\"E\n" - + "\016PersistentDisk\022\017\n\007size_gb\030\001 \001(\005\022\014\n\004type" - + "\030\002 \001(\t\022\024\n\014source_image\030\003 \001(\t\"\034\n\014Existing" - + "Disk\022\014\n\004disk\030\001 \001(\t\"\032\n\010NFSMount\022\016\n\006target" - + "\030\001 \001(\t\"\236\003\n\010Metadata\022<\n\010pipeline\030\001 \001(\0132*." - + "google.cloud.lifesciences.v2beta.Pipelin" - + "e\022F\n\006labels\030\002 \003(\01326.google.cloud.lifesci" - + "ences.v2beta.Metadata.LabelsEntry\0227\n\006eve" - + "nts\030\003 \003(\0132\'.google.cloud.lifesciences.v2" - + "beta.Event\022/\n\013create_time\030\004 \001(\0132\032.google" - + ".protobuf.Timestamp\022.\n\nstart_time\030\005 \001(\0132" - + "\032.google.protobuf.Timestamp\022,\n\010end_time\030" - + "\006 \001(\0132\032.google.protobuf.Timestamp\022\025\n\rpub" - + "_sub_topic\030\007 \001(\t\032-\n\013LabelsEntry\022\013\n\003key\030\001" - + " \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\365\006\n\005Event\022-\n\ttim" - + "estamp\030\001 \001(\0132\032.google.protobuf.Timestamp" - + "\022\023\n\013description\030\002 \001(\t\022A\n\007delayed\030\021 \001(\0132." - + ".google.cloud.lifesciences.v2beta.Delaye" - + "dEventH\000\022P\n\017worker_assigned\030\022 \001(\01325.goog" - + "le.cloud.lifesciences.v2beta.WorkerAssig" - + "nedEventH\000\022P\n\017worker_released\030\023 \001(\01325.go" - + "ogle.cloud.lifesciences.v2beta.WorkerRel" - + "easedEventH\000\022J\n\014pull_started\030\024 \001(\01322.goo" - + "gle.cloud.lifesciences.v2beta.PullStarte" - + "dEventH\000\022J\n\014pull_stopped\030\025 \001(\01322.google." - + "cloud.lifesciences.v2beta.PullStoppedEve" - + "ntH\000\022T\n\021container_started\030\026 \001(\01327.google" - + ".cloud.lifesciences.v2beta.ContainerStar" - + "tedEventH\000\022T\n\021container_stopped\030\027 \001(\01327." - + "google.cloud.lifesciences.v2beta.Contain" - + "erStoppedEventH\000\022R\n\020container_killed\030\030 \001" - + "(\01326.google.cloud.lifesciences.v2beta.Co" - + "ntainerKilledEventH\000\022]\n\026unexpected_exit_" - + "status\030\031 \001(\0132;.google.cloud.lifesciences" - + ".v2beta.UnexpectedExitStatusEventH\000\022?\n\006f" - + "ailed\030\032 \001(\0132-.google.cloud.lifesciences." - + "v2beta.FailedEventH\000B\t\n\007details\".\n\014Delay" - + "edEvent\022\r\n\005cause\030\001 \001(\t\022\017\n\007metrics\030\002 \003(\t\"" - + "K\n\023WorkerAssignedEvent\022\014\n\004zone\030\001 \001(\t\022\020\n\010" - + "instance\030\002 \001(\t\022\024\n\014machine_type\030\003 \001(\t\"5\n\023" - + "WorkerReleasedEvent\022\014\n\004zone\030\001 \001(\t\022\020\n\010ins" - + "tance\030\002 \001(\t\"%\n\020PullStartedEvent\022\021\n\timage" - + "_uri\030\001 \001(\t\"%\n\020PullStoppedEvent\022\021\n\timage_" - + "uri\030\001 \001(\t\"\325\001\n\025ContainerStartedEvent\022\021\n\ta" - + "ction_id\030\001 \001(\005\022`\n\rport_mappings\030\002 \003(\0132I." - + "google.cloud.lifesciences.v2beta.Contain" - + "erStartedEvent.PortMappingsEntry\022\022\n\nip_a" - + "ddress\030\003 \001(\t\0323\n\021PortMappingsEntry\022\013\n\003key" - + "\030\001 \001(\005\022\r\n\005value\030\002 \001(\005:\0028\001\"O\n\025ContainerSt" - + "oppedEvent\022\021\n\taction_id\030\001 \001(\005\022\023\n\013exit_st" - + "atus\030\002 \001(\005\022\016\n\006stderr\030\003 \001(\t\"C\n\031Unexpected" - + "ExitStatusEvent\022\021\n\taction_id\030\001 \001(\005\022\023\n\013ex" - + "it_status\030\002 \001(\005\")\n\024ContainerKilledEvent\022" - + "\021\n\taction_id\030\001 \001(\005\"<\n\013FailedEvent\022\036\n\004cod" - + "e\030\001 \001(\0162\020.google.rpc.Code\022\r\n\005cause\030\002 \001(\t" - + "2\262\002\n\026WorkflowsServiceV2Beta\022\306\001\n\013RunPipel" - + "ine\0224.google.cloud.lifesciences.v2beta.R" - + "unPipelineRequest\032\035.google.longrunning.O" - + "peration\"b\202\323\344\223\002:\"5/v2beta/{parent=projec" - + "ts/*/locations/*}/pipelines:run:\001*\312A\037\n\023R" - + "unPipelineResponse\022\010Metadata\032O\312A\033lifesci" - + "ences.googleapis.com\322A.https://www.googl" - + "eapis.com/auth/cloud-platformB\371\001\n$com.go" - + "ogle.cloud.lifesciences.v2betaB\016Workflow" - + "sProtoP\001ZLgoogle.golang.org/genproto/goo" - + "gleapis/cloud/lifesciences/v2beta;lifesc" - + "iences\242\002\004CLSW\252\002 Google.Cloud.LifeScience" - + "s.V2Beta\312\002 Google\\Cloud\\LifeSciences\\V2b" - + "eta\352\002#Google::Cloud::LifeSciences::V2bet" - + "ab\006proto3" + + "ces.v2beta.Pipeline.EnvironmentEntry\022G\n\025" + + "encrypted_environment\030\005 \001(\0132(.google.clo" + + "ud.lifesciences.v2beta.Secret\022*\n\007timeout" + + "\030\004 \001(\0132\031.google.protobuf.Duration\0322\n\020Env" + + "ironmentEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + + "\t:\0028\001\"\312\007\n\006Action\022\026\n\016container_name\030\001 \001(\t" + + "\022\026\n\timage_uri\030\002 \001(\tB\003\340A\002\022\020\n\010commands\030\003 \003" + + "(\t\022\022\n\nentrypoint\030\004 \001(\t\022N\n\013environment\030\005 " + + "\003(\01329.google.cloud.lifesciences.v2beta.A" + + "ction.EnvironmentEntry\022G\n\025encrypted_envi" + + "ronment\030\025 \001(\0132(.google.cloud.lifescience" + + "s.v2beta.Secret\022\025\n\rpid_namespace\030\006 \001(\t\022Q" + + "\n\rport_mappings\030\010 \003(\0132:.google.cloud.lif" + + "esciences.v2beta.Action.PortMappingsEntr" + + "y\0227\n\006mounts\030\t \003(\0132\'.google.cloud.lifesci" + + "ences.v2beta.Mount\022D\n\006labels\030\n \003(\01324.goo" + + "gle.cloud.lifesciences.v2beta.Action.Lab" + + "elsEntry\022=\n\013credentials\030\013 \001(\0132(.google.c" + + "loud.lifesciences.v2beta.Secret\022*\n\007timeo" + + "ut\030\014 \001(\0132\031.google.protobuf.Duration\022\032\n\022i" + + "gnore_exit_status\030\r \001(\010\022\031\n\021run_in_backgr" + + "ound\030\016 \001(\010\022\022\n\nalways_run\030\017 \001(\010\022\023\n\013enable" + + "_fuse\030\020 \001(\010\022\035\n\025publish_exposed_ports\030\021 \001" + + "(\010\022\036\n\026disable_image_prefetch\030\022 \001(\010\022&\n\036di" + + "sable_standard_error_capture\030\023 \001(\010\022\036\n\026bl" + + "ock_external_network\030\024 \001(\010\0322\n\020Environmen" + + "tEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0323" + + "\n\021PortMappingsEntry\022\013\n\003key\030\001 \001(\005\022\r\n\005valu" + + "e\030\002 \001(\005:\0028\001\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022" + + "\r\n\005value\030\002 \001(\t:\0028\001\"/\n\006Secret\022\020\n\010key_name" + + "\030\001 \001(\t\022\023\n\013cipher_text\030\002 \001(\t\"6\n\005Mount\022\014\n\004" + + "disk\030\001 \001(\t\022\014\n\004path\030\002 \001(\t\022\021\n\tread_only\030\003 " + + "\001(\010\"v\n\tResources\022\017\n\007regions\030\002 \003(\t\022\r\n\005zon" + + "es\030\003 \003(\t\022I\n\017virtual_machine\030\004 \001(\01320.goog" + + "le.cloud.lifesciences.v2beta.VirtualMach" + + "ine\"\274\005\n\016VirtualMachine\022\031\n\014machine_type\030\001" + + " \001(\tB\003\340A\002\022\023\n\013preemptible\030\002 \001(\010\022L\n\006labels" + + "\030\003 \003(\0132<.google.cloud.lifesciences.v2bet" + + "a.VirtualMachine.LabelsEntry\0225\n\005disks\030\004 " + + "\003(\0132&.google.cloud.lifesciences.v2beta.D" + + "isk\022:\n\007network\030\005 \001(\0132).google.cloud.life" + + "sciences.v2beta.Network\022C\n\014accelerators\030" + + "\006 \003(\0132-.google.cloud.lifesciences.v2beta" + + ".Accelerator\022I\n\017service_account\030\007 \001(\01320." + + "google.cloud.lifesciences.v2beta.Service" + + "Account\022\031\n\021boot_disk_size_gb\030\010 \001(\005\022\024\n\014cp" + + "u_platform\030\t \001(\t\022\022\n\nboot_image\030\n \001(\t\022!\n\025" + + "nvidia_driver_version\030\013 \001(\tB\002\030\001\022%\n\035enabl" + + "e_stackdriver_monitoring\030\014 \001(\010\022\033\n\023docker" + + "_cache_images\030\r \003(\t\0229\n\007volumes\030\016 \003(\0132(.g" + + "oogle.cloud.lifesciences.v2beta.Volume\022\023" + + "\n\013reservation\030\017 \001(\t\032-\n\013LabelsEntry\022\013\n\003ke" + + "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"/\n\016ServiceAcc" + + "ount\022\r\n\005email\030\001 \001(\t\022\016\n\006scopes\030\002 \003(\t\"*\n\013A" + + "ccelerator\022\014\n\004type\030\001 \001(\t\022\r\n\005count\030\002 \001(\003\"" + + "K\n\007Network\022\017\n\007network\030\001 \001(\t\022\033\n\023use_priva" + + "te_address\030\002 \001(\010\022\022\n\nsubnetwork\030\003 \001(\t\"I\n\004" + + "Disk\022\014\n\004name\030\001 \001(\t\022\017\n\007size_gb\030\002 \001(\005\022\014\n\004t" + + "ype\030\003 \001(\t\022\024\n\014source_image\030\004 \001(\t\"\372\001\n\006Volu" + + "me\022\016\n\006volume\030\001 \001(\t\022K\n\017persistent_disk\030\002 " + + "\001(\01320.google.cloud.lifesciences.v2beta.P" + + "ersistentDiskH\000\022G\n\rexisting_disk\030\003 \001(\0132." + + ".google.cloud.lifesciences.v2beta.Existi" + + "ngDiskH\000\022?\n\tnfs_mount\030\004 \001(\0132*.google.clo" + + "ud.lifesciences.v2beta.NFSMountH\000B\t\n\007sto" + + "rage\"E\n\016PersistentDisk\022\017\n\007size_gb\030\001 \001(\005\022" + + "\014\n\004type\030\002 \001(\t\022\024\n\014source_image\030\003 \001(\t\"\034\n\014E" + + "xistingDisk\022\014\n\004disk\030\001 \001(\t\"\032\n\010NFSMount\022\016\n" + + "\006target\030\001 \001(\t\"\236\003\n\010Metadata\022<\n\010pipeline\030\001" + + " \001(\0132*.google.cloud.lifesciences.v2beta." + + "Pipeline\022F\n\006labels\030\002 \003(\01326.google.cloud." + + "lifesciences.v2beta.Metadata.LabelsEntry" + + "\0227\n\006events\030\003 \003(\0132\'.google.cloud.lifescie" + + "nces.v2beta.Event\022/\n\013create_time\030\004 \001(\0132\032" + + ".google.protobuf.Timestamp\022.\n\nstart_time" + + "\030\005 \001(\0132\032.google.protobuf.Timestamp\022,\n\010en" + + "d_time\030\006 \001(\0132\032.google.protobuf.Timestamp" + + "\022\025\n\rpub_sub_topic\030\007 \001(\t\032-\n\013LabelsEntry\022\013" + + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"\365\006\n\005Event" + + "\022-\n\ttimestamp\030\001 \001(\0132\032.google.protobuf.Ti" + + "mestamp\022\023\n\013description\030\002 \001(\t\022A\n\007delayed\030" + + "\021 \001(\0132..google.cloud.lifesciences.v2beta" + + ".DelayedEventH\000\022P\n\017worker_assigned\030\022 \001(\013" + + "25.google.cloud.lifesciences.v2beta.Work" + + "erAssignedEventH\000\022P\n\017worker_released\030\023 \001" + + "(\01325.google.cloud.lifesciences.v2beta.Wo" + + "rkerReleasedEventH\000\022J\n\014pull_started\030\024 \001(" + + "\01322.google.cloud.lifesciences.v2beta.Pul" + + "lStartedEventH\000\022J\n\014pull_stopped\030\025 \001(\01322." + + "google.cloud.lifesciences.v2beta.PullSto" + + "ppedEventH\000\022T\n\021container_started\030\026 \001(\01327" + + ".google.cloud.lifesciences.v2beta.Contai" + + "nerStartedEventH\000\022T\n\021container_stopped\030\027" + + " \001(\01327.google.cloud.lifesciences.v2beta." + + "ContainerStoppedEventH\000\022R\n\020container_kil" + + "led\030\030 \001(\01326.google.cloud.lifesciences.v2" + + "beta.ContainerKilledEventH\000\022]\n\026unexpecte" + + "d_exit_status\030\031 \001(\0132;.google.cloud.lifes" + + "ciences.v2beta.UnexpectedExitStatusEvent" + + "H\000\022?\n\006failed\030\032 \001(\0132-.google.cloud.lifesc" + + "iences.v2beta.FailedEventH\000B\t\n\007details\"." + + "\n\014DelayedEvent\022\r\n\005cause\030\001 \001(\t\022\017\n\007metrics" + + "\030\002 \003(\t\"K\n\023WorkerAssignedEvent\022\014\n\004zone\030\001 " + + "\001(\t\022\020\n\010instance\030\002 \001(\t\022\024\n\014machine_type\030\003 " + + "\001(\t\"5\n\023WorkerReleasedEvent\022\014\n\004zone\030\001 \001(\t" + + "\022\020\n\010instance\030\002 \001(\t\"%\n\020PullStartedEvent\022\021" + + "\n\timage_uri\030\001 \001(\t\"%\n\020PullStoppedEvent\022\021\n" + + "\timage_uri\030\001 \001(\t\"\325\001\n\025ContainerStartedEve" + + "nt\022\021\n\taction_id\030\001 \001(\005\022`\n\rport_mappings\030\002" + + " \003(\0132I.google.cloud.lifesciences.v2beta." + + "ContainerStartedEvent.PortMappingsEntry\022" + + "\022\n\nip_address\030\003 \001(\t\0323\n\021PortMappingsEntry" + + "\022\013\n\003key\030\001 \001(\005\022\r\n\005value\030\002 \001(\005:\0028\001\"O\n\025Cont" + + "ainerStoppedEvent\022\021\n\taction_id\030\001 \001(\005\022\023\n\013" + + "exit_status\030\002 \001(\005\022\016\n\006stderr\030\003 \001(\t\"C\n\031Une" + + "xpectedExitStatusEvent\022\021\n\taction_id\030\001 \001(" + + "\005\022\023\n\013exit_status\030\002 \001(\005\")\n\024ContainerKille" + + "dEvent\022\021\n\taction_id\030\001 \001(\005\"<\n\013FailedEvent" + + "\022\036\n\004code\030\001 \001(\0162\020.google.rpc.Code\022\r\n\005caus" + + "e\030\002 \001(\t2\262\002\n\026WorkflowsServiceV2Beta\022\306\001\n\013R" + + "unPipeline\0224.google.cloud.lifesciences.v" + + "2beta.RunPipelineRequest\032\035.google.longru" + + "nning.Operation\"b\202\323\344\223\002:\"5/v2beta/{parent" + + "=projects/*/locations/*}/pipelines:run:\001" + + "*\312A\037\n\023RunPipelineResponse\022\010Metadata\032O\312A\033" + + "lifesciences.googleapis.com\322A.https://ww" + + "w.googleapis.com/auth/cloud-platformB\371\001\n" + + "$com.google.cloud.lifesciences.v2betaB\016W" + + "orkflowsProtoP\001ZLgoogle.golang.org/genpr" + + "oto/googleapis/cloud/lifesciences/v2beta" + + ";lifesciences\242\002\004CLSW\252\002 Google.Cloud.Life" + + "Sciences.V2Beta\312\002 Google\\Cloud\\LifeScien" + + "ces\\V2beta\352\002#Google::Cloud::LifeSciences" + + "::V2betab\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { com.google.api.AnnotationsProto.getDescriptor(), + com.google.api.ClientProto.getDescriptor(), com.google.api.FieldBehaviorProto.getDescriptor(), com.google.longrunning.OperationsProto.getDescriptor(), com.google.protobuf.DurationProto.getDescriptor(), com.google.protobuf.TimestampProto.getDescriptor(), com.google.rpc.CodeProto.getDescriptor(), - com.google.api.ClientProto.getDescriptor(), }); internal_static_google_cloud_lifesciences_v2beta_RunPipelineRequest_descriptor = getDescriptor().getMessageTypes().get(0); @@ -372,7 +376,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_lifesciences_v2beta_Pipeline_descriptor, new java.lang.String[] { - "Actions", "Resources", "Environment", "Timeout", + "Actions", "Resources", "Environment", "EncryptedEnvironment", "Timeout", }); internal_static_google_cloud_lifesciences_v2beta_Pipeline_EnvironmentEntry_descriptor = internal_static_google_cloud_lifesciences_v2beta_Pipeline_descriptor @@ -395,6 +399,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Commands", "Entrypoint", "Environment", + "EncryptedEnvironment", "PidNamespace", "PortMappings", "Mounts", @@ -478,6 +483,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "EnableStackdriverMonitoring", "DockerCacheImages", "Volumes", + "Reservation", }); internal_static_google_cloud_lifesciences_v2beta_VirtualMachine_LabelsEntry_descriptor = internal_static_google_cloud_lifesciences_v2beta_VirtualMachine_descriptor @@ -691,12 +697,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( descriptor, registry); com.google.api.AnnotationsProto.getDescriptor(); + com.google.api.ClientProto.getDescriptor(); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.longrunning.OperationsProto.getDescriptor(); com.google.protobuf.DurationProto.getDescriptor(); com.google.protobuf.TimestampProto.getDescriptor(); com.google.rpc.CodeProto.getDescriptor(); - com.google.api.ClientProto.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) diff --git a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/proto/google/cloud/lifesciences/v2beta/workflows.proto b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/proto/google/cloud/lifesciences/v2beta/workflows.proto index b69928ffa8f4..2e9c576c63f5 100644 --- a/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/proto/google/cloud/lifesciences/v2beta/workflows.proto +++ b/java-life-sciences/proto-google-cloud-life-sciences-v2beta/src/main/proto/google/cloud/lifesciences/v2beta/workflows.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -17,12 +17,12 @@ syntax = "proto3"; package google.cloud.lifesciences.v2beta; import "google/api/annotations.proto"; +import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/code.proto"; -import "google/api/client.proto"; option csharp_namespace = "Google.Cloud.LifeSciences.V2Beta"; option go_package = "google.golang.org/genproto/googleapis/cloud/lifesciences/v2beta;lifesciences"; @@ -112,6 +112,15 @@ message Pipeline { // (though they can overwrite it with a different value). map environment = 3; + // The encrypted environment to pass into every action. Each action can also + // specify its own encrypted environment. + // + // The secret must decrypt to a JSON-encoded dictionary where key-value pairs + // serve as environment variable names and their values. The decoded + // environment variables can overwrite the values specified by the + // `environment` field. + Secret encrypted_environment = 5; + // The maximum amount of time to give the pipeline to complete. This includes // the time spent waiting for a worker to be allocated. If the pipeline fails // to complete before the timeout, it will be cancelled and the error code @@ -172,6 +181,17 @@ message Action { // authors to determine whether an individual action has succeeded or failed. map environment = 5; + // The encrypted environment to pass into the container. This environment is + // merged with values specified in the + // [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline] message, overwriting any + // duplicate values. + // + // The secret must decrypt to a JSON-encoded dictionary where key-value pairs + // serve as environment variable names and their values. The decoded + // environment variables can overwrite the values specified by the + // `environment` field. + Secret encrypted_environment = 21; + // An optional identifier for a PID namespace to run the action inside. // Multiple actions should use the same string to share a namespace. If // unspecified, a separate isolated namespace is used. @@ -408,6 +428,10 @@ message VirtualMachine { // // Specify either the `volumes[]` field or the `disks[]` field, but not both. repeated Volume volumes = 14; + + // If specified, the VM will only be allocated inside the matching + // reservation. It will fail if the VM parameters don't match the reservation. + string reservation = 15; } // Carries information about a Google Cloud service account. diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/stub/workflowsservicev2betastubsettings/runpipeline/SyncRunPipeline.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/stub/workflowsservicev2betastubsettings/getlocation/SyncGetLocation.java similarity index 88% rename from java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/stub/workflowsservicev2betastubsettings/runpipeline/SyncRunPipeline.java rename to java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/stub/workflowsservicev2betastubsettings/getlocation/SyncGetLocation.java index 2b65478c1df7..bd88c0654bcf 100644 --- a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/stub/workflowsservicev2betastubsettings/runpipeline/SyncRunPipeline.java +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/stub/workflowsservicev2betastubsettings/getlocation/SyncGetLocation.java @@ -16,17 +16,17 @@ package com.google.cloud.lifesciences.v2beta.stub.samples; -// [START lifesciences_v2beta_generated_WorkflowsServiceV2BetaStubSettings_RunPipeline_sync] +// [START lifesciences_v2beta_generated_WorkflowsServiceV2BetaStubSettings_GetLocation_sync] import com.google.cloud.lifesciences.v2beta.stub.WorkflowsServiceV2BetaStubSettings; import java.time.Duration; -public class SyncRunPipeline { +public class SyncGetLocation { public static void main(String[] args) throws Exception { - syncRunPipeline(); + syncGetLocation(); } - public static void syncRunPipeline() throws Exception { + public static void syncGetLocation() 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. @@ -35,10 +35,10 @@ public static void syncRunPipeline() throws Exception { WorkflowsServiceV2BetaStubSettings.Builder workflowsServiceV2BetaSettingsBuilder = WorkflowsServiceV2BetaStubSettings.newBuilder(); workflowsServiceV2BetaSettingsBuilder - .runPipelineSettings() + .getLocationSettings() .setRetrySettings( workflowsServiceV2BetaSettingsBuilder - .runPipelineSettings() + .getLocationSettings() .getRetrySettings() .toBuilder() .setTotalTimeout(Duration.ofSeconds(30)) @@ -47,4 +47,4 @@ public static void syncRunPipeline() throws Exception { workflowsServiceV2BetaSettingsBuilder.build(); } } -// [END lifesciences_v2beta_generated_WorkflowsServiceV2BetaStubSettings_RunPipeline_sync] +// [END lifesciences_v2beta_generated_WorkflowsServiceV2BetaStubSettings_GetLocation_sync] diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/getlocation/AsyncGetLocation.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/getlocation/AsyncGetLocation.java new file mode 100644 index 000000000000..36a6a1785122 --- /dev/null +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/getlocation/AsyncGetLocation.java @@ -0,0 +1,47 @@ +/* + * Copyright 2022 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.lifesciences.v2beta.samples; + +// [START lifesciences_v2beta_generated_WorkflowsServiceV2Beta_GetLocation_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class AsyncGetLocation { + + public static void main(String[] args) throws Exception { + asyncGetLocation(); + } + + public static void asyncGetLocation() 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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = + WorkflowsServiceV2BetaClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + ApiFuture future = + workflowsServiceV2BetaClient.getLocationCallable().futureCall(request); + // Do something. + Location response = future.get(); + } + } +} +// [END lifesciences_v2beta_generated_WorkflowsServiceV2Beta_GetLocation_async] diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/getlocation/SyncGetLocation.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..9e722f1e3ce9 --- /dev/null +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/getlocation/SyncGetLocation.java @@ -0,0 +1,43 @@ +/* + * Copyright 2022 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.lifesciences.v2beta.samples; + +// [START lifesciences_v2beta_generated_WorkflowsServiceV2Beta_GetLocation_sync] +import com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() 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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = + WorkflowsServiceV2BetaClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + Location response = workflowsServiceV2BetaClient.getLocation(request); + } + } +} +// [END lifesciences_v2beta_generated_WorkflowsServiceV2Beta_GetLocation_sync] diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/AsyncListLocations.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/AsyncListLocations.java new file mode 100644 index 000000000000..039212b1a5b3 --- /dev/null +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/AsyncListLocations.java @@ -0,0 +1,55 @@ +/* + * Copyright 2022 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.lifesciences.v2beta.samples; + +// [START lifesciences_v2beta_generated_WorkflowsServiceV2Beta_ListLocations_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class AsyncListLocations { + + public static void main(String[] args) throws Exception { + asyncListLocations(); + } + + public static void asyncListLocations() 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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = + WorkflowsServiceV2BetaClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + workflowsServiceV2BetaClient.listLocationsPagedCallable().futureCall(request); + // Do something. + for (Location element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END lifesciences_v2beta_generated_WorkflowsServiceV2Beta_ListLocations_async] diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/AsyncListLocationsPaged.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/AsyncListLocationsPaged.java new file mode 100644 index 000000000000..f6a2bdea561f --- /dev/null +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/AsyncListLocationsPaged.java @@ -0,0 +1,63 @@ +/* + * Copyright 2022 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.lifesciences.v2beta.samples; + +// [START lifesciences_v2beta_generated_WorkflowsServiceV2Beta_ListLocations_Paged_async] +import com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.base.Strings; + +public class AsyncListLocationsPaged { + + public static void main(String[] args) throws Exception { + asyncListLocationsPaged(); + } + + public static void asyncListLocationsPaged() 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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = + WorkflowsServiceV2BetaClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListLocationsResponse response = + workflowsServiceV2BetaClient.listLocationsCallable().call(request); + for (Location element : response.getLocationsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END lifesciences_v2beta_generated_WorkflowsServiceV2Beta_ListLocations_Paged_async] diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/SyncListLocations.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/SyncListLocations.java new file mode 100644 index 000000000000..1d13d9ca3f02 --- /dev/null +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2beta/listlocations/SyncListLocations.java @@ -0,0 +1,51 @@ +/* + * Copyright 2022 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.lifesciences.v2beta.samples; + +// [START lifesciences_v2beta_generated_WorkflowsServiceV2Beta_ListLocations_sync] +import com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class SyncListLocations { + + public static void main(String[] args) throws Exception { + syncListLocations(); + } + + public static void syncListLocations() 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 (WorkflowsServiceV2BetaClient workflowsServiceV2BetaClient = + WorkflowsServiceV2BetaClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Location element : workflowsServiceV2BetaClient.listLocations(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END lifesciences_v2beta_generated_WorkflowsServiceV2Beta_ListLocations_sync] diff --git a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2betasettings/runpipeline/SyncRunPipeline.java b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2betasettings/getlocation/SyncGetLocation.java similarity index 89% rename from java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2betasettings/runpipeline/SyncRunPipeline.java rename to java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2betasettings/getlocation/SyncGetLocation.java index 73a90715efe7..f8105db61918 100644 --- a/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2betasettings/runpipeline/SyncRunPipeline.java +++ b/java-life-sciences/samples/snippets/generated/com/google/cloud/lifesciences/v2beta/workflowsservicev2betasettings/getlocation/SyncGetLocation.java @@ -16,17 +16,17 @@ package com.google.cloud.lifesciences.v2beta.samples; -// [START lifesciences_v2beta_generated_WorkflowsServiceV2BetaSettings_RunPipeline_sync] +// [START lifesciences_v2beta_generated_WorkflowsServiceV2BetaSettings_GetLocation_sync] import com.google.cloud.lifesciences.v2beta.WorkflowsServiceV2BetaSettings; import java.time.Duration; -public class SyncRunPipeline { +public class SyncGetLocation { public static void main(String[] args) throws Exception { - syncRunPipeline(); + syncGetLocation(); } - public static void syncRunPipeline() throws Exception { + public static void syncGetLocation() 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. @@ -35,10 +35,10 @@ public static void syncRunPipeline() throws Exception { WorkflowsServiceV2BetaSettings.Builder workflowsServiceV2BetaSettingsBuilder = WorkflowsServiceV2BetaSettings.newBuilder(); workflowsServiceV2BetaSettingsBuilder - .runPipelineSettings() + .getLocationSettings() .setRetrySettings( workflowsServiceV2BetaSettingsBuilder - .runPipelineSettings() + .getLocationSettings() .getRetrySettings() .toBuilder() .setTotalTimeout(Duration.ofSeconds(30)) @@ -47,4 +47,4 @@ public static void syncRunPipeline() throws Exception { workflowsServiceV2BetaSettingsBuilder.build(); } } -// [END lifesciences_v2beta_generated_WorkflowsServiceV2BetaSettings_RunPipeline_sync] +// [END lifesciences_v2beta_generated_WorkflowsServiceV2BetaSettings_GetLocation_sync]