diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index f60d7749..a79f0627 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-java:latest - digest: sha256:fc52b202aa298a50a12c64efd04fea3884d867947effe2fa85382a246c09e813 -# created: 2022-04-06T16:30:03.627422514Z + digest: sha256:2567a120ce90fadb6201999b87d649d9f67459de28815ad239bce9ebfaa18a74 +# created: 2022-05-19T15:12:45.278246753Z diff --git a/.kokoro/build.sh b/.kokoro/build.sh index 8d1d6360..8feb0150 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -74,6 +74,11 @@ graalvm) mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test RETURN_CODE=$? ;; +graalvm17) + # Run Unit and Integration Tests with Native Image + mvn -B ${INTEGRATION_TEST_ARGS} -ntp -Pnative -Penable-integration-tests test + RETURN_CODE=$? + ;; samples) SAMPLES_DIR=samples # only run ITs in snapshot/ on presubmit PRs. run ITs in all 3 samples/ subdirectories otherwise. diff --git a/.kokoro/presubmit/graalvm-native-17.cfg b/.kokoro/presubmit/graalvm-native-17.cfg new file mode 100644 index 00000000..a3f7fb9d --- /dev/null +++ b/.kokoro/presubmit/graalvm-native-17.cfg @@ -0,0 +1,33 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/graalvm17" +} + +env_vars: { + key: "JOB_TYPE" + value: "graalvm17" +} + +# TODO: remove this after we've migrated all tests and scripts +env_vars: { + key: "GCLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_CLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "secret_manager/java-it-service-account" +} + +env_vars: { + key: "SECRET_MANAGER_KEYS" + value: "java-it-service-account" +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 60be47b9..118b0c0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [2.3.0](https://github.com/googleapis/java-tpu/compare/v2.2.7...v2.3.0) (2022-05-24) + + +### Features + +* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-tpu/issues/1440)) ([#198](https://github.com/googleapis/java-tpu/issues/198)) ([457d5d6](https://github.com/googleapis/java-tpu/commit/457d5d649157ac3f3b2f7c04969ac02542381e08)) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#197](https://github.com/googleapis/java-tpu/issues/197)) ([42e546e](https://github.com/googleapis/java-tpu/commit/42e546e2383e2a4bf726ebe366a6c2dfe59235f4)) + ### [2.2.7](https://github.com/googleapis/java-tpu/compare/v2.2.6...v2.2.7) (2022-04-15) diff --git a/README.md b/README.md index 665dd576..499f2e83 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using Maven, add this to your pom.xml file: com.google.cloud google-cloud-tpu - 2.2.6 + 2.2.7 ``` @@ -27,13 +27,13 @@ If you are using Maven, add this to your pom.xml file: If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-tpu:2.2.6' +implementation 'com.google.cloud:google-cloud-tpu:2.2.7' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-tpu" % "2.2.6" +libraryDependencies += "com.google.cloud" % "google-cloud-tpu" % "2.2.7" ``` ## Authentication diff --git a/google-cloud-tpu-bom/pom.xml b/google-cloud-tpu-bom/pom.xml index 0a775606..4b84085c 100644 --- a/google-cloud-tpu-bom/pom.xml +++ b/google-cloud-tpu-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-tpu-bom - 2.2.7 + 2.3.0 pom com.google.cloud google-cloud-shared-config - 1.3.2 + 1.4.0 Google Cloud TPU BOM @@ -56,27 +56,27 @@ com.google.cloud google-cloud-tpu - 2.2.7 + 2.3.0 com.google.api.grpc grpc-google-cloud-tpu-v1 - 2.2.7 + 2.3.0 com.google.api.grpc grpc-google-cloud-tpu-v2alpha1 - 2.2.7 + 2.3.0 com.google.api.grpc proto-google-cloud-tpu-v1 - 2.2.7 + 2.3.0 com.google.api.grpc proto-google-cloud-tpu-v2alpha1 - 2.2.7 + 2.3.0 diff --git a/google-cloud-tpu/pom.xml b/google-cloud-tpu/pom.xml index 4cf382d8..1044c71d 100644 --- a/google-cloud-tpu/pom.xml +++ b/google-cloud-tpu/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-tpu - 2.2.7 + 2.3.0 jar Google Cloud TPU https://github.com/googleapis/java-tpu @@ -11,7 +11,7 @@ com.google.cloud google-cloud-tpu-parent - 2.2.7 + 2.3.0 google-cloud-tpu diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuClient.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuClient.java index 285f5bcb..2eff1733 100644 --- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuClient.java +++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuClient.java @@ -1,5 +1,5 @@ /* - * 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. @@ -47,6 +47,8 @@ * calls that map to API methods. Sample code to get started: * *
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (TpuClient tpuClient = TpuClient.create()) {
  *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
  *   Node response = tpuClient.getNode(name);
@@ -82,6 +84,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuSettings tpuSettings =
  *     TpuSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -92,6 +96,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuSettings tpuSettings = TpuSettings.newBuilder().setEndpoint(myEndpoint).build();
  * TpuClient tpuClient = TpuClient.create(tpuSettings);
  * }
@@ -167,6 +173,8 @@ public final OperationsClient getOperationsClient() { *

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   for (Node element : tpuClient.listNodes(parent).iterateAll()) {
@@ -191,6 +199,8 @@ public final ListNodesPagedResponse listNodes(LocationName parent) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   for (Node element : tpuClient.listNodes(parent).iterateAll()) {
@@ -214,6 +224,8 @@ public final ListNodesPagedResponse listNodes(String parent) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListNodesRequest request =
    *       ListNodesRequest.newBuilder()
@@ -241,6 +253,8 @@ public final ListNodesPagedResponse listNodes(ListNodesRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListNodesRequest request =
    *       ListNodesRequest.newBuilder()
@@ -267,6 +281,8 @@ public final UnaryCallable listNodesPa
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListNodesRequest request =
    *       ListNodesRequest.newBuilder()
@@ -300,6 +316,8 @@ public final UnaryCallable listNodesCallabl
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
    *   Node response = tpuClient.getNode(name);
@@ -322,6 +340,8 @@ public final Node getNode(NodeName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString();
    *   Node response = tpuClient.getNode(name);
@@ -343,6 +363,8 @@ public final Node getNode(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetNodeRequest request =
    *       GetNodeRequest.newBuilder()
@@ -366,6 +388,8 @@ public final Node getNode(GetNodeRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetNodeRequest request =
    *       GetNodeRequest.newBuilder()
@@ -388,6 +412,8 @@ public final UnaryCallable getNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   Node node = Node.newBuilder().build();
@@ -419,6 +445,8 @@ public final OperationFuture createNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   Node node = Node.newBuilder().build();
@@ -446,6 +474,8 @@ public final OperationFuture createNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   CreateNodeRequest request =
    *       CreateNodeRequest.newBuilder()
@@ -471,6 +501,8 @@ public final OperationFuture createNodeAsync(CreateNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   CreateNodeRequest request =
    *       CreateNodeRequest.newBuilder()
@@ -497,6 +529,8 @@ public final OperationFuture createNodeAsync(CreateNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   CreateNodeRequest request =
    *       CreateNodeRequest.newBuilder()
@@ -521,6 +555,8 @@ public final UnaryCallable createNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
    *   Node response = tpuClient.deleteNodeAsync(name).get();
@@ -543,6 +579,8 @@ public final OperationFuture deleteNodeAsync(NodeName n
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString();
    *   Node response = tpuClient.deleteNodeAsync(name).get();
@@ -564,6 +602,8 @@ public final OperationFuture deleteNodeAsync(String nam
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   DeleteNodeRequest request =
    *       DeleteNodeRequest.newBuilder()
@@ -587,6 +627,8 @@ public final OperationFuture deleteNodeAsync(DeleteNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   DeleteNodeRequest request =
    *       DeleteNodeRequest.newBuilder()
@@ -611,6 +653,8 @@ public final OperationFuture deleteNodeAsync(DeleteNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   DeleteNodeRequest request =
    *       DeleteNodeRequest.newBuilder()
@@ -633,6 +677,8 @@ public final UnaryCallable deleteNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ReimageNodeRequest request =
    *       ReimageNodeRequest.newBuilder()
@@ -658,6 +704,8 @@ public final OperationFuture reimageNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ReimageNodeRequest request =
    *       ReimageNodeRequest.newBuilder()
@@ -683,6 +731,8 @@ public final OperationFuture reimageNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ReimageNodeRequest request =
    *       ReimageNodeRequest.newBuilder()
@@ -706,6 +756,8 @@ public final UnaryCallable reimageNodeCallable()
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StopNodeRequest request = StopNodeRequest.newBuilder().setName("name3373707").build();
    *   Node response = tpuClient.stopNodeAsync(request).get();
@@ -726,6 +778,8 @@ public final OperationFuture stopNodeAsync(StopNodeRequ
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StopNodeRequest request = StopNodeRequest.newBuilder().setName("name3373707").build();
    *   OperationFuture future =
@@ -747,6 +801,8 @@ public final OperationFuture stopNodeAsync(StopNodeRequ
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StopNodeRequest request = StopNodeRequest.newBuilder().setName("name3373707").build();
    *   ApiFuture future = tpuClient.stopNodeCallable().futureCall(request);
@@ -766,6 +822,8 @@ public final UnaryCallable stopNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StartNodeRequest request = StartNodeRequest.newBuilder().setName("name3373707").build();
    *   Node response = tpuClient.startNodeAsync(request).get();
@@ -786,6 +844,8 @@ public final OperationFuture startNodeAsync(StartNodeRe
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StartNodeRequest request = StartNodeRequest.newBuilder().setName("name3373707").build();
    *   OperationFuture future =
@@ -807,6 +867,8 @@ public final OperationFuture startNodeAsync(StartNodeRe
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StartNodeRequest request = StartNodeRequest.newBuilder().setName("name3373707").build();
    *   ApiFuture future = tpuClient.startNodeCallable().futureCall(request);
@@ -826,6 +888,8 @@ public final UnaryCallable startNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   TensorFlowVersionName parent =
    *       TensorFlowVersionName.of("[PROJECT]", "[LOCATION]", "[TENSOR_FLOW_VERSION]");
@@ -854,6 +918,8 @@ public final ListTensorFlowVersionsPagedResponse listTensorFlowVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent =
    *       TensorFlowVersionName.of("[PROJECT]", "[LOCATION]", "[TENSOR_FLOW_VERSION]").toString();
@@ -879,6 +945,8 @@ public final ListTensorFlowVersionsPagedResponse listTensorFlowVersions(String p
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListTensorFlowVersionsRequest request =
    *       ListTensorFlowVersionsRequest.newBuilder()
@@ -911,6 +979,8 @@ public final ListTensorFlowVersionsPagedResponse listTensorFlowVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListTensorFlowVersionsRequest request =
    *       ListTensorFlowVersionsRequest.newBuilder()
@@ -943,6 +1013,8 @@ public final ListTensorFlowVersionsPagedResponse listTensorFlowVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListTensorFlowVersionsRequest request =
    *       ListTensorFlowVersionsRequest.newBuilder()
@@ -982,6 +1054,8 @@ public final ListTensorFlowVersionsPagedResponse listTensorFlowVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   TensorFlowVersionName name =
    *       TensorFlowVersionName.of("[PROJECT]", "[LOCATION]", "[TENSOR_FLOW_VERSION]");
@@ -1007,6 +1081,8 @@ public final TensorFlowVersion getTensorFlowVersion(TensorFlowVersionName name)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name =
    *       TensorFlowVersionName.of("[PROJECT]", "[LOCATION]", "[TENSOR_FLOW_VERSION]").toString();
@@ -1030,6 +1106,8 @@ public final TensorFlowVersion getTensorFlowVersion(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetTensorFlowVersionRequest request =
    *       GetTensorFlowVersionRequest.newBuilder()
@@ -1055,6 +1133,8 @@ public final TensorFlowVersion getTensorFlowVersion(GetTensorFlowVersionRequest
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetTensorFlowVersionRequest request =
    *       GetTensorFlowVersionRequest.newBuilder()
@@ -1081,6 +1161,8 @@ public final TensorFlowVersion getTensorFlowVersion(GetTensorFlowVersionRequest
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   AcceleratorTypeName parent =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]");
@@ -1108,6 +1190,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(AcceleratorT
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]").toString();
@@ -1133,6 +1217,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(String paren
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListAcceleratorTypesRequest request =
    *       ListAcceleratorTypesRequest.newBuilder()
@@ -1165,6 +1251,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListAcceleratorTypesRequest request =
    *       ListAcceleratorTypesRequest.newBuilder()
@@ -1197,6 +1285,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListAcceleratorTypesRequest request =
    *       ListAcceleratorTypesRequest.newBuilder()
@@ -1236,6 +1326,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   AcceleratorTypeName name =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]");
@@ -1261,6 +1353,8 @@ public final AcceleratorType getAcceleratorType(AcceleratorTypeName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]").toString();
@@ -1284,6 +1378,8 @@ public final AcceleratorType getAcceleratorType(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetAcceleratorTypeRequest request =
    *       GetAcceleratorTypeRequest.newBuilder()
@@ -1309,6 +1405,8 @@ public final AcceleratorType getAcceleratorType(GetAcceleratorTypeRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetAcceleratorTypeRequest request =
    *       GetAcceleratorTypeRequest.newBuilder()
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuSettings.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuSettings.java
index 10af0696..05f363e3 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuSettings.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/TpuSettings.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -56,6 +56,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuSettings.Builder tpuSettingsBuilder = TpuSettings.newBuilder();
  * tpuSettingsBuilder
  *     .getNodeSettings()
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/package-info.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/package-info.java
index 24d18ba5..20f5e321 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/package-info.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/package-info.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -26,6 +26,8 @@
  * 

Sample for TpuClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (TpuClient tpuClient = TpuClient.create()) {
  *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
  *   Node response = tpuClient.getNode(name);
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuCallableFactory.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuCallableFactory.java
index e1a067a0..b38cbf30 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuCallableFactory.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuCallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuStub.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuStub.java
index f0ba63a2..6e351b83 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuStub.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/GrpcTpuStub.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStub.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStub.java
index c2ad02da..58892195 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStub.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStub.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStubSettings.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStubSettings.java
index 9ac26ee9..2e319a69 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStubSettings.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v1/stub/TpuStubSettings.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -92,6 +92,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuStubSettings.Builder tpuSettingsBuilder = TpuStubSettings.newBuilder();
  * tpuSettingsBuilder
  *     .getNodeSettings()
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuClient.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuClient.java
index 34050be6..a91a8ddf 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuClient.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuClient.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -48,6 +48,8 @@
  * calls that map to API methods. Sample code to get started:
  *
  * 
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (TpuClient tpuClient = TpuClient.create()) {
  *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
  *   Node response = tpuClient.getNode(name);
@@ -83,6 +85,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuSettings tpuSettings =
  *     TpuSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -93,6 +97,8 @@
  * 

To customize the endpoint: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuSettings tpuSettings = TpuSettings.newBuilder().setEndpoint(myEndpoint).build();
  * TpuClient tpuClient = TpuClient.create(tpuSettings);
  * }
@@ -169,6 +175,8 @@ public final OperationsClient getOperationsClient() { *

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   NodeName parent = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
    *   for (Node element : tpuClient.listNodes(parent).iterateAll()) {
@@ -193,6 +201,8 @@ public final ListNodesPagedResponse listNodes(NodeName parent) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString();
    *   for (Node element : tpuClient.listNodes(parent).iterateAll()) {
@@ -216,6 +226,8 @@ public final ListNodesPagedResponse listNodes(String parent) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListNodesRequest request =
    *       ListNodesRequest.newBuilder()
@@ -243,6 +255,8 @@ public final ListNodesPagedResponse listNodes(ListNodesRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListNodesRequest request =
    *       ListNodesRequest.newBuilder()
@@ -269,6 +283,8 @@ public final UnaryCallable listNodesPa
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListNodesRequest request =
    *       ListNodesRequest.newBuilder()
@@ -302,6 +318,8 @@ public final UnaryCallable listNodesCallabl
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
    *   Node response = tpuClient.getNode(name);
@@ -324,6 +342,8 @@ public final Node getNode(NodeName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString();
    *   Node response = tpuClient.getNode(name);
@@ -345,6 +365,8 @@ public final Node getNode(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetNodeRequest request =
    *       GetNodeRequest.newBuilder()
@@ -368,6 +390,8 @@ public final Node getNode(GetNodeRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetNodeRequest request =
    *       GetNodeRequest.newBuilder()
@@ -390,6 +414,8 @@ public final UnaryCallable getNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   Node node = Node.newBuilder().build();
@@ -421,6 +447,8 @@ public final OperationFuture createNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   Node node = Node.newBuilder().build();
@@ -448,6 +476,8 @@ public final OperationFuture createNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   CreateNodeRequest request =
    *       CreateNodeRequest.newBuilder()
@@ -473,6 +503,8 @@ public final OperationFuture createNodeAsync(CreateNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   CreateNodeRequest request =
    *       CreateNodeRequest.newBuilder()
@@ -499,6 +531,8 @@ public final OperationFuture createNodeAsync(CreateNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   CreateNodeRequest request =
    *       CreateNodeRequest.newBuilder()
@@ -523,6 +557,8 @@ public final UnaryCallable createNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
    *   Node response = tpuClient.deleteNodeAsync(name).get();
@@ -545,6 +581,8 @@ public final OperationFuture deleteNodeAsync(NodeName n
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString();
    *   Node response = tpuClient.deleteNodeAsync(name).get();
@@ -566,6 +604,8 @@ public final OperationFuture deleteNodeAsync(String nam
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   DeleteNodeRequest request =
    *       DeleteNodeRequest.newBuilder()
@@ -589,6 +629,8 @@ public final OperationFuture deleteNodeAsync(DeleteNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   DeleteNodeRequest request =
    *       DeleteNodeRequest.newBuilder()
@@ -613,6 +655,8 @@ public final OperationFuture deleteNodeAsync(DeleteNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   DeleteNodeRequest request =
    *       DeleteNodeRequest.newBuilder()
@@ -635,6 +679,8 @@ public final UnaryCallable deleteNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StopNodeRequest request = StopNodeRequest.newBuilder().setName("name3373707").build();
    *   Node response = tpuClient.stopNodeAsync(request).get();
@@ -655,6 +701,8 @@ public final OperationFuture stopNodeAsync(StopNodeRequ
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StopNodeRequest request = StopNodeRequest.newBuilder().setName("name3373707").build();
    *   OperationFuture future =
@@ -676,6 +724,8 @@ public final OperationFuture stopNodeAsync(StopNodeRequ
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StopNodeRequest request = StopNodeRequest.newBuilder().setName("name3373707").build();
    *   ApiFuture future = tpuClient.stopNodeCallable().futureCall(request);
@@ -695,6 +745,8 @@ public final UnaryCallable stopNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StartNodeRequest request = StartNodeRequest.newBuilder().setName("name3373707").build();
    *   Node response = tpuClient.startNodeAsync(request).get();
@@ -715,6 +767,8 @@ public final OperationFuture startNodeAsync(StartNodeRe
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StartNodeRequest request = StartNodeRequest.newBuilder().setName("name3373707").build();
    *   OperationFuture future =
@@ -736,6 +790,8 @@ public final OperationFuture startNodeAsync(StartNodeRe
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   StartNodeRequest request = StartNodeRequest.newBuilder().setName("name3373707").build();
    *   ApiFuture future = tpuClient.startNodeCallable().futureCall(request);
@@ -755,6 +811,8 @@ public final UnaryCallable startNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   Node node = Node.newBuilder().build();
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -781,6 +839,8 @@ public final OperationFuture updateNodeAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   UpdateNodeRequest request =
    *       UpdateNodeRequest.newBuilder()
@@ -805,6 +865,8 @@ public final OperationFuture updateNodeAsync(UpdateNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   UpdateNodeRequest request =
    *       UpdateNodeRequest.newBuilder()
@@ -830,6 +892,8 @@ public final OperationFuture updateNodeAsync(UpdateNode
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   UpdateNodeRequest request =
    *       UpdateNodeRequest.newBuilder()
@@ -853,6 +917,8 @@ public final UnaryCallable updateNodeCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GenerateServiceIdentityRequest request =
    *       GenerateServiceIdentityRequest.newBuilder()
@@ -877,6 +943,8 @@ public final GenerateServiceIdentityResponse generateServiceIdentity(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GenerateServiceIdentityRequest request =
    *       GenerateServiceIdentityRequest.newBuilder()
@@ -901,6 +969,8 @@ public final GenerateServiceIdentityResponse generateServiceIdentity(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   AcceleratorTypeName parent =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]");
@@ -928,6 +998,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(AcceleratorT
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]").toString();
@@ -953,6 +1025,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(String paren
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListAcceleratorTypesRequest request =
    *       ListAcceleratorTypesRequest.newBuilder()
@@ -985,6 +1059,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListAcceleratorTypesRequest request =
    *       ListAcceleratorTypesRequest.newBuilder()
@@ -1017,6 +1093,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListAcceleratorTypesRequest request =
    *       ListAcceleratorTypesRequest.newBuilder()
@@ -1056,6 +1134,8 @@ public final ListAcceleratorTypesPagedResponse listAcceleratorTypes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   AcceleratorTypeName name =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]");
@@ -1081,6 +1161,8 @@ public final AcceleratorType getAcceleratorType(AcceleratorTypeName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name =
    *       AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]").toString();
@@ -1104,6 +1186,8 @@ public final AcceleratorType getAcceleratorType(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetAcceleratorTypeRequest request =
    *       GetAcceleratorTypeRequest.newBuilder()
@@ -1129,6 +1213,8 @@ public final AcceleratorType getAcceleratorType(GetAcceleratorTypeRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetAcceleratorTypeRequest request =
    *       GetAcceleratorTypeRequest.newBuilder()
@@ -1155,6 +1241,8 @@ public final AcceleratorType getAcceleratorType(GetAcceleratorTypeRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   RuntimeVersionName parent =
    *       RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]");
@@ -1182,6 +1270,8 @@ public final ListRuntimeVersionsPagedResponse listRuntimeVersions(RuntimeVersion
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String parent =
    *       RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]").toString();
@@ -1207,6 +1297,8 @@ public final ListRuntimeVersionsPagedResponse listRuntimeVersions(String parent)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListRuntimeVersionsRequest request =
    *       ListRuntimeVersionsRequest.newBuilder()
@@ -1238,6 +1330,8 @@ public final ListRuntimeVersionsPagedResponse listRuntimeVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListRuntimeVersionsRequest request =
    *       ListRuntimeVersionsRequest.newBuilder()
@@ -1269,6 +1363,8 @@ public final ListRuntimeVersionsPagedResponse listRuntimeVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   ListRuntimeVersionsRequest request =
    *       ListRuntimeVersionsRequest.newBuilder()
@@ -1307,6 +1403,8 @@ public final ListRuntimeVersionsPagedResponse listRuntimeVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   RuntimeVersionName name =
    *       RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]");
@@ -1332,6 +1430,8 @@ public final RuntimeVersion getRuntimeVersion(RuntimeVersionName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   String name =
    *       RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]").toString();
@@ -1354,6 +1454,8 @@ public final RuntimeVersion getRuntimeVersion(String name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetRuntimeVersionRequest request =
    *       GetRuntimeVersionRequest.newBuilder()
@@ -1378,6 +1480,8 @@ public final RuntimeVersion getRuntimeVersion(GetRuntimeVersionRequest request)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetRuntimeVersionRequest request =
    *       GetRuntimeVersionRequest.newBuilder()
@@ -1401,6 +1505,8 @@ public final UnaryCallable getRuntimeV
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetGuestAttributesRequest request =
    *       GetGuestAttributesRequest.newBuilder()
@@ -1426,6 +1532,8 @@ public final GetGuestAttributesResponse getGuestAttributes(GetGuestAttributesReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (TpuClient tpuClient = TpuClient.create()) {
    *   GetGuestAttributesRequest request =
    *       GetGuestAttributesRequest.newBuilder()
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuSettings.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuSettings.java
index 9bf9cd4b..3eff122f 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuSettings.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/TpuSettings.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -56,6 +56,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuSettings.Builder tpuSettingsBuilder = TpuSettings.newBuilder();
  * tpuSettingsBuilder
  *     .getNodeSettings()
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/package-info.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/package-info.java
index 8f0680cb..b2d24018 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/package-info.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/package-info.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -28,6 +28,8 @@
  * 

Sample for TpuClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (TpuClient tpuClient = TpuClient.create()) {
  *   NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
  *   Node response = tpuClient.getNode(name);
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuCallableFactory.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuCallableFactory.java
index 0c8ac5c2..98e979c2 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuCallableFactory.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuCallableFactory.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuStub.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuStub.java
index 4f98a470..cd2c7d7f 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuStub.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/GrpcTpuStub.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStub.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStub.java
index 4d95863a..02185bf7 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStub.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStub.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStubSettings.java b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStubSettings.java
index 6c43e788..65209a31 100644
--- a/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStubSettings.java
+++ b/google-cloud-tpu/src/main/java/com/google/cloud/tpu/v2alpha1/stub/TpuStubSettings.java
@@ -1,5 +1,5 @@
 /*
- * 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.
@@ -96,6 +96,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * TpuStubSettings.Builder tpuSettingsBuilder = TpuStubSettings.newBuilder();
  * tpuSettingsBuilder
  *     .getNodeSettings()
diff --git a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpu.java b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpu.java
index 0e669cb9..b20f3034 100644
--- a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpu.java
+++ b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpu.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpuImpl.java b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpuImpl.java
index a2ef14ba..20c95919 100644
--- a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpuImpl.java
+++ b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/MockTpuImpl.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/TpuClientTest.java b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/TpuClientTest.java
index ef91a6f7..c5ed3629 100644
--- a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/TpuClientTest.java
+++ b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v1/TpuClientTest.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpu.java b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpu.java
index e404d627..d680ccbb 100644
--- a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpu.java
+++ b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpu.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpuImpl.java b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpuImpl.java
index 1d17ca0e..54096f70 100644
--- a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpuImpl.java
+++ b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/MockTpuImpl.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/TpuClientTest.java b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/TpuClientTest.java
index 5147cf3b..7813a46f 100644
--- a/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/TpuClientTest.java
+++ b/google-cloud-tpu/src/test/java/com/google/cloud/tpu/v2alpha1/TpuClientTest.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/grpc-google-cloud-tpu-v1/pom.xml b/grpc-google-cloud-tpu-v1/pom.xml
index 024e7727..5eab5d95 100644
--- a/grpc-google-cloud-tpu-v1/pom.xml
+++ b/grpc-google-cloud-tpu-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-tpu-v1
-  2.2.7
+  2.3.0
   grpc-google-cloud-tpu-v1
   GRPC library for google-cloud-tpu
   
     com.google.cloud
     google-cloud-tpu-parent
-    2.2.7
+    2.3.0
   
   
     
diff --git a/grpc-google-cloud-tpu-v2alpha1/pom.xml b/grpc-google-cloud-tpu-v2alpha1/pom.xml
index 43e28dad..7e3d5604 100644
--- a/grpc-google-cloud-tpu-v2alpha1/pom.xml
+++ b/grpc-google-cloud-tpu-v2alpha1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-tpu-v2alpha1
-  2.2.7
+  2.3.0
   grpc-google-cloud-tpu-v2alpha1
   GRPC library for google-cloud-tpu
   
     com.google.cloud
     google-cloud-tpu-parent
-    2.2.7
+    2.3.0
   
   
     
diff --git a/pom.xml b/pom.xml
index eba1b7ef..b82d8d38 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   com.google.cloud
   google-cloud-tpu-parent
   pom
-  2.2.7
+  2.3.0
   Google Cloud TPU Parent
   https://github.com/googleapis/java-tpu
   
@@ -14,7 +14,7 @@
   
     com.google.cloud
     google-cloud-shared-config
-    1.3.2
+    1.4.0
   
 
   
@@ -60,33 +60,33 @@
       
         com.google.cloud
         google-cloud-tpu
-        2.2.7
+        2.3.0
       
       
         com.google.api.grpc
         proto-google-cloud-tpu-v2alpha1
-        2.2.7
+        2.3.0
       
       
         com.google.api.grpc
         grpc-google-cloud-tpu-v2alpha1
-        2.2.7
+        2.3.0
       
       
         com.google.api.grpc
         grpc-google-cloud-tpu-v1
-        2.2.7
+        2.3.0
       
       
         com.google.api.grpc
         proto-google-cloud-tpu-v1
-        2.2.7
+        2.3.0
       
 
       
         com.google.cloud
         google-cloud-shared-dependencies
-        2.10.0
+        2.12.0
         pom
         import
       
@@ -124,7 +124,7 @@
       
         org.apache.maven.plugins
         maven-project-info-reports-plugin
-        3.2.2
+        3.3.0
         
           
             
@@ -151,7 +151,7 @@
       
         org.apache.maven.plugins
         maven-javadoc-plugin
-        3.3.2
+        3.4.0
         
           
             html
diff --git a/proto-google-cloud-tpu-v1/pom.xml b/proto-google-cloud-tpu-v1/pom.xml
index e9007ef7..ea5edd86 100644
--- a/proto-google-cloud-tpu-v1/pom.xml
+++ b/proto-google-cloud-tpu-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-tpu-v1
-  2.2.7
+  2.3.0
   proto-google-cloud-tpu-v1
   Proto library for google-cloud-tpu
   
     com.google.cloud
     google-cloud-tpu-parent
-    2.2.7
+    2.3.0
   
   
     
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorType.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorType.java
index 9ca504b0..4530935f 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorType.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorType.java
@@ -96,6 +96,8 @@ private AcceleratorType(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorTypeName.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorTypeName.java
index d544337b..fbe1ba56 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorTypeName.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/AcceleratorTypeName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/CreateNodeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/CreateNodeRequest.java
index 61932cae..fdcf18fb 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/CreateNodeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/CreateNodeRequest.java
@@ -110,6 +110,8 @@ private CreateNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/DeleteNodeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/DeleteNodeRequest.java
index ad6c9948..4c9440be 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/DeleteNodeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/DeleteNodeRequest.java
@@ -88,6 +88,8 @@ private DeleteNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetAcceleratorTypeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetAcceleratorTypeRequest.java
index 0da0de7c..4f7fe2ed 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetAcceleratorTypeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetAcceleratorTypeRequest.java
@@ -88,6 +88,8 @@ private GetAcceleratorTypeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetNodeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetNodeRequest.java
index 304953ba..cc100b03 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetNodeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetNodeRequest.java
@@ -88,6 +88,8 @@ private GetNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetTensorFlowVersionRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetTensorFlowVersionRequest.java
index d3deb4ea..df979638 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetTensorFlowVersionRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/GetTensorFlowVersionRequest.java
@@ -88,6 +88,8 @@ private GetTensorFlowVersionRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesRequest.java
index c9bed365..80498b98 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesRequest.java
@@ -117,6 +117,8 @@ private ListAcceleratorTypesRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesResponse.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesResponse.java
index 2a80f91d..7b6f21eb 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesResponse.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListAcceleratorTypesResponse.java
@@ -113,6 +113,8 @@ private ListAcceleratorTypesResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesRequest.java
index 482fdfe9..8e3aa076 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesRequest.java
@@ -101,6 +101,8 @@ private ListNodesRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesResponse.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesResponse.java
index ce10c65b..659c2b76 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesResponse.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListNodesResponse.java
@@ -111,6 +111,8 @@ private ListNodesResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsRequest.java
index 1939d98c..39cdfcca 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsRequest.java
@@ -117,6 +117,8 @@ private ListTensorFlowVersionsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsResponse.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsResponse.java
index d8138d26..b8064d4c 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsResponse.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ListTensorFlowVersionsResponse.java
@@ -114,6 +114,8 @@ private ListTensorFlowVersionsResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/LocationName.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/LocationName.java
index 7dd5d218..429cc441 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/LocationName.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/LocationName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NetworkEndpoint.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NetworkEndpoint.java
index 783aed75..5e7b82dd 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NetworkEndpoint.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NetworkEndpoint.java
@@ -93,6 +93,8 @@ private NetworkEndpoint(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Node.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Node.java
index 092af33d..c94fe74f 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Node.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Node.java
@@ -258,6 +258,8 @@ private Node(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -1291,6 +1293,8 @@ public com.google.protobuf.ByteString getAcceleratorTypeBytes() {
    *
    * string ip_address = 8 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
    * @return The ipAddress.
    */
   @java.lang.Override
@@ -1317,6 +1321,8 @@ public java.lang.String getIpAddress() {
    *
    * string ip_address = 8 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
    * @return The bytes for ipAddress.
    */
   @java.lang.Override
@@ -1345,6 +1351,8 @@ public com.google.protobuf.ByteString getIpAddressBytes() {
    *
    * string port = 14 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
    * @return The port.
    */
   @java.lang.Override
@@ -1370,6 +1378,8 @@ public java.lang.String getPort() {
    *
    * string port = 14 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
    * @return The bytes for port.
    */
   @java.lang.Override
@@ -1953,7 +1963,7 @@ public int getLabelsCount() {
   @java.lang.Override
   public boolean containsLabels(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetLabels().getMap().containsKey(key);
   }
@@ -1988,7 +1998,7 @@ public java.util.Map getLabelsMap() {
   @java.lang.Override
   public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLabels().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -2005,7 +2015,7 @@ public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.Strin
   @java.lang.Override
   public java.lang.String getLabelsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLabels().getMap();
     if (!map.containsKey(key)) {
@@ -3223,6 +3233,8 @@ public Builder setAcceleratorTypeBytes(com.google.protobuf.ByteString value) {
      *
      * string ip_address = 8 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
      * @return The ipAddress.
      */
     @java.lang.Deprecated
@@ -3248,6 +3260,8 @@ public java.lang.String getIpAddress() {
      *
      * string ip_address = 8 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
      * @return The bytes for ipAddress.
      */
     @java.lang.Deprecated
@@ -3273,6 +3287,8 @@ public com.google.protobuf.ByteString getIpAddressBytes() {
      *
      * string ip_address = 8 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
      * @param value The ipAddress to set.
      * @return This builder for chaining.
      */
@@ -3297,6 +3313,8 @@ public Builder setIpAddress(java.lang.String value) {
      *
      * string ip_address = 8 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
      * @return This builder for chaining.
      */
     @java.lang.Deprecated
@@ -3317,6 +3335,8 @@ public Builder clearIpAddress() {
      *
      * string ip_address = 8 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
      * @param value The bytes for ipAddress to set.
      * @return This builder for chaining.
      */
@@ -3343,6 +3363,8 @@ public Builder setIpAddressBytes(com.google.protobuf.ByteString value) {
      *
      * string port = 14 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
      * @return The port.
      */
     @java.lang.Deprecated
@@ -3367,6 +3389,8 @@ public java.lang.String getPort() {
      *
      * string port = 14 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
      * @return The bytes for port.
      */
     @java.lang.Deprecated
@@ -3391,6 +3415,8 @@ public com.google.protobuf.ByteString getPortBytes() {
      *
      * string port = 14 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
      * @param value The port to set.
      * @return This builder for chaining.
      */
@@ -3414,6 +3440,8 @@ public Builder setPort(java.lang.String value) {
      *
      * string port = 14 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
      * @return This builder for chaining.
      */
     @java.lang.Deprecated
@@ -3433,6 +3461,8 @@ public Builder clearPort() {
      *
      * string port = 14 [deprecated = true];
      *
+     * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+     *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
      * @param value The bytes for port to set.
      * @return This builder for chaining.
      */
@@ -5081,7 +5111,7 @@ public int getLabelsCount() {
     @java.lang.Override
     public boolean containsLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetLabels().getMap().containsKey(key);
     }
@@ -5117,7 +5147,7 @@ public java.util.Map getLabelsMap() {
     public java.lang.String getLabelsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLabels().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -5134,7 +5164,7 @@ public java.lang.String getLabelsOrDefault(
     @java.lang.Override
     public java.lang.String getLabelsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLabels().getMap();
       if (!map.containsKey(key)) {
@@ -5158,7 +5188,7 @@ public Builder clearLabels() {
      */
     public Builder removeLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableLabels().getMutableMap().remove(key);
       return this;
@@ -5179,11 +5209,12 @@ public java.util.Map getMutableLabels() {
      */
     public Builder putLabels(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableLabels().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeName.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeName.java
index 3dfaf9e3..4a182e58 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeName.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeOrBuilder.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeOrBuilder.java
index 9d6569f3..4b814008 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeOrBuilder.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/NodeOrBuilder.java
@@ -113,6 +113,8 @@ public interface NodeOrBuilder
    *
    * string ip_address = 8 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
    * @return The ipAddress.
    */
   @java.lang.Deprecated
@@ -128,6 +130,8 @@ public interface NodeOrBuilder
    *
    * string ip_address = 8 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.ip_address is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=275
    * @return The bytes for ipAddress.
    */
   @java.lang.Deprecated
@@ -143,6 +147,8 @@ public interface NodeOrBuilder
    *
    * string port = 14 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
    * @return The port.
    */
   @java.lang.Deprecated
@@ -157,6 +163,8 @@ public interface NodeOrBuilder
    *
    * string port = 14 [deprecated = true];
    *
+   * @deprecated google.cloud.tpu.v1.Node.port is deprecated. See
+   *     google/cloud/tpu/v1/cloud_tpu.proto;l=279
    * @return The bytes for port.
    */
   @java.lang.Deprecated
@@ -552,7 +560,12 @@ public interface NodeOrBuilder
    *
    * map<string, string> labels = 24;
    */
-  java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getLabelsOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/OperationMetadata.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/OperationMetadata.java
index ab3916ab..8c4844a0 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/OperationMetadata.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/OperationMetadata.java
@@ -147,6 +147,8 @@ private OperationMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ReimageNodeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ReimageNodeRequest.java
index 9e56d98a..98ad1307 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ReimageNodeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/ReimageNodeRequest.java
@@ -96,6 +96,8 @@ private ReimageNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/SchedulingConfig.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/SchedulingConfig.java
index 9a6d2606..c9644998 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/SchedulingConfig.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/SchedulingConfig.java
@@ -89,6 +89,8 @@ private SchedulingConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StartNodeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StartNodeRequest.java
index a9704e27..5a5ed6b5 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StartNodeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StartNodeRequest.java
@@ -88,6 +88,8 @@ private StartNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StopNodeRequest.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StopNodeRequest.java
index a6d0a46a..2798bcb1 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StopNodeRequest.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/StopNodeRequest.java
@@ -88,6 +88,8 @@ private StopNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Symptom.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Symptom.java
index 75e15380..312d0f70 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Symptom.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/Symptom.java
@@ -119,6 +119,8 @@ private Symptom(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersion.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersion.java
index ab69ef35..4ffb9751 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersion.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersion.java
@@ -96,6 +96,8 @@ private TensorFlowVersion(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersionName.java b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersionName.java
index b9e6a32e..41dccb83 100644
--- a/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersionName.java
+++ b/proto-google-cloud-tpu-v1/src/main/java/com/google/cloud/tpu/v1/TensorFlowVersionName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v2alpha1/pom.xml b/proto-google-cloud-tpu-v2alpha1/pom.xml
index 0c5f4b19..9a2230cb 100644
--- a/proto-google-cloud-tpu-v2alpha1/pom.xml
+++ b/proto-google-cloud-tpu-v2alpha1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-tpu-v2alpha1
-  2.2.7
+  2.3.0
   proto-google-cloud-tpu-v2alpha1
   Proto library for google-cloud-tpu
   
     com.google.cloud
     google-cloud-tpu-parent
-    2.2.7
+    2.3.0
   
   
     
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorType.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorType.java
index ab671b1e..ee388f5a 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorType.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorType.java
@@ -96,6 +96,8 @@ private AcceleratorType(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorTypeName.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorTypeName.java
index 1f3d973b..f9c36485 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorTypeName.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AcceleratorTypeName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AccessConfig.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AccessConfig.java
index 4edd559d..182c12b4 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AccessConfig.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AccessConfig.java
@@ -88,6 +88,8 @@ private AccessConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AttachedDisk.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AttachedDisk.java
index 88499625..1ac803af 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AttachedDisk.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/AttachedDisk.java
@@ -97,6 +97,8 @@ private AttachedDisk(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/CreateNodeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/CreateNodeRequest.java
index 3b3b47de..0cbcb1c2 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/CreateNodeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/CreateNodeRequest.java
@@ -111,6 +111,8 @@ private CreateNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/DeleteNodeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/DeleteNodeRequest.java
index 89bd3105..f9d7af90 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/DeleteNodeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/DeleteNodeRequest.java
@@ -88,6 +88,8 @@ private DeleteNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityRequest.java
index 24a426b3..daf232b5 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityRequest.java
@@ -90,6 +90,8 @@ private GenerateServiceIdentityRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityResponse.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityResponse.java
index 3d7f2248..bf6060ba 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityResponse.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GenerateServiceIdentityResponse.java
@@ -97,6 +97,8 @@ private GenerateServiceIdentityResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetAcceleratorTypeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetAcceleratorTypeRequest.java
index a91443d0..518ef372 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetAcceleratorTypeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetAcceleratorTypeRequest.java
@@ -89,6 +89,8 @@ private GetAcceleratorTypeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesRequest.java
index 026c862f..6d47ac57 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesRequest.java
@@ -109,6 +109,8 @@ private GetGuestAttributesRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesResponse.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesResponse.java
index 5c6bff53..e8c82657 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesResponse.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetGuestAttributesResponse.java
@@ -95,6 +95,8 @@ private GetGuestAttributesResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetNodeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetNodeRequest.java
index 5b70bbb4..3cd40d33 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetNodeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetNodeRequest.java
@@ -88,6 +88,8 @@ private GetNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetRuntimeVersionRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetRuntimeVersionRequest.java
index 9776987a..64bfe537 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetRuntimeVersionRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GetRuntimeVersionRequest.java
@@ -89,6 +89,8 @@ private GetRuntimeVersionRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributes.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributes.java
index a693aeae..87814679 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributes.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributes.java
@@ -105,6 +105,8 @@ private GuestAttributes(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesEntry.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesEntry.java
index 05b0a6c0..7f0b3cad 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesEntry.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesEntry.java
@@ -104,6 +104,8 @@ private GuestAttributesEntry(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesValue.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesValue.java
index 25d75957..1b8962da 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesValue.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/GuestAttributesValue.java
@@ -95,6 +95,8 @@ private GuestAttributesValue(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesRequest.java
index 732d8823..79c9db58 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesRequest.java
@@ -118,6 +118,8 @@ private ListAcceleratorTypesRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesResponse.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesResponse.java
index 711d9d5f..8a8ea9a2 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesResponse.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListAcceleratorTypesResponse.java
@@ -114,6 +114,8 @@ private ListAcceleratorTypesResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesRequest.java
index 2156fb54..aa71e280 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesRequest.java
@@ -101,6 +101,8 @@ private ListNodesRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesResponse.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesResponse.java
index fff1e7b2..9159d47c 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesResponse.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListNodesResponse.java
@@ -112,6 +112,8 @@ private ListNodesResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsRequest.java
index 0e998a29..19ff608a 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsRequest.java
@@ -118,6 +118,8 @@ private ListRuntimeVersionsRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsResponse.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsResponse.java
index 90ae751b..f85680d8 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsResponse.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ListRuntimeVersionsResponse.java
@@ -114,6 +114,8 @@ private ListRuntimeVersionsResponse(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/LocationName.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/LocationName.java
index 4518cec2..b315fbb3 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/LocationName.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/LocationName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkConfig.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkConfig.java
index 5095474a..66d17b39 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkConfig.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkConfig.java
@@ -101,6 +101,8 @@ private NetworkConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkEndpoint.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkEndpoint.java
index c3b4add0..9250bdf5 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkEndpoint.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NetworkEndpoint.java
@@ -109,6 +109,8 @@ private NetworkEndpoint(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Node.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Node.java
index 91028088..c5e80a21 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Node.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Node.java
@@ -297,6 +297,8 @@ private Node(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
@@ -1866,7 +1868,7 @@ public int getLabelsCount() {
   @java.lang.Override
   public boolean containsLabels(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetLabels().getMap().containsKey(key);
   }
@@ -1901,7 +1903,7 @@ public java.util.Map getLabelsMap() {
   @java.lang.Override
   public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLabels().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -1918,7 +1920,7 @@ public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.Strin
   @java.lang.Override
   public java.lang.String getLabelsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetLabels().getMap();
     if (!map.containsKey(key)) {
@@ -1965,7 +1967,7 @@ public int getMetadataCount() {
   @java.lang.Override
   public boolean containsMetadata(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetMetadata().getMap().containsKey(key);
   }
@@ -2003,7 +2005,7 @@ public java.util.Map getMetadataMap() {
   public java.lang.String getMetadataOrDefault(
       java.lang.String key, java.lang.String defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetMetadata().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -2021,7 +2023,7 @@ public java.lang.String getMetadataOrDefault(
   @java.lang.Override
   public java.lang.String getMetadataOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetMetadata().getMap();
     if (!map.containsKey(key)) {
@@ -5249,7 +5251,7 @@ public int getLabelsCount() {
     @java.lang.Override
     public boolean containsLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetLabels().getMap().containsKey(key);
     }
@@ -5285,7 +5287,7 @@ public java.util.Map getLabelsMap() {
     public java.lang.String getLabelsOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLabels().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -5302,7 +5304,7 @@ public java.lang.String getLabelsOrDefault(
     @java.lang.Override
     public java.lang.String getLabelsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetLabels().getMap();
       if (!map.containsKey(key)) {
@@ -5326,7 +5328,7 @@ public Builder clearLabels() {
      */
     public Builder removeLabels(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableLabels().getMutableMap().remove(key);
       return this;
@@ -5347,11 +5349,12 @@ public java.util.Map getMutableLabels() {
      */
     public Builder putLabels(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableLabels().getMutableMap().put(key, value);
       return this;
     }
@@ -5408,7 +5411,7 @@ public int getMetadataCount() {
     @java.lang.Override
     public boolean containsMetadata(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetMetadata().getMap().containsKey(key);
     }
@@ -5446,7 +5449,7 @@ public java.util.Map getMetadataMap() {
     public java.lang.String getMetadataOrDefault(
         java.lang.String key, java.lang.String defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetMetadata().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -5464,7 +5467,7 @@ public java.lang.String getMetadataOrDefault(
     @java.lang.Override
     public java.lang.String getMetadataOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetMetadata().getMap();
       if (!map.containsKey(key)) {
@@ -5489,7 +5492,7 @@ public Builder clearMetadata() {
      */
     public Builder removeMetadata(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableMetadata().getMutableMap().remove(key);
       return this;
@@ -5511,11 +5514,12 @@ public java.util.Map getMutableMetadata() {
      */
     public Builder putMetadata(java.lang.String key, java.lang.String value) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       if (value == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map value");
       }
+
       internalGetMutableMetadata().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeName.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeName.java
index ede32c0a..43dcb62a 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeName.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeOrBuilder.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeOrBuilder.java
index dfd1ded2..1a3a19dc 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeOrBuilder.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/NodeOrBuilder.java
@@ -507,7 +507,12 @@ public interface NodeOrBuilder
    *
    * map<string, string> labels = 24;
    */
-  java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getLabelsOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
@@ -565,7 +570,12 @@ public interface NodeOrBuilder
    *
    * map<string, string> metadata = 34;
    */
-  java.lang.String getMetadataOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getMetadataOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/OperationMetadata.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/OperationMetadata.java
index 1e1d4e21..815038da 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/OperationMetadata.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/OperationMetadata.java
@@ -147,6 +147,8 @@ private OperationMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersion.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersion.java
index edca045a..e85079ae 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersion.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersion.java
@@ -96,6 +96,8 @@ private RuntimeVersion(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersionName.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersionName.java
index d640bb24..fb06582e 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersionName.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/RuntimeVersionName.java
@@ -1,5 +1,5 @@
 /*
- * 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.
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/SchedulingConfig.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/SchedulingConfig.java
index 806391e4..1a943583 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/SchedulingConfig.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/SchedulingConfig.java
@@ -89,6 +89,8 @@ private SchedulingConfig(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceAccount.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceAccount.java
index 62f21a5f..068b9328 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceAccount.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceAccount.java
@@ -100,6 +100,8 @@ private ServiceAccount(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceIdentity.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceIdentity.java
index a467b397..df74a57a 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceIdentity.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/ServiceIdentity.java
@@ -88,6 +88,8 @@ private ServiceIdentity(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StartNodeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StartNodeRequest.java
index 35535aac..13ea9381 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StartNodeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StartNodeRequest.java
@@ -88,6 +88,8 @@ private StartNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StopNodeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StopNodeRequest.java
index bf871621..f391f269 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StopNodeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/StopNodeRequest.java
@@ -88,6 +88,8 @@ private StopNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Symptom.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Symptom.java
index f97843df..150dd622 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Symptom.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/Symptom.java
@@ -119,6 +119,8 @@ private Symptom(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/UpdateNodeRequest.java b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/UpdateNodeRequest.java
index 3412bcc6..e1012c34 100644
--- a/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/UpdateNodeRequest.java
+++ b/proto-google-cloud-tpu-v2alpha1/src/main/java/com/google/cloud/tpu/v2alpha1/UpdateNodeRequest.java
@@ -109,6 +109,8 @@ private UpdateNodeRequest(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index a288761b..1ec6805c 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -29,7 +29,7 @@
     
       com.google.cloud
       google-cloud-tpu
-      2.2.6
+      2.2.7
     
     
 
diff --git a/samples/pom.xml b/samples/pom.xml
index 0034ed81..30bde8fd 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -46,7 +46,7 @@
       
         org.sonatype.plugins
         nexus-staging-maven-plugin
-        1.6.12
+        1.6.13
         
           true
         
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 0d8f5e61..812601d5 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-tpu
-      2.2.6
+      2.2.7
     
   
 
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 7c03cf8e..ddea586e 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-tpu
-      2.2.6
+      2.2.7
     
 
     
diff --git a/versions.txt b/versions.txt
index e22521c0..b75bac49 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,8 +1,8 @@
 # Format:
 # module:released-version:current-version
 
-google-cloud-tpu:2.2.7:2.2.7
-grpc-google-cloud-tpu-v1:2.2.7:2.2.7
-grpc-google-cloud-tpu-v2alpha1:2.2.7:2.2.7
-proto-google-cloud-tpu-v1:2.2.7:2.2.7
-proto-google-cloud-tpu-v2alpha1:2.2.7:2.2.7
+google-cloud-tpu:2.3.0:2.3.0
+grpc-google-cloud-tpu-v1:2.3.0:2.3.0
+grpc-google-cloud-tpu-v2alpha1:2.3.0:2.3.0
+proto-google-cloud-tpu-v1:2.3.0:2.3.0
+proto-google-cloud-tpu-v2alpha1:2.3.0:2.3.0